@micromag/viewer-build 0.2.407 → 0.2.412

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/js/main.fb093129.js","mappings":"q2BASA,IAAMA,OAAgD,IAA1BC,OAAOC,eAAiCD,OAAOC,eAAiB,KACtFC,OACsC,IAAjCF,OAAOG,sBAAwCH,OAAOG,sBAAwB,KACnFC,OACyC,IAApCJ,OAAOK,yBACRL,OAAOK,yBACP,OACJC,OACsC,IAAjCN,OAAOO,sBACRP,OAAOO,sBACPC,SAASC,eAAeL,GAC5BM,OAC0C,IAArCV,OAAOW,0BACRX,OAAOW,0BACP,cAEJC,EAAc,SAACC,GAAkD,IAA3CC,EAA0C,uDAAlC,GAAIC,EAA8B,uDAAvBT,GAC3CU,EAAAA,EAAAA,QACIC,EAAAA,cAAoBC,EAAAA,GAApB,OACOJ,GADP,IAEID,MAAAA,KAEJE,IAIa,OAAjBhB,GACAa,EAAYb,EAAcG,GAGP,OAAnBQ,IACAV,OAAOU,GAAkBE,I,qBCvC7BO,EAAAA,OAC2C,IAAhCnB,OAAOoB,qBAAuCpB,OAAOoB,qBAAuB,K,+LCQnFC,EAAS,CAAC,UAAY,oCAAoC,WAAa,qCAAqC,WAAa,qCAAqC,eAAiB,yCAAyC,MAAQ,gCAAgC,UAAY,oCAAoC,kBAAoB,4CAA4C,IAAM,8BAA8B,SAAW,mCAAmC,OAAS,iCAAiC,OAAS,iCAAiC,UAAY,qCAEliBC,EAAY,CACdC,MAAO,WACPC,OAAQ,WACRC,SAAU,SACVC,cAAe,UAAgB,CAAC,MAAO,SAAU,WACjDC,UAAW,WACXC,SAAU,SACVC,iBAAkB,SAClBC,oBAAqB,SACrBC,QAAS,SACTC,mBAAoB,SAgBtB,SAASC,EAAOC,GACd,IAAIC,EAEAZ,EAAQW,EAAKX,MACbC,EAASU,EAAKV,OACdC,EAAWS,EAAKT,SAChBC,EAAgBQ,EAAKR,cACrBC,EAAYO,EAAKP,UACjBC,EAAWM,EAAKN,SAChBC,EAAmBK,EAAKL,iBACxBC,EAAsBI,EAAKJ,oBAC3BC,EAAUG,EAAKH,QACfC,EAAqBE,EAAKF,mBAC1BI,EAAa,CACfb,MAAOA,EACPC,OAAQA,GAGNa,GAAY,IAAAC,WAAS,GACrBC,GAAa,OAAeF,EAAW,GACvCG,EAAYD,EAAW,GACvBE,EAAeF,EAAW,GAE1BG,GAAqB,IAAAC,qBACrBC,EAAgBF,EAAmBG,IAInCC,GAHiBJ,EAAmBK,MAAMC,aAEhB,IACDxB,OAEF,OAAvBQ,IACFA,EAAmBiB,QAAUL,EAAcK,SAG7C,IAAIC,GAAsB,IAAAP,qBACtBQ,EAAcD,EAAoBL,IAIlCO,GAHeF,EAAoBH,MAAMC,aAEjB,IACDxB,OAEvB6B,GAAqB,IAAAC,SAAO,GAC5BC,GAAwB,IAAAD,SAAO,GAC/BE,GAAgB,IAAAF,SAAO,GACvBG,GAAO,IAAAC,YAAU,SAAUC,GAC7B,IACIC,GADW,OAAeD,EAAME,GAAI,GACjB,GAEnBC,EAAeF,GAAW,EAE1BG,EAAmBH,EAAU,GADXR,EAAiBN,EAGnCiB,EACGP,EAAcP,UACQ,OAArBpB,GACFA,EAAiB,CACfmC,SAAUX,EAAmBJ,UAIjCI,EAAmBJ,SAAU,GAEtBO,EAAcP,UACK,OAAxBnB,GACFA,EAAoB,CAClBkC,SAAUT,EAAsBN,UAIpCM,EAAsBN,SAAU,GAG9Ba,IAAiBtB,GACnBC,EAAaqB,GAGfN,EAAcP,QAAUc,IACvB,CACDE,SAAUxC,IAsBZ,OAnBA,IAAAyC,YAAU,WACR,GAAId,EAAiB,GAAKN,EAAmB,IAAMrB,EAAU,CAC3DgB,EAAa0B,KAAKC,MAAMhB,GAAkBe,KAAKC,MAAMtB,IACrD,IAAIuB,EAAkBjB,EAAiBN,EAChBF,EAAcK,QAAQqB,UAAY,GAAKD,EAGnC,OAArBxC,GACFA,EAAiB,CACfmC,SAAS,IAGoB,OAAxBlC,GACTA,EAAoB,CAClBkC,SAAS,OAId,CAAClB,EAAkBM,EAAgBX,EAAchB,IAChC,gBAAoB,MAAO,CAC7CE,UAAW,IAAW,CAACN,EAAOkD,WAAYpC,EAAQ,IAAI,OAAgBA,EAAOd,EAAOmD,YAAa/C,IAAW,OAAgBU,EAAOd,EAAOoD,kBAAmB1C,IAAU,OAAgBI,EAAOR,EAAyB,OAAdA,IAAqB,OAAgBQ,EAAOd,EAAOK,GAAkC,OAAlBA,IAAyB,OAAgBS,EAAOd,EAAOmB,UAAWA,GAAYL,KAC1VuC,MAAOtC,GACO,gBAAoB,MAAOuC,OAAOC,OAAO,CACvDjD,UAAWN,EAAOwD,WAClBhC,IAAKD,GACJa,KAAsB,gBAAoB,MAAO,CAClD9B,UAAWN,EAAOyD,SAClBjC,IAAKM,GACJvB,IAAaH,EAKV,KALkC,gBAAoB,MAAO,CACjEE,UAAWN,EAAO0D,gBACJ,gBAAoB,EAAAC,gBAAiB,CACnDrD,UAAWN,EAAO4D,MAClBC,KAAM,EAAAC,gBAIVlD,EAAOX,UAAYA,EACnBW,EAAOmD,aAnIY,CACjB7D,MAAO,KACPC,OAAQ,KACRC,UAAU,EACVC,cAAe,KACfC,UAAW,KACXC,SAAU,KACVC,iBAAkB,KAClBC,oBAAqB,KACrBC,SAAS,EACTC,mBAAoB,MA0HtB,IAAIqD,EAAwB,cAAiB,SAAUvE,EAAO+B,GAC5D,OAAoB,gBAAoBZ,EAAQ0C,OAAOC,OAAO,CAC5D5C,mBAAoBa,GACnB/B,Q,kCC9JL6D,OAAOW,eAAeC,EAAS,aAA/B,CAA+CC,OAAO,IAEtD,IAAIC,EAAkB,EAAQ,MAC1BC,EAA2B,EAAQ,MACnCzE,EAAQ,EAAQ,MAChB0E,EAAY,EAAQ,MACpBC,EAAa,EAAQ,MACrBC,EAAiB,EAAQ,MACzBC,EAAO,EAAQ,MACfC,EAAY,EAAQ,MACpBC,EAAQ,EAAQ,MAChBC,EAAmB,EAAQ,MAC3BC,EAAoB,EAAQ,MAC5BC,EAAqB,EAAQ,MAC7BC,EAAiB,EAAQ,MACzBC,EAAQ,EAAQ,MAChBC,EAAW,EAAQ,MACnBC,EAAgB,EAAQ,KACxBC,EAAM,EAAQ,MACdC,EAAW,EAAQ,MACnBC,EAAU,EAAQ,MAClBC,EAAQ,EAAQ,MAChBC,EAAQ,EAAQ,MAChBC,EAAW,EAAQ,MACnBC,EAAW,EAAQ,MACnBC,EAAc,EAAQ,MACtBC,EAAW,EAAQ,MACvB,EAAQ,MACR,IAAIC,EAAW,EAAQ,MACnBC,EAAS,EAAQ,KACjBC,EAAM,EAAQ,KAElB,SAASC,EAAuBC,GAAK,OAAOA,GAAkB,iBAANA,GAAkB,YAAaA,EAAIA,EAAI,CAAE,QAAWA,GAE5G,IAAIC,EAAwCF,EAAsB3B,GAC9D8B,EAAiDH,EAAsB1B,GACvE8B,EAA8BJ,EAAsBnG,GACpDwG,EAAkCL,EAAsBzB,GACxD+B,EAAmCN,EAAsBxB,GACzD+B,EAA2CP,EAAsBjB,GACjEyB,EAAuCR,EAAsBhB,GAC7DyB,EAAsCT,EAAsBb,GAC5DuB,EAA4BV,EAAsBZ,GAClDuB,EAAiCX,EAAsBX,GACvDuB,EAAgCZ,EAAsBV,GACtDuB,EAA8Bb,EAAsBR,GACpDsB,EAAiCd,EAAsBP,GACvDsB,EAAiCf,EAAsBN,GACvDsB,EAAiChB,EAAsBJ,GACvDqB,EAAiCjB,EAAsBH,GAGvDqB,EAAc,CAChB1G,SAAUkE,EAAKH,UAAU4C,MAAMC,WAC/BC,OAAQhB,EAA4B,QAAEiB,KACtCC,OAAQlB,EAA4B,QAAEmB,QAQpCC,EAAQ,SAAe3G,GACzB,IAAIN,EAAWM,EAAKN,SAEhB+G,GADSzG,EAAKuG,OACLvG,EAAKyG,QACdG,EAAmB/C,EAAUgD,iBACjC,OAAO/C,EAAMgD,UAAUpH,GAAyB4F,EAAwB,QAAEyB,cAAcH,EAASnE,OAAOC,OAAO,CAC7G+D,OAAQA,GACP/G,IAAaA,GAGlBiH,EAAMvH,UAAYgH,EAClBO,EAAMzD,aAhBe,CACnBqD,QAAQ,EACRE,OAAQ,IAgBV,IAAIO,EAAW,CAAC,UAAY,yCAAyC,OAAS,sCAAsC,aAAe,4CAA4C,KAAO,oCAAoC,SAAW,wCAAwC,MAAQ,qCAAqC,MAAQ,qCAAqC,gBAAkB,+CAA+C,aAAe,6CAEnbC,EAAc,CAAC,OAAQ,QAAS,OAAQ,OAAQ,WAAY,SAAU,SAAU,QAAS,WAAY,YAAa,SAAU,OAAQ,eAAgB,WAAY,UAAW,mBAAoB,QAAS,MAAO,aAAc,eAAgB,eAAgB,SAAU,UAAW,UAAW,YAAa,gBAAiB,iBAAkB,aAC7UC,EAAc,CAChBC,KAAM5B,EAA4B,QAAE6B,OACpCC,MAAOzD,EAAKH,UAAU6D,YACtBC,KAAM3D,EAAKH,UAAU+D,WACrBC,KAAMlC,EAA4B,QAAE6B,OACpCM,SAAUnC,EAA4B,QAAEiB,KACxCmB,OAAQpC,EAA4B,QAAEiB,KACtCoB,OAAQrC,EAA4B,QAAE6B,OACtCf,MAAOzC,EAAKH,UAAU4C,MACtB3G,SAAUkE,EAAKH,UAAU4C,MACzBwB,UAAWtC,EAA4B,QAAEiB,KACzCsB,OAAQvC,EAA4B,QAAEiB,KACtCxD,KAAMuC,EAA4B,QAAEwC,KACpCC,aAAczC,EAA4B,QAAE0C,MAAM,CAAC,OAAQ,QAAS,WACpE1I,SAAUgG,EAA4B,QAAEiB,KACxC0B,QAAS3C,EAA4B,QAAEiB,KACvC2B,iBAAkB5C,EAA4B,QAAEiB,KAChD4B,MAAO7C,EAA4B,QAAEiB,KACrC6B,IAAK9C,EAA4B,QAAEiB,KACnC8B,WAAY/C,EAA4B,QAAEiB,KAC1C+B,aAAchD,EAA4B,QAAEiB,KAC5CgC,aAAcjD,EAA4B,QAAEiB,KAC5CiC,QAASlD,EAA4B,QAAEiB,KACvCkC,OAAQnD,EAA4B,QAAEiB,KACtC/G,UAAW8F,EAA4B,QAAE6B,OACzCuB,cAAepD,EAA4B,QAAE6B,OAC7CwB,eAAgBrD,EAA4B,QAAE6B,OAC9CyB,QAAStD,EAA4B,QAAEuD,KACvCC,UAAWxD,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAEuD,KAAMvD,EAA4B,QAAE0D,MAAM,CAC1HlI,QAASwE,EAA4B,QAAE2D,SAmCvCC,EAAW,SAAgBnJ,GAC7B,IAAIoJ,EAAOC,EAEPlC,EAAOnH,EAAKmH,KACZE,EAAQrH,EAAKqH,MACbE,EAAOvH,EAAKuH,KACZE,EAAOzH,EAAKyH,KACZC,EAAW1H,EAAK0H,SAChBC,EAAS3H,EAAK2H,OACdC,EAAS5H,EAAK4H,OACdvB,EAAQrG,EAAKqG,MACb3G,EAAWM,EAAKN,SAChBmI,EAAY7H,EAAK6H,UACjBC,EAAS9H,EAAK8H,OACd9E,EAAOhD,EAAKgD,KACZgF,EAAehI,EAAKgI,aACpBzI,EAAWS,EAAKT,SAChB2I,EAAUlI,EAAKkI,QACfC,EAAmBnI,EAAKmI,iBACxBC,EAAQpI,EAAKoI,MACbC,EAAMrI,EAAKqI,IACXC,EAAatI,EAAKsI,WAClBC,EAAevI,EAAKuI,aACpBC,EAAexI,EAAKwI,aACpBE,EAAS1I,EAAK0I,OACdD,EAAUzI,EAAKyI,QACfI,EAAU7I,EAAK6I,QACfpJ,EAAYO,EAAKP,UACjBkJ,EAAgB3I,EAAK2I,cACrBC,EAAiB5I,EAAK4I,eACtBG,EAAY/I,EAAK+I,UACjBnK,EAAQyG,EAA2C,QAAErF,EAAMiH,GAE3DqC,EAAajD,GAAS3G,EACtB6J,EAAsB,OAAfD,EAAmChE,EAAwB,QAAEyB,cAAcJ,EAAO,KAAM2C,GAAc,KAC7GE,EAAwB,OAAVnD,GAA+B,OAAb3G,EAChC+J,EAAmB,OAATzG,EACV0G,EAAgBD,IAA6B,WAAjBzB,GAAsC,OAATuB,GACzDI,EAAiBF,IAAYC,EAC7BE,EAAuBtE,EAAwB,QAAEyB,cAAczB,EAAwB,QAAEuE,SAAU,KAAMH,EAA6BpE,EAAwB,QAAEyB,cAAczB,EAAwB,QAAEuE,SAAU,KAAmBvE,EAAwB,QAAEyB,cAAc,OAAQ,CACvRtH,UAAW+F,EAA6B,QAAE,CAACwB,EAAShE,KAAMoC,EAAkC,QAAE,GAAIuD,EAAiC,OAAlBA,MAChH3F,GAAgB,OAATuG,EAA6BjE,EAAwB,QAAEyB,cAAc,OAAQ,CACrFtH,UAAW+F,EAA6B,QAAE,CAACwB,EAASX,MAAOjB,EAAkC,QAAE,GAAIwD,EAAmC,OAAnBA,MAClHW,GAAQ,MAAQ,KAAMI,EAA8BrE,EAAwB,QAAEyB,cAAczB,EAAwB,QAAEuE,SAAU,KAAmBvE,EAAwB,QAAEyB,cAAc,OAAQ,CACpMtH,UAAW+F,EAA6B,QAAE,CAACwB,EAAS8C,KAAM1E,EAAkC,QAAE,GAAIuD,EAAiC,OAAlBA,GAA2C,SAAjBX,MACzH,SAAjBA,EAA0BhF,EAAO,MAAoBsC,EAAwB,QAAEyB,cAAc,OAAQ,CACtGtH,UAAW+F,EAA6B,QAAE,CAACwB,EAAS+C,OAAQ3E,EAAkC,QAAE,GAAIwD,EAAmC,OAAnBA,MACnHW,GAAoBjE,EAAwB,QAAEyB,cAAc,OAAQ,CACrEtH,UAAW+F,EAA6B,QAAE,CAACwB,EAASgD,MAAO5E,EAAkC,QAAE,GAAIuD,EAAiC,OAAlBA,GAA2C,UAAjBX,MAC1H,UAAjBA,EAA2BhF,EAAO,MAAOwG,EAAc9J,EAAW,MAAQ,KAAO+J,EAAiB,KAAPF,EAAaC,EAAc9J,EAAW,MAChIuK,GAAazB,IAAiBD,IAAiBG,EAC/CwB,EAAmB1E,EAA6B,QAAE,EAAE4D,EAAQ,CAC9De,IAAKF,GACJ7E,EAAkC,QAAEgE,EAAO,OAAOgB,OAAO3B,EAAU,WAAa,IAAI2B,OAAO/C,GAAQ4C,GAAuB,OAAV5C,GAAiBjC,EAAkC,QAAEgE,EAAO,OAAOgB,OAAO7C,GAAO0C,GAAsB,OAAT1C,GAAgBnC,EAAkC,QAAEgE,EAAO,UAAWb,GAAgBT,GAASsB,GAAQpC,EAAS3E,WAAYgH,EAAQ,GAAIjE,EAAkC,QAAEiE,EAAOrC,EAASuB,aAAcA,GAAenD,EAAkC,QAAEiE,EAAOrC,EAASqD,SAAUZ,GAAUrE,EAAkC,QAAEiE,EAAOrC,EAASsD,gBAAiBX,GAAiBvE,EAAkC,QAAEiE,EAAOrC,EAASuD,SAAmB,OAAThB,GAAgBnE,EAAkC,QAAEiE,EAAOrC,EAASsB,WAAYA,GAAalD,EAAkC,QAAEiE,EAAOrC,EAASwD,QAASpC,GAAQhD,EAAkC,QAAEiE,EAAOrC,EAASyD,MAAOpC,GAAMjD,EAAkC,QAAEiE,EAAOrC,EAAS0D,OAAiB,OAATjD,GAAgBrC,EAAkC,QAAEiE,EAAOrC,EAAS0B,OAAQA,GAAStD,EAAkC,QAAEiE,EAAOrC,EAAS2D,WAAYpL,GAAW6F,EAAkC,QAAEiE,EAAOrC,EAAS4D,UAAW1C,GAAU9C,EAAkC,QAAEiE,EAAO5J,EAAyB,OAAdA,GAAqB4J,KAEztC,GAAa,OAAT5B,EAAe,CACjB,IAAIoD,EAAiBrF,EAA6B,QAAE,CAAC0E,EAAkB9E,EAAkC,QAAE,CACzG7F,SAAUA,GACTyH,EAAS8D,aAAcvL,KAC1B,OAAOmI,GAAYC,EAAsBrC,EAAwB,QAAEyB,cAAc,IAAKtE,OAAOC,OAAO,GAAI9D,EAAO,CAC7G6I,KAAMlI,EAAW,KAAOkI,EACxBhI,UAAWoL,EACXhC,QAASA,EACTjB,OAAQF,EAAWE,EAAS,KAC5BjH,IAAKoI,EACLgC,SAAUlD,EAAY,GAAK,OACzB+B,GAAwBtE,EAAwB,QAAEyB,cAAcpD,EAAeqH,KAAM,CACvFC,GAAIxD,EACJhI,UAAWoL,EACXhC,QAASA,EACTlI,IAAKoI,EACLgC,SAAUlD,EAAY,GAAK,MAC1B+B,GAGL,OAAoBtE,EAAwB,QAAEyB,cAAc,SAAUtE,OAAOC,OAAO,GAAI9D,EAAO,CAC7FuI,KAAMA,EACN1H,UAAWyK,EACXrB,QAASA,EACTtJ,SAAUA,GAAY4I,GAAoBD,EAC1CvH,IAAKoI,EACLgC,SAAUlD,EAAY,IAAM,OAC1B+B,IAGNT,EAAS/J,UAAY8H,EACrBiC,EAASjG,aArHY,CACnBiE,KAAM,SACNE,MAAO,KACPE,KAAM,KACNE,KAAM,KACNC,UAAU,EACVC,QAAQ,EACRC,OAAQ,SACRvB,MAAO,KACP3G,SAAU,KACVmI,WAAW,EACXC,QAAQ,EACR9E,KAAM,KACNgF,aAAc,SACdzI,UAAU,EACV2I,SAAS,EACTC,kBAAkB,EAClBC,OAAO,EACPC,KAAK,EACLC,YAAY,EACZC,cAAc,EACdC,cAAc,EACdC,SAAS,EACTC,QAAQ,EACRjJ,UAAW,KACXkJ,cAAe,KACfC,eAAgB,KAChBC,QAAS,KACTE,UAAW,MA2Fb,IAAImC,GAAW,GAEXC,GAAc,CAAC,YAAa,UAAW,SACvCC,GAAc,CAChBC,QAASzH,EAAKH,UAAU4H,QACxB9D,KAAM3D,EAAKH,UAAU+D,WACrBH,MAAOzD,EAAKH,UAAU6D,YACtBgE,aAAc/F,EAA4B,QAAEuD,KAC5CyC,cAAehG,EAA4B,QAAEuD,KAC7CrJ,UAAW8F,EAA4B,QAAE6B,OACzCoE,gBAAiBjG,EAA4B,QAAE6B,QAY7CqE,GAAU,SAAiBzL,GAC7B,IAAIqL,EAAUrL,EAAKqL,QACf9D,EAAOvH,EAAKuH,KACZF,EAAQrH,EAAKqH,MACbiE,EAAetL,EAAKsL,aACpBC,EAAgBvL,EAAKuL,cACrBC,EAAkBxL,EAAKwL,gBACvB/L,EAAYO,EAAKP,UACrB,OAAoB6F,EAAwB,QAAEyB,cAAc,MAAO,CACjEtH,UAAW+F,EAA6B,QAAE,CAAC,YAAaJ,EAAkC,QAAE,GAAI,aAAagF,OAAO7C,GAAgB,OAATA,GAAgB2D,GAAS7I,UAAW+C,EAAkC,QAAE,GAAI3F,EAAyB,OAAdA,KAClNiM,KAAM,SACLL,EAAQM,KAAI,SAAUC,EAAQC,GAC/B,IAAIpK,EAEAqK,EAAoBF,EAAOnM,UAC3BsM,OAAwC,IAAtBD,EAA+B,KAAOA,EACxDE,EAAkBJ,EAAO/C,QACzBoD,OAA+B,IAApBD,EAA6B,KAAOA,EAC/CE,EAAgBN,EAAOvE,MACvBC,OAAgC,IAAlB4E,EAA2B,KAAOA,EAChDC,EAAc9G,EAA2C,QAAEuG,EAAQT,IAEnEiB,EAAa,CACfC,IAAK,UAAUjC,OAAOyB,GACtBpM,UAAW+F,EAA6B,QAAE,CAAC0F,GAASU,QAASnK,EAAQ,GAAI2D,EAAkC,QAAE3D,EAAO+J,EAAqC,OAApBA,GAA2BpG,EAAkC,QAAE3D,EAAOsK,EAAqC,OAApBA,GAA2BtK,KACvPoH,QAAS,SAAiB1D,GACP,OAAb8G,GACFA,EAAS9G,EAAGyG,EAAQC,GAGA,OAAlBN,GACFA,EAAcpG,EAAGyG,EAAQC,IAG7BxE,MAAOC,GAAeD,GAExB,OAAwB,OAAjBiE,EAAwBA,EAAaM,EAAQC,EAAOO,GAA2B9G,EAAwB,QAAEyB,cAAcoC,EAAU1G,OAAOC,OAAO,GAAI0J,EAAYD,SAI1KV,GAAQrM,UAAYgM,GACpBK,GAAQvI,aAnDa,CACnBmI,QAAS,GACT9D,KAAM,KACNF,WAAOiF,EACPhB,aAAc,KACdC,cAAe,KACf9L,UAAW,KACX+L,gBAAiB,MA8CnB,IAAIe,GAAc,CAAC,aACfC,GAAc,CAChB/M,UAAW8F,EAA4B,QAAE6B,QAMvCqF,GAAa,SAAoBzM,GACnC,IAAIP,EAAYO,EAAKP,UACjBb,EAAQyG,EAA2C,QAAErF,EAAMuM,IAE/D,OAAoBjH,EAAwB,QAAEyB,cAAcoC,EAAU1G,OAAOC,OAAO,CAClFjD,UAAW+F,EAA6B,QAAE,CAAC,OAAQJ,EAAkC,QAAE,GAAI3F,EAAWA,KACtG8H,KAAM,KACNvE,KAAmBsC,EAAwB,QAAEyB,cAAchD,EAAiBjB,gBAAiB,CAC3FE,KAAMgB,EAAkB0I,YACxBnF,KAAM,QAEP3I,KAGL6N,GAAWrN,UAAYoN,GACvBC,GAAWvJ,aAnBU,CACnBzD,UAAW,MAoBb,IAAIkN,GAAc,CAAC,QACfC,GAAa,CAAC,YAAa,KAAM,YACjCC,GAAc,CAChBC,KAAMvH,EAA4B,QAAE6B,OAEpC9D,MAAOM,EAAKH,UAAUsJ,UACtBC,KAAMzH,EAA4B,QAAE6B,OACpC6F,eAAgBrJ,EAAKH,UAAUyJ,WAC/BC,OAAQvJ,EAAKH,UAAU0J,OACvB1N,UAAW8F,EAA4B,QAAE6B,OACzCgG,SAAU7H,EAA4B,QAAEuD,KACxCuE,cAAe9H,EAA4B,QAAEuD,KAAKxC,WAClDgH,eAAgB/H,EAA4B,QAAEuD,KAAKxC,WACnDiH,aAAchI,EAA4B,QAAE2D,KAc1CsE,GAAY,SAAmBxN,GACjC,IAAI8M,EAAO9M,EAAK8M,KACZxJ,EAAQtD,EAAKsD,MACb0J,EAAOhN,EAAKgN,KACZC,EAAiBjN,EAAKiN,eACtBE,EAASnN,EAAKmN,OACd1N,EAAYO,EAAKP,UACjB2N,EAAWpN,EAAKoN,SAChBC,EAAgBrN,EAAKqN,cACrBC,EAAiBtN,EAAKsN,eACtBC,EAAevN,EAAKuN,aACpBE,EAAgBrJ,EAASsJ,mBACzBC,EAAQ7J,EAAM8J,iBAAiBd,EAAKe,MAAM,KAAMV,EAAQM,GAExDK,EAAQH,GAAS,GACjBI,EAAaD,EAAM3G,KACnBA,OAAsB,IAAf4G,EAAwB,KAAOA,EACtCC,EAAa3I,EAA2C,QAAEyI,EAAOnB,IAEjEsB,EAAkB,OAAT9G,GAAgBsG,EAAcS,cAAc/G,IAAyBxB,EAAgC,QAAE,GAAIgI,GACpHQ,EAAkBF,EAAMlB,UACxBqB,OAAqC,IAApBD,EAA6B,KAAOA,EACrDF,EAAMI,GACNJ,EAAMK,SACN,IAAIC,EAAkBlJ,EAA2C,QAAE4I,EAAOrB,IAE1E4B,EAAiBpK,EAASqK,kBAAkBL,GAC5CM,EAAa9I,EAAsB,QAAEtC,EAAOwJ,EAAM,MAClD6B,EAAgB5P,EAAM6P,aAAY,SAAUC,GAE9C,IAAIC,EAAWhL,EAAMiL,cAAczL,EAAOwJ,EAAKe,MAAM,KAAMgB,GAG1C,OAAbzB,GACFA,EAAS0B,KAEV,CAACxL,EAAOwJ,EAAMM,IACb4B,EAAYjQ,EAAM6P,aAAY,WAChC,OAAOtB,EAAeR,EAAME,KAC3B,CAACF,EAAME,EAAMM,IACZ2B,EAAY,CACdnC,KAAMA,EACNxJ,MAAOoL,EACPtB,SAAUuB,EACVtB,cAAeA,EACfC,eAAgBA,EAChB0B,UAAWA,GAGb,GAAa,OAAThC,EAAe,CACjB,IAAIkC,EAAgBpL,EAAMqL,qBAAqBnC,EAAMC,GACrD,OAAyB,OAAlBiC,EAAsC5J,EAAwB,QAAEyB,cAAc3C,EAASgL,qBAAsB,CAClHC,QAAS9B,GACKjI,EAAwB,QAAEyB,cAAcmI,EAAezM,OAAOC,OAAO,CACnFiL,MAAOA,GACNsB,EAAW,CACZxP,UAAWA,MACN,KAIT,OAA0B,OAAnB+O,EAAuClJ,EAAwB,QAAEyB,cAAc3C,EAASgL,qBAAsB,CACnHC,QAAS9B,GACKjI,EAAwB,QAAEyB,cAAcyH,EAAgB/L,OAAOC,OAAO,CACpFjD,UAAWA,GACV8O,EAAiBP,EAAY,CAC9BsB,QAAQ,GACPL,KAAe,MAGpBzB,GAAUpO,UAAYyN,GACtBW,GAAUtK,aAlFW,CACnB4J,KAAM,KACNE,KAAM,KACNC,eAAgB,GAChBE,OAAQ,GACR7J,MAAO,KACP7D,UAAW,KACX2N,SAAU,KACVG,aAAc,MA4EhB,IAAIgC,GAAW,CAAC,QAAU,mCAAmC,KAAO,gCAAgC,MAAQ,kCAExGC,GAAc,CAChBC,OAAQlK,EAA4B,QAAE6B,OAAOd,WAC7CoJ,OAAQnK,EAA4B,QAAE6B,OACtC+F,OAAQvJ,EAAKH,UAAUkM,WACvBC,aAAcrK,EAA4B,QAAEmB,OAE5CmJ,SAAUtK,EAA4B,QAAEuD,KACxCgH,kBAAmBlM,EAAKH,UAAU4C,MAClC0J,yBAA0BnM,EAAKH,UAAU4C,MACzCgF,QAASzH,EAAKH,UAAU4H,QACxB3L,SAAU6F,EAA4B,QAAEwC,KACxCiI,aAAczK,EAA4B,QAAE0C,MAAM,CAAC,OAAQ,UAC3DgI,eAAgB1K,EAA4B,QAAEiB,KAC9C0J,gBAAiB3K,EAA4B,QAAEiB,KAC/C2J,kBAAmB5K,EAA4B,QAAEiB,KACjD4J,WAAY7K,EAA4B,QAAEuD,KAC1CuH,WAAY9K,EAA4B,QAAEuD,KAC1CwH,UAAW/K,EAA4B,QAAEuD,KACzCyH,SAAUhL,EAA4B,QAAEuD,KACxC0H,aAAcjL,EAA4B,QAAE6B,OAC5CqJ,gBAAiBlL,EAA4B,QAAEuD,KAC/C4H,iBAAkBnL,EAA4B,QAAEuD,KAChDrJ,UAAW8F,EAA4B,QAAE6B,OACzCuJ,gBAAiBpL,EAA4B,QAAE6B,OAC/CwJ,iBAAkBrL,EAA4B,QAAE6B,OAChDyJ,gBAAiBtL,EAA4B,QAAE6B,QAE7C0J,GAAiB,CACnBpB,OAAQ,OACRvC,OAAQ,GACRyC,aAAc,KACdC,SAAU,KACVC,kBAAgCxK,EAAwB,QAAEyB,cAAclD,EAAUgD,iBAAkB,CAClGwH,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGbhB,yBAA0B,KAC1B1E,QAAS,KACT3L,SAAU,KACVsQ,aAAc,OACdC,gBAAgB,EAChBC,iBAAiB,EACjBC,mBAAmB,EACnBC,WAAY,KACZC,WAAY,KACZC,UAAW,KACXC,SAAU,KACVC,aAAc,KACdC,gBAAiB,KACjBC,iBAAkB,KAClBjR,UAAW,KACXkR,gBAAiB,KACjBC,iBAAkB,KAClBC,gBAAiB,MAGfG,GAAO,SAAchR,GACvB,IAAIyB,EAEAgO,EAASzP,EAAKyP,OACdC,EAAS1P,EAAK0P,OACduB,EAAgBjR,EAAKmN,OACrByC,EAAe5P,EAAK4P,aACpBC,EAAW7P,EAAK6P,SAChBC,EAAoB9P,EAAK8P,kBACzBC,EAA2B/P,EAAK+P,yBAChC1E,EAAUrL,EAAKqL,QACf3L,EAAWM,EAAKN,SAChBsQ,EAAehQ,EAAKgQ,aACpBC,EAAiBjQ,EAAKiQ,eACtBC,EAAkBlQ,EAAKkQ,gBACvBC,EAAoBnQ,EAAKmQ,kBACzBC,EAAapQ,EAAKoQ,WAClBC,EAAarQ,EAAKqQ,WAClBC,EAAYtQ,EAAKsQ,UACjBC,EAAWvQ,EAAKuQ,SAChBC,EAAexQ,EAAKwQ,aACpBC,EAAkBzQ,EAAKyQ,gBACvBC,EAAmB1Q,EAAK0Q,iBACxBjR,EAAYO,EAAKP,UACjBkR,EAAkB3Q,EAAK2Q,gBACvBC,EAAmB5Q,EAAK4Q,iBACxBC,EAAkB7Q,EAAK6Q,gBAEvB1Q,EAAYpB,EAAMqB,UAAS,GAC3BC,EAAaqF,EAAiC,QAAEvF,EAAW,GAC3D+Q,EAAW7Q,EAAW,GACtB8Q,EAAc9Q,EAAW,GAE7BtB,EAAMiD,WAAU,WACd,IAAIqM,EAAK,KAQT,OANI6C,IACF7C,EAAK+C,YAAW,WACdD,GAAY,KACX,MAGE,WACLE,aAAahD,MAEd,CAAC6C,IACJ,IAAII,EAAiBvS,EAAM6P,aAAY,SAAU2C,GAC5B,OAAfnB,GACFA,EAAWmB,GAGRrB,GACHiB,GAAY,KAEb,CAACf,EAAYe,IAEZK,EAAWrN,EAAMsN,QAAQ,CAC3BnO,MAAOsM,EACPH,OAAQA,EACRtC,OAAQ8D,EACRpB,SAAUA,EACVO,WAAYkB,IAEVI,EAAWF,EAASE,SACpBvE,EAASqE,EAASrE,OAClBwE,EAASH,EAASG,OAClBrO,EAAQkO,EAASlO,MACjBsO,EAAWJ,EAASI,SACpBC,EAASL,EAASK,OAClBC,EAAWN,EAASM,SACpBC,EAAeP,EAASO,aAExBC,EAAkB5N,EAASqK,kBAAkB,UAEjD1P,EAAMiD,WAAU,WACK,OAAfqO,IACFA,EAAWyB,GAEO,OAAdxB,GAAsBwB,GAAYA,EAASG,SAC7C3B,EAAUwB,EAASG,YAGtB,CAACH,EAAUzB,EAAYC,IAC1B,IAAI4B,EAAUpO,EAAMqO,eAAehF,EAAQ7J,GAEvC8O,EAAarT,EAAMqB,SAAS,IAC5BiS,GAAa3M,EAAiC,QAAE0M,EAAY,GAC5DE,GAAaD,GAAW,GACxBE,GAAgBF,GAAW,GAE3BhF,GAAgBtO,EAAM6P,aAAY,SAAUjB,GAC9C,IAAI6E,EAAWC,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC/EE,EAAW,GAAGvI,OAAOuD,GAAOvD,OAAoB,OAAboI,EAAoB,IAAIpI,OAAOoI,GAAY,IAClFD,GAAc,GAAGnI,OAAO3E,EAAqC,QAAE6M,IAAa,CAACK,KAErD,OAApBlC,GACFA,MAED,CAAC6B,GAAYC,KACZjF,GAAiBvO,EAAM6P,aAAY,WACrC,IAAIgE,EAAYnN,EAAqC,QAAE6M,IAEvDM,EAAUC,MACVN,GAAc9M,EAAqC,QAAEmN,IAE5B,OAArBlC,GACFA,MAED,CAAC4B,GAAYC,KAEZO,GAAcR,GAAWI,OAAS,EAAIJ,GAAWA,GAAWI,OAAS,GAAK,KAM9E,OAAoBpN,EAAwB,QAAEyB,cAAc,OAAQ,CAClE0I,OAAQA,EACRhQ,UAAW+F,EAA6B,QAAE,CAAC+J,GAASlN,UAAW+C,EAAkC,QAAE,GAAI3F,EAAyB,OAAdA,KAClHiQ,OAAQA,EACRgC,SAAUA,IACRvB,GAAgC,OAAXhD,GAAmBA,EAAOuF,OAAS,GAAqB,OAAhBI,GAAoCxN,EAAwB,QAAEyB,cAAc,MAAO,CAClJtH,UAAW,QACG6F,EAAwB,QAAEyB,cAAc0F,GAAY,CAClEpF,MAAO,YACPoB,SAAS,EACTI,QAASyE,MACL,KAAMH,GAAUA,EAAOuF,OAAS,GAAqB,OAAhBI,GAAoCxN,EAAwB,QAAEyB,cAAc,MAAO,CAC5HtH,UAAW+F,EAA6B,QAAE,CAAC,QAAS+J,GAASwD,QAC7D1G,IAAK,SACS/G,EAAwB,QAAEyB,cAAcyG,GAAW,CACjEV,KAAMgG,GAAYE,QAAQ,MAAO,KACjC7F,OAAQA,EACR7J,MAAOA,EACP8J,SAAUwE,EACVvE,cAAeA,GACfC,eAAgBA,MACZ,KAAM0E,GAA8B,OAAX7E,GAAmBA,EAAOuF,OAAS,GAAqB,OAAhBI,GAAoCxN,EAAwB,QAAEyB,cAAciL,EAAiB,CAClK7E,OAAQA,EACR7J,MAAOA,EACPuO,OAAQA,EACRzE,SAAUwE,EACVvE,cAAeA,GACfC,eAAgBA,GAChB7N,UAAW+F,EAA6B,QAAE,CAAC+J,GAASpC,OAAQ/H,EAAkC,QAAE,GAAIuL,EAAqC,OAApBA,OAClH,KAAMoB,EAA4BzM,EAAwB,QAAEyB,cAAc,IAAK,CAClFtH,UAAW,oBACVsS,GAAgB,KAAMrS,EAAWuQ,GAAkC,OAAhB6C,GA+BxC,KA/B4ExN,EAAwB,QAAEyB,cAAc,MAAO,CACvItH,UAAW+F,EAA6B,QAAE,CAAC+J,GAAS0D,SAAUxR,EAAQ,GAAI2D,EAAkC,QAAE3D,EAAO8N,GAASS,GAAeA,GAAe5K,EAAkC,QAAE3D,EAAOmP,EAAuC,OAArBA,GAA4BnP,MACvO,OAAb8O,GAAsC,OAAjBC,EAAqClL,EAAwB,QAAEyB,cAAcoC,EAAU,CAC7GhC,KAAM,SACN0B,QAAS0H,EACT9I,KAAM+I,EACNnJ,MAAO,YACPoB,SAAS,EACTlJ,SAAqB,YAAXoS,EACVlS,UAAW+F,EAA6B,QAAE,CAAC,OAAQJ,EAAkC,QAAE,GAAIyL,EAAqC,OAApBA,MAC9FvL,EAAwB,QAAEyB,cAAclD,EAAUgD,iBAAkB,CAClFwH,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cAEP,KAAkB,OAAZ1F,EAAgC/F,EAAwB,QAAEyB,cAAc0E,GAAS,CAC3FJ,QAASA,EACT5L,UAAW8P,GAASlE,UACJ/F,EAAwB,QAAEyB,cAAcoC,EAAU,CAClEhC,KAAM,SACNE,MAAO,UACP9H,SAAqB,YAAXoS,IAAyBO,GACvB,YAAXP,GAAuB5B,GAAgDD,GAAoBoB,EAAwB5L,EAAwB,QAAEyB,cAAc,IAAK,CACjKtH,UAAW,0BACG6F,EAAwB,QAAEyB,cAAclD,EAAUgD,iBAAkB,CAClFwH,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,eAEP,QAGRC,GAAK5R,UAAYoQ,GACjBwB,GAAK9N,aAAe4N,GAEpB,IAAIoC,GAA2B,2CAE3BC,GAAc,CAAC,OAAQ,WAAY,WAAY,SAAU,MAAO,YAAa,gBAC7EC,GAAc,CAChB3L,KAAMlC,EAA4B,QAAE6B,OACpCM,SAAUnC,EAA4B,QAAEiB,KACxCoB,OAAQrC,EAA4B,QAAE6B,OACtC1H,SAAUkE,EAAKH,UAAU4C,MACzBgN,IAAK9N,EAA4B,QAAE6B,OACnCmB,aAAchD,EAA4B,QAAEiB,KAC5C/G,UAAW8F,EAA4B,QAAE6B,QAYvC4D,GAAO,SAAchL,GACvB,IAAIyH,EAAOzH,EAAKyH,KACZC,EAAW1H,EAAK0H,SAChBhI,EAAWM,EAAKN,SAChBkI,EAAS5H,EAAK4H,OACdyL,EAAMrT,EAAKqT,IACX5T,EAAYO,EAAKP,UACjB8I,EAAevI,EAAKuI,aACpB3J,EAAQyG,EAA2C,QAAErF,EAAMmT,IAE/D,OAAOzL,EAAwBpC,EAAwB,QAAEyB,cAAc,IAAKtE,OAAOC,OAAO,CACxFjD,UAAW+F,EAA6B,QAAE,CAAC/F,EAAW2F,EAAkC,QAAE,GAAI8N,GAAuB3K,KACrHd,KAAMA,EACNG,OAAQA,EACRyL,IAAKA,GACJzU,GAAqB0G,EAAwB,QAAEyB,cAAcJ,EAAO,KAAMjH,IAA0B4F,EAAwB,QAAEyB,cAAcpD,EAAeqH,KAAMvI,OAAOC,OAAO,CAChLjD,UAAW+F,EAA6B,QAAE,CAAC/F,EAAW2F,EAAkC,QAAE,GAAI8N,GAAuB3K,KACrH0C,GAAIxD,GACH7I,GAAqB0G,EAAwB,QAAEyB,cAAcJ,EAAO,KAAMjH,KAG/EsL,GAAK5L,UAAYgU,GACjBpI,GAAK9H,aAhCgB,CACnBuE,KAAM,GACNC,UAAU,EACVE,OAAQ,SACRyL,IAAK,sBACL3T,SAAU,KACV6I,cAAc,EACd9I,UAAW,MA2Bb,IAAI6T,GAAc,CAAC,QAAS,aACxBC,GAAc,CAChB9L,KAAMlC,EAA4B,QAAE6B,OACpCoM,OAAQjO,EAA4B,QAAEwC,KACtC0L,MAAOlO,EAA4B,QAAEwC,KACrC2L,SAAUnO,EAA4B,QAAE6B,OACxCuM,aAAcpO,EAA4B,QAAEiB,KAC5CoN,WAAYrO,EAA4B,QAAEwC,KAC1C8L,MAAOjQ,EAAKH,UAAU4C,MACtByN,SAAUlQ,EAAKH,UAAU4C,MACzB3G,SAAU6F,EAA4B,QAAEwC,KACxCgM,UAAWxO,EAA4B,QAAEwC,KACzCiM,MAAOzO,EAA4B,QAAE0O,QAAQ1O,EAA4B,QAAE0D,MAAM,CAC/E5C,MAAOzC,EAAKH,UAAU4C,MACtBoB,KAAMlC,EAA4B,QAAE6B,UAEtC8M,gBAAiB3O,EAA4B,QAAEiB,KAC/C2N,OAAQ5O,EAA4B,QAAEwC,KACtCV,MAAO9B,EAA4B,QAAE0C,MAAM,CAAC,KAAM,OAAQ,UAAW,UACrExI,UAAW8F,EAA4B,QAAE6B,OACzCgN,eAAgB7O,EAA4B,QAAE6B,OAC9CiN,gBAAiB9O,EAA4B,QAAE6B,OAC/CkN,eAAgB/O,EAA4B,QAAE6B,OAC9CmN,kBAAmBhP,EAA4B,QAAE6B,OACjDoN,cAAejP,EAA4B,QAAE6B,OAC7CqN,gBAAiBlP,EAA4B,QAAE6B,OAC/CyB,QAAStD,EAA4B,QAAEuD,KACvC4L,YAAanP,EAA4B,QAAEuD,KAC3C6L,cAAepP,EAA4B,QAAEuD,MA6B3C8L,GAAO,SAAc5U,GACvB,IAAI6U,EAEApN,EAAOzH,EAAKyH,KACZ+L,EAASxT,EAAKwT,OACdC,EAAQzT,EAAKyT,MACbC,EAAW1T,EAAK0T,SAChBC,EAAe3T,EAAK2T,aACpBC,EAAa5T,EAAK4T,WAClBC,EAAQ7T,EAAK6T,MACbC,EAAW9T,EAAK8T,SAChBpU,EAAWM,EAAKN,SAChBqU,EAAY/T,EAAK+T,UACjBC,EAAQhU,EAAKgU,MACbE,EAAkBlU,EAAKkU,gBACvBC,EAASnU,EAAKmU,OACd9M,EAAQrH,EAAKqH,MACb5H,EAAYO,EAAKP,UACjB2U,EAAiBpU,EAAKoU,eACtBC,EAAkBrU,EAAKqU,gBACvBC,EAAiBtU,EAAKsU,eACtBC,EAAoBvU,EAAKuU,kBACzBC,EAAgBxU,EAAKwU,cACrBC,EAAkBzU,EAAKyU,gBACvB5L,EAAU7I,EAAK6I,QACf6L,EAAc1U,EAAK0U,YACnBC,EAAgB3U,EAAK2U,cACrBG,GAAiBd,GAAS,IAAIrI,KAAI,SAAUmC,EAAOjC,GACrD,IAAIxF,EAAQyH,EAAMzH,MACd0O,EAAkBjH,EAAMrO,UACxBuV,OAAoC,IAApBD,EAA6B,KAAOA,EACpDE,EAAY5P,EAA2C,QAAEyI,EAAOwF,IAEpE,OAAoBhO,EAAwB,QAAEyB,cAAciE,GAAMvI,OAAOC,OAAO,CAC9E2J,IAAK,QAAQjC,OAAO/D,EAAO,KAAK+D,OAAOyB,GACvCpM,UAAW+F,EAA6B,QAAE,CAAC,YAAaJ,EAAkC,QAAE,GAAI4P,EAAiC,OAAlBA,MAC9GC,GAAY5O,MAEb6O,EAAsB,OAAVrB,GAA+B,OAAbC,GAAkC,OAAbpU,GAA+B,OAAVsU,GAAkBE,EAA+B5O,EAAwB,QAAEyB,cAAczB,EAAwB,QAAEuE,SAAU,KAAgB,OAAVgK,EAA8BvO,EAAwB,QAAEyB,cAAc,KAAM,CACzRtH,UAAW+F,EAA6B,QAAE,CAAC,aAAcJ,EAAkC,QAAE,GAAIkP,EAAmC,OAAnBA,MACnGhP,EAAwB,QAAEyB,cAAcJ,EAAO,KAAMkN,IAAU,KAAmB,OAAbC,EAAiCxO,EAAwB,QAAEyB,cAAc,KAAM,CAClKtH,UAAW+F,EAA6B,QAAE,CAAC,gBAAiBJ,EAAkC,QAAE,GAAImP,EAAyC,OAAtBA,MACzGjP,EAAwB,QAAEyB,cAAcJ,EAAO,KAAMmN,IAAa,KAAMpU,EAAoB,OAAVsU,GAAkBE,EAA+B5O,EAAwB,QAAEyB,cAAc,MAAO,CAChMtH,UAAW,UACVqV,GAAiB,MAAQ,KACxBK,EAAyB7P,EAAwB,QAAEyB,cAAczB,EAAwB,QAAEuE,SAAU,KAAiB,OAAX2J,EAA+BlO,EAAwB,QAAEyB,cAAc,MAAO,CAC3LtH,UAAW+F,EAA6B,QAAE,CAAC,cAAeJ,EAAkC,QAAE,GAAIiP,EAAqC,OAApBA,MACrG/O,EAAwB,QAAEyB,cAAcJ,EAAO,KAAM6M,IAAW,KAAuB,iBAAVC,EAAkCnO,EAAwB,QAAEyB,cAAc,MAAO,CAC5KqO,IAAK3B,EACL4B,IAAK3B,EACLjU,UAAW+F,EAA6B,QAAE,CAAC,eAAgBJ,EAAkC,QAAE,GAAIgP,EAAmC,OAAnBA,OAChHX,EAAOG,EAA0B,OAAdsB,EAAkC5P,EAAwB,QAAEyB,cAAczB,EAAwB,QAAEuE,SAAU,KAAsB,OAAhB6K,EAAoCpP,EAAwB,QAAEyB,cAAc,SAAU,CAChOI,KAAM,SACN1H,UAAW+F,EAA6B,QAAEJ,EAAkC,QAAE,CAC5E,aAAcuO,EACd,mBAAoBA,GACnBa,EAAiC,OAAlBA,IAClB3L,QAAS6L,GACRQ,GAA0B5P,EAAwB,QAAEyB,cAAc,MAAO,CAC1EtH,UAAW+F,EAA6B,QAAEJ,EAAkC,QAAE,CAC5E,aAAcuO,EACd,mBAAoBA,GACnBa,EAAiC,OAAlBA,KACjBU,IAAc,KAAMnB,EAAqB,OAAVC,GAAmBE,EAEjC,KAFgE5O,EAAwB,QAAEyB,cAAc,MAAO,CACjItH,UAAW,aACVqV,GAAkC,OAAXX,EAA+B7O,EAAwB,QAAEyB,cAAczB,EAAwB,QAAEuE,SAAU,KAAwB,OAAlB8K,EAAsCrP,EAAwB,QAAEyB,cAAc,SAAU,CACjOI,KAAM,SACN1H,UAAW+F,EAA6B,QAAE,CAAC,cAAeJ,EAAkC,QAAE,GAAIqP,EAAqC,OAApBA,KACnH5L,QAAS8L,GACKrP,EAAwB,QAAEyB,cAAcJ,EAAO,KAAMwN,IAAwB7O,EAAwB,QAAEyB,cAAc,MAAO,CAC1ItH,UAAW+F,EAA6B,QAAE,CAAC,cAAeJ,EAAkC,QAAE,GAAIqP,EAAqC,OAApBA,MACrGnP,EAAwB,QAAEyB,cAAcJ,EAAO,KAAMwN,KAAY,MAC7EmB,EAAgB9P,EAA6B,QAAE,CAAC,QAASqP,EAAS,GAAIzP,EAAkC,QAAEyP,EAAQ,MAAMzK,OAAO/C,IAASsM,GAA0B,SAAVtM,GAAmBjC,EAAkC,QAAEyP,EAAQ,UAAWlB,GAA0B,SAAVtM,GAAmBjC,EAAkC,QAAEyP,EAAQ,YAAuB,UAAVxN,GAAoBjC,EAAkC,QAAEyP,EAAQ,aAAclB,GAA0B,SAAVtM,GAA8B,YAAVA,GAAsBjC,EAAkC,QAAEyP,EAAQpV,EAAyB,OAAdA,GAAqBoV,KAEthB,OAAa,OAATpN,EACkBnC,EAAwB,QAAEyB,cAAciE,GAAM,CAChEvD,KAAMA,EACNhI,UAAW6V,GACVH,GAGW,OAAZtM,EACkBvD,EAAwB,QAAEyB,cAAc,SAAU,CACpEI,KAAM,SACN1H,UAAW+F,EAA6B,QAAE,CAAC,MAAO,YAAa8P,IAC/DzM,QAASA,GACRsM,GAGe7P,EAAwB,QAAEyB,cAAc,MAAO,CACjEtH,UAAW6V,GACVH,IAGLP,GAAKxV,UAAYmU,GACjBqB,GAAK1R,aA1HgB,CACnBuE,KAAM,KACN+L,OAAQ,KACRC,MAAO,KACPC,SAAU,KACVC,cAAc,EACdC,WAAY,KACZC,MAAO,KACPC,SAAU,KACVpU,SAAU,KACVqU,UAAW,KACXC,MAAO,KACPE,iBAAiB,EACjBC,OAAQ,KACR9M,MAAO,KACP5H,UAAW,KACX2U,eAAgB,KAChBC,gBAAiB,KACjBC,eAAgB,KAChBC,kBAAmB,KACnBC,cAAe,KACfC,gBAAiB,KACjB5L,QAAS,KACT6L,YAAa,KACbC,cAAe,MAoGjB,IAAIY,GAAc,CAChBC,SAAUjQ,EAA4B,QAAEiB,KACxCiP,MAAOlQ,EAA4B,QAAE6B,OACrC3H,UAAW8F,EAA4B,QAAE6B,QAQvCsO,GAAU,SAAiB1V,GAC7B,IAAIwV,EAAWxV,EAAKwV,SAChBC,EAAQzV,EAAKyV,MACbhW,EAAYO,EAAKP,UACrB,OAAoB6F,EAAwB,QAAEyB,cAAc,MAAO,CACjEtH,UAAW+F,EAA6B,QAAE,CAACJ,EAAkC,QAAE,GAAI3F,EAAyB,OAAdA,KAC9FJ,MAAO,KACPC,OAAQ,KACRqW,QAAS,YACTC,MAAO,8BACOtQ,EAAwB,QAAEyB,cAAc,OAAQ,KAAmBzB,EAAwB,QAAEyB,cAAc,iBAAkB,CAC3I8O,GAAI,SACJC,GAAI,KACJC,GAAI,UACJC,GAAI,UACJ3H,GAAI,KACU/I,EAAwB,QAAEyB,cAAc,OAAQ,CAC9DkP,UAAWR,EACXS,YAAa,IACbC,OAAQ,OACO7Q,EAAwB,QAAEyB,cAAc,OAAQ,CAC/DkP,UAAWR,EACXS,YAAa,OACbC,OAAQ,YACO7Q,EAAwB,QAAEyB,cAAc,OAAQ,CAC/DkP,UAAWR,EACXU,OAAQ,WACS7Q,EAAwB,QAAEyB,cAAc,IAAK,CAC9DqP,KAAM,OACNC,SAAU,WACI/Q,EAAwB,QAAEyB,cAAc,IAAK,CAC3DuP,UAAW,kBACGhR,EAAwB,QAAEyB,cAAc,OAAQ,CAC9DwP,EAAG,8BACHlI,GAAI,SACJmI,OAAQ,UACRC,YAAa,KACZjB,EAAwBlQ,EAAwB,QAAEyB,cAAc,mBAAoB,CACrF2P,cAAe,YACfvP,KAAM,SACNwP,KAAM,UACN1L,GAAI,YACJ2L,IAAK,OACLC,YAAa,eACV,MAAoBvR,EAAwB,QAAEyB,cAAc,SAAU,CACzEqP,KAAMX,EACNqB,GAAI,KACJC,GAAI,KACJC,EAAG,KACFxB,EAAwBlQ,EAAwB,QAAEyB,cAAc,mBAAoB,CACrF2P,cAAe,YACfvP,KAAM,SACNwP,KAAM,UACN1L,GAAI,YACJ2L,IAAK,OACLC,YAAa,eACV,UAGPnB,GAAQtW,UAAYmW,GACpBG,GAAQxS,aAlEa,CACnBsS,UAAU,EACVC,MAAO,eACPhW,UAAW,MAiEb,IAAIwX,GAAW,GAEXC,GAAc,CAAC,cAAe,UAAW,WAAY,aACrDC,GAAc,CAChBC,YAAa7R,EAA4B,QAAEwC,KAC3CG,QAAS3C,EAA4B,QAAEiB,KACvC9G,SAAU6F,EAA4B,QAAEwC,KACxCtI,UAAW8F,EAA4B,QAAE6B,QASvCiQ,GAAY,SAAmBrX,GACjC,IAAIoX,EAAcpX,EAAKoX,YACnBlP,EAAUlI,EAAKkI,QACfxI,EAAWM,EAAKN,SAChBD,EAAYO,EAAKP,UACjBb,EAAQyG,EAA2C,QAAErF,EAAMkX,IAE/D,OAAoB5R,EAAwB,QAAEyB,cAAc6N,GAAMnS,OAAOC,OAAO,CAC9EjD,UAAW+F,EAA6B,QAAE,CAACyR,GAAS5U,UAAW+C,EAAkC,QAAE,GAAI3F,EAAyB,OAAdA,MACjHb,GAAQwY,EAAalP,EAAuB5C,EAAwB,QAAEyB,cAAc2O,GAAS,MAAQhW,IAG1G2X,GAAUjY,UAAY+X,GACtBE,GAAUnU,aApBW,CACnBkU,YAAa,KACblP,SAAS,EACTxI,SAAU,KACVD,UAAW,MAkBb,IAEI6X,GAAc,CAChBC,MAAO3T,EAAKH,UAAU+T,UACtBnQ,MAAOzD,EAAKH,UAAUgU,gBACtBC,UAAWnS,EAA4B,QAAE0C,MAAM,CAAC,KAAM,UACtD0P,WAAYpS,EAA4B,QAAEiB,KAC1CoR,OAAQrS,EAA4B,QAAEiB,KACtC/G,UAAW8F,EAA4B,QAAE6B,QAWvCyQ,GAAa,SAAoB7X,GACnC,IAAIuX,EAAQvX,EAAKuX,MACblQ,EAAQrH,EAAKqH,MACbqQ,EAAY1X,EAAK0X,UACjBC,EAAa3X,EAAK2X,WAClBC,EAAS5X,EAAK4X,OACdnY,EAAYO,EAAKP,UACrB,OAAoB6F,EAAwB,QAAEyB,cAAc,MAAO,CACjEtH,UAAWA,GACG6F,EAAwB,QAAEyB,cAAc,KAAM,CAC5DtH,UAAW+F,EAA6B,QAAE,CA7BlB,2CA6BuC,aAAc,OAAQ,CACnF,MAAOmS,EACP,iBAAkBA,EAClB,YAAaA,EACb,cAAeC,MAEhBL,EAAM5L,KAAI,SAAUmC,EAAOjC,GAC5B,IAAIoC,EAEA6J,EAAMhK,EAAMgK,IACZzR,EAAQyH,EAAMzH,MACd0R,EAAejK,EAAMhG,OACrBA,OAA0B,IAAjBiQ,GAAkCA,EAC3CC,EAAgBlK,EAAMjF,QACtBA,OAA4B,IAAlBmP,EAA2B,KAAOA,EAChD,OAAoB1S,EAAwB,QAAEyB,cAAc,KAAM,CAChEtH,UAAW+F,EAA6B,QAAE,CAAC,mBAAoByI,EAAQ,CACrEnG,OAAQA,GACP1C,EAAkC,QAAE6I,EA/CkC,uCA+CG,UAAdyJ,GAAwBtS,EAAkC,QAAE6I,EAAO,QAAQ7D,OAAO/C,GAAQS,GAAoB,OAAVT,GAAiB4G,KACnL5B,IAAK,QAAQjC,OAAOyB,IACnB/D,EAAsBxC,EAAwB,QAAEyB,cAAcJ,EAAO,KAAMN,GAAS,MAAOyB,GAAUgQ,EAAmBxS,EAAwB,QAAEyB,cAAcpD,EAAeqH,KAAM,CACtLC,GAAI6M,EACJjP,QAASA,EACTpJ,UAAW+F,EAA6B,QAAEJ,EAAkC,QAAE,GAAI,QAAQgF,OAAO/C,GAAkB,OAAVA,KAC3F/B,EAAwB,QAAEyB,cAAcJ,EAAO,KAAMN,IAAU,MAAOyB,GAAUe,EAAuBvD,EAAwB,QAAEyB,cAAcoC,EAAU,CACvKN,QAASA,EACTpJ,UAAW+F,EAA6B,QAAEJ,EAAkC,QAAE,GAAI,QAAQgF,OAAO/C,GAAkB,OAAVA,KAC3F/B,EAAwB,QAAEyB,cAAcJ,EAAO,KAAMN,IAAU,YAInFwR,GAAWzY,UAAYkY,GACvBO,GAAW3U,aAnDU,CACnBqU,MAAO,GACPlQ,MAAO,KACPqQ,UAAW,KACXC,YAAY,EACZC,QAAQ,EACRnY,UAAW,MA+Cb,IAAIwY,GAAc,CAAC,KAAM,OAAQ,YAAa,QAAS,WAAY,UAAW,UAC1EC,GAAc,CAChBX,MAAO3T,EAAKH,UAAU+T,UACtB9X,SAAU6F,EAA4B,QAAEwC,KACxCoQ,QAAS5S,EAA4B,QAAEiB,KACvC4R,MAAOxU,EAAKH,UAAU4U,cACtB5Y,UAAW8F,EAA4B,QAAE6B,OACzCkR,cAAe/S,EAA4B,QAAE6B,OAC7CmR,YAAahT,EAA4B,QAAEuD,KAC3C0P,eAAgBjT,EAA4B,QAAEuD,MAa5C2P,GAAW,SAAkBzY,GAC/B,IAAI8N,EAEAyJ,EAAQvX,EAAKuX,MACb7X,EAAWM,EAAKN,SAChByY,EAAUnY,EAAKmY,QACfC,EAAQpY,EAAKoY,MACb3Y,EAAYO,EAAKP,UACjB6Y,EAAgBtY,EAAKsY,cACrBC,EAAcvY,EAAKuY,YACnBC,EAAiBxY,EAAKwY,eACtBE,EAAe3Z,EAAMqC,OAAO,MAC5BuX,EAAkB5Z,EAAM6P,aAAY,SAAUzJ,GAC5CuT,EAAa3X,UAAY2X,EAAa3X,QAAQ6X,SAASzT,EAAE0T,gBAAqC,OAAnBL,GAC7EA,EAAerT,KAEhB,CAACuT,EAAa3X,QAASyX,IAE1B,OADArU,EAAM2U,iBAAiB,QAASH,EAAiBR,GAC7B7S,EAAwB,QAAEyB,cAAc,MAAO,CACjEtH,UAAW+F,EAA6B,QAAE,CAAC,iBAAkBsI,EAAQ,GAAI1I,EAAkC,QAAE0I,EAAO,iBAAiB1D,OAAOgO,GAAkB,OAAVA,GAAiBhT,EAAkC,QAAE0I,EAAO,OAAQqK,GAAU/S,EAAkC,QAAE0I,EAAOrO,EAAyB,OAAdA,GAAqBqO,KAC7SnN,IAAK+X,GACS,OAAbhZ,EAAoBA,EAAW6X,EAAM5L,KAAI,SAAUoN,EAAIlN,GACxD,IAAIoC,EAEJ8K,EAAG1K,GACC,IAAI2K,EAAWD,EAAG5R,KAClBA,OAAoB,IAAb6R,EAAsB,OAASA,EACtCC,EAAgBF,EAAGtZ,UACnBsM,OAAoC,IAAlBkN,EAA2B,KAAOA,EACpDC,EAAYH,EAAG1S,MACfA,OAAsB,IAAd6S,EAAuB,KAAOA,EACtCC,EAAeJ,EAAGrZ,SAClB0Z,OAAgC,IAAjBD,EAA0B,KAAOA,EAChDE,EAAcN,EAAGlQ,QACjByQ,OAAgC,IAAhBD,EAAyB,KAAOA,EAChDE,EAAaR,EAAGjR,OAChBA,OAAwB,IAAfyR,GAAgCA,EACzCC,EAAYnU,EAA2C,QAAE0T,EAAId,IAE7DwB,EAAgB,MAEP,SAATtS,EACFsS,EAAgBzO,GACE,WAAT7D,GACTsS,EAAgBtQ,EAChBqQ,EAAUrS,KAAO,UACC,WAATA,IACTsS,EAAgB,MAGlB,IAAIC,EAAqC,OAAlBJ,GAAmC,SAATnS,GAAmC,OAAhBoR,EAAuB,SAAUpT,GAC7E,OAAlBmU,GACFA,EAAcnU,GAGH,SAATgC,GAAmC,OAAhBoR,GACrBA,EAAYpT,IAEZ,KACJ,OAAyB,OAAlBsU,EAAsCnU,EAAwB,QAAEyB,cAAc0S,EAAehX,OAAOC,OAAO,CAChH2J,IAAK,QAAQjC,OAAOyB,GACpBpM,UAAW+F,EAA6B,QAAE,CAAC,UAAW,SAAUyI,EAAQ,CACtE,gBAA0B,SAAT9G,EACjB,mBAA6B,YAATA,EACpB,kBAA4B,WAATA,EACnBW,OAAQA,GACP1C,EAAkC,QAAE6I,EAAOqK,EAAiC,OAAlBA,GAAyBlT,EAAkC,QAAE6I,EAAOlC,EAAqC,OAApBA,GAA2BkC,KAC7KpF,QAAS6Q,GACRF,GAAsB,OAAVnT,EAA8Bf,EAAwB,QAAEyB,cAAcJ,EAAO,KAAMN,GAAS+S,GAAgB,UAI/HX,GAASrZ,UAAY8Y,GACrBO,GAASvV,aApFY,CACnBqU,MAAO,GACP7X,SAAU,KACVyY,SAAS,EACTC,MAAO,KACP3Y,UAAW,KACX6Y,cAAe,KACfC,YAAa,KACbC,eAAgB,MA8ElB,IAAImB,GAAY,CAAC,KAAM,YAAa,gBAAiB,OAAQ,QAAS,WAAY,QAAS,WAAY,SAAU,WAC7GC,GAAc,CAChBrC,MAAO3T,EAAKH,UAAU+T,UACtBqC,QAAStU,EAA4B,QAAE6B,OACvC0S,YAAavU,EAA4B,QAAE6B,OAC3C1H,SAAU6F,EAA4B,QAAEwC,KACxCgS,WAAYxU,EAA4B,QAAEiB,KAC1C/G,UAAW8F,EAA4B,QAAE6B,OACzCkR,cAAe/S,EAA4B,QAAE6B,OAC7C4N,cAAezP,EAA4B,QAAE6B,OAC7C4S,oBAAqBzU,EAA4B,QAAE6B,OACnD6S,iBAAkB1U,EAA4B,QAAE6B,OAChD8S,qBAAsB3U,EAA4B,QAAE6B,OACpD+S,qBAAsB5U,EAA4B,QAAE6B,OACpDgT,qBAAsB7U,EAA4B,QAAE6B,OACpDiT,kBAAmB9U,EAA4B,QAAE6B,OACjDkT,sBAAuB/U,EAA4B,QAAE6B,OACrDmT,sBAAuBhV,EAA4B,QAAE6B,OACrDiR,cAAezU,EAAKH,UAAU4U,eAsB5BmC,GAAO,SAASA,EAAKxa,GACvB,IAAIuX,EAAQvX,EAAKuX,MACbsC,EAAU7Z,EAAK6Z,QACfC,EAAc9Z,EAAK8Z,YACnBpa,EAAWM,EAAKN,SAChBqa,EAAa/Z,EAAK+Z,WAClBta,EAAYO,EAAKP,UACjB6Y,EAAgBtY,EAAKsY,cACrBtD,EAAgBhV,EAAKgV,cACrBgF,EAAsBha,EAAKga,oBAC3BC,EAAmBja,EAAKia,iBACxBC,EAAuBla,EAAKka,qBAC5BC,EAAuBna,EAAKma,qBAC5BC,EAAuBpa,EAAKoa,qBAC5BC,EAAoBra,EAAKqa,kBACzBC,EAAwBta,EAAKsa,sBAC7BC,EAAwBva,EAAKua,sBAC7BlC,EAAgBrY,EAAKqY,cAErBlY,EAAYpB,EAAMqB,SAASmX,EAAM5L,KAAI,WACvC,OAAO,MAELtL,EAAaqF,EAAiC,QAAEvF,EAAW,GAC3Dsa,EAAmBpa,EAAW,GAC9Bqa,EAAsBra,EAAW,GAEjCsa,EAAgBZ,EAAa,MAAQF,EACzC,OAAoBvU,EAAwB,QAAEyB,cAAc4T,EAAe,CACzElb,UAAWA,GACG,OAAbC,EAAoBA,EAAW6X,EAAM5L,KAAI,SAAUoN,EAAIlN,GACxD,IAAI+O,EAAaC,EAAcC,EAAcC,EAAcC,EAAcC,EAAcC,EAAcC,EAEjG9M,EAAK0K,EAAG1K,GACR4K,EAAgBF,EAAGtZ,UACnBsM,OAAoC,IAAlBkN,EAA2B,KAAOA,EACpDmC,EAAoBrC,EAAG/D,cACvBqG,OAA4C,IAAtBD,EAA+B,KAAOA,EAC5DE,EAAWvC,EAAGtR,KACdA,OAAoB,IAAb6T,EAAsB,KAAOA,EACpCjV,EAAQ0S,EAAG1S,MACXkV,EAAexC,EAAGrR,SAClBA,OAA4B,IAAjB6T,GAAkCA,EAC7CC,EAAYzC,EAAGxB,MACfkE,OAAyB,IAAdD,EAAuB,KAAOA,EACzCE,EAAe3C,EAAG4C,SAClBA,OAA4B,IAAjBD,EAA0B,KAAOA,EAC5CnC,EAAaR,EAAGjR,OAChBA,OAAwB,IAAfyR,GAAgCA,EACzCF,EAAcN,EAAGlQ,QACjByQ,OAAgC,IAAhBD,EAAyB,KAAOA,EAChDG,EAAYnU,EAA2C,QAAE0T,EAAIY,IAE7DpB,EAA2B,OAAboD,EAAoB,SAAUxW,GAC9CA,EAAEyW,iBACFlB,EAAoB,GAAGtQ,OAAO3E,EAAqC,QAAEgV,EAAiBoB,MAAM,EAAGhQ,IAAS,EAAG4O,EAAiB5O,IAAmBpG,EAAqC,QAAEgV,EAAiBoB,MAAMhQ,EAAQ,MAE/L,OAAlByN,GACFA,EAAcnU,IAEdmU,EACAwC,EAA6B,OAAbH,EAAoB,WACtCjB,EAAoB,GAAGtQ,OAAO3E,EAAqC,QAAEgV,EAAiBoB,MAAM,EAAGhQ,IAAS,EAAC,GAAQpG,EAAqC,QAAEgV,EAAiBoB,MAAMhQ,EAAQ,OACrL,KACA4N,EAAgBK,EACpB,OAAOC,EAA0BzU,EAAwB,QAAEyB,cAAciE,GAAMvI,OAAOC,OAAO,GAAI8W,EAAW,CAC1GnN,IAAK,QAAQjC,OAAOiE,GAAMxC,GAC1BhD,QAAS0P,EACT9Q,KAAMA,EACNC,SAAUA,EACVjI,UAAW+F,EAA6B,SAAGoV,EAAc,CACvD9S,OAAQA,GACP1C,EAAkC,QAAEwV,EAAatC,EAAiC,OAAlBA,GAAyBlT,EAAkC,QAAEwV,EAAa7O,EAAqC,OAApBA,GAA2B3G,EAAkC,QAAEwV,EAAa5F,EAAiC,OAAlBA,GAAyB5P,EAAkC,QAAEwV,EAAaS,EAA6C,OAAxBA,GAA+BT,MACrXvU,GAAsBf,EAAwB,QAAEyB,cAAc0S,EAAe,CAC/EpN,IAAK,QAAQjC,OAAOiE,GAAMxC,GAC1BpM,UAAW+F,EAA6B,SAAGqV,EAAe,CACxDc,SAAuB,OAAbA,EACV7T,OAAQA,GACP1C,EAAkC,QAAEyV,EAAcvC,EAAiC,OAAlBA,GAAyBlT,EAAkC,QAAEyV,EAAc9O,EAAqC,OAApBA,GAA2B3G,EAAkC,QAAEyV,EAAcb,EAAkC,OAAbyB,GAA6C,OAAxBzB,GAA+B5U,EAAkC,QAAEyV,EAAcT,EAAmC,OAAbqB,GAA8C,OAAzBrB,GAAgCS,KACza,OAATpT,EAA6BnC,EAAwB,QAAEyB,cAAciE,GAAMvI,OAAOC,OAAO,GAAI8W,EAAW,CACzG3Q,QAAS0P,EACT9Q,KAAMA,EACNC,SAAUA,EACVjI,UAAW+F,EAA6B,SAAGsV,EAAe,GAAI1V,EAAkC,QAAE0V,EAAc9F,EAAiC,OAAlBA,GAAyB5P,EAAkC,QAAE0V,EAAc,kBAAgC,OAAba,GAAoBvW,EAAkC,QAAE0V,EAAcO,EAA6C,OAAxBA,GAA+BP,MACrVzU,GAAS,KAAe,OAAToB,GAAiC,OAAhB8Q,EAAoCjT,EAAwB,QAAEyB,cAAcoC,EAAU1G,OAAOC,OAAO,GAAI8W,EAAW,CACrJ3Q,QAAS0P,EACT9Y,UAAW+F,EAA6B,SAAGuV,EAAe,GAAI3V,EAAkC,QAAE2V,EAAc/F,EAAiC,OAAlBA,GAAyB5P,EAAkC,QAAE2V,EAAc,kBAAgC,OAAbY,GAAoBvW,EAAkC,QAAE2V,EAAcM,EAA6C,OAAxBA,GAA+BN,MACrV1U,GAAS,KAAmB,OAAboV,EAAiCnW,EAAwB,QAAEyB,cAAcyT,EAAM,CAChGjD,MAAOkE,EACPhc,UAAWwa,EACX3B,cAAe9S,EAA6B,SAAGwV,EAAe,GAAI5V,EAAkC,QAAE4V,EAAcd,EAA+C,OAAzBA,GAAgC9U,EAAkC,QAAE4V,EAAc1C,EAAwC,OAAzB4B,GAAmD,OAAlB5B,GAAyB0C,IACrShG,cAAexP,EAA6B,SAAGyV,EAAe,GAAI7V,EAAkC,QAAE6V,EAAcd,EAA+C,OAAzBA,GAAgC/U,EAAkC,QAAE6V,EAAcjG,EAAwC,OAAzBmF,GAAmD,OAAlBnF,GAAyBiG,MAClS,KAAmB,OAAbU,EAAiCrW,EAAwB,QAAEyB,cAAc0R,GAAU,CAC5FlB,MAAOoE,EACPxD,QAASsC,EAAiB5O,KAAU,EACpCpM,UAAW4a,EACX/B,cAAe9S,EAA6B,SAAG0V,EAAe,GAAI9V,EAAkC,QAAE8V,EAAcZ,EAAiD,OAA1BA,GAAiClV,EAAkC,QAAE8V,EAAc5C,EAAyC,OAA1BgC,GAAoD,OAAlBhC,GAAyB4C,IACxSlG,cAAexP,EAA6B,SAAG2V,EAAe,GAAI/V,EAAkC,QAAE+V,EAAcZ,EAAiD,OAA1BA,GAAiCnV,EAAkC,QAAE+V,EAAcnG,EAAyC,OAA1BuF,GAAoD,OAAlBvF,GAAyBmG,IACxS/C,MAAOC,EACPE,YAAauD,EACbtD,eAAgBsD,IACb,WAITtB,GAAKpb,UAAYwa,GACjBY,GAAKtX,aA7HgB,CACnBqU,MAAO,GACPsC,QAAS,KACTC,YAAa,KACbpa,SAAU,KACVqa,YAAY,EACZta,UAAW,KACX6Y,cAAe,KACftD,cAAe,KACfgF,oBAAqB,KACrBC,iBAAkB,KAClBC,qBAAsB,KACtBC,qBAAsB,KACtBC,qBAAsB,KACtBC,kBAAmB,KACnBC,sBAAuB,KACvBC,sBAAuB,KACvBlC,cAAe,MA8GjB,IAAI0D,GAAc,CAChBC,MAAOzW,EAA4B,QAAEwC,KACrCkU,UAAW1W,EAA4B,QAAE6B,OACzC8U,YAAa3W,EAA4B,QAAEwC,KAC3CV,MAAO9B,EAA4B,QAAE0C,MAAM,CAAC,QAAS,OAAQ,UAAW,OACxEV,KAAMhC,EAA4B,QAAE0C,MAAM,CAAC,KAAM,KAAM,OACvDkU,QAAS5W,EAA4B,QAAEiB,KACvCoR,OAAQrS,EAA4B,QAAEiB,KACtC4V,gBAAiB7W,EAA4B,QAAEiB,KAC/C9G,SAAU6F,EAA4B,QAAEwC,KACxCtI,UAAW8F,EAA4B,QAAE6B,OACzCiV,eAAgB9W,EAA4B,QAAE6B,OAC9CkV,qBAAsB/W,EAA4B,QAAE6B,QAiBlDmV,GAAS,SAAgBvc,GAC3B,IAAI8N,EAEAkO,EAAQhc,EAAKgc,MACbC,EAAYjc,EAAKic,UACjBC,EAAclc,EAAKkc,YACnB7U,EAAQrH,EAAKqH,MACbE,EAAOvH,EAAKuH,KACZ4U,EAAUnc,EAAKmc,QACfvE,EAAS5X,EAAK4X,OACdwE,EAAkBpc,EAAKoc,gBACvB1c,EAAWM,EAAKN,SAChBD,EAAYO,EAAKP,UACjB4c,EAAiBrc,EAAKqc,eACtBC,EAAuBtc,EAAKsc,qBAE5Bnc,EAAYpB,EAAMqB,UAAS,GAC3BC,EAAaqF,EAAiC,QAAEvF,EAAW,GAC3Dqc,EAAcnc,EAAW,GACzBoc,EAAiBpc,EAAW,GAE5Bqc,EAAc3d,EAAM6P,aAAY,WAClC,OAAO6N,GAAgBD,KACtB,CAACC,EAAgBD,IACpB,OAAoBlX,EAAwB,QAAEyB,cAAc,MAAO,CACjEtH,UAAW+F,EAA6B,QAAE,CAAC,UAAWsI,EAAQ,GAAI1I,EAAkC,QAAE0I,EAAO,MAAM1D,OAAO/C,GAAkB,OAAVA,GAAiBjC,EAAkC,QAAE0I,EAAO,UAAU1D,OAAiB,UAAV/C,EAAoB,QAAU,QAAmB,OAAVA,GAAiBjC,EAAkC,QAAE0I,EAAO,QAAQ1D,OAAiB,UAAV/C,EAAoB,OAAS,SAAoB,OAAVA,GAAiBjC,EAAkC,QAAE0I,EAAO,iBAAiB1D,OAAO7C,IAAQ6U,GAAkBhX,EAAkC,QAAE0I,EAAO,OAAQqO,GAAU/W,EAAkC,QAAE0I,EAAO,OAAQqO,GAAU/W,EAAkC,QAAE0I,EAAO,cAAe8J,GAASxS,EAAkC,QAAE0I,EAAOrO,EAAyB,OAAdA,GAAqBqO,MACntB,OAAVkO,GAAgC,OAAdC,EAAkC3W,EAAwB,QAAEyB,cAAciE,GAAM,CACnGvL,UAAW+F,EAA6B,QAAE,CAAC,eAAgBJ,EAAkC,QAAE,CAC7F,OAAQ+W,GACPE,EAAmC,OAAnBA,KACnBpR,GAAIgR,GACHD,GAAS,KAAgB,OAAVA,GAAgC,OAAdC,EAAkC3W,EAAwB,QAAEyB,cAAc,OAAQ,CACpHtH,UAAW+F,EAA6B,QAAE,CAAC,eAAgBJ,EAAkC,QAAE,CAC7F,OAAQ+W,GACPE,EAAmC,OAAnBA,MAClBL,GAAS,KAAsB,OAAhBE,EAAoC5W,EAAwB,QAAEyB,cAAc,OAAQ,CACpGtH,UAAW+F,EAA6B,QAAE,CAAC,qBAAsBJ,EAAkC,QAAE,CACnG,OAAQ+W,GACPG,EAA+C,OAAzBA,MACxBJ,GAAe,KAAOE,EASnB,KATkD9W,EAAwB,QAAEyB,cAAcoC,EAAU,CACxG1J,UAAW,iBACXoJ,QAAS6T,EACTlU,cAAc,EACd,gBAAiB,yBACjB,gBAAiB,QACjB,aAAc,qBACAlD,EAAwB,QAAEyB,cAAc,OAAQ,CAC9DtH,UAAW,yBACA2c,EAIE1c,EAJ6B4F,EAAwB,QAAEyB,cAAc,MAAO,CACzFtH,UAAW+F,EAA6B,QAAE,CAAC,kBAAmB,WAAY,CACxEmX,KAAMH,MAEP9c,KAGL6c,GAAOnd,UAAY2c,GACnBQ,GAAOrZ,aAvEc,CACnB8Y,MAAO,KACPC,UAAW,KACXC,YAAa,KACb7U,MAAO,KACPE,KAAM,KACN4U,SAAS,EACTvE,QAAQ,EACRwE,iBAAiB,EACjB1c,SAAU,KACVD,UAAW,KACX4c,eAAgB,KAChBC,qBAAsB,MA6DxB,IAAIM,GAAW,GAEXC,GAAWhZ,EAAUiZ,eAAe,CACtCC,SAAU,CACR1O,GAAI,4BACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cAGbiM,KAAM,CACJ3O,GAAI,wBACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,YAIXkM,GAAc,CAChBC,KAAM3X,EAA4B,QAAE4X,OACpCC,MAAO7X,EAA4B,QAAE4X,OACrCrF,IAAKvS,EAA4B,QAAE6B,OACnCiW,iBAAkB9X,EAA4B,QAAEiB,KAChD/G,UAAW8F,EAA4B,QAAE6B,OACzCkW,oBAAqB/X,EAA4B,QAAE6B,OACnDkR,cAAe/S,EAA4B,QAAE6B,OAC7C4N,cAAezP,EAA4B,QAAE6B,OAC7CmW,YAAahY,EAA4B,QAAEuD,MAczC0U,GAAiB,SAAwBxd,GAC3C,IAAIkd,EAAOld,EAAKkd,KACZE,EAAQpd,EAAKod,MACbtF,EAAM9X,EAAK8X,IACXuF,EAAmBrd,EAAKqd,iBACxB5d,EAAYO,EAAKP,UACjB6d,EAAsBtd,EAAKsd,oBAC3BhF,EAAgBtY,EAAKsY,cACrBtD,EAAgBhV,EAAKgV,cACrBuI,EAAcvd,EAAKud,YACnBE,EAAS1e,EAAM6P,aAAY,SAAU8O,GACvC,OAAe,OAAR5F,EAAe,GAAG1N,OAAO0N,GAAK1N,QAA6B,IAAtB0N,EAAI6F,QAAQ,KAAc,SAASvT,OAAOsT,GAAe,SAAStT,OAAOsT,IAAgB,OACpI,CAAC5F,IAEA8F,EAAQnY,EAAqC,QAAEoY,MAAMT,GAAOU,QAAQnS,KAAI,SAAUoN,GACpF,OAAOA,EAAK,KAGd,OAAoBzT,EAAwB,QAAEyB,cAAc,MAAO,CACjEtH,UAAW+F,EAA6B,QAAE,CAACoX,GAASva,UAAW+C,EAAkC,QAAE,GAAI3F,EAAyB,OAAdA,MACpG6F,EAAwB,QAAEyB,cAAc,KAAM,CAC5DtH,UAAW+F,EAA6B,QAAE,CAAC,aAAcJ,EAAkC,QAAE,GAAIkY,EAA6C,OAAxBA,MACrHD,EAAgC/X,EAAwB,QAAEyB,cAAc,KAAM,CAC/EtH,UAAW+F,EAA6B,QAAE,CAAC,YAAaJ,EAAkC,QAAE,CAC1F7F,SAAU2d,GAAQ,GACjB5E,EAAiC,OAAlBA,MACjB4E,EAAO,EAAiB5X,EAAwB,QAAEyB,cAAciE,GAAM,CACvEvL,UAAW+F,EAA6B,QAAE,CAAC,YAAaJ,EAAkC,QAAE,GAAI4P,EAAiC,OAAlBA,KAC/GvN,KAAMgW,EAAOP,EAAO,GACpBrU,QAAyB,OAAhB0U,EAAuB,WAC9B,OAAOA,EAAYL,EAAO,IACxB,MACHL,GAASE,UAAyBzX,EAAwB,QAAEyB,cAAc,OAAQ,CACnFtH,UAAW+F,EAA6B,QAAE,CAAC,YAAaJ,EAAkC,QAAE,GAAI4P,EAAiC,OAAlBA,MACjG1P,EAAwB,QAAEyB,cAAcJ,EAAO,KAAMkW,GAASE,YAAc,KAAMa,EAAMjS,KAAI,SAAUoS,GACpH,OAAoBzY,EAAwB,QAAEyB,cAAc,KAAM,CAChEsF,IAAK,QAAQjC,OAAO2T,GACpBte,UAAW+F,EAA6B,QAAE,CAAC,YAAaJ,EAAkC,QAAE,CAC1F0C,OAAQiW,IAAeb,GACtB5E,EAAiC,OAAlBA,MACJhT,EAAwB,QAAEyB,cAAciE,GAAM,CAC5DvL,UAAW+F,EAA6B,QAAE,CAAC,YAAaJ,EAAkC,QAAE,GAAI4P,EAAiC,OAAlBA,KAC/GvN,KAAMgW,EAAOM,GACblV,QAAyB,OAAhB0U,EAAuB,WAC9B,OAAOA,EAAYQ,IACjB,MACHA,OACDV,EAAgC/X,EAAwB,QAAEyB,cAAc,KAAM,CAChFtH,UAAW+F,EAA6B,QAAE,CAAC,YAAaJ,EAAkC,QAAE,CAC1F7F,SAAU2d,GAAQE,GACjB9E,EAAiC,OAAlBA,MACjB4E,EAAOE,EAAqB9X,EAAwB,QAAEyB,cAAciE,GAAM,CAC3EvL,UAAW+F,EAA6B,QAAE,CAAC,YAAaJ,EAAkC,QAAE,GAAI4P,EAAiC,OAAlBA,KAC/GvN,KAAMgW,EAAOP,EAAO,GACpBrU,QAAyB,OAAhB0U,EAAuB,WAC9B,OAAOA,EAAYL,EAAO,IACxB,MACHL,GAASG,MAAqB1X,EAAwB,QAAEyB,cAAc,OAAQ,CAC/EtH,UAAW+F,EAA6B,QAAE,CAAC,YAAaJ,EAAkC,QAAE,GAAI4P,EAAiC,OAAlBA,MACjG1P,EAAwB,QAAEyB,cAAcJ,EAAO,KAAMkW,GAASG,QAAU,QAG1FQ,GAAepe,UAAY6d,GAC3BO,GAAeta,aA3EM,CACnBga,KAAM,EACNE,MAAO,EACPtF,IAAK,KACLuF,kBAAkB,EAClB5d,UAAW,KACX6d,oBAAqB,KACrBhF,cAAe,KACftD,cAAe,KACfuI,YAAa,MAoEf,IAAIS,GAAW,CAAC,UAAY,sCAExBC,GAAc,CAChB1G,MAAO3T,EAAKH,UAAU+T,UACtBjQ,KAAM3D,EAAKH,UAAU+D,WACrBH,MAAOzD,EAAKH,UAAU6D,YACtB4W,iBAAkB3Y,EAA4B,QAAEuD,KAChD0C,gBAAiBjG,EAA4B,QAAE6B,OAC/C3H,UAAW8F,EAA4B,QAAE6B,OACzCmR,YAAahT,EAA4B,QAAEuD,MAYzCqV,GAAW,SAAkBne,GAC/B,IAAIuX,EAAQvX,EAAKuX,MACbhQ,EAAOvH,EAAKuH,KACZF,EAAQrH,EAAKqH,MACb6W,EAAmBle,EAAKke,iBACxB1S,EAAkBxL,EAAKwL,gBACvB/L,EAAYO,EAAKP,UACjB8Y,EAAcvY,EAAKuY,YACvB,OAAoBjT,EAAwB,QAAEyB,cAAc,MAAO,CACjEtH,UAAW+F,EAA6B,QAAE,CAACwY,GAAS3b,UAAW+C,EAAkC,QAAE,GAAI3F,EAAWA,MACpG6F,EAAwB,QAAEyB,cAAc0E,GAAS,CAC/DJ,QAASkM,EACThQ,KAAMA,EACNF,MAAOA,EACPiE,aAAc4S,EACd3S,cAAegN,EACf9Y,UAAWue,GAAS3S,QACpBG,gBAAiBhG,EAA6B,QAAE,CAACwY,GAASpS,OAAQxG,EAAkC,QAAE,GAAIoG,EAAqC,OAApBA,SAI/H2S,GAAS/e,UAAY6e,GACrBE,GAASjb,aAhCY,CACnBqU,MAAO,GACPhQ,KAAM,KACNF,MAAO,YACP6W,iBAAkB,KAClB1S,gBAAiB,KACjB/L,UAAW,KACX8Y,YAAa,MA2Bf,IAEI6F,GAAc,CAChBC,OAAQza,EAAKH,UAAU4a,OAAO/X,WAC9BgY,mBAAoB/Y,EAA4B,QAAEuD,KAAKxC,WACvD7G,UAAW8F,EAA4B,QAAE6B,QAMvCmX,GAAkB,SAAyBve,GAC7C,IAAIqe,EAASre,EAAKqe,OACdC,EAAqBte,EAAKse,mBAC1B7e,EAAYO,EAAKP,UACjB+e,EAAezf,EAAMqC,OAAO,MAIhC,OAHArC,EAAMiD,WAAU,WACdsc,EAAmBE,EAAazd,WAC/B,IACiBuE,EAAwB,QAAEyB,cAAc,MAAO,CACjEtH,UAAW+F,EAA6B,QAAE,CApBlB,iCAoBuCJ,EAAkC,QAAE,GAAI3F,EAAWA,MACpG6F,EAAwB,QAAEyB,cAAc,MAAO,CAC7DtH,UAAW+F,EAA6B,QAAE,CAtBwB,8BAsBNJ,EAAkC,QAAE,GAtBY,iCAsBYiZ,EAAO3L,OAAS,KACxI/R,IAAK6d,MAITD,GAAgBnf,UAAYgf,GAC5BG,GAAgBrb,aArBK,CACnBzD,UAAW,MAqBb,IAAIgf,GAASra,EAASsa,WAAWH,IAG7BI,GAAc,CAChBtQ,GAAI9I,EAA4B,QAAE6B,OAClCmK,KAAMhM,EAA4B,QAAEmB,OAEpCrE,UAAWkD,EAA4B,QAAEmB,OAEzCkY,SAAUrZ,EAA4B,QAAEuD,KACxC+V,WAAYtZ,EAA4B,QAAEuD,KAC1CpJ,SAAU6F,EAA4B,QAAEwC,MAWtC+W,GAAgB,SAAuB9e,GACzC,IAAIqO,EAAKrO,EAAKqO,GACVkD,EAAOvR,EAAKuR,KACZ7R,EAAWM,EAAKN,SAChB2C,EAAYrC,EAAKqC,UACjBuc,EAAW5e,EAAK4e,SAChBC,EAAa7e,EAAK6e,WAClBE,EAAUhgB,EAAMigB,SAAQ,WAC1B,OAAO3Q,GAAM,WAAWjE,QAAO,IAAI6U,MAAOC,aACzC,CAAC7Q,IAYJ,OAXAtP,EAAMiD,WAAU,WAKd,OAJiB,OAAb4c,GACFA,EAASG,EAASxN,GAGb,WACc,OAAfsN,GACFA,EAAWE,MAGd,CAACA,EAASxN,IACQ,OAAdlP,EAAkCwD,EAA2B,QAAEsZ,aAAazf,EAAU2C,GAAa,MAG5Gyc,GAAc1f,UAAYuf,GAC1BG,GAAc5b,aAlCO,CACnBmL,GAAI,KACJkD,KAAM,KACNlP,UAAW,KACXuc,SAAU,KACVC,WAAY,KACZnf,SAAU,MA+BZ,IAAI0f,GAAc,CAChB/Q,GAAI9I,EAA4B,QAAE6B,OAClCmK,KAAMhM,EAA4B,QAAEmB,OAEpChH,SAAU6F,EAA4B,QAAEwC,MAQtCsX,GAAc,SAAqBrf,GACrC,IAAIqO,EAAKrO,EAAKqO,GACVkD,EAAOvR,EAAKuR,KACZ7R,EAAWM,EAAKN,SAEhB4f,EAAalb,EAASmb,YACtBld,EAAYid,EAAWjd,UACvBmd,EAAsBF,EAAWV,SACjCA,OAAmC,IAAxBY,EAAiC,KAAOA,EACnDC,EAAwBH,EAAWT,WACnCA,OAAuC,IAA1BY,EAAmC,KAAOA,EAE3D,OAAoBna,EAAwB,QAAEyB,cAAc+X,GAAe,CACzEzQ,GAAIA,EACJkD,KAAMA,EACNlP,UAAWA,EACXuc,SAAUA,EACVC,WAAYA,GACXnf,IAGL2f,GAAYjgB,UAAYggB,GACxBC,GAAYnc,aA5BS,CACnBmL,GAAI,KACJkD,KAAM,KACN7R,SAAU,MA2BZ,IAAIggB,GAAW,CAAC,UAAY,uCAAuC,OAAS,oCAAoC,MAAQ,mCAAmC,IAAM,kCAE7JC,GAAc,CAChBtR,GAAI9I,EAA4B,QAAE6B,OAClCyM,MAAOtO,EAA4B,QAAE6B,OACrCwY,SAAUra,EAA4B,QAAE0C,MAAM,CAAC,SAAU,QACzDvI,SAAU6F,EAA4B,QAAEwC,MAStC8X,GAAQ,SAAe7f,GACzB,IAAIqO,EAAKrO,EAAKqO,GACV3O,EAAWM,EAAKN,SAChBkgB,EAAW5f,EAAK4f,SAChB/L,EAAQ7T,EAAK6T,MACbkL,EAAUhgB,EAAMigB,SAAQ,WAC1B,OAAO3Q,GAAMvK,EAAMgc,eAAepgB,EAASyH,QAC1C,CAACkH,EAAI3O,EAASyH,OACboK,EAAOxS,EAAMigB,SAAQ,WACvB,MAAO,CACLnL,MAAOA,KAER,CAACA,IACJ,OAAoBvO,EAAwB,QAAEyB,cAAcsY,GAAa,CACvEhR,GAAI0Q,EACJxN,KAAMA,GACQjM,EAAwB,QAAEyB,cAAc,MAAO,CAC7DtH,UAAW+F,EAA6B,QAAE,CAACka,GAASrd,UAAW+C,EAAkC,QAAE,GAAIsa,GAASE,GAAwB,OAAbA,MAC7Gta,EAAwB,QAAEyB,cAAc,MAAO,CAC7DtH,UAAWigB,GAASK,OACnBrgB,MAGLmgB,GAAMzgB,UAAYugB,GAClBE,GAAM3c,aA/Be,CACnBmL,GAAI,KACJwF,MAAO,KACP+L,SAAU,SACVlgB,SAAU,MA6BZ,IAAIsgB,GAAW,CAAC,UAAY,yCAExBC,GAAc,CAChBpM,MAAOjQ,EAAKH,UAAU4C,MACtBmN,OAAQjO,EAA4B,QAAEwC,KACtCrI,SAAU6F,EAA4B,QAAEwC,KACxCoM,OAAQ5O,EAA4B,QAAEwC,KACtCsD,QAASzH,EAAKH,UAAU4H,QAExB6U,aAAc3a,EAA4B,QAAEuD,KAC5CrJ,UAAW8F,EAA4B,QAAE6B,QAavC+Y,GAAc,SAAqBngB,GACrC,IAAI6T,EAAQ7T,EAAK6T,MACbL,EAASxT,EAAKwT,OACd9T,EAAWM,EAAKN,SAChB2L,EAAUrL,EAAKqL,QACf8I,EAASnU,EAAKmU,OACd+L,EAAelgB,EAAKkgB,aACpBzgB,EAAYO,EAAKP,UACrB,OAAoB6F,EAAwB,QAAEyB,cAAc,MAAO,CACjEtH,UAAW+F,EAA6B,QAAE,CAAC,eAAgBwa,GAAS3d,UAAW+C,EAAkC,QAAE,GAAI3F,EAAWA,KAClIiM,KAAM,UACQpG,EAAwB,QAAEyB,cAAc,MAAO,CAC7DtH,UAAW,iBACV+T,GAAuBlO,EAAwB,QAAEyB,cAAc,MAAO,CACvEtH,UAAW+F,EAA6B,QAAE,CAAC,eAAgBwa,GAASxM,OAAQ,MAI9DlO,EAAwB,QAAEyB,cAAc,KAAM,CAC5DtH,UAAW,eACG6F,EAAwB,QAAEyB,cAAcJ,EAAO,KAAMkN,IAAsBvO,EAAwB,QAAEyB,cAAc,SAAU,CAC3II,KAAM,SACN1H,UAAW,mBACX,aAAc,QACdoJ,QAASqX,GACK5a,EAAwB,QAAEyB,cAAc,OAAQ,CAC9D,cAAe,QACd,OAAwBzB,EAAwB,QAAEyB,cAAc,MAAO,CACxEtH,UAAW+F,EAA6B,QAAE,CAAC,aAAcwa,GAASI,KAAM,MAGvE1gB,GAAsB,OAAXyU,GAA+B,OAAZ9I,EAAgC/F,EAAwB,QAAEyB,cAAc,MAAO,CAC9GtH,UAAW+F,EAA6B,QAAE,CAAC,eAAgBwa,GAAS7L,UACnEA,EAAoB,OAAZ9I,EAAgC/F,EAAwB,QAAEyB,cAAc0E,GAAS,CAC1FJ,QAASA,EACT5L,UAAWugB,GAAS3U,UACjB,MAAQ,QAGf8U,GAAY/gB,UAAY6gB,GACxBE,GAAYjd,aAnDS,CACnB2Q,MAAO,KACPL,OAAQ,KACR9T,SAAU,KACVyU,OAAQ,KACR9I,QAAS,KAET6U,aAAc,KACdzgB,UAAW,MA6Cb,IAAI4gB,GAAc,CAChBlZ,KAAM5B,EAA4B,QAAEyD,UAAU,CAACpF,EAAKH,UAAU6c,WAAY/a,EAA4B,QAAEgb,QACxGC,OAAQjb,EAA4B,QAAEiB,KACtCia,QAASlb,EAA4B,QAAE0O,QAAQ1O,EAA4B,QAAE6B,QAC7EsZ,WAAYnb,EAA4B,QAAEuD,KAC1C6X,eAAgBpb,EAA4B,QAAEuD,MAU5C8X,GAAc,SAAqB5gB,GACrC,IAAImH,EAAOnH,EAAKmH,KACZqZ,EAASxgB,EAAKwgB,OACdC,EAAUzgB,EAAKygB,QACfC,EAAa1gB,EAAK0gB,WAClBC,EAAiB3gB,EAAK2gB,eACtBE,EAAkB9hB,EAAM6P,aAAY,SAAUkD,GAC7B,OAAf4O,GACFA,EAAW5O,KAEZ,CAAC4O,IACAI,EAAY/hB,EAAMigB,SAAQ,WAC5B,OAAIlZ,EAA0B,QAAEqB,GACvBA,EAAKwE,KAAI,SAAUoV,GACxB,OAAmD,IAA5C,CAAC,QAAS,QAAS,SAASpD,QAAQoD,GAAY,GAAG3W,OAAO2W,EAAG,MAAQ,QAC3EC,QAAO,SAAUD,GAClB,OAAa,OAANA,MAI2C,IAA/C,CAAC,QAAS,QAAS,SAASpD,QAAQxW,GAAe,CAAC,GAAGiD,OAAOjD,EAAM,OAAS,OACnF,CAACA,IACA8Z,EAAO7c,EAAS8c,QAAQ,CAC1B9Q,WAAYyQ,EACZJ,QAASA,EACTU,iBAAgC,OAAdL,GAAsBA,EAAUpO,OAAS,EAAIoO,EAAY,OAO7E,OALA/hB,EAAMiD,WAAU,WACD,OAATif,GAAkBT,GACpBS,EAAKG,UAEN,CAACH,EAAMT,IACM,OAATS,EAA6B3b,EAAwB,QAAEyB,cAActC,EAAM4c,eAAgB,CAChGJ,KAAMA,EACNK,KAAMd,EACNe,kBAAkB,EAClBZ,eAAgBA,EAChBa,QAASf,IACN,MAGPG,GAAYxhB,UAAYihB,GACxBO,GAAY1d,aAlDS,CACnBiE,KAAM,KACNqZ,QAAQ,EACRC,QAAS,CAAC,SAAU,WAAY,YAAa,UAAW,gBACxDC,WAAY,KACZC,eAAgB,MA+ClB,IAAIc,GAAW,CAAC,UAAY,kCAExBC,GAAc,CAChBC,OAAQ/d,EAAKH,UAAUke,OACvBC,mBAAoBrc,EAA4B,QAAEuD,KAClDrJ,UAAW8F,EAA4B,QAAE6B,QAQvCya,GAAkB,SAAyB7hB,GAC7C,IAAI2hB,EAAS3hB,EAAK2hB,OACdC,EAAqB5hB,EAAK4hB,mBAC1BniB,EAAYO,EAAKP,UACjB+e,EAAezf,EAAMqC,OAAO,MAIhC,OAHArC,EAAMiD,WAAU,WACd4f,EAAmBpD,EAAazd,WAC/B,IACiBuE,EAAwB,QAAEyB,cAAc,MAAO,CACjEtH,UAAW+F,EAA6B,QAAE,CAACic,GAASpf,UAAW+C,EAAkC,QAAE,GAAI3F,EAAWA,MACpG6F,EAAwB,QAAEyB,cAAc,MAAO,CAC7DtH,UAAW+F,EAA6B,QAAE,CAACic,GAASE,OAAQvc,EAAkC,QAAE,GAAIqc,GAASK,UAAWH,EAAOjP,OAAS,KACxI/R,IAAK6d,MAITqD,GAAgBziB,UAAYsiB,GAC5BG,GAAgB3e,aAvBK,CACnBye,OAAQ,GACRC,mBAAoB,KACpBniB,UAAW,MAqBb,IAAIsiB,GAAS3d,EAAS4d,WAAWH,IAG7BI,GAAc,CAChB5T,GAAI9I,EAA4B,QAAE6B,OAClCmK,KAAMhM,EAA4B,QAAEmB,OAEpChH,SAAU6F,EAA4B,QAAEwC,MAQtCma,GAAc,SAAqBliB,GACrC,IAAIqO,EAAKrO,EAAKqO,GACVkD,EAAOvR,EAAKuR,KACZ7R,EAAWM,EAAKN,SAEhByiB,EAAa/d,EAASge,YACtBC,EAAoBF,EAAWR,OAC/BA,OAA+B,IAAtBU,EAA+B,KAAOA,EAC/ChgB,EAAY8f,EAAW9f,UACvBigB,EAAsBH,EAAWvD,SACjCA,OAAmC,IAAxB0D,EAAiC,KAAOA,EACnDC,EAAwBJ,EAAWtD,WACnCA,OAAuC,IAA1B0D,EAAmC,KAAOA,EAE3D,OAAe,OAAXZ,EACKjiB,EAGW4F,EAAwB,QAAEyB,cAAc+X,GAAe,CACzEzQ,GAAIA,EACJkD,KAAMA,EACNlP,UAAWA,EACXuc,SAAUA,EACVC,WAAYA,GACXnf,IAGLwiB,GAAY9iB,UAAY6iB,GACxBC,GAAYhf,aAlCS,CACnBmL,GAAI,KACJkD,KAAM,KACN7R,SAAU,MAiCZ,IAGI8iB,GAAc,CAChBnU,GAAI9I,EAA4B,QAAE6B,OAClCyM,MAAOtO,EAA4B,QAAE6B,OACrC1H,SAAU6F,EAA4B,QAAEwC,MAQtC0a,GAAQ,SAAeziB,GACzB,IAAIqO,EAAKrO,EAAKqO,GACV3O,EAAWM,EAAKN,SAChBmU,EAAQ7T,EAAK6T,MACbkL,EAAUhgB,EAAMigB,SAAQ,WAC1B,OAAO3Q,GAAMvK,EAAMgc,eAAepgB,EAASyH,QAC1C,CAACkH,EAAI3O,EAASyH,OACboK,EAAOxS,EAAMigB,SAAQ,WACvB,MAAO,CACLnL,MAAOA,KAER,CAACA,IACJ,OAAoBvO,EAAwB,QAAEyB,cAAcmb,GAAa,CACvE7T,GAAI0Q,EACJxN,KAAMA,GACQjM,EAAwB,QAAEyB,cAAc,MAAO,CAC7DtH,UA9BwB,wCA+BvBC,KAGL+iB,GAAMrjB,UAAYojB,GAClBC,GAAMvf,aA3Be,CACnBmL,GAAI,KACJwF,MAAO,KACPnU,SAAU,MA0BZ,IAAIgjB,GAAW,CAAC,UAAY,qDAAqD,IAAM,+CAA+C,OAAS,kDAAkD,MAAQ,iDAAiD,QAAU,mDAAmD,SAAW,qDAE9TC,GAAc,CAChB9O,MAAOtO,EAA4B,QAAEwC,KACrCrI,SAAU6F,EAA4B,QAAEwC,KACxCtI,UAAW8F,EAA4B,QAAE6B,OACzCwb,aAAcrd,EAA4B,QAAE6B,OAC5Cyb,iBAAkBtd,EAA4B,QAAE6B,OAChD0b,gBAAiBvd,EAA4B,QAAE6B,OAC/CoE,gBAAiBjG,EAA4B,QAAE6B,QAY7C2b,GAAmB,SAA0B/iB,GAC/C,IAAI8N,EAEA+F,EAAQ7T,EAAK6T,MACbnU,EAAWM,EAAKN,SAChBD,EAAYO,EAAKP,UACjBmjB,EAAe5iB,EAAK4iB,aACpBC,EAAmB7iB,EAAK6iB,iBACxBC,EAAkB9iB,EAAK8iB,gBACvBtX,EAAkBxL,EAAKwL,gBAEvBrL,EAAYpB,EAAMqB,UAAS,GAC3BC,EAAaqF,EAAiC,QAAEvF,EAAW,GAC3DqgB,EAASngB,EAAW,GACpB2iB,EAAY3iB,EAAW,GAEvBwI,EAAU9J,EAAM6P,aAAY,WAC9B,OAAOoU,GAAWxC,KACjB,CAACA,EAAQwC,IACZ,OAAoB1d,EAAwB,QAAEyB,cAAc,MAAO,CACjEtH,UAAW+F,EAA6B,QAAE,CAACkd,GAASrgB,WAAYyL,EAAQ,GAAI1I,EAAkC,QAAE0I,EAAO4U,GAASO,SAAUzC,GAASpb,EAAkC,QAAE0I,EAAOgV,EAAiBtC,GAA8B,OAApBsC,GAA2B1d,EAAkC,QAAE0I,EAAOrO,EAAyB,OAAdA,GAAqBqO,MACjTxI,EAAwB,QAAEyB,cAAc,MAAO,CAC7DtH,UAAW+F,EAA6B,QAAE,CAACkd,GAASQ,IAAK9d,EAAkC,QAAE,GAAIwd,EAA+B,OAAjBA,MACjGtd,EAAwB,QAAEyB,cAAcoC,EAAU,CAChEZ,cAAc,EACd9I,UAAW+F,EAA6B,QAAE,CAACkd,GAAS9W,OAAQxG,EAAkC,QAAE,GAAIoG,EAAqC,OAApBA,KACrHxI,KAAmBsC,EAAwB,QAAEyB,cAAchD,EAAiBjB,gBAAiB,CAC3FE,KAAMwd,EAASxc,EAAkBmf,UAAYnf,EAAkBof,YAC/D3jB,UAAWijB,GAAS1f,OAEtBgF,aAAc,QACdY,eAAgB8Z,GAASrc,MACzBwC,QAASA,GACRgL,IAAsBvO,EAAwB,QAAEyB,cAAc,MAAO,CACtEtH,UAAW+F,EAA6B,QAAE,CAACkd,GAAS9Y,QAASxE,EAAkC,QAAE,GAAIyd,EAAuC,OAArBA,MACtHnjB,KAGLqjB,GAAiB3jB,UAAYujB,GAC7BI,GAAiB7f,aAjDI,CACnB2Q,MAAO,KACPnU,SAAU,KACVD,UAAW,KACXmjB,aAAc,KACdC,iBAAkB,KAClBC,gBAAiB,KACjBtX,gBAAiB,MA6CnB,IAAI6X,GAAc,CAChBC,KAAM/d,EAA4B,QAAE6B,OACpCmc,SAAUhe,EAA4B,QAAEiB,KACxCgd,cAAeje,EAA4B,QAAEwC,MAQ3C0b,GAAS,SAAczjB,GACzB,IAAIsjB,EAAOtjB,EAAKsjB,KACZC,EAAWvjB,EAAKujB,SAChBC,EAAgBxjB,EAAKwjB,cACrBE,EAAa3kB,EAAMigB,SAAQ,WAC7B,OAAOjZ,EAAwB,QAAEud,GAAMK,WACtC,CAACL,IACJ,OAAoBhe,EAAwB,QAAEyB,cAAczB,EAAwB,QAAEuE,SAAU,KAAmBvE,EAAwB,QAAEyB,cAAclD,EAAU+f,cAAe,CAClLtgB,MAAOogB,EACPG,KAAM,UACNC,MAAO,OACPC,IAAK,YACHR,EAAWC,EAAgB,KAAMD,EAAwBje,EAAwB,QAAEyB,cAAclD,EAAUmgB,cAAe,CAC5H1gB,MAAOogB,IACJ,OAGPD,GAAOrkB,UAAYikB,GACnBI,GAAOvgB,aAxBc,CACnBogB,KAAM,KACNC,UAAU,EACVC,cAAe,MAwBjB,IAAIS,GAAc,CAChBC,cAAe3e,EAA4B,QAAE4X,OAC7CgH,UAAW5e,EAA4B,QAAE0O,QAAQ1O,EAA4B,QAAE4X,QAC/EiH,QAAS7e,EAA4B,QAAEuD,KACvCub,QAAS9e,EAA4B,QAAEuD,KACvCsE,SAAU7H,EAA4B,QAAEuD,KACxCvJ,SAAUgG,EAA4B,QAAEiB,KACxC9G,SAAU6F,EAA4B,QAAEwC,KACxCtI,UAAW8F,EAA4B,QAAE6B,QAavCkd,GAAW,SAAkBtkB,GAC/B,IAAIkkB,EAAgBlkB,EAAKkkB,cACrBC,EAAYnkB,EAAKmkB,UACjBC,EAAUpkB,EAAKokB,QACfC,EAAUrkB,EAAKqkB,QACfjX,EAAWpN,EAAKoN,SAChB7N,EAAWS,EAAKT,SAChBG,EAAWM,EAAKN,SAChBD,EAAYO,EAAKP,UAEjB8kB,EAAwBpgB,EAAMqgB,wBAAwB,CACxDL,UAAWA,IAETxjB,EAAM4jB,EAAsB5jB,IAC5B8jB,EAAiBF,EAAsB1jB,MAAM4jB,eAE7CC,EAAa3lB,EAAMqC,QAAO,GAC1BujB,EAAgB5lB,EAAMigB,SAAQ,WAChC,IAAI4F,EAAW,SAAkBC,GAC/B,IAAIC,EAAUJ,EAAW3jB,QAET,OAAZqjB,GAAoBS,IAAiBC,GACvCV,IAGc,OAAZC,IAAqBQ,GAAgBC,GACvCT,IAGe,OAAbjX,GACFA,EAASyX,GAGPA,IAAiBC,EACnBJ,EAAW3jB,SAAU,GACX8jB,GAAgBC,IAC1BJ,EAAW3jB,SAAU,IAIzB,OAAyB,OAAlBmjB,EAAyBle,EAA2B,QAAE4e,EAAUV,EAAe,CACpFa,UAAU,EACVC,SAAS,IACNJ,IACJ,CAACV,EAAeE,EAASC,EAASjX,IAarC,OAZArO,EAAMiD,WAAU,WACd,OAAIzC,EACK,cAGTolB,EAAcF,GACP,WACiB,OAAlBP,GACFS,EAAcM,aAGjB,CAACf,EAAeO,EAAgBllB,EAAUolB,IACzBrf,EAAwB,QAAEyB,cAAc,MAAO,CACjEtH,UAAWA,EACXkB,IAAKA,GACJjB,IAGL4kB,GAASllB,UAAY6kB,GACrBK,GAASphB,aA3EY,CACnBghB,cAAe,KACfC,eAAW7X,EACX8X,QAAS,KACTC,QAAS,KACTjX,SAAU,KACV7N,UAAU,EACVG,SAAU,KACVD,UAAW,MAqEb,IAEIylB,GAAc,CAChB7lB,MAAOkG,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE4X,OAAQ5X,EAA4B,QAAE6B,SACpH9H,OAAQiG,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE4X,OAAQ5X,EAA4B,QAAE6B,SACrHqB,QAASlD,EAA4B,QAAEiB,KACvC/G,UAAW8F,EAA4B,QAAE6B,OACzC+d,aAAc5f,EAA4B,QAAE6B,OAC5C1H,SAAU6F,EAA4B,QAAEwC,MAWtCqd,GAAmB,SAA0BplB,GAC/C,IAAI8N,EAEAzO,EAAQW,EAAKX,MACbC,EAASU,EAAKV,OACdmJ,EAAUzI,EAAKyI,QACfhJ,EAAYO,EAAKP,UACjB0lB,EAAenlB,EAAKmlB,aACpBzlB,EAAWM,EAAKN,SACpB,OAAoB4F,EAAwB,QAAEyB,cAAc,MAAO,CACjEtH,UAAW+F,EAA6B,QAAE,CA7BlB,sDA6BwCsI,EAAQ,GAAI1I,EAAkC,QAAE0I,EAAOrO,EAAyB,OAAdA,GAAqB2F,EAAkC,QAAE0I,EA7B/C,mDA6BwErF,GAAUqF,MAChNxI,EAAwB,QAAEyB,cAAc,MAAO,CAC7DtH,UAAW+F,EAA6B,QAAE,CA/ByC,+CA+B1BJ,EAAkC,QAAE,GAAI+f,EAA+B,OAAjBA,KAC/G3iB,MAAO,CACLnD,MAAOA,EACPC,OAAQA,IAETI,KAGL0lB,GAAiBhmB,UAAY8lB,GAC7BE,GAAiBliB,aA9BI,CACnB7D,MAAO,OACPC,OAAQ,MACRmJ,SAAS,EACThJ,UAAW,KACX0lB,aAAc,KACdzlB,SAAU,MA4BZ,IAAI2lB,GAAc,CAChBvY,KAAMvH,EAA4B,QAAE6B,OAAOd,WAC3C4G,WAAY3H,EAA4B,QAAEmB,OAAOJ,WAEjD1H,MAAO2G,EAA4B,QAAEmB,OAErC4e,cAAe/f,EAA4B,QAAEiB,KAC7C/G,UAAW8F,EAA4B,QAAE6B,OACzCme,iBAAkBhgB,EAA4B,QAAEmB,QAU9C8e,GAAmB,SAA0BxlB,GAC/C,IAAI8M,EAAO9M,EAAK8M,KACZI,EAAalN,EAAKkN,WAClBtO,EAAQoB,EAAKpB,MACb0mB,EAAgBtlB,EAAKslB,cACrB7lB,EAAYO,EAAKP,UACjB8lB,EAAmBvlB,EAAKulB,iBAE5B,IAAKzY,EACH,MAAO,qBAGT,GAAIwY,EAGF,OAAoBhgB,EAAwB,QAAEyB,cAAcqe,GAAkBG,GAGhF,IAAIE,EAAgBvY,EAAWpJ,EAAM4hB,WAAW5Y,IAEhD,OAAK2Y,EAIengB,EAAwB,QAAEyB,cAAc0e,EAAehjB,OAAOC,OAAO,GAAI9D,EAAO,CAClGa,UAAWA,KAJJ,iBAQX+lB,GAAiBpmB,UAAYimB,GAC7BG,GAAiBtiB,aArCI,CACnBtE,MAAO,GACP0mB,eAAe,EACf7lB,UAAW,KACX8lB,iBAAkB,MAmCpB,IAAII,GAAW,CAAC,UAAY,yCAAyC,OAAS,sCAAsC,cAAgB,6CAA6C,YAAc,4CAE3LC,GAAc,CAChBlmB,SAAU6F,EAA4B,QAAEwC,KACxC8d,cAAetgB,EAA4B,QAAEiB,KAC7Csf,MAAOvgB,EAA4B,QAAEiB,KACrC/G,UAAW8F,EAA4B,QAAE6B,QASvC2e,GAAQ,SAAe/lB,GACzB,IAAI8N,EAEApO,EAAWM,EAAKN,SAChBmmB,EAAgB7lB,EAAK6lB,cACrBC,EAAQ9lB,EAAK8lB,MACbrmB,EAAYO,EAAKP,UACrB,OAAoB6F,EAAwB,QAAEyB,cAAc,MAAO,CACjEtH,UAAW+F,EAA6B,QAAE,CAACmgB,GAAStjB,WAAYyL,EAAQ,GAAI1I,EAAkC,QAAE0I,EAAO6X,GAASE,cAAeA,GAAgBzgB,EAAkC,QAAE0I,EAAO6X,GAASG,MAAOA,GAAQ1gB,EAAkC,QAAE0I,EAAOrO,EAAWA,GAAYqO,MACtRxI,EAAwB,QAAEyB,cAAc,MAAO,CAC7DtH,UAAWkmB,GAASK,QACN1gB,EAAwB,QAAEyB,cAAcJ,EAAO,KAAMjH,MAGvEqmB,GAAM3mB,UAAYwmB,GAClBG,GAAM7iB,aAtBe,CACnBxD,SAAU,KACVmmB,eAAe,EACfC,OAAO,EACPrmB,UAAW,MAoBb,IAAIwmB,GAAc,CAChBC,MAAOtiB,EAAKH,UAAUyiB,MACtBC,QAAS5gB,EAA4B,QAAE0O,QAAQ1O,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE6B,OAAQ7B,EAA4B,QAAE0D,MAAM,CAChK6D,KAAMvH,EAA4B,QAAE6B,OACpCgf,OAAQ7gB,EAA4B,QAAE6B,aActCif,GAAY,SAAmBrmB,GACjC,IAAIkmB,EAAQlmB,EAAKkmB,MACbC,EAAUnmB,EAAKmmB,QACfG,GAAaJ,GAAS,IAAIlF,QAAO,SAAUjI,GAC7C,OAAO9S,EAA2B,QAAE8S,IAAmB,WAAZA,EAAG5R,MAA4C,QAAtB4R,EAAGwN,OAAS,SAC/E5a,KAAI,SAAUmC,GACf,IAAI0Y,EAAa1Y,EAAMhB,KACnBA,OAAsB,IAAf0Z,EAAwB,KAAOA,EACtCC,EAAc3Y,EAAMyY,MAIpBG,SAHwB,IAAhBD,EAAyB,KAAOA,IAEvB,IACGE,MACpBA,OAAwB,IAAhBD,EAAyB,GAAKA,EAEtCE,EAAOT,EAAQU,QAAO,SAAUC,EAAaV,GAC/C,IAAIW,EAAc9gB,EAA2B,QAAEmgB,GAAUA,EAAOA,OAASA,EACrEY,EAAkB/gB,EAA2B,QAAEmgB,GAAUA,EAAOtZ,KAAOsZ,EACvEa,EAAON,EAAM,YAAYvc,OAAO4c,KAAqBL,EAAMK,IAAoB,KACnF,OAAgB,OAATC,EAAgB,GAAG7c,OAAO3E,EAAqC,QAAEqhB,GAAc,CAAC,QAAS1c,OAAO6c,EAAKnP,IAAK,gBAAkB1N,OAAO2c,EAAa,QAAWD,IACjK,IACH,OAAOF,EAAKlU,OAAS,GAAc,OAAT5F,EAAgB,qEAAsE1C,OAAO0C,EAAM,iCAAkC1C,OAAOwc,EAAKM,KAAK,KAAM,sCAAwC,QAC7NlG,QAAO,SAAUjI,GAClB,OAAc,OAAPA,KAET,OAAOuN,EAAU5T,OAAS,EAAiBpN,EAAwB,QAAEyB,cAAc,QAAS,CAC1FI,KAAM,YACLmf,EAAUY,KAAK,OAAS,MAG7Bb,GAAUjnB,UAAY6mB,GACtBI,GAAUnjB,aA1CW,CACnBgjB,MAAO,GACPC,QAAS,CAAC,MAAO,QAAS,OAAQ,CAChCrZ,KAAM,MACNsZ,OAAQ,YACP,CACDtZ,KAAM,MACNsZ,OAAQ,YACP,QAoCL,IAAIe,GAAW,GAEXC,GAAc,CAChBC,UAAW9hB,EAA4B,QAAEwC,KACzCuf,eAAgB/hB,EAA4B,QAAE0C,MAAM,CAAC,MAAO,SAAU,WACtEvI,SAAU6F,EAA4B,QAAEwC,KACxC8L,MAAOjQ,EAAKH,UAAU4C,MACtB5G,UAAW8F,EAA4B,QAAE6B,OACzCmgB,mBAAoBhiB,EAA4B,QAAE6B,OAClDoN,cAAejP,EAA4B,QAAE6B,OAC7CkN,eAAgB/O,EAA4B,QAAE6B,QAa5CogB,GAAQ,SAAexnB,GACzB,IAAIqnB,EAAYrnB,EAAKqnB,UACjBC,EAAiBtnB,EAAKsnB,eACtB5nB,EAAWM,EAAKN,SAChBmU,EAAQ7T,EAAK6T,MACbpU,EAAYO,EAAKP,UACjB8nB,EAAqBvnB,EAAKunB,mBAC1B/S,EAAgBxU,EAAKwU,cACrBF,EAAiBtU,EAAKsU,eAC1B,OAAoBhP,EAAwB,QAAEyB,cAAc,MAAO,CACjEtH,UAAW+F,EAA6B,QAAE,CAAC,QAAS2hB,GAAS9kB,UAAW+C,EAAkC,QAAE,GAAI3F,EAAyB,OAAdA,MACrG,iBAAd4nB,EAAsC/hB,EAAwB,QAAEyB,cAAc,MAAO,CAC7FqO,IAAKiS,EACLhS,IAAKxB,EACLpU,UAAW+F,EAA6B,QAAE,CAAC,OAAQ2hB,GAASE,UAAWjiB,EAAkC,QAAE,CACzG,mBAAuC,QAAnBkiB,EACpB,oBAAwC,WAAnBA,EACrB,iBAAqC,WAAnBA,GACjBC,EAA2C,OAAvBA,OACpBF,EAAwB/hB,EAAwB,QAAEyB,cAAc,MAAO,CAC1EtH,UAAW+F,EAA6B,QAAE,CAAC,aAAc2hB,GAAS/G,KAAMhb,EAAkC,QAAE,GAAIoP,EAAiC,OAAlBA,MACpH,OAAVX,EAA8BvO,EAAwB,QAAEyB,cAAc,KAAM,CAC7EtH,UAAW+F,EAA6B,QAAE,CAAC,OAAQ2hB,GAAStT,MAAOzO,EAAkC,QAAE,GAAIkP,EAAmC,OAAnBA,MAC7GhP,EAAwB,QAAEyB,cAAcJ,EAAO,KAAMkN,IAAU,KAAMnU,KAGvF8nB,GAAMpoB,UAAYgoB,GAClBI,GAAMtkB,aAtCe,CACnBmkB,UAAW,KACXC,eAAgB,MAChB5nB,SAAU,KACVmU,MAAO,KACPpU,UAAW,KACX8nB,mBAAoB,KACpB/S,cAAe,KACfF,eAAgB,MAoClB/O,EAA4B,QAAE0D,MAAM,CAClCwe,OAAQliB,EAA4B,QAAEuD,KAAKxC,WAC3CohB,KAAMniB,EAA4B,QAAEuD,KAAKxC,aAE3Cf,EAA4B,QAAE0D,MAAM,CAClC0e,SAAUpiB,EAA4B,QAAE6B,OACxCwgB,OAAQriB,EAA4B,QAAE6B,SAExC7B,EAA4B,QAAE0D,MAAM,CAClC4e,OAAQtiB,EAA4B,QAAE6B,OAAOd,WAC7CwhB,cAAeviB,EAA4B,QAAEuD,KAAKxC,aAEpD,IAAIyhB,GAAwBxiB,EAA4B,QAAE0D,MAAM,CAC9D9B,KAAM5B,EAA4B,QAAE4X,OACpC7Z,MAAOiC,EAA4B,QAAE6B,SAEnC2J,GAAiBxL,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE6B,OAAQ7B,EAA4B,QAAE0O,QAAQ8T,MACtI9V,GAAU1M,EAA4B,QAAE0D,MAAM,CAChDoF,GAAI9I,EAA4B,QAAE6B,OAClC2J,eAAgBA,GAAezK,WAC/B8Q,YAAa7R,EAA4B,QAAE6B,SAEzCmC,GAAOhE,EAA4B,QAAEyD,UAAU,CAACiJ,GAAS1M,EAA4B,QAAE6B,SACvFf,GAAQd,EAA4B,QAAEyD,UAAU,CAACiJ,GAAS1M,EAA4B,QAAEwC,OAC5FxC,EAA4B,QAAE0C,MAAM,CAAC,IAAK,IAAK,IAAK,MACpD1C,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE0D,MAAM,CAC3ElI,QAASwE,EAA4B,QAAE2D,MAErC3D,EAA4B,QAAEuD,OAClC,IAAIlB,GAASrC,EAA4B,QAAE0C,MAAM,CAAC,SAAU,QAAS,YACjE+f,GAAcziB,EAA4B,QAAE0C,MAAM,CAAC,MAAO,UAC9D1C,EAA4B,QAAE0O,QAAQ+T,IACtCziB,EAA4B,QAAE0iB,SAAS1iB,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE6B,OAAQ7B,EAA4B,QAAE4X,OAAQ5X,EAA4B,QAAEgb,SAK1Lhb,EAA4B,QAAE0D,MAAM,CAClCoF,GAAI9I,EAA4B,QAAE4X,OAClC+K,UAAW3iB,EAA4B,QAAE6B,OACzC+gB,SAAU5iB,EAA4B,QAAE6B,OACxCghB,MAAO7iB,EAA4B,QAAE6B,OACrCihB,OAAQ9iB,EAA4B,QAAE6B,OACtCkhB,UAAW/iB,EAA4B,QAAE6B,SAE3C,IAAImhB,GAAWhjB,EAA4B,QAAE0D,MAAM,CACjDoF,GAAI9I,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE4X,OAAQ5X,EAA4B,QAAE6B,SACjHf,MAAOA,GACPyR,IAAKvS,EAA4B,QAAE6B,OACnCM,SAAUnC,EAA4B,QAAEiB,KACxCsB,OAAQvC,EAA4B,QAAEiB,OAExCjB,EAA4B,QAAE0O,QAAQsU,IACtC,IAAIC,GAAajjB,EAA4B,QAAE0D,MAAM,CACnD5C,MAAOA,GACPyR,IAAKvS,EAA4B,QAAE6B,SAErC7B,EAA4B,QAAE0O,QAAQuU,IACtC,IAAIC,GAASljB,EAA4B,QAAE0D,MAAM,CAC/CoF,GAAI9I,EAA4B,QAAE6B,OAAOd,aAE3Cf,EAA4B,QAAE0O,QAAQwU,IACtC,IAAIC,GAAQnjB,EAA4B,QAAE0D,MAAM,CAC9CoF,GAAI9I,EAA4B,QAAE6B,OAAOd,aAE3Cf,EAA4B,QAAE0O,QAAQyU,IACtC,IAAI3V,GAAQxN,EAA4B,QAAE0D,MAAM,CAC9CoF,GAAI9I,EAA4B,QAAE6B,OAAOd,aAE3Cf,EAA4B,QAAE0O,QAAQlB,IACtC,IAAInH,GAASrG,EAA4B,QAAE0D,MAAM,CAC/C5C,MAAOA,GACPwC,QAAStD,EAA4B,QAAEuD,OAEzCvD,EAA4B,QAAE0O,QAAQrI,IACtC,IAAI+c,GAAwB,CAAC,UAAW,YAAa,UAAW,SAAU,UAAW,OAAQ,QAAS,QACtGpjB,EAA4B,QAAE0C,MAAM0gB,IACpCpjB,EAA4B,QAAE0C,MAAM,GAAGmC,OAAOue,GAAuB,CAAC,kBAAmB,oBAAqB,kBAAmB,iBAAkB,kBAAmB,eAAgB,gBAAiB,eAAgB,eAAgB,QACvOpjB,EAA4B,QAAE0C,MAAM,CAAC,KAAM,KAAM,OACjD1C,EAA4B,QAAE0C,MAAM,CAAC,KAAM,KAAM,OACjD1C,EAA4B,QAAE0C,MAAM,CAAC,OAAQ,UAC7C,IAAI8E,GAAYxH,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAEmB,OAAQnB,EAA4B,QAAEuD,OAC7HvD,EAA4B,QAAE0iB,SAASlb,IAKvC,IAAI8E,GAAStM,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE6B,OAAQ7B,EAA4B,QAAE0O,QAAQ1O,EAA4B,QAAE6B,UAChK7B,EAA4B,QAAE0iB,SAASpW,IACvC,IAAI+W,GAAerjB,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE6B,OAAQ7B,EAA4B,QAAE0D,MAAM,CACpI3F,MAAOiC,EAA4B,QAAE2D,IAErC7C,MAAOA,OAETd,EAA4B,QAAE0O,QAAQ2U,IACtC,IAAIC,GAAYtjB,EAA4B,QAAE0D,MAAM,CAClD6D,KAAMvH,EAA4B,QAAE6B,OACpC2F,UAAWA,KAEbxH,EAA4B,QAAE0O,QAAQ4U,IAKtC,IAAIC,GAAqB,CACvBC,SAAUxjB,EAA4B,QAAE6B,OACxCG,KAAMhC,EAA4B,QAAE4X,OACpC6L,KAAMzjB,EAA4B,QAAE6B,QAElC6hB,GAAY1jB,EAA4B,QAAE0D,MAAM,CAClDoF,GAAI9I,EAA4B,QAAE6B,OAClC8hB,OAAQ3jB,EAA4B,QAAE6B,OACtCD,KAAM5B,EAA4B,QAAE6B,OACpC4hB,KAAMzjB,EAA4B,QAAE6B,OACpC0Q,IAAKvS,EAA4B,QAAE6B,SAEjC+hB,GAAa,CACf9a,GAAI9I,EAA4B,QAAE6B,OAClCD,KAAM5B,EAA4B,QAAE6B,OAAOd,WAC3CwR,IAAKvS,EAA4B,QAAE6B,OAEnCgiB,cAAe7jB,EAA4B,QAAE6B,OAC7C0F,KAAMvH,EAA4B,QAAE6B,OACpCiiB,SAAU9jB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAE,GAAImjB,KACpFnC,MAAOphB,EAA4B,QAAE0iB,SAASgB,KAE5C1C,GAAQhhB,EAA4B,QAAE0D,MAAMkgB,IAChD5jB,EAA4B,QAAE0O,QAAQsS,IACtChhB,EAA4B,QAAE0C,MAAM,CAAC,QAAS,QAAS,QAAS,kBAAmB,SACnF,IAAIqhB,GAAa/jB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAEA,EAAgC,QAAE,GAAIwjB,IAAa,GAAI,CAC5IhiB,KAAM5B,EAA4B,QAAE0C,MAAM,CAAC,QAAS,UACpDohB,SAAU9jB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAEA,EAAgC,QAAE,GAAImjB,IAAqB,GAAI,CAC7IzpB,MAAOkG,EAA4B,QAAE4X,OACrC7d,OAAQiG,EAA4B,QAAE4X,aAG1C5X,EAA4B,QAAE0O,QAAQqV,IACtC,IAAIC,GAAYhkB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAEA,EAAgC,QAAE,GAAIwjB,IAAa,GAAI,CAC3IhiB,KAAM5B,EAA4B,QAAE0C,MAAM,CAAC,SAC3CohB,SAAU9jB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAE,GAAImjB,QAEtFvjB,EAA4B,QAAE0O,QAAQsV,IACtC,IAAIC,GAAajkB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAEA,EAAgC,QAAE,GAAIwjB,IAAa,GAAI,CAC5IhiB,KAAM5B,EAA4B,QAAE0C,MAAM,CAAC,UAC3CohB,SAAU9jB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAEA,EAAgC,QAAE,GAAImjB,IAAqB,GAAI,CAC7IzpB,MAAOkG,EAA4B,QAAE4X,OACrC7d,OAAQiG,EAA4B,QAAE4X,OACtCsM,SAAUlkB,EAA4B,QAAE4X,aAG5C5X,EAA4B,QAAE0O,QAAQuV,IACtC,IAAIE,GAAankB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAEA,EAAgC,QAAE,GAAIwjB,IAAa,GAAI,CAC5IhiB,KAAM5B,EAA4B,QAAE0C,MAAM,CAAC,UAC3CohB,SAAU9jB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAEA,EAAgC,QAAE,GAAImjB,IAAqB,GAAI,CAC7IW,SAAUlkB,EAA4B,QAAE4X,aAG5C5X,EAA4B,QAAE0O,QAAQyV,IACtC,IAAIC,GAAsBpkB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAEA,EAAgC,QAAE,GAAIwjB,IAAa,GAAI,CACrJhiB,KAAM5B,EAA4B,QAAE0C,MAAM,CAAC,uBAMzC2hB,GAAOrkB,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE6B,OAAQ7B,EAA4B,QAAE0D,MAAM,CAC5H9B,KAAM5B,EAA4B,QAAE0C,MAAM,CAAC,SAAU,SAAU,WAC/D6E,KAAMvH,EAA4B,QAAE6B,OACpCmf,MAAOgD,OAEThkB,EAA4B,QAAE0O,QAAQ2V,IACtC,IAAIC,GAAYtkB,EAA4B,QAAE0C,MAAM,CAAC,OAAQ,QAAS,WAClEwN,GAAQlQ,EAA4B,QAAE0D,MAAM,CAC9CwM,MAAOlQ,EAA4B,QAAE6B,OACrC0iB,MAAOvkB,EAA4B,QAAE4X,SAEnC4M,GAAYxkB,EAA4B,QAAE0D,MAAM,CAClD+gB,WAAYJ,GACZK,SAAU1kB,EAA4B,QAAE4X,OACxC+M,UAAW3kB,EAA4B,QAAE0D,MAAM,CAC7CkhB,KAAM5kB,EAA4B,QAAEiB,KACpC4jB,OAAQ7kB,EAA4B,QAAEiB,KACtC6jB,UAAW9kB,EAA4B,QAAEiB,KACzC8jB,UAAW/kB,EAA4B,QAAEiB,OAE3C4R,MAAOyR,GACPpU,MAAOA,GACP8U,cAAehlB,EAA4B,QAAE4X,OAC7CqN,WAAYjlB,EAA4B,QAAE4X,SAExCsN,GAAcllB,EAA4B,QAAE0C,MAAM,CAAC,SAAU,SAAU,QAAS,SAAU,SAAU,QAAS,QAAS,SAAU,WACpI1C,EAA4B,QAAE0D,MAAM,CAClC5J,MAAOkG,EAA4B,QAAE4X,OACrC3a,MAAOioB,GACPC,OAAQnlB,EAA4B,QAAE4X,OACtC1H,MAAOA,KAETlQ,EAA4B,QAAE0D,MAAM,CAClC0hB,gBAAiBlV,GACjBmV,aAAcrlB,EAA4B,QAAE4X,OAC5C0N,YAAatlB,EAA4B,QAAE4X,OAC3C2N,YAAarV,GACbsV,YAAaN,KAEfllB,EAA4B,QAAE0D,MAAM,CAClCia,IAAK3d,EAA4B,QAAE4X,OACnC6N,OAAQzlB,EAA4B,QAAE4X,SAExC5X,EAA4B,QAAE0O,QAAQ1O,EAA4B,QAAE0D,MAAM,CACxEgiB,KAAM1lB,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE4X,OAAQ5X,EAA4B,QAAE0O,QAAQ1O,EAA4B,QAAE4X,UACzJ+N,QAAS3lB,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE4X,OAAQ5X,EAA4B,QAAE0O,QAAQ1O,EAA4B,QAAE4X,aAE9J,IAAIgO,GAAgB5lB,EAA4B,QAAE0C,MAAM,CAAC,QAAS,UAAW,OAC7E1C,EAA4B,QAAE0D,MAAM,CAClCmiB,IAAKD,GACLE,mBAAoB9lB,EAA4B,QAAE0C,MAAM,CAAC,OAAQ,SAAU,UAC3EqjB,iBAAkB/lB,EAA4B,QAAE0C,MAAM,CAAC,MAAO,SAAU,aAM1E,IAAIsjB,GAAchmB,EAA4B,QAAE0D,MAAM,CACpDmX,KAAM7a,EAA4B,QAAE6B,OACpC2iB,UAAWA,KAETyB,GAAiBD,GACrBhmB,EAA4B,QAAE0D,MAAM,CAClC5C,MAAOd,EAA4B,QAAE6B,OACrC2iB,UAAWA,KAEb,IAAI0B,GAAelmB,EAA4B,QAAE0D,MAAM,CACrDsd,MAAO+C,KAET/jB,EAA4B,QAAE0O,QAAQwX,IACtClmB,EAA4B,QAAE0D,MAAM,CAClCsd,MAAOiD,GACPkC,SAAUnmB,EAA4B,QAAEiB,KACxCmlB,KAAMpmB,EAA4B,QAAEiB,KACpColB,eAAgBjC,GAChBkC,YAAatmB,EAA4B,QAAEiB,KAC3CslB,cAAevmB,EAA4B,QAAEiB,OAE/CjB,EAA4B,QAAE0D,MAAM,CAClCsd,MAAOmD,GACPgC,SAAUnmB,EAA4B,QAAEiB,KACxCmlB,KAAMpmB,EAA4B,QAAEiB,KACpColB,eAAgBjC,GAChBmC,cAAevmB,EAA4B,QAAEiB,OAE/CjB,EAA4B,QAAE0D,MAAM,CAClCsd,MAAOoD,KAET,IAAIoC,GAAoBxmB,EAA4B,QAAE0D,MAAM,CAC1DwM,MAAOA,GACPhC,MAAO6V,GACP0C,MAAOxC,KAELyC,GAA0B1mB,EAA4B,QAAE0D,MAAM,CAChEwK,MAAO6V,GACP4C,QAASX,KAEXhmB,EAA4B,QAAE0O,QAAQgY,IACtC,IAAIE,GAAiB5mB,EAA4B,QAAE0C,MAAM,CAAC,aAAc,aACpEmkB,GAAa7mB,EAA4B,QAAE0C,MAAM,CAAC,QAAS,SAAU,QACrEokB,GAAe9mB,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE4X,OAAQ5X,EAA4B,QAAE0C,MAAM,CAAC,UAAW,SAAU,aAC5J1C,EAA4B,QAAE0D,MAAM,CAClCqjB,UAAWH,GACX/T,MAAOgU,GACP/sB,MAAOkG,EAA4B,QAAE4X,OACrC7d,OAAQiG,EAA4B,QAAE4X,OACtCoP,QAASF,GACTG,QAASjnB,EAA4B,QAAEiB,OAEzCjB,EAA4B,QAAE0D,MAAM,CAClCwjB,OAAQlnB,EAA4B,QAAE0O,QAAQ1O,EAA4B,QAAE6B,QAC5EmlB,QAAShnB,EAA4B,QAAE4X,SAEzC,IAAIuP,GAAcnnB,EAA4B,QAAE0D,MAAM,CACpD0jB,IAAKpnB,EAA4B,QAAE4X,OACnCyP,IAAKrnB,EAA4B,QAAE4X,SAEjC0P,GAAc,CAChBxe,GAAI9I,EAA4B,QAAE4X,OAClCuP,YAAaA,GACb7Y,MAAO2X,GACP1X,SAAU0X,GACVpU,YAAamU,IAEXuB,GAASvnB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAE,GAAIknB,KACvFtnB,EAA4B,QAAE0O,QAAQ6Y,IACtC,IAAIC,GAAkBxnB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAEA,EAAgC,QAAE,GAAIknB,IAAc,GAAI,CAClJpZ,MAAO6V,MAET/jB,EAA4B,QAAE0O,QAAQ8Y,IACtC,IAAIC,GAAc,CAChB3e,GAAI9I,EAA4B,QAAE6B,OAClCf,MAAOklB,IAEL0B,GAAS1nB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAE,GAAIqnB,KACnFE,GAAa3nB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAEA,EAAgC,QAAE,GAAIqnB,IAAc,GAAI,CAC7IG,KAAM5nB,EAA4B,QAAEiB,QAEtCjB,EAA4B,QAAE0O,QAAQgZ,IACtC1nB,EAA4B,QAAE0O,QAAQiZ,IACtC,IAAIE,GAAoB7nB,EAA4B,QAAE0C,MAAM,CAAC,WAAY,WACzE1C,EAA4B,QAAE0D,MAAM,CAClCnB,OAAQvC,EAA4B,QAAEiB,KACtCW,KAAMimB,GACNtV,IAAKvS,EAA4B,QAAE6B,OACnCf,MAAOklB,KAET,IAAI8B,GAAU9nB,EAA4B,QAAE0D,MAAM,CAChDoF,GAAI9I,EAA4B,QAAE6B,OAClC0F,KAAMvH,EAA4B,QAAE6B,OACpCkmB,OAAQhE,GACRiE,KAAMhoB,EAA4B,QAAE0C,MAAM,CAAC,OAAQ,UACnDwN,MAAOA,KAEL+X,GAAWjoB,EAA4B,QAAE0O,QAAQoZ,IACjDI,GAAsBloB,EAA4B,QAAE0D,MAAM,CAC5DokB,QAAS9nB,EAA4B,QAAE6B,OACvC6K,QAAS1M,EAA4B,QAAE6B,OACvCqM,MAAO6V,KAELoE,GAAuBnoB,EAA4B,QAAE0O,QAAQwZ,IACjEloB,EAA4B,QAAE0D,MAAM,CAClCukB,SAAUA,GACVzD,UAAWA,GACXlN,SAAU6Q,KAMZ,IAAIC,GAAa,CACf7gB,KAAMvH,EAA4B,QAAE6B,OACpCD,KAAM5B,EAA4B,QAAE6B,OAAOd,WAC3CD,MAAOkD,IAELoE,GAAQpI,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAEA,EAAgC,QAAE,GAAIgoB,IAAa,GAAI,CACvIC,UAAWroB,EAA4B,QAAEiB,KACzC2G,OAAQ5H,EAA4B,QAAE0O,QAAQ1O,EAA4B,QAAE0D,MAAM0kB,QAEhFxgB,GAAS5H,EAA4B,QAAE0O,QAAQtG,IAC/CkgB,GAAmBtoB,EAA4B,QAAE0D,MAAM,CACzDoF,GAAI9I,EAA4B,QAAE6B,OAAOd,WACzCa,KAAM5B,EAA4B,QAAE0C,MAAM,CAAC,WAAW3B,WACtDuN,MAAOtK,GAAKjD,WACZwnB,QAASvoB,EAA4B,QAAE0O,QAAQ1O,EAA4B,QAAE6B,QAC7E+F,OAAQA,KAEV5H,EAA4B,QAAE0O,QAAQ4Z,IACtC,IAAIE,GAAkBxoB,EAA4B,QAAE0D,MAAM,CACxDoF,GAAI9I,EAA4B,QAAE6B,OAAOd,WACzCa,KAAM5B,EAA4B,QAAE0C,MAAM,CAAC,UAAU3B,WACrDuN,MAAOtK,GAAKjD,WACZ6G,OAAQA,KAEV5H,EAA4B,QAAE0O,QAAQ8Z,IAKtC,IAAIC,GAAsB,CACxB7mB,KAAM5B,EAA4B,QAAE6B,OAAOd,YAEzC2nB,GAAiB1oB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAE,GAAIqoB,KAC/FzoB,EAA4B,QAAE0O,QAAQga,IACtC,IAAIC,GAAkB3oB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAE,GAAIqoB,KAC5FG,GAAmB5oB,EAA4B,QAAE0O,QAAQia,IAMzD7mB,GAAQ9B,EAA4B,QAAE0D,MAAM,CAC9CoF,GAAI9I,EAA4B,QAAE6B,OAClCgnB,WAAY7oB,EAA4B,QAAE0iB,SAAS8B,IAEnDsE,WAAYtC,GACZuC,OAAQ/oB,EAA4B,QAAE0iB,SAASxS,IAC/CvI,WAAYihB,KAEd5oB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAE,CACpE4oB,KAAMjF,IACLjiB,KAgBH,IAAIgiB,GAAW9jB,EAA4B,QAAE0D,MAAM,CACjDmO,YAAa7R,EAA4B,QAAE6B,OAC3ConB,SAAUjpB,EAA4B,QAAE6B,OACxCqnB,WAAYnF,GACZoF,QAASpF,KAMX/jB,EAA4B,QAAE0D,MAAM,CAClCoF,GAAI9I,EAA4B,QAAE6B,OAClCC,MAAOA,GACP6F,WAAYihB,GACZ9E,SAAUA,KAMZ,IAAIsF,GAAeppB,EAA4B,QAAE0D,MAAM,CACrD6D,KAAMvH,EAA4B,QAAE6B,OAAOd,WAC3CsoB,WAAYrpB,EAA4B,QAAE6B,SAE5C7B,EAA4B,QAAE0O,QAAQ0a,IACtCppB,EAA4B,QAAE0D,MAAM,CAClC4lB,OAAQtpB,EAA4B,QAAE6B,OACtC0nB,QAASvpB,EAA4B,QAAE0O,QAAQ1O,EAA4B,QAAE6B,QAC7E/H,MAAOkG,EAA4B,QAAE4X,OACrC7d,OAAQiG,EAA4B,QAAE4X,SAExC5X,EAA4B,QAAE0C,MAAM,CAAC,OAAQ,cAAe,OAAQ,UAAW,SAAU,YAKzF1C,EAA4B,QAAE0D,MAAM,CAClC5J,MAAOkG,EAA4B,QAAE4X,OACrC7d,OAAQiG,EAA4B,QAAE4X,SAExC5X,EAA4B,QAAE0D,MAAM,CAClC5J,MAAOkG,EAA4B,QAAE4X,OACrC7d,OAAQiG,EAA4B,QAAE4X,OACtCrF,IAAKvS,EAA4B,QAAE6B,OACnCQ,OAAQA,GACRmnB,OAAQxpB,EAA4B,QAAE6B,OACtCqM,MAAO6V,KAET/jB,EAA4B,QAAE0D,MAAM,CAClCmM,IAAK7P,EAA4B,QAAE6B,OACnC4nB,MAAOzpB,EAA4B,QAAE6B,OACrC6nB,SAAU1pB,EAA4B,QAAE4X,OACxC+R,SAAU3pB,EAA4B,QAAEiB,OAE1C,IAAI2oB,GAAQ5pB,EAA4B,QAAE0D,MAAM,CAC9CwK,MAAO6V,GACP/f,KAAMhE,EAA4B,QAAE6B,SAEtC7B,EAA4B,QAAE0O,QAAQkb,IAKtC5pB,EAA4B,QAAE0D,MAAM,IAKpC,IAAImmB,GAAiB7pB,EAA4B,QAAE0C,MAAM,CAAC,OAAQ,QAAS,UACvEonB,GAAmB,CACrB5F,SAAUlkB,EAA4B,QAAE4X,OACxCmS,OAAQ/pB,EAA4B,QAAE0C,MAAM,CAAC,OAAQ,UAAW,WAAY,cAAe,YAEzFsnB,GAAahqB,EAA4B,QAAEyD,UAAU,CAAComB,GAAe9oB,WAAYf,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAE,CACzJmH,KAAMsiB,GAAe9oB,YACpB+oB,OACH9pB,EAA4B,QAAE0D,MAAM,CAClC,GAAMsmB,GACNC,IAAKD,KAMP,IAAIE,GAAelqB,EAA4B,QAAE0D,MAAM,CACrD9B,KAAM5B,EAA4B,QAAE6B,OACpC9D,MAAOiC,EAA4B,QAAE0C,MAAM,CAAC1C,EAA4B,QAAE6B,OAAQ7B,EAA4B,QAAE4X,WAElH5X,EAA4B,QAAE0O,QAAQwb,IAKtC,IAAIC,GAAcnqB,EAA4B,QAAE0D,MAAM,CACpDoF,GAAI9I,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE6B,OAAQ7B,EAA4B,QAAE4X,SACjHmG,KAAM/d,EAA4B,QAAE6B,OACpCD,KAAM5B,EAA4B,QAAE6B,OACpCuoB,aAAcpqB,EAA4B,QAAE6B,OAC5CwoB,OAAQrqB,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE6B,OAAQ7B,EAA4B,QAAE4X,WAEvH5X,EAA4B,QAAE0O,QAAQyb,IAKtC,IAAIG,GAAetqB,EAA4B,QAAE0D,MAAM,CACrD6mB,UAAWvqB,EAA4B,QAAE6B,OACzCgQ,YAAa7R,EAA4B,QAAE6B,OAC3C2oB,SAAUxqB,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE6B,OAAQ7B,EAA4B,QAAEgb,QACvH9M,MAAOlO,EAA4B,QAAE0D,MAAM,CACzC6O,IAAKvS,EAA4B,QAAE6B,SAErC4oB,QAASzqB,EAA4B,QAAE0D,MAAM,CAC3C6O,IAAKvS,EAA4B,QAAE6B,SAErC6oB,OAAQ1qB,EAA4B,QAAE6B,OACtC8oB,QAAS3qB,EAA4B,QAAE6B,OACvC+oB,aAAc5qB,EAA4B,QAAE0O,QAAQ1O,EAA4B,QAAE0D,MAAM,OAItFmnB,GAAc,CAChBvc,MAAOtO,EAA4B,QAAE6B,OACrC0Q,IAAKvS,EAA4B,QAAE6B,OACnCiiB,SAAUwG,GACVQ,UAAW9qB,EAA4B,QAAE6B,OACzCkpB,OAAQ/qB,EAA4B,QAAE6B,OACtC1H,SAAU6F,EAA4B,QAAEwC,MAWtCwoB,GAAO,SAAcvwB,GACvB,IAAI6T,EAAQ7T,EAAK6T,MACbiE,EAAM9X,EAAK8X,IACXuR,EAAWrpB,EAAKqpB,SAChBgH,EAAYrwB,EAAKqwB,UACjBC,EAAStwB,EAAKswB,OACd5wB,EAAWM,EAAKN,SAEhBoO,EAAQub,GAAY,GACpBmH,EAAkB1iB,EAAMgiB,UACxBA,OAAgC,IAApBU,EAA6B,KAAOA,EAChDC,EAAoB3iB,EAAMsJ,YAC1BA,OAAoC,IAAtBqZ,EAA+B,KAAOA,EACpDC,EAAiB5iB,EAAMiiB,SACvBA,OAA8B,IAAnBW,EAA4B,KAAOA,EAC9CC,EAAc7iB,EAAM2F,MACpBA,OAAwB,IAAhBkd,EAAyB,KAAOA,EACxCC,EAAgB9iB,EAAMkiB,QACtBA,OAA4B,IAAlBY,EAA2B,KAAOA,EAC5CC,EAAe/iB,EAAMmiB,OACrBA,OAA0B,IAAjBY,EAA0B,KAAOA,EAC1CC,EAAgBhjB,EAAMoiB,QACtBA,OAA4B,IAAlBY,EAA2B,KAAOA,EAC5CC,EAAqBjjB,EAAMqiB,aAC3BA,OAAsC,IAAvBY,EAAgC,GAAKA,EACpDC,EAAiBljB,EAAMmjB,SACvBA,OAA8B,IAAnBD,EAA4B,KAAOA,EAE9CE,EAAsB,OAAVrd,EAAiB,GAAGzJ,OAAOyJ,EAAO,OAAOzJ,OAAOkmB,GAAUD,EAEtEpiB,EAAQwF,GAAS,GACjB0d,EAAYljB,EAAM6J,IAClBsZ,OAAyB,IAAdD,EAAuB,KAAOA,EACzCE,EAAiBpjB,EAAMob,SAGvB5nB,QAFmC,IAAnB4vB,EAA4B,GAAKA,IAExB,GACzBC,EAAc7vB,EAAMpC,MACpBkyB,OAA6B,IAAhBD,EAAyB,KAAOA,EAC7CE,EAAe/vB,EAAMnC,OACrBmyB,OAA+B,IAAjBD,EAA0B,KAAOA,EAG/CE,GADQ1B,GAAW,IACDlY,IAClB6Z,OAA2B,IAAdD,EAAuB,KAAOA,EAE/C,OAAoBpsB,EAAwB,QAAEyB,cAAclC,EAAY+sB,OAAQ,KAAmBtsB,EAAwB,QAAEyB,cAAc,QAAS,KAAoB,OAAdmqB,GAAsBA,EAAUxe,OAAS,EAAIwe,EAAY,YAA6B,OAAhB9Z,EAAoC9R,EAAwB,QAAEyB,cAAc,OAAQ,CAClT+F,KAAM,cACNlD,QAASwN,IACN,KAAmB,OAAb6Z,EAAiC3rB,EAAwB,QAAEyB,cAAc,OAAQ,CAC1F+F,KAAM,WACNlD,QAASqnB,IACN,KAAmB,OAAblB,GAAqB7pB,EAA2B,QAAE6pB,GAAyBzqB,EAAwB,QAAEyB,cAAc,OAAQ,CACpI+F,KAAM,WACNlD,QAASmmB,IACN,KAAmB,OAAbA,GAAqBjqB,EAA0B,QAAEiqB,GAAyBzqB,EAAwB,QAAEyB,cAAc,OAAQ,CACnI+F,KAAM,WACNlD,QAASmmB,EAAS7I,KAAK,OACpB,KAAoB,OAAd4I,EAAkCxqB,EAAwB,QAAEyB,cAAc,OAAQ,CAC3FsM,IAAK,YACL5L,KAAMqoB,IACH,KAAqB,OAAf6B,EAAmCrsB,EAAwB,QAAEyB,cAAc,OAAQ,CAC5FsM,IAAK,OACLlM,KAAM,YACNM,KAAMkqB,IACH,KAAiB,OAAX1B,EAA+B3qB,EAAwB,QAAEyB,cAAc,OAAQ,CACxFsM,IAAK,YACLlM,KAAM,sBACNM,KAAMwoB,IACH,KAAkB,OAAZC,EAAgC5qB,EAAwB,QAAEyB,cAAc,OAAQ,CACzFsM,IAAK,YACLlM,KAAM,uBACNM,KAAMyoB,IACH,KAAmB,OAAbkB,EAAiC9rB,EAAwB,QAAEyB,cAAc,OAAQ,CAC1F8qB,SAAU,WACVjoB,QAASwnB,IACN,KAAmB,OAAbA,EAAiC9rB,EAAwB,QAAEyB,cAAc,OAAQ,CAC1F8qB,SAAU,eACVjoB,QAASwnB,IACN,KAAqB,OAAfG,EAAmCjsB,EAAwB,QAAEyB,cAAc,OAAQ,CAC5F8qB,SAAU,iBACVjoB,QAAS2nB,IACN,KAAsB,OAAhBE,EAAoCnsB,EAAwB,QAAEyB,cAAc,OAAQ,CAC7F8qB,SAAU,kBACVjoB,QAAS6nB,IACN,KAAmBnsB,EAAwB,QAAEyB,cAAc,OAAQ,CACtE8qB,SAAU,WACVjoB,QAASsnB,IACS,OAAhB9Z,EAAoC9R,EAAwB,QAAEyB,cAAc,OAAQ,CACtF8qB,SAAU,iBACVjoB,QAASwN,IACN,KAAc,OAARU,EAA4BxS,EAAwB,QAAEyB,cAAc,OAAQ,CACrF8qB,SAAU,SACVjoB,QAASkO,IACN,KAAmBxS,EAAwB,QAAEyB,cAAc,OAAQ,CACtE+F,KAAM,eACNlD,QAAsB,OAAbwnB,EAAoB,sBAAwB,YACtC9rB,EAAwB,QAAEyB,cAAc,OAAQ,CAC/D+F,KAAM,gBACNlD,QAASsnB,IACS,OAAhB9Z,EAAoC9R,EAAwB,QAAEyB,cAAc,OAAQ,CACtF+F,KAAM,sBACNlD,QAASwN,IACN,KAAmB,OAAbga,EAAiC9rB,EAAwB,QAAEyB,cAAc,OAAQ,CAC1F+F,KAAM,gBACNlD,QAASwnB,IACN,MAAOjB,GAAgB,IAAIxkB,KAAI,SAAUoN,GAC5C,OAAoBzT,EAAwB,QAAEyB,cAAc,SAAU,CACpEI,KAAM,sBACNkH,GAAI,GAAGjE,OAAO2O,EAAG,SAAU,KAAK3O,OAAO2O,EAAG+Y,YAC1CzlB,IAAK,eAAejC,OAAO2O,EAAG,SAAU,KAAK3O,OAAO2O,EAAG+Y,aACtDC,KAAKC,UAAUjZ,OAChBrZ,IAGN6wB,GAAKnxB,UAAYgxB,GACjBG,GAAKrtB,aA7HgB,CACnB2Q,MAAO,KACPiE,IAAK,KACLuR,SAAU,KACVgH,UAAW,KACXC,OAAQ,WACR5wB,SAAU,MAyHZ,IAEIuyB,GAAc,CAChB1a,MAAOhS,EAA4B,QAAE0O,QAAQ1O,EAA4B,QAAEwC,MAC3EmqB,KAAM3sB,EAA4B,QAAEiB,KACpC2rB,MAAO5sB,EAA4B,QAAE4X,OACrC9d,MAAOkG,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE6B,OAAQ7B,EAA4B,QAAE4X,SACpH7d,OAAQiG,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE6B,OAAQ7B,EAA4B,QAAE4X,SACrH1d,UAAW8F,EAA4B,QAAE6B,OACzC1H,SAAU6F,EAA4B,QAAEwC,MAYtCqqB,GAAY,SAAmBpyB,GACjC,IAAIuX,EAAQvX,EAAKuX,MACb2a,EAAOlyB,EAAKkyB,KACZC,EAAQnyB,EAAKmyB,MACb9yB,EAAQW,EAAKX,MACbC,EAASU,EAAKV,OACdG,EAAYO,EAAKP,UACjBC,EAAWM,EAAKN,SAEhBS,EAAYpB,EAAMqB,SAAS,GAC3BC,EAAaqF,EAAiC,QAAEvF,EAAW,GAC3D0L,EAAQxL,EAAW,GACnBgyB,EAAWhyB,EAAW,GAE1BtB,EAAMiD,WAAU,WACd,IAAIqM,EAAK,KAcT,OAZI6jB,IACF7jB,EAAK+C,YAAW,WACVvF,EAAQ0L,EAAM7E,OAAS,EACzB2f,GAAS,SAAUC,GACjB,OAAOA,EAAI,KAGbD,EAAS,KAEVF,IAGE,WACL9gB,aAAahD,MAEd,CAACxC,EAAO0L,EAAO2a,EAAMC,IACxB,IAAI3vB,EAAQ,CACVnD,MAAOA,EACPC,OAAQA,GAEV,OAAoBgG,EAAwB,QAAEyB,cAAc,MAAO,CACjEtH,UAAW+F,EAA6B,QAAE,CA3DlB,6CA2DuCJ,EAAkC,QAAE,GAAI3F,EAAWA,KAClH+C,MAAOA,GACO8C,EAAwB,QAAEyB,cAAc,MAAO,CAC7DtH,UA9D4H,0CA+D3H8X,EAAM5L,KAAI,SAAUoN,EAAIuZ,GACzB,IAAIrkB,EAEJ,OAAoB3I,EAAwB,QAAEyB,cAAc,MAAO,CACjEsF,IAAK,SAASjC,OAAOkoB,EAAI,GACzB7yB,UAAW+F,EAA6B,QAAE,CApEgC,yCAoEfyI,EAAQ,GAAI7I,EAAkC,QAAE6I,EApE+D,wCAoEzCqkB,EAAIzmB,GAAQzG,EAAkC,QAAE6I,EApE2C,2CAoElBqkB,IAAMzmB,GAAQzG,EAAkC,QAAE6I,EApEkB,wCAoEIqkB,EAAIzmB,GAAQoC,MAC7R8K,OACArZ,IAGP0yB,GAAUhzB,UAAY6yB,GACtBG,GAAUlvB,aA/DW,CACnBqU,MAAO,GACP2a,MAAM,EACNC,MAAO,IACP9yB,MAAO,KACPC,OAAQ,KACRG,UAAW,KACXC,SAAU,MA0DZ,IAAI6yB,GAAW,GAGXC,GAAU,SAAiBxyB,GAC7B,IAAIX,EAAQW,EAAKX,MACbC,EAASU,EAAKV,OACdG,EAAYO,EAAKP,UACrB,OAAoB6F,EAAwB,QAAEyB,cAAcqe,GAAkB,CAC5E/lB,MAAOA,EACPC,OAAQA,EACRG,UAAWA,GACG6F,EAAwB,QAAEyB,cAAchD,EAAiBjB,gBAAiB,CACxFE,KAAMgB,EAAkByuB,KACxBhzB,UAAW8yB,GAASvvB,SAKpB0vB,GAAU,SAAiB1yB,GAC7B,IAAIX,EAAQW,EAAKX,MACbC,EAASU,EAAKV,OACdG,EAAYO,EAAKP,UACrB,OAAoB6F,EAAwB,QAAEyB,cAAcqe,GAAkB,CAC5E/lB,MAAOA,EACPC,OAAQA,EACRG,UAAWA,GACG6F,EAAwB,QAAEyB,cAAchD,EAAiBjB,gBAAiB,CACxFE,KAAMgB,EAAkB2uB,QACxBlzB,UAAW8yB,GAASvvB,SAKpB4vB,GAAQ,SAAe5yB,GACzB,IAAI6yB,EAAa7yB,EAAKX,MAClBA,OAAuB,IAAfwzB,EAAwB,OAASA,EACzCC,EAAc9yB,EAAKV,OACnBA,OAAyB,IAAhBwzB,EAAyB,MAAQA,EAC1CrzB,EAAYO,EAAKP,UACrB,OAAoB6F,EAAwB,QAAEyB,cAAcqe,GAAkB,CAC5E/lB,MAAOA,EACPC,OAAQA,EACRG,UAAWA,GACG6F,EAAwB,QAAEyB,cAAchD,EAAiBjB,gBAAiB,CACxFE,KAAMgB,EAAkB+uB,QACxBtzB,UAAW8yB,GAASvvB,SAMpBgwB,GAAc,CAChBC,MAAO1tB,EAA4B,QAAE4X,OACrC+V,WAAY3tB,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE4X,OAAQ5X,EAA4B,QAAE6B,SACzH/H,MAAOkG,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE4X,OAAQ5X,EAA4B,QAAE6B,SACpH9H,OAAQiG,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE4X,OAAQ5X,EAA4B,QAAE6B,SACrH6iB,SAAU1kB,EAA4B,QAAE4X,OACxC1d,UAAW8F,EAA4B,QAAE6B,QAWvC+rB,GAAkB,SAAyBnzB,GAC7C,IAAIizB,EAAQjzB,EAAKizB,MACbC,EAAalzB,EAAKkzB,WAClB7zB,EAAQW,EAAKX,MACbC,EAASU,EAAKV,OACd2qB,EAAWjqB,EAAKiqB,SAChBxqB,EAAYO,EAAKP,UACjB+qB,EAAwB,OAAXlrB,GAAmB6G,EAA2B,QAAE7G,GAAU,GAAG8K,OAAOnI,KAAKC,MAAM5C,EAAS2qB,GAAW,MAAQ3qB,EACxH8zB,EAAWjtB,EAA2B,QAAE9G,GAAiB,GAARA,EAAc,MACnE,OAAoBiG,EAAwB,QAAEyB,cAAc,MAAO,CACjEtH,UAAW+F,EAA6B,QAAE,CA7BlB,oDA6BuCJ,EAAkC,QAAE,GAAI3F,EAAWA,MACjHgG,EAAqC,QAAEoY,MAAMoV,IAAQtnB,KAAI,SAAUxG,EAAG0G,GACvE,OAAoBvG,EAAwB,QAAEyB,cAAc,MAAO,CACjEsF,IAAK,QAAQjC,OAAOyB,GACpBpM,UAjCiF,+CAkCjF+C,MAAO,CACLnD,MAAOwM,EAAQ,GAAM,EAAIxM,EAAQ+zB,EACjC9zB,OAAQkrB,EACR6I,UAAWH,EACXI,aAAcJ,UAMtBC,GAAgB/zB,UAAY4zB,GAC5BG,GAAgBjwB,aAnCK,CACnB+vB,MAAO,EACPC,WAAY,EACZ7zB,MAAO,OACPC,OAAQ,KACR2qB,SAAU,GACVxqB,UAAW,MAgCb,IAAI8zB,GAAS,SAAgBvzB,GAC3B,IAAI6yB,EAAa7yB,EAAKX,MAClBA,OAAuB,IAAfwzB,EAAwB,MAAQA,EACxCC,EAAc9yB,EAAKV,OACnBA,OAAyB,IAAhBwzB,EAAyB,QAAUA,EAC5CrzB,EAAYO,EAAKP,UACrB,OAAoB6F,EAAwB,QAAEyB,cAAcqe,GAAkB,CAC5E3c,SAAS,EACTpJ,MAAOA,EACPC,OAAQA,EACRG,UAAWA,GACG6F,EAAwB,QAAEyB,cAAcosB,GAAiB,CACvEK,KAAM,EACNl0B,OAAQ,YAKRm0B,GAAQ,SAAezzB,GACzB,IAAIX,EAAQW,EAAKX,MACbC,EAASU,EAAKV,OACdG,EAAYO,EAAKP,UACrB,OAAoB6F,EAAwB,QAAEyB,cAAcqe,GAAkB,CAC5E/lB,MAAOA,EACPC,OAAQA,EACRG,UAAWA,GACG6F,EAAwB,QAAEyB,cAAchD,EAAiBjB,gBAAiB,CACxFE,KAAMgB,EAAkB2uB,QACxBlzB,UAAW8yB,GAASvvB,SAKpB0wB,GAAO,SAAc90B,GACvB,OAAoB0G,EAAwB,QAAEyB,cAAcosB,GAAiB1wB,OAAOC,OAAO,GAAI9D,EAAO,CACpGa,UAAW+F,EAA6B,QAAE,CAAC5G,EAAMa,UAAW8yB,GAASoB,YACrEr0B,OAAQ,GACR2zB,MAAO,MAIPW,GAA0E,sCAE1EC,GAAM,SAAaj1B,GACrB,OAAoB0G,EAAwB,QAAEyB,cAAcqe,GAAkB3iB,OAAOC,OAAO,GAAI9D,EAAO,CACrGS,MAAO,OACPC,OAAQ,OACRG,UAAW+F,EAA6B,QAAE,CANlB,2CAMuCJ,EAAkC,QAAE,GAAIxG,EAAMa,UAA+B,OAApBb,EAAMa,eAC/G6F,EAAwB,QAAEyB,cAAchD,EAAiBjB,gBAAiB,CACzFE,KAAMpE,EAAMk1B,WAAa9vB,EAAkB2uB,QAAU3uB,EAAkB+vB,eACvEt0B,UAAWm0B,KACItuB,EAAwB,QAAEyB,cAAchD,EAAiBjB,gBAAiB,CACzFE,KAAMpE,EAAMk1B,WAAa9vB,EAAkB2uB,QAAU3uB,EAAkB+vB,eACvEt0B,UAAWm0B,KACItuB,EAAwB,QAAEyB,cAAchD,EAAiBjB,gBAAiB,CACzFE,KAAMpE,EAAMk1B,WAAa9vB,EAAkB2uB,QAAU3uB,EAAkB+vB,eACvEt0B,UAAWm0B,KACItuB,EAAwB,QAAEyB,cAAchD,EAAiBjB,gBAAiB,CACzFE,KAAMpE,EAAMk1B,WAAa9vB,EAAkB2uB,QAAU3uB,EAAkB+vB,eACvEt0B,UAAWm0B,OAKXI,GAAU,SAAiBp1B,GAC7B,OAAoB0G,EAAwB,QAAEyB,cAAcqe,GAAkB3iB,OAAOC,OAAO,GAAI9D,EAAO,CACrGS,MAAO,OACPC,OAAQ,MACRG,UAAW+F,EAA6B,QAAE,CAAC5G,EAAMa,UAAW8yB,GAAS0B,YACtD3uB,EAAwB,QAAEyB,cAAchD,EAAiBjB,gBAAiB,CACzFE,KAAMgB,EAAkBkwB,eACxB3sB,KAAM,KACN9H,UAAW8yB,GAASvvB,SAKpBmxB,GAAQ,SAAev1B,GACzB,OAAoB0G,EAAwB,QAAEyB,cAAcosB,GAAiB1wB,OAAOC,OAAO,GAAI9D,EAAO,CACpGa,UAAW+F,EAA6B,QAAE,CAAC5G,EAAMa,UAAW8yB,GAASze,WACrExU,OAAQ,GACR2zB,MAAO,MAKPmB,GAAY,SAAmBx1B,GACjC,OAAoB0G,EAAwB,QAAEyB,cAAcosB,GAAiB1wB,OAAOC,OAAO,GAAI9D,EAAO,CACpGa,UAAW+F,EAA6B,QAAE,CAAC5G,EAAMa,UAAW8yB,GAASoB,YACrEr0B,OAAQ,GACR2zB,MAAO,MAKPoB,GAAW,SAAkBz1B,GAC/B,OAAoB0G,EAAwB,QAAEyB,cAAcosB,GAAiB1wB,OAAOC,OAAO,GAAI9D,EAAO,CACpGa,UAAW+F,EAA6B,QAAE,CAAC5G,EAAMa,UAAW8yB,GAASze,WACrExU,OAAQ,GACR2zB,MAAO,MAMPqB,GAAkB,SAAyB11B,GAC7C,IAAI21B,EAAgB31B,EAAMU,OACtBA,OAA2B,IAAlBi1B,EAA2B,GAAMA,EAC1CC,EAAe51B,EAAMq0B,MACrBA,OAAyB,IAAjBuB,EAA0B,EAAIA,EACtCC,EAAoB71B,EAAMs0B,WAC1BA,OAAmC,IAAtBuB,EAA+B,EAAIA,EACpD,OAAoBnvB,EAAwB,QAAEyB,cAAcosB,GAAiB1wB,OAAOC,OAAO,GAAI9D,EAAO,CACpGU,OAAQA,EACR2zB,MAAOA,EACPC,WAAYA,EACZzzB,UAAW+F,EAA6B,QAAE,CAAC5G,EAAMa,UAAW8yB,GAAShpB,WAKrEmrB,GAAW,SAAkB91B,GAC/B,OAAoB0G,EAAwB,QAAEyB,cAAcosB,GAAiB1wB,OAAOC,OAAO,GAAI9D,EAAO,CACpGa,UAAW+F,EAA6B,QAAE,CAAC5G,EAAMa,UAAW8yB,GAASoC,eAKrEC,GAAQ,SAAeh2B,GACzB,OAAoB0G,EAAwB,QAAEyB,cAAcosB,GAAiB1wB,OAAOC,OAAO,GAAI9D,EAAO,CACpGa,UAAW+F,EAA6B,QAAE,CAAC5G,EAAMa,UAAW8yB,GAAS1e,QACrEvU,OAAQ,GACR2zB,MAAO,EACPC,WAAY,MAKZ2B,GAAQ,SAAe70B,GACzB,IAAIX,EAAQW,EAAKX,MACbC,EAASU,EAAKV,OACdG,EAAYO,EAAKP,UACrB,OAAoB6F,EAAwB,QAAEyB,cAAcqe,GAAkB,CAC5E/lB,MAAOA,EACPC,OAAQA,EACRG,UAAWA,GACG6F,EAAwB,QAAEyB,cAAchD,EAAiBjB,gBAAiB,CACxFE,KAAMgB,EAAkB8wB,QACxBr1B,UAAW8yB,GAASvvB,SAMpB+xB,GAAW,SAAkB/0B,GAC/B,IAAIX,EAAQW,EAAKX,MACbC,EAASU,EAAKV,OACdG,EAAYO,EAAKP,UACrB,OAAoB6F,EAAwB,QAAEyB,cAAcqe,GAAkB,CAC5E/lB,MAAOA,EACPC,OAAQA,EACRG,UAAW+F,EAA6B,QAAE,CATlB,iDASuCJ,EAAkC,QAAE,GAAI3F,EAAyB,OAAdA,KAClH0lB,aAV+E,4CAWjE7f,EAAwB,QAAEyB,cAAchD,EAAiBjB,gBAAiB,CACxFE,KAAMgB,EAAkB8wB,QACxBr1B,UAbiI,8CAclH6F,EAAwB,QAAEyB,cAAc,MAAO,CAC9DtH,UAfqL,8CAgBpL,SAIDu1B,GAAY,SAAmBh1B,GACjC,IAAIX,EAAQW,EAAKX,MACbC,EAASU,EAAKV,OACdG,EAAYO,EAAKP,UACrB,OAAoB6F,EAAwB,QAAEyB,cAAcqe,GAAkB,CAC5E/lB,MAAOA,EACPC,OAAQA,EACRG,UAAWA,GACG6F,EAAwB,QAAEyB,cAAchD,EAAiBjB,gBAAiB,CACxFE,KAAMgB,EAAkBixB,OACxBx1B,UAAW8yB,GAASvvB,OACLsC,EAAwB,QAAEyB,cAAchD,EAAiBjB,gBAAiB,CACzFE,KAAMgB,EAAkBkxB,OACxBz1B,UAAW8yB,GAASvvB,SAOpBmyB,GAAc,CAChBtG,OAAQjrB,EAAKH,UAAUwqB,eAAe3nB,WACtC8uB,cAAexxB,EAAKH,UAAU2xB,cAC9BttB,OAAQvC,EAA4B,QAAEiB,KACtCzF,QAASwE,EAA4B,QAAEiB,KACvCuG,UAAWxH,EAA4B,QAAEwC,KACzCmF,WAAYtJ,EAAKH,UAAUyJ,WAC3BzN,UAAW8F,EAA4B,QAAE6B,OACzCiuB,WAAY9vB,EAA4B,QAAEuD,KAC1CwsB,OAAQ/vB,EAA4B,QAAEuD,KACtCysB,oBAAqBhwB,EAA4B,QAAEuD,KACnD0sB,qBAAsBjwB,EAA4B,QAAEuD,KACpD2sB,YAAalwB,EAA4B,QAAEuD,MAgBzC4sB,GAAS,SAAgB11B,GAC3B,IAAI6uB,EAAS7uB,EAAK6uB,OACduG,EAAgBp1B,EAAKo1B,cACrBttB,EAAS9H,EAAK8H,OACd/G,EAAUf,EAAKe,QACfmM,EAAalN,EAAKkN,WAClBH,EAAY/M,EAAK+M,UACjBtN,EAAYO,EAAKP,UACjB41B,EAAar1B,EAAKq1B,WAClBC,EAASt1B,EAAKs1B,OACdC,EAAsBv1B,EAAKu1B,oBAC3BC,EAAuBx1B,EAAKw1B,qBAC5BC,EAAcz1B,EAAKy1B,YACnBtuB,EAAO0nB,EAAO1nB,KACdwuB,EAAuC,OAAfzoB,GAAsBpJ,EAAMqL,qBAAqBhI,EAAM+F,IAAsB,KACrG0oB,EAAyBxxB,EAASyxB,mBAAmB1uB,GACrD2uB,EAAkBH,GAAyBC,EAC/C,OAAoBtwB,EAAwB,QAAEyB,cAAc3C,EAAS2xB,eAAgB,CACnFxkB,KAAMsd,EACNuG,cAAeA,GACM,OAApBU,EAAwCxwB,EAAwB,QAAEyB,cAAc,MAAO,CACxFtH,UAAWA,GACG6F,EAAwB,QAAEyB,cAAc+uB,EAAiBrzB,OAAOC,OAAO,GAAImsB,EAAQ,CACjG/mB,OAAQA,EACR/G,QAASA,EACTs0B,WAAYA,EACZC,OAAQA,EACRC,oBAAqBA,EACrBC,qBAAsBA,EACtBC,YAAaA,MACKnwB,EAAwB,QAAEyB,cAAc,MAAO,CACjEtH,UAAWA,GACVsN,KAGL2oB,GAAOt2B,UAAY+1B,GACnBO,GAAOxyB,aAlDc,CACnB4E,QAAQ,EACRstB,cAAe,KACfr0B,SAAS,EACTgM,UAAW,KACXG,WAAY,KACZzN,UAAW,KACX41B,WAAY,KACZC,OAAQ,KACRC,oBAAqB,KACrBC,qBAAsB,KACtBC,YAAa,MAwCf,IAAIO,GAAwB1wB,EAAwB,QAAE2wB,KAAKP,IAEvDQ,GAAc,CAChBrH,OAAQjrB,EAAKH,UAAUsJ,UAAUzG,WACjCmmB,OAAQlnB,EAA4B,QAAE6B,OACtC/H,MAAOkG,EAA4B,QAAE4X,OACrC7d,OAAQiG,EAA4B,QAAE4X,OACtC1d,UAAW8F,EAA4B,QAAE6B,QASvC+uB,GAAoB,SAA2Bn2B,GACjD,IAAI6uB,EAAS7uB,EAAK6uB,OACdpC,EAASzsB,EAAKysB,OACdptB,EAAQW,EAAKX,MACbC,EAASU,EAAKV,OACdG,EAAYO,EAAKP,UACjB22B,EAAar3B,EAAMigB,SAAQ,WAC7B,MAAO,CACL6P,OAAQ,SACRC,QAAS,CAAC,UACVzvB,MAAOA,EACPC,OAAQA,KAET,CAACD,EAAOC,IACX,OAAoBgG,EAAwB,QAAEyB,cAAc3C,EAASiyB,mBAAoB,CACvF9uB,KAAM6uB,GACQ9wB,EAAwB,QAAEyB,cAAc3C,EAAS2xB,eAAgB,CAC/ExkB,KAAMsd,EACNuG,cAAe,eACD9vB,EAAwB,QAAEyB,cAAcivB,GAAU,CAChEnH,OAAQA,EACRpC,OAAQA,EACRhtB,UAAW+F,EAA6B,QAAE,CA1GlB,qDA0GuCJ,EAAkC,QAAE,GAAI3F,EAAyB,OAAdA,UAItH02B,GAAkB/2B,UAAY82B,GAC9BC,GAAkBjzB,aAlCG,CACnBupB,YAAQngB,EACRjN,MAAO,KACPC,OAAQ,KACRG,UAAW,MA+Bb,IAAI62B,GAA2BhxB,EAAwB,QAAE2wB,KAAKE,IAI1DI,GAAc,CAChB1H,OAAQjrB,EAAKH,UAAUsJ,UAAUzG,WACjCjH,MAAOkG,EAA4B,QAAE4X,OACrC7d,OAAQiG,EAA4B,QAAE4X,OACtC1d,UAAW8F,EAA4B,QAAE6B,QAQvCovB,GAAgB,SAAuBx2B,GACzC,IAAI6uB,EAAS7uB,EAAK6uB,OACdxvB,EAAQW,EAAKX,MACbC,EAASU,EAAKV,OACdG,EAAYO,EAAKP,UACjB22B,EAAar3B,EAAMigB,SAAQ,WAC7B,MAAO,CACL6P,OAAQ,SACRC,QAAS,CAAC,UACVzvB,MAAOA,EACPC,OAAQA,KAET,CAACD,EAAOC,IACX,OAAoBgG,EAAwB,QAAEyB,cAAc3C,EAASiyB,mBAAoB,CACvF9uB,KAAM6uB,GACQ9wB,EAAwB,QAAEyB,cAAc3C,EAAS2xB,eAAgB,CAC/ExkB,KAAMsd,EACNuG,cAAe,WACD9vB,EAAwB,QAAEyB,cAAcivB,GAAU,CAChEnH,OAAQA,EACRuG,cAAe,UACf31B,UAAW+F,EAA6B,QAAE,CAnClB,0CAmCuCJ,EAAkC,QAAE,GAAI3F,EAAyB,OAAdA,UAItH+2B,GAAcp3B,UAAYm3B,GAC1BC,GAActzB,aAhCO,CACnB7D,MAAO,KACPC,OAAQ,KACRG,UAAW,MA8Bb,IAAIg3B,GAAuBnxB,EAAwB,QAAE2wB,KAAKO,IAEtDE,GAAW,CAAC,UAAY,oDAAoD,KAAO,+CAA+C,QAAU,kDAAkD,oBAAsB,8DAA8D,oBAAsB,8DAA8D,oBAAsB,8DAA8D,oBAAsB,+DAuFhdC,GAA4Bl0B,OAAOm0B,OAAO,CAC1CC,UAAW,KACXrE,QAASA,GACTE,QAASA,GACTE,MAAOA,GACPW,OAAQA,GACRuD,aA3Fe,WACjB,OAAoBxxB,EAAwB,QAAEyB,cAAc,MAAO,CACjEtH,UAAWi3B,GAASr0B,WACnBoD,EAAqC,QAAEoY,MAAM,IAAIlS,KAAI,SAAUxG,EAAG4xB,GACnE,OAAoBzxB,EAAwB,QAAEyB,cAAc,MAAO,CACjEsF,IAAK,WAAWjC,OAAO2sB,EAAM,GAC7Bt3B,UAAW+F,EAA6B,QAAE,CAACkxB,GAASzkB,QAASykB,GAAS,qBAAqBtsB,OAAO2sB,WAErFzxB,EAAwB,QAAEyB,cAAchD,EAAiBjB,gBAAiB,CACzFE,KAAMgB,EAAkBgzB,cACxBv3B,UAAWi3B,GAAS1zB,SAkFpBywB,MAAOA,GACPwD,UA9EY,SAAmBj3B,GACjC,IAAI6yB,EAAa7yB,EAAKX,MAClBA,OAAuB,IAAfwzB,EAAwB,MAAQA,EACxCC,EAAc9yB,EAAKV,OACnBA,OAAyB,IAAhBwzB,EAAyB,QAAUA,EAC5CrzB,EAAYO,EAAKP,UACrB,OAAoB6F,EAAwB,QAAEyB,cAAcqe,GAAkB,CAC5E3c,SAAS,EACTpJ,MAAOA,EACPC,OAAQA,EACRG,UAAWA,KAqEXi0B,KAAMA,GACNG,IAAKA,GACLG,QAASA,GACTkD,WAlEW,SAAgBl3B,GAC7B,IAAI8N,EAEA+kB,EAAa7yB,EAAKX,MAClBA,OAAuB,IAAfwzB,EAAwB,MAAQA,EACxCC,EAAc9yB,EAAKV,OACnBA,OAAyB,IAAhBwzB,EAAyB,QAAUA,EAC5CrzB,EAAYO,EAAKP,UACjB03B,EAAYn3B,EAAKmtB,KACjBA,OAAqB,IAAdgK,GAA8BA,EACzC,OAAoB7xB,EAAwB,QAAEyB,cAAc,MAAO,CACjEtH,UAAW+F,EAA6B,QAAE,CAblB,oDAawCsI,EAAQ,GAAI1I,EAAkC,QAAE0I,EAAOrO,EAAyB,OAAdA,GAAqB2F,EAAkC,QAAE0I,EAbwE,8CAalDqf,GAAOrf,MAC1MxI,EAAwB,QAAEyB,cAAc,MAAO,CAC7DtH,UAf2I,iDAgB7H6F,EAAwB,QAAEyB,cAAchD,EAAiBjB,gBAAiB,CACxFrD,UAjBwM,oDAkBxMuD,KAAMmqB,EAAOnpB,EAAkBozB,QAAUpzB,EAAkBqzB,WAC3C/xB,EAAwB,QAAEyB,cAAcqe,GAAkB,CAC1E3c,SAAS,EACTpJ,MAAOA,EACPC,OAAQA,EACRG,UAvBmF,gDAwBrE6F,EAAwB,QAAEyB,cAAcosB,GAAiB,CACvEK,KAAM,EACNl0B,OAAQ,aA2CR60B,MAAOA,GACPC,UAAWA,GACXC,SAAUA,GACViD,aAxCS,SAAgBt3B,GAC3B,IAAI6yB,EAAa7yB,EAAKX,MAClBA,OAAuB,IAAfwzB,EAAwB,MAAQA,EACxCC,EAAc9yB,EAAKV,OACnBA,OAAyB,IAAhBwzB,EAAyB,QAAUA,EAC5CrzB,EAAYO,EAAKP,UACrB,OAAoB6F,EAAwB,QAAEyB,cAAc,MAAO,CACjEtH,UAAW+F,EAA6B,QAAE,CATlB,qDASuCJ,EAAkC,QAAE,GAAI3F,EAAyB,OAAdA,MACpG6F,EAAwB,QAAEyB,cAAcqe,GAAkB,CACxE3c,SAAS,EACTpJ,MAAOA,EACPC,OAAQA,EACRG,UAdqF,kDAevE6F,EAAwB,QAAEyB,cAAcosB,GAAiB,CACvEK,KAAM,EACNl0B,OAAQ,WACQgG,EAAwB,QAAEyB,cAAc,MAAO,CAC/DtH,UAnBgJ,oDAoBlI6F,EAAwB,QAAEyB,cAAchD,EAAiBjB,gBAAiB,CACxFrD,UArBiN,uDAsBjNuD,KAAMgB,EAAkBuzB,eAqBxBC,KAAMlD,GACNI,SAAUA,GACVE,MAAOA,GACPC,MAAOA,GACPE,SAAUA,GACVC,UAAWA,KAIXyC,GAAc,CAChB/3B,SAAU6F,EAA4B,QAAEwC,KACxC2vB,YAAanyB,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE6B,OAAQ7B,EAA4B,QAAEwC,OAC1H4vB,QAASpyB,EAA4B,QAAEwC,KACvC6vB,MAAOryB,EAA4B,QAAEwC,KACrC8vB,WAAYj0B,EAAKH,UAAU4C,MAC3ByxB,QAASvyB,EAA4B,QAAEiB,KACvC+e,iBAAkBhgB,EAA4B,QAAEmB,OAEhDqxB,eAAgBxyB,EAA4B,QAAE6B,QAa5C4wB,GAAgB,SAAuBh4B,GACzC,IAAIN,EAAWM,EAAKN,SAChBg4B,EAAc13B,EAAK03B,YACnBE,EAAQ53B,EAAK43B,MACbC,EAAa73B,EAAK63B,WAClBF,EAAU33B,EAAK23B,QACfG,EAAU93B,EAAK83B,QACfvS,EAAmBvlB,EAAKulB,iBACxBwS,EAAiB/3B,EAAK+3B,eAEtBE,EAAwB7zB,EAAS8zB,yBACjC5S,EAAgB2S,EAAsB3S,cACtC6S,EAASF,EAAsBE,OAC/BC,EAAYH,EAAsBG,UAEtC,GAAI9S,EAAe,CACjB,IAAI+S,EAAuBnyB,EAA2B,QAAEwxB,GAAe5zB,EAAMqL,qBAAqBuoB,EAAaf,IAAgB,KAC/H,OAAgC,OAAzB0B,EAA6C/yB,EAAwB,QAAEyB,cAAcsxB,EAAsB9S,GAAoBmS,EAGxI,OAAIS,GAAUL,EACK,OAAVF,EAAiBA,EAAqBtyB,EAAwB,QAAEyB,cAAcgf,GAAO,CAC1FtmB,UAAWs4B,GACVF,GAGDO,GAAyB,OAAZT,EACRA,EAGFj4B,GAGTs4B,GAAc54B,UAAYq4B,GAC1BO,GAAc90B,aA7CO,CACnBxD,SAAU,KACVg4B,YAAa,KACbC,QAAS,KACTC,MAAO,KACPC,WAAY,KACZC,SAAS,EACTvS,iBAAkB,KAClBwS,eAAgB,MAuClB,IAEIO,GAAc,CAChBxJ,QAASlrB,EAAKH,UAAU80B,gBAAgBjyB,WACxCuoB,OAAQtpB,EAA4B,QAAE6B,OACtC3H,UAAW8F,EAA4B,QAAE6B,QAOvCoxB,GAAU,SAAiBx4B,GAC7B,IAAI8uB,EAAU9uB,EAAK8uB,QACf2J,EAAWz4B,EAAK6uB,OAChBpvB,EAAYO,EAAKP,UACrB,OAAoB6F,EAAwB,QAAEyB,cAAc,MAAO,CACjEtH,UAAW+F,EAA6B,QAAE,CAjBlB,kCAiBuCJ,EAAkC,QAAE,GAAI3F,EAAWA,MACjHqvB,EAAQnjB,KAAI,SAAUkjB,GACvB,IAAIxgB,EAAKwgB,EAAOxgB,GAChB,OAAoB/I,EAAwB,QAAEyB,cAAcivB,GAAU,CACpE3pB,IAAK,UAAUjC,OAAOiE,GACtBwgB,OAAQA,EACRpvB,UAAW+F,EAA6B,QAAE,CAvBuB,+BAuBLJ,EAAkC,QAAE,GAvBU,gCAuBYqzB,IAAapqB,YAKzImqB,GAAQp5B,UAAYk5B,GACpBE,GAAQt1B,aAtBa,CACnB2rB,OAAQ,KACRpvB,UAAW,MAsBb,IAEIi5B,GAAc,CAChBC,WAAYpzB,EAA4B,QAAEiB,KAC1CmQ,KAAMpR,EAA4B,QAAE0iB,SAAS1iB,EAA4B,QAAE2D,KAC3E+B,GAAI1F,EAA4B,QAAE0iB,SAAS1iB,EAA4B,QAAE2D,KACzE0vB,QAASrzB,EAA4B,QAAEiB,KACvC8lB,UAAW/mB,EAA4B,QAAE0C,MAAM,CAAC,KAAM,QACtDkqB,MAAO5sB,EAA4B,QAAE4X,OACrCsM,SAAUlkB,EAA4B,QAAE4X,OACxCmS,OAAQ/pB,EAA4B,QAAEuD,KACtCpJ,SAAU6F,EAA4B,QAAEwC,KACxCtI,UAAW8F,EAA4B,QAAE6B,OACzCyxB,QAAStzB,EAA4B,QAAEuD,KACvCsH,WAAY7K,EAA4B,QAAEuD,MAiB5C,SAASgwB,GAAW94B,GAClB,IAAI8N,EAEA6qB,EAAa34B,EAAK24B,WAClBhiB,EAAO3W,EAAK2W,KACZ1L,EAAKjL,EAAKiL,GACV2tB,EAAU54B,EAAK44B,QACftM,EAAYtsB,EAAKssB,UACjB6F,EAAQnyB,EAAKmyB,MACb1I,EAAWzpB,EAAKypB,SAChB6F,EAAStvB,EAAKsvB,OACd5vB,EAAWM,EAAKN,SAChBD,EAAYO,EAAKP,UACjBo5B,EAAU74B,EAAK64B,QACfzoB,EAAapQ,EAAKoQ,WAElB2oB,EAAa/zB,EAAOg0B,WAAU,WAChC,MAAO,MAELC,EAAcvzB,EAAiC,QAAEqzB,EAAY,GAC7DG,EAAcD,EAAY,GAC1BE,EAAiBF,EAAY,GAsCjC,OApCAl6B,EAAMiD,WAAU,WACd,IAAIo3B,GAAaR,GAAyB,OAAdtM,GAAsBsM,GAAyB,QAAdtM,EAIzD1tB,EAAQ,CACV+X,KAAMA,EACN1L,GALiBmuB,GAAaR,EAKX3tB,EAAK0L,EACxByK,MALUwX,IAAYQ,EAMtBP,QAASA,EACTQ,OAAQjpB,EACRkpB,OAAQ,CACN7P,SAAU2P,EAAY,EARO,OAAb3P,EAAoBA,OAAWnd,IAY/CitB,EAAU,KAcd,OAfgBpH,EAAQ,GAAKyG,GAAyB,QAAdtM,GAItC6M,EAAeK,MAAM,CACnBvuB,GAAI0L,EACJyiB,WAAW,IAEbG,EAAUnoB,YAAW,WACnB+nB,EAAeK,MAAM56B,KACpBuzB,IAEHgH,EAAeK,MAAM56B,GAGhB,WACW,OAAZ26B,GACFloB,aAAakoB,MAGhB,CAACX,EAAStM,EAAW6F,EAAO1I,EAAU6F,EAAQ3Y,EAAM1L,EAAIkuB,EAAgBN,EAASzoB,IAChE9K,EAAwB,QAAEyB,cAAc9B,EAAIuQ,SAASikB,IAAK,CAC5Ej3B,MAAOmD,EAAgC,QAAE,GAAIuzB,GAC7Cz5B,UAAW+F,EAA6B,QAAE,CA5FpB,kDA4FwCsI,EAAQ,GAAI1I,EAAkC,QAAE0I,EAAOrO,EAAyB,OAAdA,GAAqB2F,EAAkC,QAAE0I,EA5FrG,kDA4F+H6qB,GAAa7qB,MAC/NpO,GAGLo5B,GAAW15B,UAAYs5B,GACvBI,GAAW51B,aAjFU,CACnBy1B,YAAY,EACZhiB,KAAM,KACN1L,GAAI,KACJ2tB,SAAS,EACTtM,UAAW,KACX6F,MAAO,EACP1I,cAAUnd,EACVgjB,YAAQhjB,EACR5M,SAAU,KACVD,UAAW,KACXo5B,QAAS,KACTzoB,WAAY,MA6Gd,IAAIspB,GAAuB,CACzBC,KArCF,SAAc/6B,GACZ,IAAI+X,EAAO5X,EAAMigB,SAAQ,WACvB,MAAO,CACL4a,QAAS,KAEV,IACC3uB,EAAKlM,EAAMigB,SAAQ,WACrB,MAAO,CACL4a,QAAS,KAEV,IACH,OAAoBt0B,EAAwB,QAAEyB,cAAc+xB,GAAYr2B,OAAOC,OAAO,GAAI9D,EAAO,CAC/F+X,KAAMA,EACN1L,GAAIA,MAyBN4uB,MAnBF,SAAej7B,GACb,IAAI+X,EAAO5X,EAAMigB,SAAQ,WACvB,MAAO,CACL1I,UAAW,cAEZ,IACCrL,EAAKlM,EAAMigB,SAAQ,WACrB,MAAO,CACL1I,UAAW,cAEZ,IACH,OAAoBhR,EAAwB,QAAEyB,cAAc+xB,GAAYr2B,OAAOC,OAAO,GAAI9D,EAAO,CAC/F+X,KAAMA,EACN1L,GAAIA,OASJ6uB,GAAc,CAChBnB,WAAYpzB,EAA4B,QAAEiB,KAC1CoyB,QAASrzB,EAA4B,QAAEiB,KACvC2rB,MAAO5sB,EAA4B,QAAE4X,OACrC4c,YAAan2B,EAAKH,UAAUs2B,YAC5Bx6B,SAAUgG,EAA4B,QAAEiB,KACxC9G,SAAU6F,EAA4B,QAAEwC,MAW1C,SAASiyB,GAAYh6B,GACnB,IAAI24B,EAAa34B,EAAK24B,WAClBC,EAAU54B,EAAK44B,QACfzG,EAAQnyB,EAAKmyB,MACb4H,EAAc/5B,EAAK+5B,YACnBx6B,EAAWS,EAAKT,SAChBG,EAAWM,EAAKN,SAGhBu6B,EADiB71B,EAAS81B,gBACaC,UAGvCC,EAAexB,QAFuB,IAA1BqB,GAA2CA,EAGvDI,EAAmB,CACrB,GAAM,KACN7K,IAAK,MAMH8K,EAAoC,OAAhBP,EAAuBA,EAJtB,CACvB,GAAM,OACNvK,IAAK,QAGP/sB,OAAOqb,KAAKwc,GAAmBC,SAAQ,SAAUC,GAC/C,IAAIC,EAAoBH,EAAkBE,GAC1CH,EAAiBG,GAA8C,iBAAtBC,EAAiC,CACxE3tB,KAAM2tB,GACJA,KAEN,IAAIC,EAAuBL,EAAqB,GAC5CM,OAAwC,IAAzBD,EAAkC,KAAOA,EACxDE,EAAwBP,EAAiB7K,IACzCqL,OAA0C,IAA1BD,EAAmC,KAAOA,EAC1DE,EAAqC,OAAjBH,EAAwBA,EAAeE,EAC3DE,EAAuC,OAAlBF,EAAyBA,EAAgBF,EAG9DnU,GADQsU,GAAqB,IACVhuB,KACnBkuB,OAAkC,IAAfxU,EAAwB,KAAOA,EAGlDyU,GADQF,GAAsB,IACXjuB,KACnBouB,OAAmC,IAAfD,EAAwB,KAAOA,EAEnDE,EAAsBH,IAAqBE,EAC3CE,EAAqC,OAAtBN,EAA6Bh3B,EAAMqL,qBAAqB6rB,EAAkBtB,GAAsB,MAAQ,KACvH2B,EAAuC,OAAvBN,GAAgCI,EAAkG,KAA5Er3B,EAAMqL,qBAAqB+rB,EAAmBxB,GAAsB,MAC1I4B,EAA0C,OAAtBR,EAA6Bn1B,EAAgC,QAAEA,EAAgC,QAAE,GAAIm1B,GAAoB,GAAI,CACnJhuB,UAAMR,EACN6lB,MAAOA,IACJ,KACDoJ,EAA4C,OAAvBR,EAA8Bp1B,EAAgC,QAAEA,EAAgC,QAAE,GAAIo1B,GAAqB,GAAI,CACtJjuB,UAAMR,EACN6lB,MAAOA,IACJ,KACDqJ,EAAwC,OAAlBH,GAA2B97B,EAIjBG,EAJyC4F,EAAwB,QAAEyB,cAAcs0B,EAAe54B,OAAOC,OAAO,CAChJi2B,WAAYA,EACZC,QAASwB,EACT9N,UAAW,OACViP,GAAqB77B,GACxB,OAAwB,OAAjB07B,GAA0B77B,EAIai8B,EAJWl2B,EAAwB,QAAEyB,cAAcq0B,EAAc34B,OAAOC,OAAO,CAC3Hi2B,WAAYA,EACZC,QAASwB,EACT9N,UAAY6O,EAA6B,KAAP,MACjCG,GAAoBE,GAGzBxB,GAAY56B,UAAY06B,GACxBE,GAAY92B,aA5ES,CACnBy1B,YAAY,EACZC,SAAS,EACTzG,MAAO,EACP4H,YAAa,KACbx6B,UAAU,EACVG,SAAU,MAwEZ,IAAI+7B,GAAc,CAChB1B,YAAan2B,EAAKH,UAAUs2B,YAC5B2B,QAASn2B,EAA4B,QAAE4X,OACvCyb,QAASrzB,EAA4B,QAAEiB,KACvCjH,SAAUgG,EAA4B,QAAEiB,KACxC2rB,MAAO5sB,EAA4B,QAAE4X,OACrCwb,WAAYpzB,EAA4B,QAAEiB,KAC1C9G,SAAU6F,EAA4B,QAAEwC,MAYtC4zB,GAAqB,SAA4B37B,GACnD,IAAI+5B,EAAc/5B,EAAK+5B,YACnB2B,EAAU17B,EAAK07B,QACf9C,EAAU54B,EAAK44B,QACfr5B,EAAWS,EAAKT,SAChB4yB,EAAQnyB,EAAKmyB,MACbwG,EAAa34B,EAAK24B,WAClBj5B,EAAWM,EAAKN,SAChBk8B,EAAa,EA0BjB,OAzBet2B,EAAwB,QAAEu2B,SAASlwB,IAAIjM,GAAU,SAAUo8B,GACxE,IAAKA,EACH,OAAO,KAGT,IAAIC,EAAcD,EAAM30B,KAIpB60B,SAHuB,IAAhBD,EAAyB,KAAOA,IAEvB,IACcE,0BAGlC,GAAI18B,QAFsD,IAA1By8B,GAA2CA,EAGzE,OAAOF,EAGT,IAAII,EAAkB52B,EAAwB,QAAEyB,cAAcizB,GAAa,CACzED,YAAaA,EACb5H,MAAOA,EAAQyJ,EAAaF,EAC5B9C,QAASA,EACTD,WAAYA,GACXmD,GAEH,OADAF,GAAc,EACPM,MAKXP,GAAmBv8B,UAAYq8B,GAC/BE,GAAmBz4B,aAhDE,CACnB62B,YAAa,KACb2B,QAAS,EACT9C,SAAS,EACTr5B,UAAU,EACV4yB,MAAO,EACPwG,YAAY,EACZj5B,SAAU,MA2CZ,IAAIy8B,GAAc,CAChBC,SAAU72B,EAA4B,QAAE6B,OACxCi1B,kBAAmB92B,EAA4B,QAAE6B,OACjD5E,MAAO+C,EAA4B,QAAE0iB,SAAS1iB,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE6B,OAAQ7B,EAA4B,QAAE4X,WAQzJmf,GAAiB,SAAwBt8B,GAC3C,IAAIo8B,EAAWp8B,EAAKo8B,SAChBC,EAAoBr8B,EAAKq8B,kBACzB75B,EAAQxC,EAAKwC,MACjB,OAAiB,OAAVA,EAA8B8C,EAAwB,QAAEyB,cAAc,QAAS,CACpFI,KAAM,YACL,GAAGiD,OAAO,CAACgyB,EAAUC,GAAmBrb,QAAO,SAAUjI,GAC1D,OAAc,OAAPA,KACNmO,KAAK,KAAM,KAAK9c,OAAOtG,EAAMy4B,qBAAqB/5B,GAAQ,MAAQ,MAGvE85B,GAAel9B,UAAY+8B,GAC3BG,GAAep5B,aAlBM,CACnBk5B,SAAU,KACVC,kBAAmB,OACnB75B,MAAO,MAiBT,IAAIpD,GAAY,CACdg9B,SAAU72B,EAA4B,QAAE6B,OACxCo1B,aAAcj3B,EAA4B,QAAE6B,OAC5C5E,MAAO+C,EAA4B,QAAE0iB,SAAS1iB,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE6B,OAAQ7B,EAA4B,QAAE4X,WAQzJsf,GAAY,SAAmBz8B,GACjC,IAAIo8B,EAAWp8B,EAAKo8B,SAChBI,EAAex8B,EAAKw8B,aACpBh6B,EAAQxC,EAAKwC,MACjB,OAAiB,OAAVA,EAA8B8C,EAAwB,QAAEyB,cAAc,QAAS,CACpFI,KAAM,YACL,GAAGiD,OAAO,CAACgyB,EAAUI,GAAcxb,QAAO,SAAUjI,GACrD,OAAc,OAAPA,KACNmO,KAAK,KAAM,KAAK9c,OAAOtG,EAAMy4B,qBAAqB/5B,GAAQ,MAAQ,MAGvEi6B,GAAUr9B,UAAYA,GACtBq9B,GAAUv5B,aAlBS,CACjBk5B,SAAU,KACVI,aAAc,IACdh6B,MAAO,MAiBTa,EAAQoJ,WAAaA,GACrBpJ,EAAQwU,WAAaA,GACrBxU,EAAQkwB,OAASpqB,EACjB9F,EAAQoI,QAAUA,GAClBpI,EAAQuR,KAAOA,GACfvR,EAAQ0f,iBAAmBA,GAC3B1f,EAAQ4b,KAAOwE,GACfpgB,EAAQihB,SAAWA,GACnBjhB,EAAQq5B,aAAejkB,GACvBpV,EAAQs5B,QAAUnX,GAClBniB,EAAQ0iB,MAAQA,GAChB1iB,EAAQmK,UAAYA,GACpBnK,EAAQgjB,UAAYA,GACpBhjB,EAAQ2N,KAAOA,GACf3N,EAAQgU,UAAYA,GACpBhU,EAAQi5B,eAAiBA,GACzBj5B,EAAQsD,MAAQA,EAChBtD,EAAQ2H,KAAOA,GACf3H,EAAQo5B,UAAYA,GACpBp5B,EAAQmkB,MAAQA,GAChBnkB,EAAQmX,KAAOA,GACfnX,EAAQktB,KAAOA,GACfltB,EAAQwc,MAAQA,GAChBxc,EAAQ8c,YAAcA,GACtB9c,EAAQgc,YAAcA,GACtBhc,EAAQob,OAASA,GACjBpb,EAAQkZ,OAASA,GACjBlZ,EAAQu5B,WAAapf,GACrBna,EAAQof,MAAQA,GAChBpf,EAAQ6e,YAAcA,GACtB7e,EAAQ0e,OAASA,GACjB1e,EAAQw5B,mBAAqBrK,GAC7BnvB,EAAQy5B,mBAAqBpK,GAC7BrvB,EAAQ05B,iBAAmBnK,GAC3BvvB,EAAQ25B,kBAAoBzJ,GAC5BlwB,EAAQ45B,iBAAmBxJ,GAC3BpwB,EAAQ65B,gBAAkBxJ,GAC1BrwB,EAAQ85B,eAAiBtJ,GACzBxwB,EAAQ+5B,mBAAqBpJ,GAC7B3wB,EAAQg6B,iBAAmBlJ,GAC3B9wB,EAAQi6B,qBAAuBlJ,GAC/B/wB,EAAQk6B,oBAAsBlJ,GAC9BhxB,EAAQ8vB,gBAAkBmB,GAC1BjxB,EAAQm6B,oBAAsB9I,GAC9BrxB,EAAQo6B,iBAAmB7I,GAC3BvxB,EAAQq6B,iBAAmB7I,GAC3BxxB,EAAQs6B,oBAAsB5I,GAC9B1xB,EAAQu6B,qBAAuB5I,GAC/B3xB,EAAQqyB,OAASM,GACjB3yB,EAAQ20B,cAAgBA,GACxB30B,EAAQ8yB,kBAAoBG,GAC5BjzB,EAAQmzB,cAAgBC,GACxBpzB,EAAQm1B,QAAUA,GAClBn1B,EAAQ+uB,UAAYA,GACpB/uB,EAAQqS,QAAUA,GAClBrS,EAAQw6B,KAAO1f,GACf9a,EAAQ22B,YAAcA,GACtB32B,EAAQs4B,mBAAqBA,GAC7Bt4B,EAAQud,YAAcA,I,kCCjgItBne,OAAOW,eAAeC,EAAS,aAA/B,CAA+CC,OAAO,IAEtD,IAAIe,EAAgB,EAAQ,KACxBtF,EAAQ,EAAQ,MAChB0E,EAAY,EAAQ,MACpBqB,EAAW,EAAQ,MACnBlB,EAAO,EAAQ,MACfL,EAAkB,EAAQ,MAC1BU,EAAqB,EAAQ,MAC7B65B,EAAS,EAAQ,MACjB55B,EAAiB,EAAQ,MACzBU,EAAW,EAAQ,MACnBm5B,EAAQ,EAAQ,MAChBC,EAAW,EAAQ,MACnBl6B,EAAQ,EAAQ,MAChBm6B,EAAc,EAAQ,MACtBp6B,EAAY,EAAQ,MACpBq6B,EAAW,EAAQ,MACnB16B,EAA2B,EAAQ,MACnC26B,EAAO,EAAQ,MAEnB,SAASj5B,EAAuBC,GAAK,OAAOA,GAAkB,iBAANA,GAAkB,YAAaA,EAAIA,EAAI,CAAE,QAAWA,GAE5G,SAASi5B,EAAkBj5B,GACvB,GAAIA,GAAKA,EAAEk5B,WAAY,OAAOl5B,EAC9B,IAAIm5B,EAAI77B,OAAO87B,OAAO,MAatB,OAZIp5B,GACA1C,OAAOqb,KAAK3Y,GAAGo1B,SAAQ,SAAUiE,GAC7B,GAAU,YAANA,EAAiB,CACjB,IAAIjoB,EAAI9T,OAAOg8B,yBAAyBt5B,EAAGq5B,GAC3C/7B,OAAOW,eAAek7B,EAAGE,EAAGjoB,EAAEjS,IAAMiS,EAAI,CACpCmoB,YAAY,EACZp6B,IAAK,WAAc,OAAOa,EAAEq5B,UAK5CF,EAAW,QAAIn5B,EACR1C,OAAOm0B,OAAO0H,GAGzB,IAAI34B,EAAsCT,EAAsBb,GAC5DiB,EAA8BJ,EAAsBnG,GACpDwG,EAAkCL,EAAsBzB,GACxDyC,EAAiChB,EAAsBJ,GACvDM,EAAwCF,EAAsB3B,GAC9DkC,EAA2CP,EAAsBjB,GACjE06B,EAA+Bz5B,EAAsB44B,GACrDp4B,EAAuCR,EAAsBhB,GAC7D+B,EAAiCf,EAAsBN,GACvDS,EAAiDH,EAAsB1B,GAEvEo7B,EAAmB,SACnBC,EAAmB,SACnBC,EAAkB,QAClBC,EAAoB,UACpBC,EAAqB,WACrBC,EAAiC35B,EAAwB,QAAE45B,cAAc,MAKzEC,EAAuB,WACzB,IAAIC,EAAY3sB,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAChF4sB,EAAUtgC,EAAMugC,WAAWL,GAC3BM,EAAexgC,EAAMigB,SAAQ,WAC/B,OAAqB,OAAdogB,EAAqB,IAAIx7B,EAAK47B,kBAAkBH,EAAQI,cAAcL,IAAcC,IAC1F,CAACA,EAASD,IACb,OAAOG,GAELG,EAAgB,WAClB,IAAIN,EAAY3sB,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAChFktB,EAAoBltB,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GACxF4sB,EAAUF,IACd,OAAOE,EAAQI,cAAcL,IAAcO,GAEzCC,EAAe,SAAsB9yB,GACvC,IAAI+yB,EAAmBptB,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KACvF2sB,EAAY3sB,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAEpF,IAAKvM,EAA2B,QAAE4G,GAChC,OAAOA,GAAQ+yB,EAGjB,IAAIR,EAAUF,EAAqBC,GACnC,OAAOrgC,EAAMigB,SAAQ,WACnB,OAAOqgB,EAAQS,aAAahzB,IAAS+yB,IACpC,CAACR,EAASvyB,EAAM+yB,KAiFjB5b,EAAc,CAChBvkB,SAAU6F,EAA4B,QAAEwC,KAAKzB,WAC7C84B,UAAW75B,EAA4B,QAAE6B,OACzCi4B,QAAS95B,EAA4B,QAAEw6B,WAAWn8B,EAAK47B,mBACvDtyB,WAAY3H,EAA4B,QAAE0iB,SAAS1iB,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAEmB,OAAQnB,EAA4B,QAAEuD,SAO9Jk3B,EAAqB,SAA4BhgC,GACnD,IAAIkN,EAAalN,EAAKkN,WAClBmyB,EAAUr/B,EAAKq/B,QACfD,EAAYp/B,EAAKo/B,UACjB1/B,EAAWM,EAAKN,SAChBugC,EAAkBd,KAA0B,KAC5CI,EAAexgC,EAAMigB,SAAQ,WAC/B,OAAO,IAAIpb,EAAK47B,kBAAkB75B,EAAgC,QAAEA,EAAgC,QAAEA,EAAgC,QAAE,GAAwB,OAApBs6B,EAA2BA,EAAgBR,gBAAkB,MAAmB,OAAZJ,EAAmBA,EAAQI,gBAAkB,MAAO,IAAI77B,EAAK47B,kBAAkBtyB,GAAYgzB,aAAad,GAAWK,oBAClU,CAACQ,EAAiBZ,EAASnyB,EAAYkyB,IAC1C,OAAoB95B,EAAwB,QAAEyB,cAAck4B,EAAkBkB,SAAU,CACtF78B,MAAOi8B,GACN7/B,IAELsgC,EAAmB5gC,UAAY6kB,EAC/B+b,EAAmB98B,aAnBE,CACnBk8B,UAAW,KACXlyB,WAAY,GACZmyB,QAAS,MAkBX,IAAIe,EAA6B96B,EAAwB,QAAE45B,cAAc,MACrExxB,EAAmB,WACrB,OAAO3O,EAAMugC,WAAWc,IAMtBlb,EAAc,CAChB/X,OAAQvJ,EAAKH,UAAU48B,iBACvBhB,QAAS95B,EAA4B,QAAEw6B,WAAWn8B,EAAK08B,eACvD5gC,SAAU6F,EAA4B,QAAEwC,KAAKzB,YAM3Ci6B,EAAiB,SAAwBvgC,GAC3C,IAAImN,EAASnN,EAAKmN,OACdkyB,EAAUr/B,EAAKq/B,QACf3/B,EAAWM,EAAKN,SAChBugC,EAAkBvyB,KAAsB,KACxC6xB,EAAexgC,EAAMigB,SAAQ,WAC/B,IAAIpM,EAAY+rB,EAAyB,QAAE,GAAGv0B,OAAO3E,EAAqC,QAAE0H,GAAU,IAAK1H,EAAqC,QAAc,OAAZ45B,EAAmBA,EAAQmB,iBAAmB,IAAK/6B,EAAqC,QAAsB,OAApBw6B,EAA2BA,EAAgBO,iBAAmB,MAAM,SAAU1yB,GAExT,OADSA,EAAMO,MAEdme,UACH,OAAO,IAAI5oB,EAAK08B,cAAc1tB,KAC7B,CAACqtB,EAAiBZ,EAASlyB,IAC1BD,EAAanO,EAAMigB,SAAQ,WAC7B,IAAIyhB,EAAgBlB,EAAaE,gBACjC,OAAOh9B,OAAOqb,KAAK2iB,GAAe5Z,QAAO,SAAUlb,EAAK0C,GACtD,IAAItB,EAAY0zB,EAAcpyB,GAC9B,OAAOnI,EAA2B,QAAE6G,GAAapB,EAAMhG,EAAgC,QAAEA,EAAgC,QAAE,GAAIgG,GAAM,GAAIvG,EAAkC,QAAE,GAAIiJ,EAAItB,MACpL,MACF,CAACwyB,IACJ,OAAoBj6B,EAAwB,QAAEyB,cAAcq5B,EAAcD,SAAU,CAClF78B,MAAOi8B,GACOj6B,EAAwB,QAAEyB,cAAci5B,EAAoB,CAC1EZ,UAAWP,EACX3xB,WAAYA,GACXxN,KAEL6gC,EAAenhC,UAAY8lB,EAC3Bqb,EAAer9B,aA/BM,CACnBiK,OAAQ,KACRkyB,QAAS,MA+BX,IAAIqB,EAA8Bp7B,EAAwB,QAAE45B,cAAc,IAAIt7B,EAAK+8B,gBAC/EC,EAAoB,WACtB,OAAO7hC,EAAMugC,WAAWoB,IAEtBrb,EAAc,CAChByJ,QAASlrB,EAAKH,UAAUo9B,kBACxBxB,QAAS95B,EAA4B,QAAEw6B,WAAWn8B,EAAK+8B,gBACvDjhC,SAAU6F,EAA4B,QAAEwC,KAAKzB,YAM3Cw6B,EAAkB,SAAyB9gC,GAC7C,IAAI8uB,EAAU9uB,EAAK8uB,QACfuQ,EAAUr/B,EAAKq/B,QACf3/B,EAAWM,EAAKN,SAChBugC,EAAkBW,IAClBrB,EAAexgC,EAAMigB,SAAQ,WAC/B,IAAI+hB,EAAyB,OAAZ1B,EAAmBA,EAAU,IAAIz7B,EAAK+8B,eAAe7R,GAEtE,OAAkC,QAA7BmR,GAAmB,MACfA,EAAgBe,MAAMD,GAGxBA,IACN,CAAC1B,EAASvQ,EAASmR,IAClBgB,EAAoBliC,EAAMigB,SAAQ,WACpC,OAAOugB,EAAaE,kBACnB,CAACF,IAEAp/B,EAAYpB,EAAMqB,SAAS6gC,GAC3B5gC,EAAaqF,EAAiC,QAAEvF,EAAW,GAC3D+M,EAAa7M,EAAW,GACxB6gC,EAAgB7gC,EAAW,GAY/B,OAVAtB,EAAMiD,WAAU,WACd,IAAIoL,EAAW,WACb,OAAO8zB,EAAc3B,EAAaE,kBAIpC,OADAF,EAAa4B,GAAG,SAAU/zB,GACnB,WACLmyB,EAAa6B,IAAI,SAAUh0B,MAE5B,CAACmyB,EAAc2B,IACE57B,EAAwB,QAAEyB,cAAc25B,EAAeP,SAAU,CACnF78B,MAAOi8B,GACOj6B,EAAwB,QAAEyB,cAAci5B,EAAoB,CAC1EZ,UAAWL,EACX7xB,WAAYA,GACXxN,KAELohC,EAAgB1hC,UAAYimB,EAC5Byb,EAAgB59B,aA7CK,CACnB4rB,QAAS,KACTuQ,QAAS,MA6CX,IAAIgC,EAA4B/7B,EAAwB,QAAE45B,cAAc,MACpEoC,EAAkB,WACpB,OAAOviC,EAAMugC,WAAW+B,IAEtBE,GAAW,WAEb,OADYD,KAGV1b,GAAc,CAChBjnB,MAAO4G,EAA4B,QAAEyD,UAAU,CAACpF,EAAKH,UAAU9E,MAAOiF,EAAKH,UAAU4D,QACrF3H,SAAU6F,EAA4B,QAAEwC,KAAKzB,YAK3Ck7B,GAAgB,SAAuBxhC,GACzC,IAAIrB,EAAQqB,EAAKrB,MACbe,EAAWM,EAAKN,SACpB,OAAoB4F,EAAwB,QAAEyB,cAAcs6B,EAAalB,SAAU,CACjF78B,MAAO3E,GACNe,IAEL8hC,GAAcpiC,UAAYwmB,GAC1B4b,GAAct+B,aAXO,CACnBvE,MAAO,MAYT,IAAI8iC,GAA6Bn8B,EAAwB,QAAE45B,cAAc,MACrEwC,GAAY,WACd,OAAO3iC,EAAMugC,WAAWmC,KAWtBxb,GAAc,CAChBvmB,SAAU6F,EAA4B,QAAEwC,KAAKzB,YAG3Cq7B,GAAiB,SAAwB7zB,GAC3C,IAAIpO,EAAWoO,EAAMpO,SACjBf,EAAQ4iC,KACRK,EAAiBhB,IACjBnzB,EAAgBC,IAChBm0B,EAAS9iC,EAAMigB,SAAQ,WACzB,OAAO,IAAIpb,EAAKk+B,aAAa,CAC3BF,eAAgBA,EAChBn0B,cAAeA,MAEhB,CAACm0B,EAAgBn0B,IAChBs0B,EAAQhjC,EAAM6P,aAAY,SAAUozB,GACtC,OAAOH,EAAOE,MAAMC,KACnB,CAACH,IACAI,EAAYljC,EAAM6P,aAAY,WAChC,OAAOmzB,EAAMpjC,KACZ,CAACojC,EAAOpjC,IACX,OAAoB2G,EAAwB,QAAEyB,cAAc06B,GAActB,SAAU,CAClF78B,MAAO,CACL2+B,UAAWA,IAEZviC,IAELiiC,GAAeviC,UAAY6mB,GAC3B0b,GAAez+B,aAzBM,GA4BrB,IAAIg/B,GAA4B58B,EAAwB,QAAE45B,cAAc,MAIpE9X,GAAc,CAChB/X,QAAS9J,EAA4B,QAAE2D,IAEvCxJ,SAAU6F,EAA4B,QAAEwC,KAAKzB,YAK3C8I,GAAuB,SAA8BpP,GACvD,IAAIqP,EAAUrP,EAAKqP,QACf3P,EAAWM,EAAKN,SACpB,OAAoB4F,EAAwB,QAAEyB,cAAcm7B,GAAa/B,SAAU,CACjF78B,MAAO+L,GACN3P,IAEL0P,GAAqBhQ,UAAYgoB,GACjChY,GAAqBlM,aAXA,CACnBmM,QAAS,MAaX,IAAI8yB,GAAiC78B,EAAwB,QAAE45B,cAAc,CAC3EkD,OAAQ,OAENC,GAAgB,WAClB,OAAOtjC,EAAMugC,WAAW6C,KAEtB/R,GAAc,CAChB1wB,SAAU6F,EAA4B,QAAEwC,KAAKzB,WAC7C87B,OAAQ78B,EAA4B,QAAE6B,QAMpCk7B,GAAqB,SAA4BtiC,GACnD,IAAIN,EAAWM,EAAKN,SAChB0iC,EAASpiC,EAAKoiC,OAGdG,EADiBF,KACeD,OAEpC,OAAoB98B,EAAwB,QAAEyB,cAAco7B,GAAkBhC,SAAU,CACtF78B,MAAO,CACL8+B,OAAQA,GAAUG,IAEnB7iC,IAEL4iC,GAAmBljC,UAAYgxB,GAC/BkS,GAAmBp/B,aAjBE,CACnBk/B,OAAQ,MAkBV,IAAII,GAA4Bl9B,EAAwB,QAAE45B,cAAc,CACtEuD,YAAa,KACbC,YAAa,KACbC,YAAa,OAEXC,GAAiB,WACnB,IAAI5iC,EAAOyS,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC3EowB,EAAgB7iC,EAAKT,SACrBA,OAA6B,IAAlBsjC,GAAmCA,EAC9CC,EAAgB9iC,EAAK+iC,SACrBA,OAA6B,IAAlBD,EAA2B,KAAOA,EAE7CE,EAAiBX,KACjBD,EAASY,EAAeZ,OAExBjiC,EAAYpB,EAAMqB,SAAS,MAC3BC,EAAaqF,EAAiC,QAAEvF,EAAW,GAC3DuiC,EAAcriC,EAAW,GACzB4iC,EAAiB5iC,EAAW,GAgChC,OA9BAtB,EAAMiD,WAAU,WACd,IAAIkhC,GAAW,EAyBf,OAvBe,OAAXd,GAAoB7iC,GACtBw+B,EAAMoF,QAAQ,uDAAuD/4B,OAAOg4B,EAAQ,qBAAqBgB,MAAK,SAAUt1B,GACtH,IAAIu1B,EAAcv1B,EAAMyJ,MAGxB,IAAK2rB,EAAU,CACb,IAAII,QAHsB,IAAhBD,EAAyB,GAAKA,GAGnB13B,KAAI,SAAUoN,GACjC,MAAO,CACL5R,KAAM,SACN2F,KAAMiM,EAAGwqB,OACTC,SAAUzqB,EAAGyqB,aAIA,OAAbT,EACFA,EAASO,GAETL,EAAeK,OAMhB,WACLJ,GAAW,KAEZ,CAACd,EAAQ7iC,EAAUwjC,EAAUE,IACzBP,GAELe,GAAW,WACb,IAAIx1B,EAAQwE,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC5EixB,EAAwBz1B,EAAM01B,mBAC9BA,OAA+C,IAA1BD,GAA2CA,EAEhEE,EAAc7kC,EAAMugC,WAAWkD,IAC/BqB,EAAwBD,EAAYX,eACpCA,OAA2C,IAA1BY,EAAmC,KAAOA,EAC3DC,EAAwBF,EAAYnB,YACpCA,OAAwC,IAA1BqB,EAAmC,KAAOA,EACxDC,EAAwBH,EAAYlB,YACpCA,OAAwC,IAA1BqB,EAAmC,KAAOA,EACxDC,EAAwBJ,EAAYjB,YACpCA,OAAwC,IAA1BqB,EAAmC,KAAOA,EAE5DpB,GAAe,CACbrjC,SAAUokC,GAAsC,OAAhBjB,GAAwBA,EAAYhwB,OAAS,EAC7EqwB,SAAUE,IAEZ,IAAI/c,EAAQnnB,EAAMigB,SAAQ,WACxB,MAAO,CACLyjB,YAAaA,EACbC,YAAaA,EACbC,YAAaA,KAEd,CAACF,EAAaC,EAAaC,IAC9B,OAAOzc,GAEL+L,GAAc,CAChBvyB,SAAU6F,EAA4B,QAAEwC,KAAKzB,WAC7Cm8B,YAAa7+B,EAAKH,UAAUyiB,MAC5Byc,YAAa/+B,EAAKH,UAAUyiB,OAM1B+d,GAAgB,SAAuBxiC,GACzC,IAAIghC,EAAchhC,EAAMghC,YACpBE,EAAclhC,EAAMkhC,YACpBjjC,EAAW+B,EAAM/B,SAEjBwkC,EAAYT,KACZU,EAAwBD,EAAUzB,YAClC2B,OAAgD,IAA1BD,EAAmC,KAAOA,EAChEE,EAAwBH,EAAUxB,YAClC4B,OAAgD,IAA1BD,EAAmC,KAAOA,EAChEE,EAAsBL,EAAUvB,YAEhCvwB,EAAarT,EAAMqB,SAAS,MAC5BiS,EAAa3M,EAAiC,QAAE0M,EAAY,GAC5DswB,EAAcrwB,EAAW,GACzB4wB,EAAiB5wB,EAAW,GAE5B6T,EAAQnnB,EAAMigB,SAAQ,WACxB,MAAO,CACLyjB,YAAa9D,EAAyB,QAAE,GAAGv0B,OAAO3E,EAAqC,QAAE2+B,GAAuB,IAAK3+B,EAAqC,QAAEg9B,GAAe,MAAM,SAAU7Y,GACzL,OAAO3jB,EAA2B,QAAE2jB,GAAQA,EAAK9c,KAAO8c,KAE1D8Y,YAAa/D,EAAyB,QAAE,GAAGv0B,OAAO3E,EAAqC,QAAE6+B,GAAuB,IAAK7+B,EAAqC,QAAEi9B,GAAe,MAAM,SAAU9Y,GACzL,OAAO3jB,EAA2B,QAAE2jB,GAAQA,EAAK9c,KAAO8c,KAE1D+Y,YAAahE,EAAyB,QAAE,GAAGv0B,OAAO3E,EAAqC,QAAE8+B,GAAuB,IAAK9+B,EAAqC,QAAEk9B,GAAe,MAAM,SAAU/Y,GACzL,OAAO3jB,EAA2B,QAAE2jB,GAAQA,EAAK9c,KAAO8c,KAE1DqZ,eAAgBA,KAEjB,CAACmB,EAAqBE,EAAqBC,EAAqB5B,EAAaF,EAAaC,EAAaO,IAC1G,OAAoB39B,EAAwB,QAAEyB,cAAcy7B,GAAarC,SAAU,CACjF78B,MAAO4iB,GACNxmB,IAELukC,GAAc7kC,UAAY6yB,GAC1BgS,GAAc/gC,aAxCO,CACnBu/B,YAAa,CAAC,QAAS,UAAW,UAAW,kBAAmB,WAChEE,YAAa,MAwCf,IAAI6B,GAAsCl/B,EAAwB,QAAE45B,cAAc,MAwB9ElM,GAAc,CAChBtzB,SAAU6F,EAA4B,QAAEwC,KAAKzB,YAG3Cm+B,GAA0B,SAAiC32B,GAC7D,IAAIpO,EAAWoO,EAAMpO,SAGjB0iC,EADiBC,KACOD,OAExBjiC,EAAYpB,EAAMqB,SAAS,MAC3BC,EAAaqF,EAAiC,QAAEvF,EAAW,GAC3DukC,EAASrkC,EAAW,GACpBskC,EAAYtkC,EAAW,GAa3B,OAXAtB,EAAMiD,WAAU,WACdg8B,EAAS4G,gBAAgBxB,MAAK,SAAUyB,GACtC,OAAOA,EAAKH,OAAOI,KAAK,CACtB1C,OAAQA,IACPgB,MAAK,WACN,OAAOyB,QAERzB,MAAK,SAAUyB,GAChB,OAAOF,EAAUE,QAElB,CAACzC,EAAQuC,IACQr/B,EAAwB,QAAEyB,cAAcy9B,GAAuBrE,SAAU,CAC3F78B,MAAOohC,GACNhlC,IAEL+kC,GAAwBrlC,UAAY4zB,GACpCyR,GAAwBvhC,aA5BH,GA8BrB,IAAI6hC,GAAuCz/B,EAAwB,QAAE45B,cAAc,MAC/E8F,GAAsB,WACxB,OAAOjmC,EAAMugC,WAAWyF,KAsBtB5P,GAAc,CAChBz1B,SAAU6F,EAA4B,QAAEwC,KAAKzB,WAC7CuhB,OAAQtiB,EAA4B,QAAE6B,OACtC69B,UAAW1/B,EAA4B,QAAE0O,QAAQ1O,EAA4B,QAAE6B,SAM7E89B,GAA2B,SAAkCp3B,GAC/D,IAAIpO,EAAWoO,EAAMpO,SACjBmoB,EAAS/Z,EAAM+Z,OACfod,EAAYn3B,EAAMm3B,UAGlB7C,EADiBC,KACOD,OAExB+C,EAAkBH,KAElB7kC,EAAYpB,EAAMqB,SAAS+kC,GAC3B9kC,EAAaqF,EAAiC,QAAEvF,EAAW,GAC3DukC,EAASrkC,EAAW,GACpBskC,EAAYtkC,EAAW,GAa3B,OAXAtB,EAAMiD,WAAU,WACU,OAApBmjC,GACFnH,EAASoH,eAAe,CACtBhD,OAAQA,EACRva,OAAQA,EACRod,UAAWA,IACV7B,MAAK,SAAUiC,GAChBV,EAAUU,QAGb,CAACjD,EAAQva,EAAQod,EAAWN,EAAWQ,IACtB7/B,EAAwB,QAAEyB,cAAcg+B,GAAwB5E,SAAU,CAC5F78B,MAAOohC,GACNhlC,IAELwlC,GAAyB9lC,UAAY+1B,GACrC+P,GAAyBhiC,aAnCJ,CACnB2kB,OAAQ,KACRod,UAAW,MAmCb,IAAIK,GAA6BhgC,EAAwB,QAAE45B,cAAc,CACvE78B,UAAW,OA0BT6zB,GAAc,CAChBx2B,SAAU6F,EAA4B,QAAEwC,KAAKzB,WAC7CjE,UAAWkD,EAA4B,QAAEmB,QAMvC6+B,GAAiB,SAAwBz3B,GAC3C,IAAIpO,EAAWoO,EAAMpO,SACjB8lC,EAAmB13B,EAAMzL,UAEzBlC,EAAYpB,EAAMqB,SAASolC,GAC3BnlC,EAAaqF,EAAiC,QAAEvF,EAAW,GAC3DkC,EAAYhC,EAAW,GACvBolC,EAAeplC,EAAW,GAE1B+R,EAAarT,EAAMqB,SAAS,IAC5BiS,EAAa3M,EAAiC,QAAE0M,EAAY,GAC5DiM,EAAShM,EAAW,GACpBqzB,EAAYrzB,EAAW,GAEvBszB,EAAY5mC,EAAMqC,OAAOid,GACzBO,EAAW7f,EAAM6P,aAAY,SAAUP,GACzC,IAAIkD,EAAOkB,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC3EmzB,EAAgBD,EAAU5kC,QAC1B8kC,EAAY,GAAGz7B,OAAO3E,EAAqC,QAAEmgC,GAAgB,CAACjgC,EAAgC,QAAE,CAClH0I,GAAIA,GACHkD,KACHm0B,EAAUG,GACVF,EAAU5kC,QAAU8kC,IACnB,CAACxnB,EAAQqnB,IACR7mB,EAAa9f,EAAM6P,aAAY,SAAUP,GAC3C,IAAIu3B,EAAgBD,EAAU5kC,QAM9B,IAAoB,IALH6kC,EAAcE,WAAU,SAAU73B,GAEjD,OADcA,EAAMI,KACDA,KAGE,CACrB,IAAIw3B,EAAYD,EAAc5kB,QAAO,SAAUvf,GAE7C,OADcA,EAAM4M,KACDA,KAErBq3B,EAAUG,GACVF,EAAU5kC,QAAU8kC,KAErB,CAACxnB,EAAQqnB,IACZ,OAAoBpgC,EAAwB,QAAEyB,cAAcu+B,GAAcnF,SAAU,CAClF78B,MAAO,CACL+a,OAAQA,EACRhc,UAAWA,EACXojC,aAAcA,EACd7mB,SAAUA,EACVC,WAAYA,IAEbnf,IAEL6lC,GAAenmC,UAAY82B,GAC3BqP,GAAeriC,aAtDM,CACnBb,UAAW,MAuDb,IAAI0jC,GAA6BzgC,EAAwB,QAAE45B,cAAc,CACvE78B,UAAW,OA0BTk0B,GAAc,CAChB72B,SAAU6F,EAA4B,QAAEwC,KAAKzB,WAC7CjE,UAAWkD,EAA4B,QAAEmB,QAMvCs/B,GAAiB,SAAwBl4B,GAC3C,IAAIpO,EAAWoO,EAAMpO,SACjB8lC,EAAmB13B,EAAMzL,UAEzBlC,EAAYpB,EAAMqB,SAASolC,GAC3BnlC,EAAaqF,EAAiC,QAAEvF,EAAW,GAC3DkC,EAAYhC,EAAW,GACvBolC,EAAeplC,EAAW,GAE1B+R,EAAarT,EAAMqB,SAAS,IAC5BiS,EAAa3M,EAAiC,QAAE0M,EAAY,GAC5DuP,EAAStP,EAAW,GACpB4zB,EAAY5zB,EAAW,GAEvB6zB,EAAYnnC,EAAMqC,OAAOugB,GACzB/C,EAAW7f,EAAM6P,aAAY,SAAUP,GACzC,IAAIkD,EAAOkB,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC3E0zB,EAAgBD,EAAUnlC,QAC1BqlC,EAAY,GAAGh8B,OAAO3E,EAAqC,QAAE0gC,GAAgB,CAACxgC,EAAgC,QAAE,CAClH0I,GAAIA,GACHkD,KACH00B,EAAUG,GACVF,EAAUnlC,QAAUqlC,IACnB,CAACzkB,EAAQskB,IACRpnB,EAAa9f,EAAM6P,aAAY,SAAUP,GAC3C,IAAI83B,EAAgBD,EAAUnlC,QAM9B,IAAoB,IALHolC,EAAcL,WAAU,SAAU73B,GAEjD,OADcA,EAAMI,KACDA,KAGE,CACrB,IAAI+3B,EAAYD,EAAcnlB,QAAO,SAAUvf,GAE7C,OADcA,EAAM4M,KACDA,KAErB43B,EAAUG,GACVF,EAAUnlC,QAAUqlC,KAErB,CAACzkB,EAAQskB,IACZ,OAAoB3gC,EAAwB,QAAEyB,cAAcg/B,GAAc5F,SAAU,CAClF78B,MAAO,CACLqe,OAAQA,EACR8jB,aAAcA,EACdpjC,UAAWA,EACXuc,SAAUA,EACVC,WAAYA,IAEbnf,IAELsmC,GAAe5mC,UAAYm3B,GAC3ByP,GAAe9iC,aAtDM,CACnBb,UAAW,MAwDb,IAAIgkC,GAA6B/gC,EAAwB,QAAE45B,cAAc,MAOrEoH,GAAkB,WACpB,IAAIC,EAAexnC,EAAMugC,WAAW+G,IAChCG,EAASD,EAAaC,OACtBC,EAAWF,EAAaE,SAM5B,OAJmB1nC,EAAM6P,aAAY,SAAUvC,EAAKkF,GAClD,IAAIuG,EAAMmmB,EAAYyI,aAAaF,EAAOn6B,GAAMkF,GAChD,OAAoB,OAAbk1B,EAAoB,GAAGr8B,OAAOq8B,EAASzzB,QAAQ,MAAO,IAAK,KAAK5I,OAAO0N,EAAI9E,QAAQ,MAAO,KAAO8E,IACvG,CAACmmB,EAAYyI,aAAcF,EAAQC,KAoCpChP,GAAc,CAChB/3B,SAAU6F,EAA4B,QAAEwC,KAAKzB,WAC7CkgC,OAAQjhC,EAA4B,QAAE0iB,SAAS1iB,EAA4B,QAAE6B,QAE7Eq/B,SAAUlhC,EAA4B,QAAE6B,QAMtCu/B,GAAiB,SAAwB74B,GAC3C,IAAI04B,EAAS14B,EAAM04B,OACfC,EAAW34B,EAAM24B,SACjB/mC,EAAWoO,EAAMpO,SACrB,OAAoB4F,EAAwB,QAAEyB,cAAcs/B,GAAclG,SAAU,CAClF78B,MAAO,CACLkjC,OAAQA,EACRC,SAAUA,IAEX/mC,IAELinC,GAAevnC,UAAYq4B,GAC3BkP,GAAezjC,aAhBM,CACnBsjC,OAAQ,KACRC,SAAU,MAgBZ,IAAIG,GAA6BthC,EAAwB,QAAE45B,cAAc,CACvE3tB,KAAM,KACNs1B,WAAY,KACZzR,cAAe,OAEb0R,GAAY,WACd,OAAO/nC,EAAMugC,WAAWsH,KA6CtBtO,GAAc,CAChB54B,SAAU6F,EAA4B,QAAEwC,KAAKzB,WAC7CiL,KAAM3N,EAAKH,UAAUorB,OACrBgY,WAAYjjC,EAAKH,UAAUoqB,iBAC3BuH,cAAexxB,EAAKH,UAAU2xB,eAO5BW,GAAiB,SAAwB91B,GAC3C,IAAIsR,EAAOtR,EAAMsR,KACbs1B,EAAa5mC,EAAM4mC,WACnBzR,EAAgBn1B,EAAMm1B,cACtB11B,EAAWO,EAAMP,SAEjBqnC,EAAQD,MAAe,GACvBE,EAAaD,EAAMx1B,KACnB01B,OAA8B,IAAfD,EAAwB,KAAOA,EAC9CE,EAAmBH,EAAMF,WACzBM,OAA0C,IAArBD,EAA8B,KAAOA,EAC1DE,EAAsBL,EAAM3R,cAC5BiS,OAA0C,IAAxBD,EAAiC,KAAOA,EAE1DE,EAAY/1B,GAAQ01B,GAAgB,KAGpCM,GADQD,GAAa,IACFngC,KACnBA,OAAsB,IAAfogC,EAAwB,KAAOA,EAEtC3F,EAAiBhB,IACjB4G,EAAuC,OAAnB5F,EAA0BA,EAAe1zB,cAAc/G,GAAQ,KACnFsgC,EAAkBZ,GAAcW,GAAqBL,EACrDO,EAAqBtS,GAAiBiS,GAAmB,OACzD/jC,EAAQvE,EAAMigB,SAAQ,WACxB,MAAO,CACLzN,KAAM+1B,EACNT,WAAYY,EACZrS,cAAesS,KAEhB,CAACJ,EAAWG,EAAiBC,IAChC,OAAoBpiC,EAAwB,QAAEyB,cAAc6/B,GAAczG,SAAU,CAClF78B,MAAOA,GACN5D,IAELq2B,GAAe32B,UAAYk5B,GAC3BvC,GAAe7yB,aAzCM,CACnBqO,KAAM,KACNs1B,WAAY,KACZzR,cAAe,MAwCjB,IAAIuS,GAAiCriC,EAAwB,QAAE45B,cAAc,CAC3ErQ,OAAQ,KACRC,QAAS,GACTzvB,MAAO,EACPC,OAAQ,EACR66B,WAAW,IAKTzB,GAAc,CAChBh5B,SAAU6F,EAA4B,QAAEwC,KAAKzB,WAC7CiB,KAAM3D,EAAKH,UAAU2yB,YAMnBC,GAAqB,SAA4Br2B,GACnD,IAAIuH,EAAOvH,EAAKuH,KACZ7H,EAAWM,EAAKN,SAEhBS,EAAYpB,EAAMqB,SAASmH,GAC3BlH,EAAaqF,EAAiC,QAAEvF,EAAW,GAC3DynC,EAAcvnC,EAAW,GACzBwnC,EAAUxnC,EAAW,GAErBynC,EAAYF,EAAYvoC,MACxB0oC,EAAaH,EAAYtoC,OACzB0oC,EAAYzgC,EAAKlI,MACjB4oC,EAAa1gC,EAAKjI,OAMtB,OALAP,EAAMiD,WAAU,WACV8lC,IAAcE,GAAaD,IAAeE,GAC5CJ,EAAQtgC,KAET,CAACsgC,EAASG,EAAWC,EAAYH,EAAWC,EAAYxgC,IACvCjC,EAAwB,QAAEyB,cAAc4gC,GAAkBxH,SAAU,CACtF78B,MAAOskC,GACNloC,IAEL22B,GAAmBj3B,UAAYs5B,GAC/BrC,GAAmBnzB,aA3BE,CACnBqE,KAAM,IA4BR,IAAI2gC,GAAc,WAChB,OAAOnpC,EAAMugC,WAAWpB,EAASiK,kBAE/BrO,GAAc,CAChBp6B,SAAU6F,EAA4B,QAAEwC,KAAKzB,WAC7C8hC,UAAWxkC,EAAKH,UAAU4kC,mBAKxBC,GAAmB,SAA0BtoC,GAC/C,IAAIooC,EAAYpoC,EAAKooC,UACjB1oC,EAAWM,EAAKN,SAChB6oC,EAAkBL,MAAiB,KACnCM,EAAazpC,EAAMigB,SAAQ,WAC7B,OAAO,IAAIpb,EAAK6kC,SAAS,CACvBL,UAAWziC,EAAgC,QAAEA,EAAgC,QAAE,GAAwB,OAApB4iC,EAA2BA,EAAgBG,eAAiB,MAAON,OAEvJ,CAACG,EAAiBH,IACrB,OAAoB9iC,EAAwB,QAAEyB,cAAcm3B,EAASyK,kBAAmB,CACtFzK,SAAUsK,GACT9oC,IAEL4oC,GAAiBlpC,UAAY06B,GAC7BwO,GAAiBplC,aAjBI,CACnBklC,UAAW,MAsBb,IAAIQ,GAAe,KAyCfC,GAAkB,GAClBC,GAAuB,CACzBC,GAAI,WACF,OAAOC,QAAQC,UAAU7F,MAAK,WAAc,OAAoBhF,EAAkB,EAAQ,WAE5F8K,GAAI,WACF,OAAOF,QAAQC,UAAU7F,MAAK,WAAc,OAAoBhF,EAAkB,EAAQ,YA2C1FlnB,GAAc,CAAC,WAKfiyB,GAAkB,GAClBC,GAAuB,CACzBC,YAAa,KAEbC,IAAK,WACH,OAAON,QAAQC,UAAU7F,MAAK,WAAc,OAAoBhF,EAAkB,EAAQ,UAE5FmL,IAAK,WACH,OAAOP,QAAQC,UAAU7F,MAAK,WAAc,OAAoBhF,EAAkB,EAAQ,YAmD1FnmB,GAAc,CAAC,WAKfuxB,GAAgB,GAChBC,GAAqB,CACvBC,OAAQ,WACN,OAAOV,QAAQC,UAAU7F,MAAK,WAAc,OAAoBhF,EAAkB,EAAQ,WAE5FuL,SAAU,WACR,OAAOX,QAAQC,UAAU7F,MAAK,WAAc,OAAoBhF,EAAkB,EAAQ,WAE5FwL,UAAW,WACT,OAAOZ,QAAQC,UAAU7F,MAAK,WAAc,OAAoBhF,EAAkB,EAAQ,WAE5FyL,QAAS,WACP,OAAOb,QAAQC,UAAU7F,MAAK,WAAc,OAAoBhF,EAAkB,EAAQ,WAE5F,eAAgB,WACd,OAAO4K,QAAQC,UAAU7F,MAAK,WAAc,OAAoBhF,EAAkB,EAAQ,YAmG1F0L,GAAmC,SAA0Ch4B,GAC/E,OAAOA,EAASi4B,WAAWp+B,KAAI,SAAUoN,GACvC,IAAIswB,EAAcv3B,EAASu3B,YAAYW,MAAK,SAAUC,GACpD,OAAOA,EAAMC,cAAgBnxB,EAAGswB,YAAYc,aACxC,KACFC,EAA0B,OAAhBf,GAAuBA,EAAYe,SAAkB,KACnE,OAAOzkC,EAAgC,QAAEA,EAAgC,QAAE,GAAIoT,GAAK,GAAI,CACtFswB,YAAyB,OAAZe,EAAmB3nC,OAAOqb,KAAKssB,GAASvjB,QAAO,SAAUlb,EAAK0+B,GACzE,IAAIC,EAASF,EAAQC,GAAWL,MAAK,SAAUO,GAC7C,OAAOA,EAASz9B,OAASiM,EAAGjM,QAE9B,OAAkB,OAAXw9B,EAAkB3kC,EAAgC,QAAEA,EAAgC,QAAE,GAAIgG,GAAM,GAAIvG,EAAkC,QAAE,GAAIilC,EAAWC,IAAW3+B,IACxK,MAAQ,UAEZqV,QAAO,SAAUjI,GAClB,OAA0B,OAAnBA,EAAGswB,eACT19B,KAAI,SAAUoN,GACf,OAvCiB,SAAwBA,GAE3C,IAAI5R,EAAO4R,EAAGxH,KAAKpK,KAAK0G,MAAM,KAAK,GAC/BwZ,EAAYtO,EAAGswB,YAAY,GAAGj/B,OAAOjD,EAAM,gBAAkB,KAC7DqjC,EAAWzxB,EAAGswB,YAAY,GAAGj/B,OAAOjD,EAAM,eAAiB,KAC/D,MAAO,CACL+hB,OAAQnQ,EAAG1K,GACXlH,KAAMA,EACN2F,KAAMiM,EAAG0xB,KAAK39B,KACdkc,KAAMjQ,EAAGxH,KAAKpK,KACdI,KAAMwR,EAAGxH,KAAKhK,KACduQ,IAAkB,OAAb0yB,EAAoBA,EAASE,SAAWF,EAAS1yB,IAAM,KAC5DsR,cAA6B,OAAd/B,EAAqBA,EAAUqjB,SAAWrjB,EAAUvP,IAAM,KACzEuR,SAAU1jB,EAAgC,QAAEA,EAAgC,QAAEA,EAAgC,QAAE,GAAiB,OAAb6kC,GAAoBA,EAASC,MAAe,MAAO1xB,EAAG0xB,KAAKE,MAAO,CACpLA,KAAM5xB,EAAG0xB,KAAKE,OACJ,MAAO,GAAI,CACrB5hB,SAAUhQ,EAAG0xB,KAAK1hB,SAClBsgB,YAAatwB,EAAGswB,YAAYe,SAAW,QAsBlCQ,CAAe7xB,OAItBY,GAAY,CAAC,WACb/M,GAAa,CAAC,MAAO,aAAc,mBACnCi+B,GAA2BvlC,EAAwB,QAAE45B,cAAc,MAgGnEzD,GAAc,CAChB/7B,SAAU6F,EAA4B,QAAEwC,KAAKzB,WAC7CwkC,UAAWvlC,EAA4B,QAAE0C,MAAM,CAAC,MAAO,cAAe,QACtE4f,OAAQtiB,EAA4B,QAAE6B,OACtCqZ,QAASlb,EAA4B,QAAE0O,QAAQ1O,EAA4B,QAAE0C,MAAM,CAAC,SAAU,WAAY,YAAa,UAAW,kBAClIohC,YAAa9jC,EAA4B,QAAE0D,MAAM,CAC/CoD,IAAK9G,EAA4B,QAAE6B,OAAOd,WAC1CykC,WAAYxlC,EAA4B,QAAE6B,OAC1C4jC,gBAAiBzlC,EAA4B,QAAEiB,OAEjDykC,UAAW1lC,EAA4B,QAAE0D,MAAM,CAC7C6O,IAAKvS,EAA4B,QAAE6B,OAAOd,WAC1C4kC,aAAc3lC,EAA4B,QAAE6B,OAAOd,aAErDgjC,IAAK/jC,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE6B,OAAQ7B,EAA4B,QAAE0D,MAAM,CACtHkiC,SAAU5lC,EAA4B,QAAE6B,OAAOd,eAEjDijC,IAAKhkC,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE6B,OAAQ7B,EAA4B,QAAE0D,MAAM,CACtHkiC,SAAU5lC,EAA4B,QAAE6B,OAAOd,gBAY/C8kC,GAAe,SAAsBnrC,GACvC,IAnaIE,EAGAE,EACAgrC,EACAC,EA8ZA5rC,EAAWO,EAAMP,SACjB6rC,EAAoBtrC,EAAM6qC,UAC1BU,EAAiBvrC,EAAM4nB,OACvB4jB,EAAkBxrC,EAAMwgB,QACxBirB,EAAsBzrC,EAAMopC,YAC5BsC,EAAoB1rC,EAAMgrC,UAC1BW,EAAc3rC,EAAMqpC,IACpBuC,EAAc5rC,EAAMspC,IAGpBuC,EADWjoC,EAAUkoC,UACClkB,OAEtBkf,EAAQhoC,EAAMugC,WAAWuL,KAAgB,GACzCmB,EAAkBjF,EAAM+D,UACxBmB,OAAuC,IAApBD,EAA6B,KAAOA,EACvDE,EAAenF,EAAMlf,OACrBskB,OAAiC,IAAjBD,EAA0B,KAAOA,EACjDE,EAAgBrF,EAAMtmB,QACtB4rB,OAAmC,IAAlBD,EAA2B,KAAOA,EACnDE,EAAoBvF,EAAMsC,YAC1BkD,OAA2C,IAAtBD,EAA+B,KAAOA,EAC3DE,EAAkBzF,EAAMkE,UACxBwB,OAAuC,IAApBD,EAA6B,KAAOA,EACvDE,EAAY3F,EAAMuC,IAClBqD,OAA2B,IAAdD,EAAuB,KAAOA,EAC3CE,EAAY7F,EAAMwC,IAGlBuB,EAAYS,GAAqBU,GAAoB,MACrDpkB,EAAS2jB,GAAkBW,GAAiBL,EAC5CrrB,EAAUgrB,GAAmBY,GAAkB,CAAC,SAAU,WAAY,YAAa,UAAW,gBAC9FhD,EAAcqC,GAAuBa,EACrCtB,EAAYU,GAAqBc,EACjCnD,EAAMsC,GAAee,EACrBpD,EAAMsC,SARqB,IAAde,EAAuB,KAAOA,GAS3CC,GAtcA1sC,EAAYpB,EAAMqB,SAAS,CAC7B,QAAWwoC,KAETvoC,EAAaqF,EAAiC,QAAEvF,EAAW,GAC3DkrC,EAAgBhrC,EAAW,GAAY,QACvCirC,EAAmBjrC,EAAW,GAElCtB,EAAMiD,WAAU,WACd,IAAIkhC,GAAW,EAEf,OAAsB,OAAlBmI,GAMJrC,QAAQC,UAAU7F,MAAK,WAAc,OAAoBhF,EAAkB,EAAQ,UAAmBgF,MAAK,SAAUpjC,GACnH,IAAI6sC,EAAO7sC,EAAK6sC,KAChBjE,GAAeiE,EAEV3J,GACHoI,EAAiB,CACf,QAAWuB,OAXR,WACL3J,GAAW,KAiBd,CAACmI,EAAeC,IACZD,GAyaHyB,EAhWiB,SAA0BhC,GAC/C,IACIiC,GADOt6B,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,IACnDu6B,YACxBA,OAAmC,IAArBD,EAA8B3D,GAAuB2D,EAGnE5sC,EAAYpB,EAAMqB,SAAS,CAC7B,QAAW+oC,GAAgB2B,IAAc,OAEvCzqC,EAAaqF,EAAiC,QAAEvF,EAAW,GAC3DkrC,EAAgBhrC,EAAW,GAAY,QACvCirC,EAAmBjrC,EAAW,GAE9B4sC,EAAgBD,EAAYlC,IAAc,KA+B9C,OA9BA/rC,EAAMiD,WAAU,WACd,IAAIkhC,GAAW,EAEf,OAAsB,OAAlBmI,GAA4C,OAAlB4B,GAM9BA,IAAgB7J,MAAK,SAAUt1B,GAC7B,IAAIo/B,EAAOp/B,EAAe,QACtBq/B,EAAS9nC,EAA2C,QAAEyI,EAAOoJ,IAE7Dk2B,EAAM3qC,OAAOqb,KAAKqvB,GAAQtmB,QAAO,SAAUlb,EAAKU,GAGlD,OAFAV,EAAIU,GAAO8gC,EAAO9gC,GAEXV,IACNuhC,GACH/D,GAAgB2B,GAAasC,EAExBlK,GACHoI,EAAiB,CACf,QAAW8B,OAlBR,WACLlK,GAAW,KAwBd,CAAC+J,EAAe5B,EAAeC,IAC3BD,EAoTagC,CAAiBvC,GACjCwC,EA1Re,SAAwB7sB,GAC3C,IACIssB,GADOt6B,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,IACnDu6B,YACxBA,OAAmC,IAArBD,EAA8BtD,GAAqBsD,EAGjE5sC,EAAYpB,EAAMqB,SAAS,CAC7BmtC,SAAU9sB,EAAQoG,QAAO,SAAUlb,EAAK6hC,GACtC,IAAIC,EAAgBjE,GAAcgE,IAAW,KAE7C,OAAsB,OAAlBC,EACK9hC,EAGFhG,EAAgC,QAAEA,EAAgC,QAAE,GAAIgG,GAAM,GAAIvG,EAAkC,QAAE,GAAIooC,EAAQC,MACxI,QAEDptC,EAAaqF,EAAiC,QAAEvF,EAAW,GAC3DutC,EAAiBrtC,EAAW,GAAGktC,SAC/BI,EAAoBttC,EAAW,GAE/ButC,EAAgB7uC,EAAMigB,SAAQ,WAChC,GAAuB,OAAnB0uB,EACF,OAAOjtB,EAGT,IAAIotB,EAAgBprC,OAAOqb,KAAK4vB,GAChC,OAAOjtB,EAAQO,QAAO,SAAUwsB,GAC9B,OAA0C,IAAnCK,EAAclwB,QAAQ6vB,QAE9B,CAAC/sB,EAASitB,IAwCb,OAvCA3uC,EAAMiD,WAAU,WACd,IAAIkhC,GAAW,EAEf,OAA6B,IAAzB0K,EAAcl7B,QAMlBs2B,QAAQ8E,IAAIF,EAAcjiC,KAAI,SAAU6hC,GACtC,OAAOR,EAAYQ,IAAW,QAC7BxsB,QAAO,SAAUjI,GAClB,OAAc,OAAPA,KACNpN,KAAI,SAAUoiC,GACf,OAAOA,QACL3K,MAAK,SAAU4K,GACjB,IAAIC,EAAoBL,EAAc/mB,QAAO,SAAUlb,EAAK6hC,EAAQ3hC,GAClE,IAAIqiC,EAAwBF,EAAeniC,GACvCqhC,EAAOgB,EAA+B,QACtCf,EAAS9nC,EAA2C,QAAE6oC,EAAuBj2B,IAEjF,OAAOtS,EAAgC,QAAEA,EAAgC,QAAE,GAAIgG,GAAM,GAAIvG,EAAkC,QAAE,GAAIooC,EAAQ/qC,OAAOqb,KAAKqvB,GAAQtmB,QAAO,SAAUsnB,EAAU9hC,GAGtL,OAFA8hC,EAAS9hC,GAAO8gC,EAAO9gC,GAEhB8hC,IACNjB,OACF,IACH1D,GAAgB7jC,EAAgC,QAAEA,EAAgC,QAAE,GAAI6jC,IAAgByE,GAEnG/K,GACHyK,EAAkB,CAChBJ,SAAUU,OA3BP,WACL/K,GAAW,KAiCd,CAAC0K,EAAeZ,EAAaU,EAAgBC,IAChB,IAAzBC,EAAcl7B,OAAeg7B,EAAiB,KAoNnCU,CAAe3tB,GAC7B4tB,EA1Zc,SAAuBxmB,GACzC,IACIklB,GADOt6B,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,IACnDu6B,YACxBA,OAAmC,IAArBD,EAA8BjE,GAAuBiE,EAEnE5sC,EAAYpB,EAAMqB,SAAS,CAC7B,QAAWyoC,GAAgBhhB,IAAW,OAEpCxnB,EAAaqF,EAAiC,QAAEvF,EAAW,GAC3DkrC,EAAgBhrC,EAAW,GAAY,QACvCirC,EAAmBjrC,EAAW,GAE9B4sC,EAAgBD,EAAYnlB,IAAW,KAwB3C,OAvBA9oB,EAAMiD,WAAU,WACd,IAAIkhC,GAAW,EAEf,OAAsB,OAAlBmI,GAA4C,OAAlB4B,GAM9BA,IAAgB7J,MAAK,SAAUt1B,GAC7B,IAAIs/B,EAAMt/B,EAAe,QAGpBo1B,GACHoI,EAAiB,CACf,QAAW8B,OAXR,WACLlK,GAAW,KAiBd,CAAC+J,EAAe5B,EAAeC,IAC3BD,EAsXUiD,CAAczmB,GAAUikB,GACrCyC,EAAYxvC,EAAMigB,SAAQ,WAC5B,OAAa,OAAT6tB,GAAgC,OAAfwB,GAAyC,OAAlBvB,GAA0C,OAAhBQ,EAC7D,KAGF,WACL,IAAIkB,EAAO/7B,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAE3ErJ,EAAQolC,GAAQ,GAChBC,EAAgBrlC,EAAMqX,QACtBiuB,OAAkC,IAAlBD,EAA2BhuB,EAAUguB,EACrDE,EAAWtpC,EAA2C,QAAE+D,EAAOuQ,IAE/Di1B,EAAU,IAAI/B,EAAKlnC,EAAgC,QAAE,CACvDkiB,OAAQwmB,GACPM,IAEH,GAAkB,gBAAd7D,EAA6B,CAC/B,IAAIz+B,EAAMg9B,EAAYh9B,IAClB0+B,EAAa1B,EAAY0B,WACzB8D,EAAwBxF,EAAY2B,gBACpCA,OAA4C,IAA1B6D,GAA0CA,EAC5DC,EAAkBzpC,EAA2C,QAAEgkC,EAAaz8B,IAEhFgiC,EAAQG,IAAIjC,EAAe,CACzBkC,OAAQrpC,EAAgC,QAAE,CACxCspC,KAAM,CACJ5iC,IAAKA,GAEP6iC,YAAanE,GACZ+D,GACH9D,gBAAiBA,QAEI,QAAdF,EACT8D,EAAQG,IAAIjC,EAAennC,EAAgC,QAAE,CAC3DwlC,SAAU,OACVgE,QAAQ,EACRC,YAAa,CAAC,EAAG,IAAM,IAAM,MAC5B9F,IACoB,QAAdwB,GACT8D,EAAQG,IAAIjC,EAAennC,EAAgC,QAAE,CAC3DwlC,SAAUjlC,EAA2B,QAAEqjC,GAAOA,EAAM,WACnDtjC,EAA2B,QAAEsjC,GAAOA,EAAM,OAG/C,MAAkB,gBAAduB,GAA6C,OAAdG,EAC1ByD,EAAc7nB,QAAO,SAAUwoB,EAAaC,GACjD,IAAI9B,EAASF,EAAYgC,IAAa,KAEtC,GAAe,OAAX9B,EACF,OAAO6B,EAGT,IAAIhmC,EAAQ4hC,GAAa,CACvBnzB,IAAKg1B,EAAcyC,WAAa,KAChCrE,aAAc4B,EAAc0C,mBAAqB,MAE/CC,EAAepmC,EAAMyO,IACrB43B,EAAwBrmC,EAAM6hC,aAElC,OAAO0D,EAAQG,IAAIvB,EAAQ,CACzBn/B,GAAIihC,EACJG,aAAcA,EACdC,sBAAuBA,MAExBd,GAGEA,KAER,CAAC/B,EAAMwB,EAAYvB,EAAeQ,EAAaxC,EAAWrqB,EAAS4oB,EAAa4B,EAAW3B,EAAKC,IACnG,OAAoBjkC,EAAwB,QAAEyB,cAAc8jC,GAAY1K,SAAU,CAChF78B,MAAO,CACLwnC,UAAWA,EACXjjB,OAAQA,EACRpH,QAASA,EACT4oB,YAAaA,EACb4B,UAAWA,EACX3B,IAAKA,EACLC,IAAKA,EACLsD,KAAMA,EACNC,cAAeA,EACfQ,YAAaA,EACbe,WAAYA,EACZE,UAAWA,IAEZ7uC,IAEL0rC,GAAahsC,UAAYq8B,GACzB2P,GAAaloC,aA1IQ,CACnB4nC,UAAW,KACXjjB,OAAQ,KACRpH,QAAS,KACT4oB,YAAa,KACb4B,UAAW,KACX3B,IAAK,KACLC,IAAK,MAqIP,IAAIoG,GAAiB,CACnBC,gBAAgB,GAEdC,GAAsCvqC,EAAwB,QAAE45B,cAAcyQ,IAI9ExT,GAAc,CAChBz8B,SAAU6F,EAA4B,QAAEwC,KAAKzB,YAG3CwpC,GAA0B,SAAiC9vC,GAC7D,IAAIN,EAAWM,EAAKN,SAEhBS,EAAYpB,EAAMqB,UAAS,GAC3BC,EAAaqF,EAAiC,QAAEvF,EAAW,GAC3DyvC,EAAiBvvC,EAAW,GAC5B0vC,EAAoB1vC,EAAW,GAyBnC,OAvBAtB,EAAMiD,WAAU,WACd,GAAI4tC,EACF,OAAO,aAGT,IAAII,GAAS,EAETC,EAAM,WACHD,IACHD,GAAkB,GAClBC,GAAS,IAOb,OAHA1xC,SAAS4xC,iBAAiB,UAAWD,GACrC3xC,SAAS4xC,iBAAiB,WAAYD,GACtC3xC,SAAS4xC,iBAAiB,YAAaD,GAChC,WACL3xC,SAAS6xC,oBAAoB,UAAWF,GACxC3xC,SAAS6xC,oBAAoB,WAAYF,GACzC3xC,SAAS6xC,oBAAoB,YAAaF,MAE3C,CAACL,EAAgBG,IACAzqC,EAAwB,QAAEyB,cAAc8oC,GAAuB1P,SAAU,CAC3F78B,MAAO,CACLssC,eAAgBA,EAChBG,kBAAmBA,IAEpBrwC,IAELowC,GAAwB1wC,UAAY+8B,GACpC2T,GAAwB5sC,aAxCH,GA0CrB,IAAIktC,GAAe,CACjB5zB,aAAa,EACb6zB,SAAU,GAERC,GAA6BhrC,EAAwB,QAAE45B,cAAckR,IAIrEhxC,GAAY,CACdM,SAAU6F,EAA4B,QAAEwC,KAAKzB,WAC7CkW,YAAajX,EAA4B,QAAEiB,KAC3C6pC,SAAU9qC,EAA4B,QAAE4X,QAGtCja,GAAeyC,EAAgC,QAAE,GAAIyqC,IAErDG,GAAiB,SAAwBvwC,GAC3C,IAAIN,EAAWM,EAAKN,SAChB8c,EAAcxc,EAAKwc,YACnB6zB,EAAWrwC,EAAKqwC,SAChB/sC,EAAQvE,EAAMigB,SAAQ,WACxB,MAAO,CACLxC,YAAaA,EACb6zB,SAAUA,KAEX,CAAC7zB,EAAa6zB,IACjB,OAAoB/qC,EAAwB,QAAEyB,cAAcupC,GAAcnQ,SAAU,CAClF78B,MAAOA,GACN5D,IAEL6wC,GAAenxC,UAAYA,GAC3BmxC,GAAertC,aAAeA,GAE9BT,OAAOW,eAAeC,EAAS,kBAA/B,CACIq7B,YAAY,EACZp6B,IAAK,WAAc,OAAO45B,EAASiK,mBAEvC9kC,EAAQ47B,kBAAoBA,EAC5B57B,EAAQ28B,mBAAqBA,EAC7B38B,EAAQ27B,mBAAqBA,EAC7B37B,EAAQo+B,cAAgBA,GACxBp+B,EAAQs+B,eAAiBA,GACzBt+B,EAAQw7B,iBAAmBA,EAC3Bx7B,EAAQy7B,gBAAkBA,EAC1Bz7B,EAAQ6+B,aAAeA,GACvB7+B,EAAQ+L,qBAAuBA,GAC/B/L,EAAQ+8B,cAAgBA,EACxB/8B,EAAQk9B,eAAiBA,EACzBl9B,EAAQm/B,aAAeA,GACvBn/B,EAAQ4gC,cAAgBA,GACxB5gC,EAAQmhC,uBAAyBA,GACjCnhC,EAAQohC,wBAA0BA,GAClCphC,EAAQ8+B,kBAAoBA,GAC5B9+B,EAAQi/B,mBAAqBA,GAC7Bj/B,EAAQ0hC,wBAA0BA,GAClC1hC,EAAQ6hC,yBAA2BA,GACnC7hC,EAAQu7B,iBAAmBA,EAC3Bv7B,EAAQiiC,cAAgBA,GACxBjiC,EAAQkiC,eAAiBA,GACzBliC,EAAQ0iC,cAAgBA,GACxB1iC,EAAQ2iC,eAAiBA,GACzB3iC,EAAQgjC,cAAgBA,GACxBhjC,EAAQsjC,eAAiBA,GACzBtjC,EAAQ07B,kBAAoBA,EAC5B17B,EAAQujC,cAAgBA,GACxBvjC,EAAQ0yB,eAAiBA,GACzB1yB,EAAQskC,kBAAoBA,GAC5BtkC,EAAQgzB,mBAAqBA,GAC7BhzB,EAAQq9B,eAAiBA,EACzBr9B,EAAQy9B,gBAAkBA,EAC1Bz9B,EAAQg+B,aAAeA,EACvBh+B,EAAQm+B,cAAgBA,GACxBn+B,EAAQilC,iBAAmBA,GAC3BjlC,EAAQwnC,YAAcA,GACtBxnC,EAAQ+nC,aAAeA,GACvB/nC,EAAQwsC,uBAAyBA,GACjCxsC,EAAQysC,wBAA0BA,GAClCzsC,EAAQitC,cAAgBA,GACxBjtC,EAAQktC,eAAiBA,GACzBltC,EAAQu8B,aAAeA,EACvBv8B,EAAQq8B,cAAgBA,EACxBr8B,EAAQ87B,qBAAuBA,EAC/B97B,EAAQq+B,UAAYA,GACpBr+B,EAAQmtC,oBAtlDkB,SAA6B1jC,GACrD,IAAI+yB,EAAmBptB,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC3F,OAAOmtB,EAAa9yB,EAAM+yB,EAAkBb,IAqlD9C37B,EAAQotC,sBA3lDoB,WAC1B,IAAI9Q,EAAoBltB,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC5F,OAAOitB,EAAcV,EAAoBW,IA0lD3Ct8B,EAAQqtC,6BA/lD2B,WACjC,OAAOvR,EAAqBH,IA+lD9B37B,EAAQoL,kBArpDgB,SAA2B3B,GACjD,IAAI+yB,EAAmBptB,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC3F,OAAOmtB,EAAa9yB,EAAM+yB,EAAkBhB,IAopD9Cx7B,EAAQstC,gBA34Cc,WACpB,OAAO5xC,EAAMugC,WAAW4C,KA24C1B7+B,EAAQutC,mBApjDiB,SAA4BviC,GAEnD,OADcX,IACCQ,cAAcG,IAmjD/BhL,EAAQwtC,oBA5pDkB,WACxB,IAAIlR,EAAoBltB,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC5F,OAAOitB,EAAcb,EAAkBc,IA2pDzCt8B,EAAQytC,2BAhqDyB,WAC/B,OAAO3R,EAAqBN,IAgqD9Bx7B,EAAQqK,iBAAmBA,EAC3BrK,EAAQogC,SAAWA,GACnBpgC,EAAQ0tC,iBA9nDe,SAA0BjkC,GAC/C,IAAI+yB,EAAmBptB,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC3F,OAAOmtB,EAAa9yB,EAAM+yB,EAAkBf,IA6nD9Cz7B,EAAQ2tC,mBAnoDiB,WACvB,IAAIrR,EAAoBltB,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC5F,OAAOitB,EAAcZ,EAAiBa,IAkoDxCt8B,EAAQ4tC,0BAvoDwB,WAC9B,OAAO9R,EAAqBL,IAuoD9Bz7B,EAAQ6tC,aA77CW,WACjB,IACIC,GADOzP,MAAe,IACAO,UAK1B,YAJmC,IAAnBkP,EAA4B,WAC1C,MAAO,IACLA,GAy7CN9tC,EAAQ+tC,mBAjuCiB,WACvB,OAAOryC,EAAMugC,WAAWkF,KAiuC1BnhC,EAAQu/B,eAAiBA,GACzBv/B,EAAQg/B,cAAgBA,GACxBh/B,EAAQ2hC,oBAAsBA,GAC9B3hC,EAAQguC,kBAvnDgB,SAA2BvkC,GACjD,IAAI+yB,EAAmBptB,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC3F,OAAOmtB,EAAa9yB,EAAM+yB,EAAkBjB,IAsnD9Cv7B,EAAQkc,UAzmCQ,WACd,OAAOxgB,EAAMugC,WAAWgG,KAAkB,IAymC5CjiC,EAAQiuC,oBA7nDkB,WACxB,IAAI3R,EAAoBltB,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC5F,OAAOitB,EAAcd,EAAkBe,IA4nDzCt8B,EAAQkuC,2BAjoDyB,WAC/B,OAAOpS,EAAqBP,IAioD9Bv7B,EAAQ+e,UAphCQ,WACd,OAAOrjB,EAAMugC,WAAWyG,KAAkB,IAohC5C1iC,EAAQmuC,aAp5BW,WACjB,IAAI15B,EAAMwuB,KACNmL,EAAUxT,EAAYyT,aAI1B,OAHW3yC,EAAM6P,aAAY,WAC3B,OAAO6iC,EAAQE,WACd,CAACF,EAAS35B,KAg5BfzU,EAAQuuC,aA96BW,WACjB,IAAI95B,EAAMwuB,KACNmL,EAAUxT,EAAYyT,aACtBhqB,EAAO3oB,EAAM6P,aAAY,SAAUijC,EAAOtgC,GAC5C,IAAK,IAAIugC,EAAOr/B,UAAUC,OAAQq/B,EAAO,IAAIl0B,MAAMi0B,EAAO,EAAIA,EAAO,EAAI,GAAIE,EAAO,EAAGA,EAAOF,EAAME,IAClGD,EAAKC,EAAO,GAAKv/B,UAAUu/B,GAG7B,GAAI9rC,EAA2B,QAAE2rC,GAC/BJ,EAAQ/pB,KAAKuqB,MAAMR,EAAS,CAAC35B,EAAI+5B,EAAOtgC,IAAOnH,OAAO2nC,QACjD,CACL,IAAI/xC,EAAO6xC,GAAS,GAChBK,EAAgBlyC,EAAK2nB,SACrBA,OAA6B,IAAlBuqB,EAA2B,KAAOA,EAC7CC,EAAcnyC,EAAK4nB,OACnBA,OAAyB,IAAhBuqB,EAAyB,KAAOA,EAE7CV,EAAQ/pB,KAAKuqB,MAAMR,EAAS,CAAC,CAC3B9pB,SAAU7P,EAAI6P,EAAUpW,GACxBqW,OAAQA,IACPxd,OAAO2nC,OAEX,CAACN,EAAS35B,IACb,OAAO4P,GAw5BTrkB,EAAQ+uC,UAh8BQ,WAId,OAHkBrzC,EAAMugC,WAAW+G,IACVG,QA+7B3BnjC,EAAQyjC,UAAYA,GACpBzjC,EAAQwyB,mBA9pDiB,SAA4B/oB,GACnD,IAAI+yB,EAAmBptB,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC3F,OAAOmtB,EAAa9yB,EAAM+yB,EAAkBd,IA6pD9C17B,EAAQgvC,cAj2BY,WAIlB,OAHYvL,MAAe,IACVv1B,MAg2BnBlO,EAAQivC,oBAl3BkB,WACxB,IAAIC,EAAO1uC,EAAUkoC,UAGjBlF,GADOC,MAAe,IACJD,WAGlB15B,GADQ05B,GAAc,IACP15B,OAEfqlC,EAAczzC,EAAMigB,SAAQ,WAC9B,MAAO,GAAG5U,OAAO3E,EAAqC,QAAE0H,GAAS,CAACrJ,EAAM2uC,oBAAoBF,OAC3F,CAACplC,IACJ,OAAOxH,EAAgC,QAAEA,EAAgC,QAAE,GAAIkhC,GAAa,GAAI,CAC9F15B,OAAQqlC,KAs2BZnvC,EAAQ60B,uBA71BqB,WAC3B,IACIwa,GADQ5L,MAAe,IACK1R,cAC5BA,OAAwC,IAAxBsd,EAAiC,OAASA,EAM1DC,EAA6B,WAAlBvd,EACXwd,EAA8B,YAAlBxd,EAChB,MAAO,CACLA,cAAeA,EACf9P,cARoC,gBAAlB8P,EASlBgD,UARgC,YAAlBhD,EASd+C,OAR6B,SAAlB/C,EASXyd,OAR6B,SAAlBzd,GAQOud,GAAYC,EAC9BD,SAAUA,EACVC,UAAWA,IA40BfvvC,EAAQ62B,cAjxBY,WAClB,OAAOn7B,EAAMugC,WAAWqI,KAixB1BtkC,EAAQyvC,qBAvqDmB,WACzB,IAAInT,EAAoBltB,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC5F,OAAOitB,EAAcX,EAAmBY,IAsqD1Ct8B,EAAQ0vC,4BA3qD0B,WAChC,OAAO5T,EAAqBJ,IA2qD9B17B,EAAQu9B,kBAAoBA,EAC5Bv9B,EAAQk+B,SAAWA,GACnBl+B,EAAQi+B,gBAAkBA,EAC1Bj+B,EAAQ6kC,YAAcA,GACtB7kC,EAAQ6d,QA7aM,WACZ,IAAIlhB,EAAOyS,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC3EugC,EAAkBhzC,EAAKoQ,WACvBA,OAAiC,IAApB4iC,EAA6B,KAAOA,EACjDC,EAAcjzC,EAAKkzC,OACnBA,OAAyB,IAAhBD,EAAyB,KAAOA,EACzCE,EAAmBnzC,EAAKozC,YACxBA,OAAmC,IAArBD,EAA8B,SAAUrlC,GACxD,IAAIulC,EAAkBvlC,EAAMwlC,UACxBA,OAAgC,IAApBD,EAA6B,KAAOA,EACpD,MAAO,GAAGjpC,OAAO+zB,EAAKoV,MAAMnpC,OAAqB,OAAdkpC,EAAqB,IAAIlpC,OAAOkpC,GAAa,KAC9EH,EACAK,EAAYxzC,EAAKyqC,KACjBA,OAAqB,IAAd+I,EAAuB,KAAOA,EACrCC,EAAwBzzC,EAAK0zC,iBAC7BA,OAA6C,IAA1BD,EAAmC,GAAKA,EAC3DE,EAAwB3zC,EAAKmhB,iBAC7BA,OAA6C,IAA1BwyB,EAAmC,KAAOA,EAC7DC,EAAmB5zC,EAAK6zC,YACxBA,OAAmC,IAArBD,GAAsCA,EAEpD3lC,EAAQlP,EAAMugC,WAAWuL,KAAgB,KACzC0D,EAAYtgC,EAAMsgC,UAClBzD,EAAY78B,EAAM68B,UAElB7pB,EAAOliB,EAAMigB,SAAQ,WACvB,OAAqB,OAAduvB,EAAqBA,EAAU,CACpC9D,KAAMA,EACNqJ,aAAc,CACZJ,iBAAkBA,EAClBvyB,iBAAkBA,GAEpB0yB,YAAaA,IACV,OACJ,CAACtF,EAAW9D,EAAMiJ,EAAkBvyB,EAAkB0yB,IA2DzD,OA1DA90C,EAAMiD,WAAU,WACd,GAAa,OAATif,EACF,OAAO,aAGT,IAAI8yB,EAAiB,SAAwBjiC,GAC3C,IAAIkiC,EAAuBliC,EAASi4B,WAChCA,OAAsC,IAAzBiK,EAAkC,GAAKA,EACpDC,EAAmBniC,EAASoiC,OAC5BA,OAA8B,IAArBD,EAA8B,KAAOA,EAC9CE,EAAgC,gBAAdrJ,EAA8BhB,GAAiCh4B,GAAYi4B,EAE9E,OAAf35B,GACFA,EAAW+jC,GAGE,OAAXjB,GACFA,EAAOgB,IAKX,OADAjzB,EAAKkgB,GAAG,WAAY4S,GACb,WACL9yB,EAAKmgB,IAAI,WAAY2S,MAEtB,CAAC9yB,EAAM6pB,EAAW16B,IACrBrR,EAAMiD,WAAU,WACd,GAAa,OAATif,EACF,OAAO,aAGT,IAAImzB,EAAW,SAAkB3yC,GAC/B,IAAI4yC,EAAgB5yC,EAAM6yC,cACE,IAAlBD,EAA2B,GAAKA,GACtC9Z,SAAQ,SAAUlsB,GACpB,IAAI4Y,EAAOhG,EAAKszB,QAAQlmC,GACpBmmC,EAAUpB,EAAYnsB,GAEV,OAAZutB,GACFvzB,EAAKwzB,YAAYpmC,EAAI,CACnBvB,KAAM0nC,QAOd,OADAvzB,EAAKkgB,GAAG,SAAUiT,GACX,WACLnzB,EAAKmgB,IAAI,SAAUgT,MAEpB,CAACnzB,IACJliB,EAAMiD,WAAU,WACd,OAAO,WACQ,OAATif,GACFA,EAAKyzB,WAGR,CAACzzB,IACGA,GAiVT5d,EAAQijC,gBAAkBA,GAC1BjjC,EAAQsxC,kBA3KgB,WACtB,OAAO51C,EAAMugC,WAAWuQ,IAAwBD,gBA2KlDvsC,EAAQuxC,UAvHQ,WACd,OAAO71C,EAAMugC,WAAWgR,KAuH1BjtC,EAAQwxC,oBA1vCkB,SAA6BC,GACrD,IAA6C90C,EACvC+0C,EACAC,EACAC,EAKFC,EAA+B,SAAsCt2C,GACvE,OAAoB0G,EAAwB,QAAEyB,cAAcy9B,GAAuB2Q,SAAU,MAAM,SAAUzQ,GAC3G,OAAoBp/B,EAAwB,QAAEyB,cAAc+tC,EAAkBryC,OAAOC,OAAO,CAC1F0yC,gBAAiB1Q,GAChB9lC,QAKP,OADAs2C,EAA6BF,YAAc,uBAAuB5qC,QAd5D4qC,OAAmC,KADnCD,GADuC/0C,EAgB2C80C,GAf1DE,aACoB,KAAOD,EACnDE,EAAYj1C,EAAK8M,KAEdkoC,SADkB,IAAdC,EAAuB,KAAOA,IACX,aAW2E,KACpGC,GAyuCT7xC,EAAQgyC,qBAlsCmB,SAA8BP,GACvD,IAA6C90C,EACvC+0C,EACAC,EACAC,EAKFK,EAAgC,SAAuC12C,GACzE,OAAoB0G,EAAwB,QAAEyB,cAAcg+B,GAAwBoQ,SAAU,MAAM,SAAUzQ,GAC5G,OAAoBp/B,EAAwB,QAAEyB,cAAc+tC,EAAkBryC,OAAOC,OAAO,CAC1F0yC,gBAAiB1Q,GAChB9lC,QAKP,OADA02C,EAA8BN,YAAc,wBAAwB5qC,QAd9D4qC,OAAmC,KADnCD,GADuC/0C,EAgB6C80C,GAf5DE,aACoB,KAAOD,EACnDE,EAAYj1C,EAAK8M,KAEdkoC,SADkB,IAAdC,EAAuB,KAAOA,IACX,aAW6E,KACtGK,GAirCTjyC,EAAQqb,WA/nCS,SAAoBo2B,GACnC,IAAIS,EAAsB,SAA6B32C,GACrD,OAAoB0G,EAAwB,QAAEyB,cAAcu+B,GAAc6P,SAAU,MAAM,SAAUn1C,GAClG,IAAIqe,EAASre,EAAKqe,OACdhc,EAAYrC,EAAKqC,UACjBojC,EAAezlC,EAAKylC,aACpB7mB,EAAW5e,EAAK4e,SAChBC,EAAa7e,EAAK6e,WACtB,OAAoBvZ,EAAwB,QAAEyB,cAAc+tC,EAAkBryC,OAAOC,OAAO,CAC1F8yC,gBAAiBnzC,EACjBic,mBAAoBmnB,EACpBpnB,OAAQA,EACRo3B,cAAe72B,EACf82B,gBAAiB72B,GAChBjgB,QAKP,OADA22C,EAAoBP,YAAc,cAAc5qC,OAAOtG,EAAMgc,eAAeg1B,GAAmB,KACxFS,GA6mCTlyC,EAAQ2e,WAxiCS,SAAoB8yB,GACnC,IAAIa,EAAsB,SAA6B/2C,GACrD,OAAoB0G,EAAwB,QAAEyB,cAAcg/B,GAAcoP,SAAU,MAAM,SAAUn1C,GAClG,IAAI2hB,EAAS3hB,EAAK2hB,OACd8jB,EAAezlC,EAAKylC,aACpBpjC,EAAYrC,EAAKqC,UACjBuc,EAAW5e,EAAK4e,SAChBC,EAAa7e,EAAK6e,WACtB,OAAoBvZ,EAAwB,QAAEyB,cAAc+tC,EAAkBryC,OAAOC,OAAO,CAC1FkzC,gBAAiBvzC,EACjBuf,mBAAoB6jB,EACpB9jB,OAAQA,EACRk0B,cAAej3B,EACfk3B,gBAAiBj3B,GAChBjgB,QAKP,OADA+2C,EAAoBX,YAAc,cAAc5qC,OAAOtG,EAAMgc,eAAeg1B,GAAmB,KACxFa,I,kCC9wBTlzC,OAAOW,eAAeC,EAAS,aAA/B,CAA+CC,OAAO,IAEtD,IAAImB,EAAQ,EAAQ,MAChBJ,EAAgB,EAAQ,KACxBR,EAAY,EAAQ,MACpBiB,EAAW,EAAQ,MACnBJ,EAAQ,EAAQ,MAChBd,EAAO,EAAQ,MACfE,EAAQ,EAAQ,MAChBN,EAA2B,EAAQ,MACnCuyC,EAAQ,EAAQ,MAChBxyC,EAAkB,EAAQ,MAC1BG,EAAa,EAAQ,MACrBQ,EAAiB,EAAQ,MACzB8xC,EAAa,EAAQ,MACrB/xC,EAAqB,EAAQ,MAC7BW,EAAW,EAAQ,MACnBR,EAAW,EAAQ,MACnB6xC,EAAgB,EAAQ,MACxBjxC,EAAS,EAAQ,KACjBkxC,EAAU,EAAQ,MAClBC,EAAQ,EAAQ,MAEpB,SAASjxC,EAAuBC,GAAK,OAAOA,GAAkB,iBAANA,GAAkB,YAAaA,EAAIA,EAAI,CAAE,QAAWA,GAE5G,SAASi5B,EAAkBj5B,GACvB,GAAIA,GAAKA,EAAEk5B,WAAY,OAAOl5B,EAC9B,IAAIm5B,EAAI77B,OAAO87B,OAAO,MAatB,OAZIp5B,GACA1C,OAAOqb,KAAK3Y,GAAGo1B,SAAQ,SAAUiE,GAC7B,GAAU,YAANA,EAAiB,CACjB,IAAIjoB,EAAI9T,OAAOg8B,yBAAyBt5B,EAAGq5B,GAC3C/7B,OAAOW,eAAek7B,EAAGE,EAAGjoB,EAAEjS,IAAMiS,EAAI,CACpCmoB,YAAY,EACZp6B,IAAK,WAAc,OAAOa,EAAEq5B,UAK5CF,EAAW,QAAIn5B,EACR1C,OAAOm0B,OAAO0H,GAGzB,IAAI34B,EAAsCT,EAAsBb,GAC5D6B,EAAiChB,EAAsBJ,GACvDiB,EAA8Bb,EAAsBR,GACpDW,EAAiDH,EAAsB1B,GACvE4B,EAAwCF,EAAsB3B,GAC9DiC,EAAmCN,EAAsBxB,GACzDgC,EAAuCR,EAAsBhB,GAC7DkyC,EAAmClxC,EAAsB8wC,GACzDvwC,EAA2CP,EAAsBjB,GACjEgC,EAAiCf,EAAsBN,GACvDyxC,EAA8BnxC,EAAsBixC,GA6FpDG,EAAsC,oBAAbh4C,SAA2B,IAAIsF,EAAK2yC,cAAcj4C,UAAY,KACvFwa,EAAmBhV,EAAM0yC,eAAeF,GAExCr+B,EAAc,CAAC,SAAU,kBACzBrL,EAAa,CAAC,UAuHd6pC,EAAiB,IAAI5iB,IAErB6iB,EAAgB,SAAuB12C,GACzC,IAAI22C,EAAY32C,EAAKnB,KACjBA,OAAqB,IAAd83C,EAAuB,KAAOA,EACrCC,EAAa52C,EAAK42C,WAClBC,EAAiB72C,EAAKmkB,UACtBA,OAA+B,IAAnB0yB,EAA4B,KAAOA,EACnD,MAAO,QAAQzsC,OAAOvL,EAAM,gBAAgBuL,OAAOwsC,GAAc,KAAM,eAAexsC,OAAO+Z,IAG3F2yB,EAAiB,SAAwBC,GAC3C,IAAIC,EAAUvkC,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC9EwkC,EAAc,GAEdC,EAAgB,SAAuBC,EAASvyB,GAKlD,OAA0B,QAJFqyB,EAAYjN,MAAK,SAAUjxB,GACjD,OAAOA,EAAGo+B,UAAYA,MAClB,MAGGF,EAAYtrC,KAAI,SAAUoN,GAC/B,OAAOA,EAAGo+B,UAAYA,IAA+C,IAApCp+B,EAAGq+B,UAAUz5B,QAAQiH,GAAmBjf,EAAgC,QAAEA,EAAgC,QAAE,GAAIoT,GAAK,GAAI,CACxJq+B,UAAW,GAAGhtC,OAAO3E,EAAqC,QAAEsT,EAAGq+B,WAAY,CAACxyB,MACzE7L,KACJiI,QAAO,SAAUjI,GAClB,OAAOA,EAAGq+B,UAAU1kC,OAAS,KAI1B,GAAGtI,OAAO3E,EAAqC,QAAEwxC,GAAc,CAAC,CACrEE,QAASA,EACTC,UAAW,CAACxyB,OAIZyyB,EAAmB,SAA0BF,EAASvyB,GACxD,OAAOqyB,EAAYtrC,KAAI,SAAUoN,GAC/B,OAAOA,EAAGo+B,UAAYA,EAAUxxC,EAAgC,QAAEA,EAAgC,QAAE,GAAIoT,GAAK,GAAI,CAC/Gq+B,UAAWr+B,EAAGq+B,UAAUp2B,QAAO,SAAUs2B,GACvC,OAAOA,IAAgB1yB,OAEtB7L,KACJiI,QAAO,SAAUjI,GAClB,OAAOA,EAAGq+B,UAAU1kC,OAAS,MAI7B6kC,EAAW,SAAkBC,GAC/BA,EAAQjd,SAAQ,SAAU15B,GACxBo2C,EAAY1c,SAAQ,SAAUzsB,GAC5B,IAAIqpC,EAAUrpC,EAAMqpC,QAChBC,EAAYtpC,EAAMspC,UAElBD,IAAYt2C,EAAM+G,QACpBwvC,EAAU7c,SAAQ,SAAU3V,GAC1BA,EAAS/jB,aAOf42C,EAAW,IAAIV,EAASQ,EAAUP,GAElCU,EAAc,SAAqBP,GACrC,IAAIvyB,EAAWnS,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAGnF,GAFAwkC,EAAcI,EAAiBF,EAASvyB,QAEN,IAAvB6yB,EAASE,UAKlB,OAJAF,EAASG,kBACTX,EAAY1c,SAAQ,SAAUsd,GAC5BJ,EAASK,QAAQD,EAAWV,YAKhC,IAAIY,EAAoBd,EAAYjN,MAAK,SAAUjxB,GACjD,OAAOA,EAAGo+B,UAAYA,MAClB,KAEoB,OAAtBY,GACFN,EAASE,UAAUR,IAInBa,EAAY,SAAmBb,EAASvyB,GAC1C,IAAImzB,EAAoBd,EAAYjN,MAAK,SAAUjxB,GACjD,OAAOA,EAAGo+B,UAAYA,MAClB,KACNF,EAAcC,EAAcC,EAASvyB,GAEX,OAAtBmzB,GACFN,EAASK,QAAQX,IAIrB,MAAO,CACLa,UAAWA,EACXN,YAAaA,EACbD,SAAUA,IAIVQ,EAAc,SAAqBlB,GACrC,IAAIC,EAAUvkC,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC9EylC,EAAcxB,EAAcM,GAE3BP,EAAe0B,IAAIpB,IACtBN,EAAexG,IAAI8G,EAAU,IAG/B,IAAIqB,EAAY3B,EAAenyC,IAAIyyC,GAOnC,YALsC,IAA3BqB,EAAUF,KACnBE,EAAUF,GAAepB,EAAeC,EAAUC,GAClDP,EAAexG,IAAI8G,EAAUqB,IAGxBA,EAAUF,IAEfG,EAAc,SAAqBtB,GACrC,IAAIvI,EAAO/7B,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC3E6lC,EAAe7lC,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GACnF8lC,EAAa/J,EAAK3vC,KAClBA,OAAsB,IAAf05C,EAAwB,KAAOA,EACtCC,EAAmBhK,EAAKoI,WACxBA,OAAkC,IAArB4B,EAA8B,KAAOA,EAClDC,EAAkBjK,EAAKrqB,UACvBA,OAAgC,IAApBs0B,EAA6B,KAAOA,EAChDC,EAAiBlK,EAAKjvC,SACtBA,OAA8B,IAAnBm5C,GAAoCA,EAE/Cv4C,EAAYsE,EAAMrE,SAASk4C,GAC3Bj4C,EAAaqF,EAAiC,QAAEvF,EAAW,GAC3DU,EAAQR,EAAW,GACnBs4C,EAAWt4C,EAAW,GAEtBu4C,EAAUn0C,EAAMrD,OAAO,MACvBy3C,EAAiBp0C,EAAMrD,OAAO,MAC9B03C,EAAiBF,EAAQ73C,UAAY83C,EAAe93C,QAwCxD,OAvCA0D,EAAMzC,WAAU,WACd,IAAI+2C,EAAcH,EAAQ73C,QAEtB6jB,EAAW,SAAkBo0B,GAC/B,OAAOL,EAASK,IAGdtB,EAAc,KAElB,GAAoB,OAAhBqB,EAAsB,CACxB,IAAIE,EAAU,GAED,OAATp6C,IACFo6C,EAAQp6C,KAAOA,GAGE,OAAf+3C,IACFqC,EAAQrC,WAAaA,GAGL,OAAdzyB,IACF80B,EAAQ90B,UAAYA,GAGtB,IAAI+0B,EAAejB,EAAYlB,EAAUkC,GACrCjB,EAAYkB,EAAalB,UACzBmB,EAAmBD,EAAaxB,YAEpCA,EAAcyB,EACdnB,EAAUe,EAAan0B,GAIzB,OADAi0B,EAAe93C,QAAUg4C,EAClB,WACe,OAAhBrB,GACFA,EAAYqB,EAAan0B,MAG5B,CAACmyB,EAAU+B,EAAgBv5C,EAAUV,EAAM+3C,EAAYzyB,IACnD,CACLxjB,IAAKi4C,EACL/3C,MAAOA,IAOPu4C,EAhMK,CAAC,EAAG,GAiMTC,EAAmC,CACrCzxC,OAAQ,KACR0xC,KAAM,KACNC,WAAW,EACX90B,gBAAgB,EAChB+0B,kBAAmB,EACnBC,iBAAkB,KAClBC,mBAAoB,KACpBC,WAAY,MAEVn1B,EAA0B,WAC5B,IAAIvW,EAAQwE,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC5EmnC,EAAa3rC,EAAMpP,KACnBA,OAAsB,IAAf+6C,EAAwB,KAAOA,EACtCC,EAAmB5rC,EAAM2oC,WACzBA,OAAkC,IAArBiD,EAA8B,MAAQA,EACnDC,EAAkB7rC,EAAMkW,UACxBA,OAAgC,IAApB21B,EAA6BV,EAAiBU,EAC1DC,EAAiB9rC,EAAM1O,SACvBA,OAA8B,IAAnBw6C,GAAoCA,EAEnD,OAAO1B,EAA8B,oBAAXv6C,OAAyBk8C,qBAAuB,KAAM,CAC9En7C,KAAMA,EACN+3C,WAAYA,EACZzyB,UAAWA,EACX5kB,SAAUA,GACT85C,IAMDY,EAA6B,CAC/BryC,OAAQ,KACR9G,YAAa,KACbo5C,eAAgB,KAChBC,cAAe,MAEb15C,EAAoB,WACtB,IAAIgB,EAAQgR,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC5E2nC,EAAiB34C,EAAMlC,SACvBA,OAA8B,IAAnB66C,GAAoCA,EAEnD,OAAO/B,EAA8B,oBAAXv6C,OAAyBu8C,eAAiB,KAAM,CACxE96C,SAAUA,GACT06C,IA+BDK,EAAW,CACbpyC,QAAS,GACTJ,OAAQ,IAwFN8T,EAAiB,SAAwB2+B,GAC3C,QALiB,SAAsBA,GACvC,MAAO,YAAaA,EAIfC,CAAaD,KAEdA,EAAME,QAAQ/nC,OAAS,GAAK6nC,EAAM3+B,gBACpC2+B,EAAM3+B,kBAGD,IAGL8+B,EAAsB,SAA6Bv1C,GACjDA,EAAEyW,gBACJzW,EAAEyW,iBAGAzW,EAAEw1C,iBACJx1C,EAAEw1C,mBAmFFC,EAAgB,CAAC,GAAK,IAAM,GAAK,IAAM,IAkXvCjhC,GAAY,CAAC,QAAS,UAEtBugB,GAAgB,SAAuBl6B,GACzC,IAAI6yB,EAAa7yB,EAAKX,MAClBA,OAAuB,IAAfwzB,EAAwB,KAAOA,EACvCC,EAAc9yB,EAAKV,OACnBA,OAAyB,IAAhBwzB,EAAyB,KAAOA,EACzC+nB,EAAiB76C,EAAKm6B,UACtBA,OAA+B,IAAnB0gB,GAAoCA,EAChDC,EAAsB96C,EAAK+6C,eAC3BA,OAAyC,IAAxBD,GAAyCA,EAC1DE,EAAeh7C,EAAK8uB,QACpBA,OAA2B,IAAjBksB,EAA0B,GAAKA,EACzCC,EAAiBj7C,EAAKk7C,UACtBA,OAA+B,IAAnBD,EAA4B,SAAWA,EACnDE,EAAan7C,EAAKumB,MAClB60B,OAA+B,IAAfD,EAAwB,KAAOA,EAE/C50B,EAAQ9hB,EAAMua,SAAQ,WACxB,OAAyB,OAAlBo8B,EAAyBA,EAAgB,CAC9Cj0C,KAAM+zC,EACN77C,MAAO,GAAG+K,OAAO/K,EAAO,MACxBC,OAAQ,GAAG8K,OAAO9K,EAAQ,SAE3B,CAAC87C,EAAeF,EAAW77C,EAAOC,IAEjC+7C,EAAkB52C,EAAMua,SAAQ,WAClC,OAAOvZ,EAAqC,QAAEqpB,GAAStC,UAAUxL,QAAO,SAAUlT,GAChF,IAAIwtC,EAAmBxtC,EAAM8gB,WACzBA,OAAkC,IAArB0sB,EAA8B,KAAOA,EACtD,OAAsB,OAAf1sB,GAAuBqnB,EAAcsF,MAAM3sB,EAAYrI,QAE/D,CAACuI,EAASvI,IACb,MAAO,CACLsI,OAAQwsB,EAAgB3oC,OAAS,EAAI2oC,EAAgB,GAAGvuC,KAAO,KAC/DgiB,QAASrpB,EAAqC,QAAE41C,GAAiB7uB,UAAU7gB,KAAI,SAAUsC,GAEvF,OADWA,EAAMnB,QAGnBzN,MAAOA,EACPC,OAAQA,EACR66B,UAAWA,EACX4gB,eAAgBA,IAuEhBS,GAAgB,WAClB,MAAO,CACLn8C,MAAyB,oBAAXvB,OAAyBA,OAAO29C,WAAa,KAC3Dn8C,OAA0B,oBAAXxB,OAAyBA,OAAO,aAAe,OAyN9D49C,GAAmB,SAA0BC,EAAenN,GAC9D,IACIoN,GADOD,GAAiB,IACPpqC,KAGjBzD,QAFwB,IAAd8tC,EAAuB,KAAOA,IAErB,GACnBC,EAAW/tC,EAAMO,GACjBytC,OAA2B,IAAbD,EAAsB,KAAOA,EAC3CE,EAAgBjuC,EAAM3G,KAEtB8G,EAAQugC,GAAQ,GAChBwN,EAAiB/tC,EAAMwqB,SACvBwjB,OAAkC,IAAnBD,EAA4B,KAAOA,EAClDE,EAAmBjuC,EAAMkuC,WAK7B,MAAO,CACL1jB,SAH6B,OAAhBqjB,EAAuBA,EAAcG,EAIlDE,WAHiC,OAAlBJ,EAAyBA,OAHA,IAArBG,EAA8B,KAAOA,IAUxDE,GAAc,SAAqBle,GACrC,YAA2B,IAAbA,GAwGZme,GAAkC,oBAAXv+C,OAAyB,IAAI8F,EAAK2yC,cAAcz4C,QAAU,KACjFw+C,GAAiBx4C,EAAM0yC,eAAe6F,IAE1Ch5C,EAAQ40C,YAAcA,EACtB50C,EAAQk5C,kBAj+CgB,SAA2BC,GACjD,IAAIx8C,EAAOyS,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC3EowB,EAAgB7iC,EAAKT,SACrBA,OAA6B,IAAlBsjC,GAAmCA,EAE9C4Z,EAAah4C,EAAMrD,OAAO,MAC1Bs7C,EAAej4C,EAAMrD,OAAO,MAE5BwjB,EAAW,SAASA,EAAS00B,GAC1BoD,EAAa37C,UAChB27C,EAAa37C,QAAUu4C,GAGzB,IAAIqD,EAAWrD,EAAOoD,EAAa37C,QACnCy7C,EAAQG,GACRF,EAAW17C,QAAU67C,sBAAsBh4B,IAG7CngB,EAAMzC,WAAU,WAKd,OAJKzC,IACHk9C,EAAW17C,QAAU67C,sBAAsBh4B,IAGtC,WACsB,OAAvB63B,EAAW17C,SACb87C,qBAAqBJ,EAAW17C,YAGnC,CAACxB,KAs8CN8D,EAAQyV,iBAAmBA,EAC3BzV,EAAQoO,QAl4CM,WACZ,IAAIzR,EAAOyS,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC3EqqC,EAAc98C,EAAKmN,OACnB4vC,OAAiC,IAAhBD,EAAyB,GAAKA,EAC/CE,EAAsBh9C,EAAKi9C,eAC3BA,OAAyC,IAAxBD,GAAyCA,EAC1DxO,EAAOnpC,EAA2C,QAAErF,EAAMiY,GAE1DilC,EAAcz4C,EAAMua,SAAQ,WAC9B,OAAO+9B,EAAerqC,OAAS,EAAIqqC,EAAepxC,KAAI,SAAUmC,GAE9D,OADWA,EAAMhB,QAEd,KACJ,CAACiwC,IAEAI,EAAepH,EAAMtkC,QAAQ9L,EAAgC,QAAE,CACjEwH,OAAQ+vC,GACP1O,IACCrhC,EAASgwC,EAAahwC,OACtBH,EAAO3H,EAA2C,QAAE83C,EAAcvwC,GAEtE,OAAOjH,EAAgC,QAAEA,EAAgC,QAAE,GAAIqH,GAAO,GAAI,CACxFG,OAAQ8vC,EAAiBF,EAAepxC,KAAI,SAAUoN,GACpD,OAAOpT,EAAgC,QAAEA,EAAgC,QAAE,GAAIoT,GAAK5L,EAAO4L,EAAGjM,OAAS,SACpGiwC,KA22CT15C,EAAQ+5C,kBAv2CgB,WACtB,IAAIC,EAAQ5qC,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC5EtT,EAASsT,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC7E6qC,EAAc74C,EAAMrD,OAAOi8C,GAAS,IACpC/wB,EAAY7nB,EAAMua,SAAQ,WAC5B,IAAIu+B,EAAoBF,EAAM3qC,OAE9B,GAAI4qC,EAAYv8C,QAAS,CACvB,IAAIy8C,EAAqBF,EAAYv8C,QAAQ2R,OAE7C,OADA4qC,EAAYv8C,QAAUs8C,GAAS,GACxBE,EAAoBC,EAAqB,QAAU,OAG5D,OAAO,OACN,CAACH,IACAvwC,EAAOrI,EAAMua,SAAQ,WACvB,IAAIpE,EAAaC,EAAcC,EAE/B,MAAO,CACL2iC,MAAOj4C,EAA6B,SAAGoV,EAAc,GAAIxV,EAAkC,QAAEwV,EAAazb,EAAOu+C,WAA0B,UAAdpxB,GAAwBlnB,EAAkC,QAAEwV,EAAazb,EAAOw+C,UAAyB,SAAdrxB,GAAuBlnB,EAAkC,QAAEwV,EAAazb,EAAOy+C,SAAwB,QAAdtxB,GAAsBlnB,EAAkC,QAAEwV,EAAazb,EAAO0+C,YAA2B,WAAdvxB,GAAyB1R,KAAiB,OACtbkjC,YAAat4C,EAA6B,SAAGqV,EAAe,GAAIzV,EAAkC,QAAEyV,EAAc1b,EAAO4+C,sBAAqC,SAAdzxB,GAAsC,UAAdA,GAAwBlnB,EAAkC,QAAEyV,EAAc1b,EAAO6+C,oBAAmC,QAAd1xB,GAAqC,WAAdA,GAAyBzR,KAAkB,OAChVojC,MAAO9+C,EAAO8+C,OAAS,OACvBC,YAAa14C,EAA6B,SAAGsV,EAAe,GAAI1V,EAAkC,QAAE0V,EAAc3b,EAAOg/C,iBAAgC,UAAd7xB,GAAwBlnB,EAAkC,QAAE0V,EAAc3b,EAAOi/C,gBAA+B,SAAd9xB,GAAuBlnB,EAAkC,QAAE0V,EAAc3b,EAAOk/C,eAA8B,QAAd/xB,GAAsBlnB,EAAkC,QAAE0V,EAAc3b,EAAOm/C,kBAAiC,WAAdhyB,GAAyBxR,KAAkB,UAE3d,CAACwR,IACJ,MAAO,CACLA,UAAWA,EACXxf,KAAMA,EACNysB,QAAuB,SAAdjN,GAAsC,UAAdA,EAAwB,IAAM,KA40CnEjpB,EAAQk7C,iBAt8Ce,WACrB,IAAIv+C,EAAOyS,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC3E+rC,EAAcx+C,EAAKomB,OACnBA,OAAyB,IAAhBo4B,EAAyB,KAAOA,EACzCC,EAAiBz+C,EAAK0+C,UACtBA,OAA+B,IAAnBD,GAAmCA,EAE/ClM,EAAO1uC,EAAUkoC,UACjB4S,EAAQ54C,EAAwB,UACpC,OAAOtB,EAAMmK,aAAY,SAAU0U,GACjC,IAAIs7B,EAAe14C,EAA2B,QAAEod,GAAQvd,EAAwB,QAAEud,GAAQA,EAE1F,OAAIo7B,GAAaE,EAAax4B,OAAO,gBAAkBu4B,EAAMv4B,OAAO,cAC3DmsB,EAAKzqB,cAAc,CACxBzZ,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,YAKRwhC,EAAKsM,WAAW94C,EAAwB,QAAEud,GAAMK,SAAUhe,EAAgC,QAAE,CACjGke,KAAM,UACNC,MAAO,OACPC,IAAK,WACJqC,MACF,CAACu4B,EAAOD,EAAWt4B,KA46CxB/iB,EAAQy7C,iBA16Ce,WACrB,IAAIhxC,EAAQ2E,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC5EssC,EAAejxC,EAAMsY,OACrBA,OAA0B,IAAjB24B,EAA0B,KAAOA,EAC1CC,EAAgBlxC,EAAMmxC,QACtBA,OAA4B,IAAlBD,GAAkCA,EAC5CE,EAAgBpxC,EAAMqxC,QACtBA,OAA4B,IAAlBD,EAA2B,EAAIA,EAEzC3M,EAAO1uC,EAAUkoC,UACjBqT,EAAMr5C,EAAwB,UAClC,OAAOtB,EAAMmK,aAAY,SAAU0U,GACjC,IAAIs7B,EAAe14C,EAA2B,QAAEod,GAAQvd,EAAwB,QAAEud,GAAQA,EAE1F,OAAI27B,GAAWL,EAAax4B,OAAO,gBAAkBg5B,EAAIh5B,OAAO,eAAiBw4B,EAAaS,SAAWD,EAAIC,QAAUT,EAAaU,SAAWF,EAAIE,SAAWH,GAAWP,EAAaU,SAAWF,EAAIE,SAAWH,EACvM5M,EAAKzqB,cAAc,CACxBzZ,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,UAKRwhC,EAAKgN,WAAWX,EAAaj7B,SAAUhe,EAAgC,QAAE,CAC9E05C,KAAM,UACNC,OAAQ,WACPl5B,MACF,CAACg5B,EAAKH,EAASE,EAAS/4B,KA+4C7B/iB,EAAQm8C,cA10CY,SAAuBrI,GACzC,IAAIp1C,EAAUq0C,EAA6B,QAAEqJ,UAEzCt/C,EAAYsE,EAAMrE,UAAS,GAC3BC,EAAaqF,EAAiC,QAAEvF,EAAW,GAC3D2H,EAASzH,EAAW,GACpBq/C,EAAYr/C,EAAW,GAEvBs4B,EAAal0B,EAAMmK,aAAY,WAC7BwnC,EAA6B,QAAEqJ,YAC7B,MAAOtI,EACTf,EAA6B,QAAEuJ,QAAQxI,GAEvCf,EAA6B,QAAEuJ,aAGlC,CAACxI,IACAyI,EAAen7C,EAAMmK,aAAY,WAC/BwnC,EAA6B,QAAEqJ,WACjCrJ,EAA6B,QAAEyJ,SAEhC,IACCC,EAASr7C,EAAMmK,aAAY,WACxB9G,EAGH83C,IAFAjnB,MAID,CAAC7wB,EAAQ6wB,EAAYinB,IAgBxB,OAfAn7C,EAAMzC,WAAU,WACd,IAAIoL,EAAW,WACbsyC,EAAUtJ,EAA6B,QAAE2J,eAO3C,OAJI3J,EAA6B,QAAEqJ,WACjCrJ,EAA6B,QAAEjV,GAAG,SAAU/zB,GAGvC,WACDgpC,EAA6B,QAAEqJ,WACjCrJ,EAA6B,QAAEhV,IAAI,SAAUh0B,MAGhD,IACI,CACL0yC,OAAQA,EACRnnB,WAAYA,EACZinB,aAAcA,EACd93C,OAAQA,EACR/F,QAASA,IA0xCbsB,EAAQmhB,wBAA0BA,EAClCnhB,EAAQ28C,aAriCW,WACjB,IAAIhgD,EAAOyS,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC3EmkC,EAAa52C,EAAK42C,WAClBC,EAAiB72C,EAAKmkB,UACtBA,OAA+B,IAAnB0yB,EAA4B,EAAIA,EAC5CoJ,EAAejgD,EAAKkgD,QACpBA,OAA2B,IAAjBD,GAAkCA,EAE5C17B,EAAwBC,EAAwB,CAClDoyB,WAAYA,EACZzyB,UAAWA,IAETxjB,EAAM4jB,EAAsB5jB,IAC5B8jB,EAAiBF,EAAsB1jB,MAAM4jB,eAE7C07B,EAAkB17C,EAAMrD,OAAOqjB,GAE/BA,IAAmB07B,EAAgBp/C,UACrCo/C,EAAgBp/C,QAAU0jB,GAG5B,IAAI80B,GAAa2G,GAAWz7B,GAAkBy7B,GAAWC,EAAgBp/C,QACzE,MAAO,CACLJ,IAAKA,EACLwX,QAASohC,IA8gCbl2C,EAAQ+8C,eAz+Ba,SAAwBl6B,GAC3C,IAAI/lB,EAAYsE,EAAMrE,UAAS,GAC3BC,EAAaqF,EAAiC,QAAEvF,EAAW,GAC3DkgD,EAAShgD,EAAW,GACpBigD,EAAYjgD,EAAW,GA4C3B,OA1CAoE,EAAMzC,WAAU,WACd,IAAIs3B,EAASpT,EAAMW,QAAO,SAAU05B,EAAW32B,GAC7C,IAAI5pB,EAAOiG,EAA2B,QAAE2jB,GAAQA,EAAO,CACrDziB,KAAM,SACN2F,KAAM8c,GAEJziB,EAAOnH,EAAKmH,KACZ2F,EAAO9M,EAAK8M,KAEhB,MAAc,WAAT3F,GAA8B,WAATA,GA3CZ,SAAuB2F,GACzC,OAA2C,IAApCwtC,EAASpyC,QAAQyV,QAAQ7Q,GA0CqB0zC,CAAc1zC,IAvClD,SAAsBA,GACvC,OAA0C,IAAnCwtC,EAASxyC,OAAO6V,QAAQ7Q,GAsC8C2zC,CAAa3zC,GAM/EyzC,EALE56C,EAAgC,QAAEA,EAAgC,QAAE,GAAI46C,GAAY,GAAIn7C,EAAkC,QAAE,GAAI+B,EAAM,CAC3Iu5C,SAAU,GAAGt2C,OAAO3E,EAAqC,QAAgB,OAAd86C,IAAsBA,EAAUp5C,IAAS,IAAIu5C,UAAiB,IAAK,CAAC5zC,SAKlI,MACwB,OAAXwsB,GAEmB,oBAAXx7B,OACtBkrC,QAAQC,UAAU7F,MAAK,WAAc,OAAoBhF,EAAkB,EAAQ,UAAsBgF,MAAK,SAAUt1B,GAEtH,OADcA,EAAe,QACd6yC,KAAKh7C,EAAgC,QAAEA,EAAgC,QAAE,GAAI2zB,GAAS,GAAI,CACvGC,QAAS,IACTzxB,OAAQ,WACN,OAAOw4C,GAAU,IAEnBM,YAAa,SAAqB9zC,GAChC,OAtDS,SAAwBA,GAC3CwtC,EAASxyC,OAASwyC,EAASxyC,OAAOkZ,QAAO,SAAUjI,GACjD,OAAOA,IAAOjM,KAEhBwtC,EAASpyC,QAAU,GAAGkC,OAAO3E,EAAqC,QAAE60C,EAASpyC,SAAU,CAAC4E,IAkDvE+zC,CAAe/zC,IAExBg0C,WAAY,SAAoBh0C,GAC9B,OA5CQ,SAAuBA,GACzCwtC,EAASpyC,QAAUoyC,EAASpyC,QAAQ8Y,QAAO,SAAUjI,GACnD,OAAOA,IAAOjM,KAEhBwtC,EAASxyC,OAAS,GAAGsC,OAAO3E,EAAqC,QAAE60C,EAASxyC,QAAS,CAACgF,IAwCrEi0C,CAAcj0C,IAEvBk0C,aAAc,SAAsBl0C,GAClC,OArDY,SAA2BA,GACjDwtC,EAASpyC,QAAUoyC,EAASpyC,QAAQ8Y,QAAO,SAAUjI,GACnD,OAAOA,IAAOjM,KAmDCm0C,CAAkBn0C,UAK/BwzC,GAAU,KAEX,CAACp6B,EAAOo6B,IACJ,CACLD,OAAQA,IAy7BZh9C,EAAQ69C,aA75BW,WACjB,IAAIlhD,EAAOyS,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC3E0uC,EAAmBnhD,EAAKohD,YACxBA,OAAmC,IAArBD,EAA8B,KAAOA,EACnDE,EAAerhD,EAAK6I,QACpBA,OAA2B,IAAjBw4C,EAA0B,KAAOA,EAC3CC,EAAwBthD,EAAKuhD,qBAC7BA,OAAiD,IAA1BD,GAA0CA,EACjEE,EAAaxhD,EAAKmyB,MAClBA,OAAuB,IAAfqvB,EAAwB,IAAMA,EAEtCrhD,EAAYsE,EAAMrE,UAAS,GAC3BC,EAAaqF,EAAiC,QAAEvF,EAAW,GAC3DshD,EAAqBphD,EAAW,GAChCqhD,EAAwBrhD,EAAW,GAEnCk5B,EAAU90B,EAAMrD,OAAO,MACvBwG,EAASnD,EAAMrD,OAAO,MACtBo4B,EAAQ/0B,EAAMmK,aAAY,SAAU2rC,GACjB,OAAjBA,EAAM3yC,SACRA,EAAO7G,QAAUw5C,EAAM3yC,QAGzB2xB,EAAQx4B,QAAUqQ,YAAW,WACvBmwC,GAA2C,OAAnB35C,EAAO7G,UACjC6G,EAAO7G,QAAQmvC,iBAAiB,WAAYt0B,EAAgB,CAC1D+lC,SAAS,IAEX/5C,EAAO7G,QAAQmvC,iBAAiB,QAASwK,EAAqB,CAC5DiH,SAAS,KAIO,OAAhBP,GACFA,EAAY7G,GAGdmH,GAAsB,GACtBnoB,EAAQx4B,QAAU,OACjBoxB,KACF,CAACivB,EAAajvB,EAAOovB,IACpBK,EAAQn9C,EAAMmK,aAAY,SAAU2rC,GACtC,IAAIsH,IAAqBpvC,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,KAAmBA,UAAU,GAEhE,OAApB8mB,EAAQx4B,QACVsQ,aAAakoB,EAAQx4B,SACZwgD,GAA2C,OAAnB35C,EAAO7G,UACxC6a,EAAe2+B,GACf3yC,EAAO7G,QAAQovC,oBAAoB,WAAYv0B,GAC/CxK,YAAW,WACTxJ,EAAO7G,QAAQovC,oBAAoB,QAASuK,KAC3C,KAGDmH,IAAuBJ,GAAkC,OAAZ54C,GAC/CA,IAGF64C,GAAsB,KACrB,CAACH,EAAsB14C,EAAS44C,IACnC,MAAO,CACLK,YAAa,SAAqB38C,GAChC,OAAOq0B,EAAMr0B,IAEf48C,aAAc,SAAsB58C,GAClC,OAAOq0B,EAAMr0B,IAEf68C,UAAW,SAAmB78C,GAC5B,OAAOy8C,EAAMz8C,IAEf88C,aAAc,SAAsB98C,GAClC,OAAOy8C,EAAMz8C,GAAG,IAElB+8C,WAAY,SAAoB/8C,GAC9B,OAAOy8C,EAAMz8C,MAo1BnB9B,EAAQ8+C,YA70BU,WAChB,IAAIniD,EAAOyS,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC3E2vC,EAAWpiD,EAAK8X,IAChBA,OAAmB,IAAbsqC,EAAsB,KAAOA,EACnCC,EAAoBriD,EAAKsiD,aACzBA,OAAqC,IAAtBD,GAAuCA,EACtDE,EAAoBviD,EAAKwiD,aACzBA,OAAqC,IAAtBD,EAA+B,KAAOA,EACrDE,EAAsBziD,EAAK0iD,eAC3BA,OAAyC,IAAxBD,EAAiC,KAAOA,EACzDE,EAAwB3iD,EAAK4iD,kBAC7BA,OAA8C,IAA1BD,EAAmC,KAAOA,EAC9DE,EAAuB7iD,EAAK8iD,gBAC5BA,OAA2C,IAAzBD,EAAkC,KAAOA,EAC3DE,EAAc/iD,EAAKgjD,OACnBA,OAAyB,IAAhBD,EAAyB,KAAOA,EACzCE,EAAejjD,EAAKkjD,QACpBA,OAA2B,IAAjBD,EAA0B,KAAOA,EAC3CE,EAAenjD,EAAKojD,QACpBA,OAA2B,IAAjBD,EAA0B,KAAOA,EAC3CE,EAAgBrjD,EAAKsjD,SACrBA,OAA6B,IAAlBD,EAA2B,KAAOA,EAC7CE,EAAmBvjD,EAAKwjD,YACxBA,OAAmC,IAArBD,EAA8B,KAAOA,EACnDE,EAAuBzjD,EAAK0jD,gBAC5BA,OAA2C,IAAzBD,EAAkC,KAAOA,EAC3DE,EAAiB3jD,EAAK4jD,UACtBA,OAA+B,IAAnBD,EAA4B,KAAOA,EAC/CE,EAAoB7jD,EAAK8jD,aACzBA,OAAqC,IAAtBD,EAA+B,KAAOA,EACrDE,EAAwB/jD,EAAKgkD,iBAC7BA,OAA6C,IAA1BD,EAAmC,KAAOA,EAE7DpjD,EAAM8D,EAAMrD,OAAO,MAEnBjB,EAAYsE,EAAMrE,SAASkiD,GAC3BjiD,EAAaqF,EAAiC,QAAEvF,EAAW,GAC3D8jD,EAAQ5jD,EAAW,GACnB6jD,EAAW7jD,EAAW,GAEtB+R,EAAa3N,EAAMrE,SAAS,MAC5BiS,EAAa3M,EAAiC,QAAE0M,EAAY,GAC5D+xC,EAAc9xC,EAAW,GACzB+xC,EAAiB/xC,EAAW,GAE5BgyC,EAAa5/C,EAAMrE,SAAS,MAC5BkkD,EAAa5+C,EAAiC,QAAE2+C,EAAY,GAC5D56B,EAAW66B,EAAW,GACtBC,EAAcD,EAAW,GAEzBE,EAAa//C,EAAMrE,UAAS,GAC5BqkD,EAAa/+C,EAAiC,QAAE8+C,EAAY,GAC5D5rB,EAAU6rB,EAAW,GACrBC,EAAaD,EAAW,GAExBE,EAAalgD,EAAMrE,UAAS,GAC5BwkD,EAAcl/C,EAAiC,QAAEi/C,EAAY,GAC7DE,EAAQD,EAAY,GACpBE,GAAWF,EAAY,GAEvBG,GAActgD,EAAMrE,UAAS,GAC7B4kD,GAAct/C,EAAiC,QAAEq/C,GAAa,GAC9DE,GAAYD,GAAY,GACxBE,GAAeF,GAAY,GAE3BG,GAAc1gD,EAAMrE,UAAS,GAC7BglD,GAAc1/C,EAAiC,QAAEy/C,GAAa,GAC9DE,GAAcD,GAAY,GAC1BE,GAAiBF,GAAY,GAE7BG,GAAuB9gD,EAAMrD,OAAO,IACpCokD,IAAU5sB,EAEV6sB,GAAOhhD,EAAMmK,aAAY,WAC3B,IAAI2X,EAAQ5lB,EAAII,QAEF,OAAVwlB,GACFA,EAAMk/B,SAEP,IACCC,GAAQjhD,EAAMmK,aAAY,WAC5B,IAAI2X,EAAQ5lB,EAAII,QAEF,OAAVwlB,GACFA,EAAMm/B,UAEP,IACCC,GAAalhD,EAAMmK,aAAY,WACjC,IAAI2X,EAAQ5lB,EAAII,QAEF,OAAVwlB,IACEqS,EACFrS,EAAMm/B,QAENn/B,EAAMk/B,UAGT,CAAC7sB,IACAgtB,GAAOnhD,EAAMmK,aAAY,WAC3B,IAAI2X,EAAQ5lB,EAAII,QAEF,OAAVwlB,IACFA,EAAMm/B,QACNn/B,EAAM49B,YAAc,KAErB,IACC0B,GAAOphD,EAAMmK,aAAY,SAAU0qC,GACrC,IAAI/yB,EAAQ5lB,EAAII,QAEF,OAAVwlB,IACFA,EAAM49B,YAAc7K,KAErB,IACCwM,GAAOrhD,EAAMmK,aAAY,WAC3B,IAAI2X,EAAQ5lB,EAAII,QAEF,OAAVwlB,IACFA,EAAM09B,OAAQ,KAEf,IACC8B,GAASthD,EAAMmK,aAAY,WAC7B,IAAI2X,EAAQ5lB,EAAII,QAEF,OAAVwlB,IACFA,EAAM09B,OAAQ,KAEf,IACC+B,GAAavhD,EAAMmK,aAAY,WACjC,IAAI2X,EAAQ5lB,EAAII,QAEF,OAAVwlB,IACFA,EAAM09B,OAASA,KAEhB,CAACA,IAEAgC,GAAexhD,EAAMmK,aAAY,WACpB,OAAXo0C,GACFA,EAAO,CACLlhD,QAASujD,KAITA,IACFC,IAAe,GAGjBZ,GAAW,KACV,CAACW,GAAaX,EAAY1B,IACzBkD,GAAgBzhD,EAAMmK,aAAY,WACpC,IAAI2X,EAAQ5lB,EAAII,QAChB2jD,GAAW,GAEK,OAAZxB,GACFA,EAAQ,CACNiD,OAAQ5/B,EAAM49B,YAAc,GAAK59B,EAAM49B,YAAc59B,EAAMkD,aAG9D,CAACi7B,EAAYxB,IACZkD,GAAgB3hD,EAAMmK,aAAY,WACxBjO,EAAII,QACVojD,YAAc,EAEJ,OAAZf,GACFA,IAGFkC,IAAe,KACd,CAACA,GAAgBlC,IAChBiD,GAAqB5hD,EAAMmK,aAAY,WACzC,IAAI2X,EAAQ5lB,EAAII,QAChBqjD,EAAe79B,EAAM49B,aAEA,OAAjB3B,GACFA,EAAaj8B,EAAM49B,aAGrB,IAAIxH,EAAWp2B,EAAM49B,YAAc59B,EAAMkD,SACrC68B,EAAef,GAAqBxkD,QACrB65C,EAAc55B,QAAO,SAAUulC,GAChD,OAAO5J,EAAW4J,QAAsC,IAAvBD,EAAaC,MAEnChsB,SAAQ,SAAUgsB,GACN,OAAnB7D,GACFA,EAAe6D,GAGjBD,EAAaC,IAAQ,OAEtB,CAACnC,EAAgB5B,EAAcE,IAC9B8D,GAAyB/hD,EAAMmK,aAAY,WAC7C,IAAI2X,EAAQ5lB,EAAII,QAChBwjD,EAAYh+B,EAAMkD,UAEQ,OAAtBm5B,GACFA,EAAkBr8B,EAAMkD,YAEzB,CAAC86B,EAAa3B,IACb6D,GAAiBhiD,EAAMmK,aAAY,WACrC,IAAI2X,EAAQ5lB,EAAII,QAEC,OAAbuiD,GACFA,EAAS/8B,EAAM49B,eAEhB,CAACb,IACAoD,GAAuBjiD,EAAMmK,aAAY,WAC3C,IAAI2X,EAAQ5lB,EAAII,QAChBmjD,EAAS39B,EAAM09B,OAES,OAApBnB,GACFA,EAAgBv8B,EAAM09B,MAAO19B,EAAMogC,UAEpC,CAACzC,EAAUpB,IACV8D,GAAoBniD,EAAMmK,aAAY,WACpB,OAAhB40C,GACFA,MAED,CAACsB,GAAUtB,IACVqD,GAAyBpiD,EAAMmK,aAAY,WAC7Ck2C,IAAS,GAEe,OAApBpB,GACFA,MAED,CAACoB,GAAUpB,IACVoD,GAAkBriD,EAAMmK,aAAY,WACtCk2C,IAAS,GAES,OAAdlB,GACFA,MAED,CAACkB,GAAUlB,IACVmD,GAAyBtiD,EAAMmK,aAAY,WAC7Ck2C,IAAS,GAEgB,OAArBd,GACFA,MAED,CAACc,GAAUd,IACVgD,GAAqBviD,EAAMmK,aAAY,WACzCs2C,IAAa,GAEQ,OAAjBpB,GACFA,MAED,CAACoB,GAAcpB,IAgDlB,OA/CAr/C,EAAMzC,WAAU,WACd,IAAIilD,EAAetmD,EAAII,QACnBwlB,OAAyB,IAAjB0gC,EAA0B,KAAOA,EA6B7C,OA3Bc,OAAV1gC,IACFA,EAAM2pB,iBAAiB,aAAcmW,IACrC9/B,EAAM2pB,iBAAiB,iBAAkBsW,IACzCjgC,EAAM2pB,iBAAiB,eAAgBwW,IACvCngC,EAAM2pB,iBAAiB,OAAQ+V,IAC/B1/B,EAAM2pB,iBAAiB,QAASgW,IAChC3/B,EAAM2pB,iBAAiB,QAASkW,IAChC7/B,EAAM2pB,iBAAiB,SAAUuW,IACjClgC,EAAM2pB,iBAAiB,YAAa0W,IACpCrgC,EAAM2pB,iBAAiB,iBAAkB2W,IACzCtgC,EAAM2pB,iBAAiB,UAAW4W,IAClCvgC,EAAM2pB,iBAAiB,iBAAkB6W,IACzCxgC,EAAM2pB,iBAAiB,aAAc8W,KAGzB,OAAVzgC,GAAkBA,EAAM2gC,WAAa,EACvChC,IAAa,GAEbA,IAAa,GAGD,OAAV3+B,GAAkBA,EAAM2gC,WAAa,EACvCpC,IAAS,GAETA,IAAS,GAGJ,WACS,OAAVv+B,IACFA,EAAM4pB,oBAAoB,aAAckW,IACxC9/B,EAAM4pB,oBAAoB,iBAAkBqW,IAC5CjgC,EAAM4pB,oBAAoB,eAAgBuW,IAC1CngC,EAAM4pB,oBAAoB,OAAQ8V,IAClC1/B,EAAM4pB,oBAAoB,QAAS+V,IACnC3/B,EAAM4pB,oBAAoB,QAASiW,IACnC7/B,EAAM4pB,oBAAoB,SAAUsW,IACpClgC,EAAM4pB,oBAAoB,YAAayW,IACvCrgC,EAAM4pB,oBAAoB,iBAAkB0W,IAC5CtgC,EAAM4pB,oBAAoB,UAAW2W,IACrCvgC,EAAM4pB,oBAAoB,iBAAkB4W,QAG/C,CAACjvC,IACG,CACLnX,IAAKA,EACL8kD,KAAMA,GACNC,MAAOA,GACPC,WAAYA,GACZC,KAAMA,GACNC,KAAMA,GACNC,KAAMA,GACNC,OAAQA,GACRC,WAAYA,GACZ/B,MAAOA,EACPE,YAAaA,EACb16B,SAAUA,EACVmP,QAASA,EACT4sB,OAAQA,GACRX,MAAOA,EACPI,UAAWA,KA0hBf5hD,EAAQ8jD,gBAthBc,WACpB,IAAIvlB,EAAiBx9B,EAASw8B,oBAC1BnzB,EAAgBrJ,EAASsJ,mBAEzBm0B,EAASp9B,EAAMua,SAAQ,WACzB,OAAO,IAAIpb,EAAKwjD,aAAa,CAC3BxlB,eAAgBA,EAChBn0B,cAAeA,MAEhB,CAACm0B,EAAgBn0B,IAOpB,MAAO,CACL45C,OAPW5iD,EAAMmK,aAAY,SAAUjQ,GACvC,OAAOkjC,EAAOwlB,OAAO1oD,KACpB,CAACkjC,IAMFylB,SALa7iD,EAAMmK,aAAY,SAAUjQ,GACzC,OAAOkjC,EAAOylB,SAAS3oD,KACtB,CAACkjC,IAIFA,OAAQA,IAogBZx+B,EAAQg1C,YAAcA,EACtBh1C,EAAQkkD,eAjgBa,SAAwB5oD,GAC3C,IAAIqB,EAAOyS,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC3EowB,EAAgB7iC,EAAKT,SACrBA,OAA6B,IAAlBsjC,GAAmCA,EAC9C2kB,EAAiBxnD,EAAKynD,UACtBA,OAA+B,IAAnBD,GAAmCA,EAC/CE,EAAkB1nD,EAAK2nD,WACvBA,OAAiC,IAApBD,GAAoCA,EACjDE,EAAiB5nD,EAAK6nD,UACtBA,OAA+B,IAAnBD,GAAmCA,EAE/ChmB,EAAiBx9B,EAASw8B,oBAC1BnzB,EAAgBrJ,EAASsJ,mBACzBm0B,EAASp9B,EAAMua,SAAQ,WACzB,OAAO,IAAIpb,EAAKkkD,YAAY,CAC1BlmB,eAAgBA,EAChBn0B,cAAeA,MAEhB,CAACm0B,EAAgBn0B,IAChBs6C,EAAWtjD,EAAMua,SAAQ,WAC3B,OAAIzf,EACKZ,EAGFkjC,EAAOE,MAAMpjC,EAAO,CACzBgpD,WAAYA,EACZF,UAAWA,EACXI,UAAWA,MAEZ,CAAChmB,EAAQtiC,EAAUooD,EAAYF,EAAWI,EAAWlpD,IACxD,OAAOopD,GAoeT1kD,EAAQ5C,kBAAoBA,EAC5B4C,EAAQ2kD,yBApbuB,WAC7B,IAAIvmD,EAAQgR,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC5E6e,EAAc7vB,EAAMpC,MACpBA,OAAwB,IAAhBiyB,EAAyB,KAAOA,EACxCE,EAAe/vB,EAAMnC,OACrBA,OAA0B,IAAjBkyB,EAA0B,KAAOA,EAC1Cgd,EAAOnpC,EAA2C,QAAE5D,EAAOkY,IAE3DnZ,EAAqBC,IACrBE,EAAMH,EAAmBG,IACzBG,EAAcN,EAAmBK,MAAMC,YAEvCb,EAAQa,GAAe,GACvBmnD,EAAchoD,EAAMZ,MACpB6oD,OAAkC,IAAhBD,EAAyB,EAAIA,EAC/CE,EAAeloD,EAAMX,OACrB8oD,OAAoC,IAAjBD,EAA0B,EAAIA,EAEjDE,EAAsB,OAAVhpD,EAAiBA,EAAQ6oD,EACrCI,EAAwB,OAAXhpD,EAAkBA,EAAS8oD,EACxCjuB,EAAYmuB,EAAa,GAAKD,EAAYC,EAE1CvhB,EAAQyH,GAAQ,GAChB+Z,EAAuBxhB,EAAMyhB,eAC7BA,OAA0C,IAAzBD,GAA0CA,EAC3DE,EAAwB1hB,EAAM2hB,uBAC9BA,OAAmD,IAA1BD,EAAmC,IAAMA,EAClEE,EAAwB5hB,EAAM6hB,mBAC9BA,OAA+C,IAA1BD,EAAmC,EAAI,EAAIA,EAChEE,EAAoB9hB,EAAM+hB,YAC1BA,OAAoC,IAAtBD,EAA+B,EAAI,EAAIA,EAErDE,EAAuB5uB,IAAcquB,EACrCQ,EAAaX,EACbY,EAAcX,EACdvN,GAAkB5gB,EAElB4uB,IACET,EAAaI,EACf3N,GAAiB,EAEjBkO,EAAchnD,KAAKC,MAAMomD,EAAaM,GAGxCI,EAAa/mD,KAAKC,MAAM+mD,EAAcH,IAGpCE,EAAa,GAAM,IACrBA,GAAc,GAGZC,EAAc,GAAM,IACtBA,GAAe,GAGjB,IAAI7yB,EAAa8D,GAAcv0B,EAAgC,QAAE,CAC/DtG,MAAO2pD,EACP1pD,OAAQ2pD,EACR9uB,UAAWA,EACX4gB,eAAgBA,GACfvM,IACH,MAAO,CACL7tC,IAAKA,EACLy1B,WAAYA,IAsXhB/yB,EAAQ6lD,wBA3WsB,SAAiC1a,GAC7D,IAAIruC,EAAYsE,EAAMrE,SAASo7C,MAC3Bn7C,EAAaqF,EAAiC,QAAEvF,EAAW,GAC3DgpD,EAAa9oD,EAAW,GACxB+oD,EAAgB/oD,EAAW,GAiB/B,OAfAoE,EAAMzC,WAAU,WACd,IAAIqnD,EAAW,WACb,OAAOD,EAAc5N,OAOvB,MAJsB,oBAAX19C,QACTA,OAAOoyC,iBAAiB,SAAUmZ,GAG7B,WACiB,oBAAXvrD,QACTA,OAAOqyC,oBAAoB,SAAUkZ,MAGxC,CAACD,IACGlvB,GAAcv0B,EAAgC,QAAEA,EAAgC,QAAE,GAAI6oC,GAAO2a,KAuVtG9lD,EAAQimD,SApVO,WACb,IAAItpD,EAAOyS,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC3EogB,EAAa7yB,EAAKX,MAClBA,OAAuB,IAAfwzB,EAAwB,KAAOA,EACvC02B,EAAavpD,EAAKuX,MAClBA,OAAuB,IAAfgyC,EAAwB,GAAKA,EACrCC,EAAkBxpD,EAAKypD,WACvBA,OAAiC,IAApBD,GAAoCA,EACjDE,EAAwB1pD,EAAK2pD,oBAC7BA,OAAgD,IAA1BD,EAAmC,EAAIA,EAC7DE,EAAoB5pD,EAAK6pD,aACzBA,OAAqC,IAAtBD,GAAuCA,EACtD/mB,EAAgB7iC,EAAKT,SACrBA,OAA6B,IAAlBsjC,GAAmCA,EAC9CinB,EAAgB9pD,EAAK+pD,SACrBA,OAA6B,IAAlBD,GAAmCA,EAC9CE,EAAoBhqD,EAAKiqD,aACzBA,OAAqC,IAAtBD,EAA+B,KAAOA,EACrDE,EAAkBlqD,EAAKmqD,WACvBA,OAAiC,IAApBD,EAA6B,KAAOA,EACjDE,EAAqBpqD,EAAKqqD,cAC1BA,OAAuC,IAAvBD,EAAgC,KAAOA,EACvDE,EAAatqD,EAAKuqD,MAClBA,OAAuB,IAAfD,EAAwB,KAAOA,EAEvCE,EAAe/lD,EAAMrD,OAAO,MAC5ByK,EAAQpH,EAAMrD,OAAO,GACrBqpD,EAAahmD,EAAMrD,OAAO,MAC1BspD,EAAqB,OAAVrrD,EACXsrD,EAAgC,oBAAX7sD,QAA2B4sD,EAA+B,KAApB5sD,OAAO29C,WAClEmP,EAAeF,EAAWrrD,EAAQsrD,EAClCE,EAAQtzC,EAAM7E,OACdo4C,EAAUrmD,EAAMmK,aAAY,WAC9B,IAAIm8C,EAAIt4C,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,EACxEskB,EAAMtkB,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,EAC1Eu4C,EAAQv4C,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,EAChF,MAAO,CACLs4C,EAAGA,EACHE,OAAQl0B,EACRi0B,MAAOA,MAGPE,EAAWzmD,EAAMmK,aAAY,WAC/B,IAAId,EAAQ2E,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC5E04C,EAAar9C,EAAMs9C,KACnBA,OAAsB,IAAfD,GAAgCA,EACvCE,EAAWv9C,EAAMw9C,GACjBA,OAAkB,IAAbD,EAAsB,EAAIA,EAEnC,OAAO9zC,EAAM5L,KAAI,SAAU4/C,EAAMj5B,GAC/B,IAAIy4B,EAAIxrD,EAAW,GAAK+yB,EAAIzmB,EAAM9K,SAAW6pD,GAAgBQ,EAAOE,EAAK,GACrEN,EAASnB,IAAgBtqD,GAAa6rD,EAAW,EAAInpD,KAAKupD,IAAIF,GAAMV,EAAe,EAAtC,EACjD,OAAOE,EAAQC,EAAGz4B,EAAG04B,QAEtB,CAACzrD,EAAUgY,EAAO1L,EAAO++C,EAAcf,IAEtC4B,EAAczmD,EAAO0mD,WAAWn0C,EAAM7E,QAAQ,SAAU4f,GAC1D,MAAO,CACLy4B,EAAGxrD,EAAW,EAAI+yB,EAAIs4B,EACtBe,EAAG,EACHV,OAAQ34B,EACRgH,OAAQ3zB,EAAgC,QAAE,GAAK8jD,EAE3C,KAFwD,CAC1DhgC,SAAU,QAIZmiC,EAAelmD,EAAiC,QAAE+lD,EAAa,GAC/DI,EAAiBD,EAAa,GAC9B3b,EAAM2b,EAAa,GAEnBrqD,EAAO20C,EAAQ4V,SAAQ,SAAU79C,GACnC,IAAIm9C,EAAOn9C,EAAMm9C,KACbW,EAAiBrmD,EAAiC,QAAEuI,EAAM+9C,SAAU,GACpEV,EAAKS,EAAe,GACpBE,EAAKF,EAAe,GAEpBG,EADkBxmD,EAAiC,QAAEuI,EAAMqe,UAAW,GAC/C,GACvBrH,EAAShX,EAAMgX,OACfknC,EAAMl+C,EAAMk+C,IAEhB,GAAI5sD,EACF0lB,QADF,CAKKmmC,GAAQZ,EAAazpD,UAAY8K,EAAM9K,UAC1C0pD,EAAW1pD,QAAU,KAEC,OAAlBspD,GACFA,EAAcx+C,EAAM9K,UAgBxB,IAAIqrD,EAAarC,GAAmC,MAAvBU,EAAW1pD,QAAuB,EAALuqD,EACtDe,EAAatC,GAAmC,MAAvBU,EAAW1pD,QAAuB,EAALkrD,EAE1D,GAAIb,GAEEnpD,KAAKupD,IAAIY,GAAaxB,EAAejB,EASvC,OARA99C,EAAM9K,QAAUs1C,EAAwB,QAAExqC,EAAM9K,SAAWmrD,EAAO,GAAK,EAAI,GAAI,EAAGrB,EAAQ,GAC1FJ,EAAW1pD,QAAU,KACrBkkB,SAEmB,OAAfklC,GACFA,EAAWt+C,EAAM9K,UA4BvB,GArBAkvC,EAAIib,EAAS,CACXE,KAAMA,EACNE,GAAIc,EACJH,GAAII,KAGF7B,EAAazpD,UAAY8K,EAAM9K,UAC7BqqD,IAASe,GACU,OAAjBlC,GACFA,EAAap+C,EAAM9K,UAIlBqqD,GAAQe,GACG,OAAV5B,GACFA,KAMFR,GAAYqB,GAA+B,OAAvBX,EAAW1pD,QAAkB,CACnD,IAAIurD,EAAYrqD,KAAKupD,IAAIF,GACrBiB,EAAYtqD,KAAKupD,IAAIS,GAErBK,IAAcC,IAAcA,EAAY,GAAKD,EAAY,KAC3D7B,EAAW1pD,QAAUwrD,EAAYD,EAAY,IAAM,KAIvD9B,EAAazpD,QAAUqqD,IAASe,EAAMtgD,EAAM9K,QAAU,QACrD,CACDyrD,YAAY,IAEVprC,EAAQ3c,EAAMmK,aAAY,WAC5BqhC,EAAIib,OACH,CAAC3rD,EAAUgY,EAAO1L,EAAO++C,IACxBv4B,EAAW5tB,EAAMmK,aAAY,SAAUmoB,GACzClrB,EAAM9K,QAAUg2B,EAChB3V,MACC,CAACA,IAKJ,OAHA3c,EAAMzC,WAAU,WACdiuC,EAAIib,OACH,CAAC3zC,EAAOlY,EAAO4wC,EAAK1wC,IAChB,CACLgY,MAAOs0C,EACPtqD,KAAMA,EACNsK,MAAOA,EAAM9K,QACbsxB,SAAUA,IAyKdhvB,EAAQopD,eArKa,WACnB,IAAI7qB,EAAiBx9B,EAASw8B,oBAC1BiB,EAASp9B,EAAMua,SAAQ,WACzB,OAAO,IAAIpb,EAAK8oD,YAAY,CAC1B9qB,eAAgBA,MAEjB,CAACA,IAIJ,OAHYn9B,EAAMmK,aAAY,SAAUjQ,GACtC,OAAOkjC,EAAOE,MAAMpjC,KACnB,CAACkjC,KA6JNx+B,EAAQspD,cA7DY,WAClB,IAAIzuB,EAAW95B,EAAS8jC,cAExB,OAAKkU,GAAYle,GAIVz5B,EAAMmK,aAAY,WACvB,IAAIg+C,EAAWn6C,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC/EhD,EAASgD,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC7EpM,EAAQoM,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC5E+7B,EAAO/7B,UAAUC,OAAS,EAAID,UAAU,QAAKnG,EAEhC,OAAbsgD,GAAgC,OAAXn9C,GACvByuB,EAAS2uB,WAAWD,EAAUn9C,EAAQpJ,EAAOmoC,KAE9C,IAZM,cA0DXnrC,EAAQypD,cA5CY,WAClB,IAAI3lD,EAAOsL,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC3EyrB,EAAW95B,EAAS8jC,cAExB,OAAKkU,GAAYle,GAIVz5B,EAAMmK,aAAY,WACvB,IAAI2X,EAAQ9T,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC5EhD,EAASgD,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC7E+7B,EAAO/7B,UAAUC,OAAS,EAAID,UAAU,QAAKnG,EAEpC,OAATnF,GAA2B,OAAVof,GAA6B,OAAX9W,GACrCyuB,EAAS6uB,WAAW5lD,EAAMof,EAAO9W,EAAQ++B,KAE1C,IAXM,cAwCXnrC,EAAQ2pD,oBA/GkB,WACxB,IAAI7lD,EAAOsL,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC3EyrB,EAAW95B,EAAS8jC,cAExB,IAAKkU,GAAYle,GACf,OAAO,aAGT,IAAIyd,EAAgBv3C,EAAS0iC,YAE7B,MAAoC,SAAhC6U,EAAcvmB,cACT,aAGF3wB,EAAMmK,aAAY,WACvB,IAAIa,EAASgD,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC7EpM,EAAQoM,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC5E+7B,EAAO/7B,UAAUC,OAAS,EAAID,UAAU,QAAKnG,EAEpC,OAATnF,GAA4B,OAAXsI,GACnByuB,EAAS2uB,WAAW,UAAUziD,OAAOjD,GAAOsI,EAAQpJ,EAAOV,EAAgC,QAAEA,EAAgC,QAAE,GAAI6oC,GAAOkN,GAAiBC,EAAenN,OAE3K,CAACmN,KA0FNt4C,EAAQ4pD,oBAxFkB,WACxB,IAAI9lD,EAAOsL,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC3EyrB,EAAW95B,EAAS8jC,cAExB,IAAKkU,GAAYle,GACf,OAAO,aAGT,IAAIyd,EAAgBv3C,EAAS0iC,YAE7B,MAAoC,SAAhC6U,EAAcvmB,cACT,aAGF3wB,EAAMmK,aAAY,WACvB,IAAI2X,EAAQ9T,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC5EhD,EAASgD,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC7E+7B,EAAO/7B,UAAUC,OAAS,EAAID,UAAU,QAAKnG,EAEpC,OAATnF,GAA2B,OAAVof,GAA6B,OAAX9W,GACrCyuB,EAAS6uB,WAAW,UAAU3iD,OAAOjD,GAAOof,EAAO9W,EAAQ9J,EAAgC,QAAEA,EAAgC,QAAE,GAAI6oC,GAAOkN,GAAiBC,EAAenN,OAE3K,CAACmN,KAmENt4C,EAAQ6pD,mBAjIiB,WACvB,IAAIhvB,EAAW95B,EAAS8jC,cAExB,OAAKkU,GAAYle,GAIVz5B,EAAMmK,aAAY,WACvB,IAAIigB,EAASpc,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC7E5G,EAAQ4G,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAEjE,OAAXoc,GAA6B,OAAVhjB,GACrBqyB,EAASivB,gBAAgBt+B,EAAQhjB,KAElC,IAVM,cA8HXxI,EAAQi5C,eAAiBA,I,kCCjjDzB75C,OAAOW,eAAeC,EAAS,aAA/B,CAA+CC,OAAO,IAEtD,IAAIe,EAAgB,EAAQ,KACxB+oD,EAAc,EAAQ,MACtBC,EAAY,EAAQ,MACpB9pD,EAAkB,EAAQ,MAC1BU,EAAqB,EAAQ,MAC7BqpD,EAAkB,EAAQ,IAC1BC,EAAe,EAAQ,MACvB/oD,EAAU,EAAQ,MAClBI,EAAW,EAAQ,MACnB4oD,EAAW,EAAQ,MACnBC,EAAS,EAAQ,KACjBC,EAAY,EAAQ,KACpBC,EAAe,EAAQ,MACvBC,EAAe,EAAQ,MAC3B,EAAQ,MACR,EAAQ,MACR,EAAQ,MACR,IAAI9oD,EAAW,EAAQ,MACvB,EAAQ,MACR,IAAI+oD,EAAa,EAAQ,MACrBrqD,EAA2B,EAAQ,MACnCU,EAAiB,EAAQ,MAC7B,EAAQ,MACR,IAAI45B,EAAS,EAAQ,MACjBgwB,EAAU,EAAQ,MAClBC,EAAO,EAAQ,KACf7vB,EAAW,EAAQ,MAEvB,SAASh5B,EAAuBC,GAAK,OAAOA,GAAkB,iBAANA,GAAkB,YAAaA,EAAIA,EAAI,CAAE,QAAWA,GAE5G,IAAIQ,EAAsCT,EAAsBb,GAC5DkB,EAAkCL,EAAsBkoD,GACxDhoD,EAAwCF,EAAsB3B,GAC9DkC,EAA2CP,EAAsBjB,GACjE+pD,EAAwC9oD,EAAsBooD,GAC9DW,EAAqC/oD,EAAsBqoD,GAC3DznD,EAAgCZ,EAAsBV,GACtDyB,EAAiCf,EAAsBN,GACvDspD,EAAiChpD,EAAsBsoD,GACvDW,EAA+BjpD,EAAsBuoD,GACrDW,EAAkClpD,EAAsBwoD,GACxDW,EAAqCnpD,EAAsByoD,GAC3DW,EAAqCppD,EAAsB0oD,GAC3D1nD,EAAiChB,EAAsBJ,GACvDO,EAAiDH,EAAsB1B,GACvEkC,EAAuCR,EAAsBhB,GAC7Dy6B,EAA+Bz5B,EAAsB44B,GACrDywB,EAAgCrpD,EAAsB4oD,GACtDU,EAA6BtpD,EAAsB6oD,GAMnDtc,EAAUlsC,EAA4B,QAAE0D,MAAM,CAChDwe,OAAQliB,EAA4B,QAAEuD,KAAKxC,WAC3CohB,KAAMniB,EAA4B,QAAEuD,KAAKxC,aAEvCmoD,EAAWlpD,EAA4B,QAAE0D,MAAM,CACjD0e,SAAUpiB,EAA4B,QAAE6B,OACxCwgB,OAAQriB,EAA4B,QAAE6B,SAEpCmrC,EAAOhtC,EAA4B,QAAE0D,MAAM,CAC7C4e,OAAQtiB,EAA4B,QAAE6B,OAAOd,WAC7CwhB,cAAeviB,EAA4B,QAAEuD,KAAKxC,aAEhDyhB,EAAwBxiB,EAA4B,QAAE0D,MAAM,CAC9D9B,KAAM5B,EAA4B,QAAE4X,OACpC7Z,MAAOiC,EAA4B,QAAE6B,SAEnC2J,EAAiBxL,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE6B,OAAQ7B,EAA4B,QAAE0O,QAAQ8T,KACtI9V,EAAU1M,EAA4B,QAAE0D,MAAM,CAChDoF,GAAI9I,EAA4B,QAAE6B,OAClC2J,eAAgBA,EAAezK,WAC/B8Q,YAAa7R,EAA4B,QAAE6B,SAEzCmC,EAAOhE,EAA4B,QAAEyD,UAAU,CAACiJ,EAAS1M,EAA4B,QAAE6B,SACvFf,EAAQd,EAA4B,QAAEyD,UAAU,CAACiJ,EAAS1M,EAA4B,QAAEwC,OACxF2mD,EAAanpD,EAA4B,QAAE0C,MAAM,CAAC,IAAK,IAAK,IAAK,MACjEtH,GAAM4E,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE0D,MAAM,CACrFlI,QAASwE,EAA4B,QAAE2D,MAErC3D,EAA4B,QAAEuD,OAC9BlB,GAASrC,EAA4B,QAAE0C,MAAM,CAAC,SAAU,QAAS,YACjE+f,GAAcziB,EAA4B,QAAE0C,MAAM,CAAC,MAAO,UAC1D0mD,GAAeppD,EAA4B,QAAE0O,QAAQ+T,IACrDqgB,GAAoB9iC,EAA4B,QAAE0iB,SAAS1iB,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE6B,OAAQ7B,EAA4B,QAAE4X,OAAQ5X,EAA4B,QAAEgb,SAK9MoqB,GAAOplC,EAA4B,QAAE0D,MAAM,CAC7CoF,GAAI9I,EAA4B,QAAE4X,OAClC+K,UAAW3iB,EAA4B,QAAE6B,OACzC+gB,SAAU5iB,EAA4B,QAAE6B,OACxCghB,MAAO7iB,EAA4B,QAAE6B,OACrCihB,OAAQ9iB,EAA4B,QAAE6B,OACtCkhB,UAAW/iB,EAA4B,QAAE6B,SAEvCmhB,GAAWhjB,EAA4B,QAAE0D,MAAM,CACjDoF,GAAI9I,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE4X,OAAQ5X,EAA4B,QAAE6B,SACjHf,MAAOA,EACPyR,IAAKvS,EAA4B,QAAE6B,OACnCM,SAAUnC,EAA4B,QAAEiB,KACxCsB,OAAQvC,EAA4B,QAAEiB,OAEpCgR,GAAYjS,EAA4B,QAAE0O,QAAQsU,IAClDC,GAAajjB,EAA4B,QAAE0D,MAAM,CACnD5C,MAAOA,EACPyR,IAAKvS,EAA4B,QAAE6B,SAEjC8U,GAAc3W,EAA4B,QAAE0O,QAAQuU,IACpDC,GAASljB,EAA4B,QAAE0D,MAAM,CAC/CoF,GAAI9I,EAA4B,QAAE6B,OAAOd,aAEvCsoD,GAAUrpD,EAA4B,QAAE0O,QAAQwU,IAChDC,GAAQnjB,EAA4B,QAAE0D,MAAM,CAC9CoF,GAAI9I,EAA4B,QAAE6B,OAAOd,aAEvC+X,GAAS9Y,EAA4B,QAAE0O,QAAQyU,IAC/C3V,GAAQxN,EAA4B,QAAE0D,MAAM,CAC9CoF,GAAI9I,EAA4B,QAAE6B,OAAOd,aAEvCqb,GAASpc,EAA4B,QAAE0O,QAAQlB,IAC/CnH,GAASrG,EAA4B,QAAE0D,MAAM,CAC/C5C,MAAOA,EACPwC,QAAStD,EAA4B,QAAEuD,OAErCuC,GAAU9F,EAA4B,QAAE0O,QAAQrI,IAChD+c,GAAwB,CAAC,UAAW,YAAa,UAAW,SAAU,UAAW,OAAQ,QAAS,QAClGlR,GAAkBlS,EAA4B,QAAE0C,MAAM0gB,IACtDrhB,GAAc/B,EAA4B,QAAE0C,MAAM,GAAGmC,OAAOue,GAAuB,CAAC,kBAAmB,oBAAqB,kBAAmB,iBAAkB,kBAAmB,eAAgB,gBAAiB,eAAgB,eAAgB,QACrPnhB,GAAajC,EAA4B,QAAE0C,MAAM,CAAC,KAAM,KAAM,OAC9D4mD,GAAkBtpD,EAA4B,QAAE0C,MAAM,CAAC,KAAM,KAAM,OACnEoQ,GAAgB9S,EAA4B,QAAE0C,MAAM,CAAC,OAAQ,UAM7D8E,GAAYxH,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAEmB,OAAQnB,EAA4B,QAAEuD,OACzHoE,GAAa3H,EAA4B,QAAE0iB,SAASlb,IAKpD8E,GAAStM,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE6B,OAAQ7B,EAA4B,QAAE0O,QAAQ1O,EAA4B,QAAE6B,UAC5J0nD,GAAavpD,EAA4B,QAAE0iB,SAASpW,IACpD+W,GAAerjB,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE6B,OAAQ7B,EAA4B,QAAE0D,MAAM,CACpI3F,MAAOiC,EAA4B,QAAE2D,IAErC7C,MAAOA,MAEL0oD,GAAgBxpD,EAA4B,QAAE0O,QAAQ2U,IACtDC,GAAYtjB,EAA4B,QAAE0D,MAAM,CAClD6D,KAAMvH,EAA4B,QAAE6B,OACpC2F,UAAWA,KAET4C,GAAapK,EAA4B,QAAE0O,QAAQ4U,IAKnDC,GAAqB,CACvBC,SAAUxjB,EAA4B,QAAE6B,OACxCG,KAAMhC,EAA4B,QAAE4X,OACpC6L,KAAMzjB,EAA4B,QAAE6B,QAElC6hB,GAAY1jB,EAA4B,QAAE0D,MAAM,CAClDoF,GAAI9I,EAA4B,QAAE6B,OAClC8hB,OAAQ3jB,EAA4B,QAAE6B,OACtCD,KAAM5B,EAA4B,QAAE6B,OACpC4hB,KAAMzjB,EAA4B,QAAE6B,OACpC0Q,IAAKvS,EAA4B,QAAE6B,SAEjC+hB,GAAa,CACf9a,GAAI9I,EAA4B,QAAE6B,OAClCD,KAAM5B,EAA4B,QAAE6B,OAAOd,WAC3CwR,IAAKvS,EAA4B,QAAE6B,OAEnCgiB,cAAe7jB,EAA4B,QAAE6B,OAC7C0F,KAAMvH,EAA4B,QAAE6B,OACpCiiB,SAAU9jB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAE,GAAImjB,KACpFnC,MAAOphB,EAA4B,QAAE0iB,SAASgB,KAE5C1C,GAAQhhB,EAA4B,QAAE0D,MAAMkgB,IAC5C6lC,GAASzpD,EAA4B,QAAE0O,QAAQsS,IAC/CjG,GAAa/a,EAA4B,QAAE0C,MAAM,CAAC,QAAS,QAAS,QAAS,kBAAmB,SAChGqhB,GAAa/jB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAEA,EAAgC,QAAE,GAAIwjB,IAAa,GAAI,CAC5IhiB,KAAM5B,EAA4B,QAAE0C,MAAM,CAAC,QAAS,UACpDohB,SAAU9jB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAEA,EAAgC,QAAE,GAAImjB,IAAqB,GAAI,CAC7IzpB,MAAOkG,EAA4B,QAAE4X,OACrC7d,OAAQiG,EAA4B,QAAE4X,aAGtC8xC,GAAc1pD,EAA4B,QAAE0O,QAAQqV,IACpDC,GAAYhkB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAEA,EAAgC,QAAE,GAAIwjB,IAAa,GAAI,CAC3IhiB,KAAM5B,EAA4B,QAAE0C,MAAM,CAAC,SAC3CohB,SAAU9jB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAE,GAAImjB,QAElFomC,GAAa3pD,EAA4B,QAAE0O,QAAQsV,IACnDC,GAAajkB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAEA,EAAgC,QAAE,GAAIwjB,IAAa,GAAI,CAC5IhiB,KAAM5B,EAA4B,QAAE0C,MAAM,CAAC,UAC3CohB,SAAU9jB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAEA,EAAgC,QAAE,GAAImjB,IAAqB,GAAI,CAC7IzpB,MAAOkG,EAA4B,QAAE4X,OACrC7d,OAAQiG,EAA4B,QAAE4X,OACtCsM,SAAUlkB,EAA4B,QAAE4X,aAGxCgyC,GAAc5pD,EAA4B,QAAE0O,QAAQuV,IACpDE,GAAankB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAEA,EAAgC,QAAE,GAAIwjB,IAAa,GAAI,CAC5IhiB,KAAM5B,EAA4B,QAAE0C,MAAM,CAAC,UAC3CohB,SAAU9jB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAEA,EAAgC,QAAE,GAAImjB,IAAqB,GAAI,CAC7IW,SAAUlkB,EAA4B,QAAE4X,aAGxCiyC,GAAc7pD,EAA4B,QAAE0O,QAAQyV,IACpDC,GAAsBpkB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAEA,EAAgC,QAAE,GAAIwjB,IAAa,GAAI,CACrJhiB,KAAM5B,EAA4B,QAAE0C,MAAM,CAAC,uBAMzC2hB,GAAOrkB,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE6B,OAAQ7B,EAA4B,QAAE0D,MAAM,CAC5H9B,KAAM5B,EAA4B,QAAE0C,MAAM,CAAC,SAAU,SAAU,WAC/D6E,KAAMvH,EAA4B,QAAE6B,OACpCmf,MAAOgD,OAELrD,GAAQ3gB,EAA4B,QAAE0O,QAAQ2V,IAC9CC,GAAYtkB,EAA4B,QAAE0C,MAAM,CAAC,OAAQ,QAAS,WAClEwN,GAAQlQ,EAA4B,QAAE0D,MAAM,CAC9CwM,MAAOlQ,EAA4B,QAAE6B,OACrC0iB,MAAOvkB,EAA4B,QAAE4X,SAEnC4M,GAAYxkB,EAA4B,QAAE0D,MAAM,CAClD+gB,WAAYJ,GACZK,SAAU1kB,EAA4B,QAAE4X,OACxC+M,UAAW3kB,EAA4B,QAAE0D,MAAM,CAC7CkhB,KAAM5kB,EAA4B,QAAEiB,KACpC4jB,OAAQ7kB,EAA4B,QAAEiB,KACtC6jB,UAAW9kB,EAA4B,QAAEiB,KACzC8jB,UAAW/kB,EAA4B,QAAEiB,OAE3C4R,MAAOyR,GACPpU,MAAOA,GACP8U,cAAehlB,EAA4B,QAAE4X,OAC7CqN,WAAYjlB,EAA4B,QAAE4X,SAExCsN,GAAcllB,EAA4B,QAAE0C,MAAM,CAAC,SAAU,SAAU,QAAS,SAAU,SAAU,QAAS,QAAS,SAAU,WAChI8iB,GAAcxlB,EAA4B,QAAE0D,MAAM,CACpD5J,MAAOkG,EAA4B,QAAE4X,OACrC3a,MAAOioB,GACPC,OAAQnlB,EAA4B,QAAE4X,OACtC1H,MAAOA,KAEL45C,GAAc9pD,EAA4B,QAAE0D,MAAM,CACpD0hB,gBAAiBlV,GACjBmV,aAAcrlB,EAA4B,QAAE4X,OAC5C0N,YAAatlB,EAA4B,QAAE4X,OAC3C2N,YAAarV,GACbsV,YAAaN,KAEX6kC,GAAS/pD,EAA4B,QAAE0D,MAAM,CAC/Cia,IAAK3d,EAA4B,QAAE4X,OACnC6N,OAAQzlB,EAA4B,QAAE4X,SAEpCoyC,GAAahqD,EAA4B,QAAE0O,QAAQ1O,EAA4B,QAAE0D,MAAM,CACzFgiB,KAAM1lB,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE4X,OAAQ5X,EAA4B,QAAE0O,QAAQ1O,EAA4B,QAAE4X,UACzJ+N,QAAS3lB,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE4X,OAAQ5X,EAA4B,QAAE0O,QAAQ1O,EAA4B,QAAE4X,aAE1JgO,GAAgB5lB,EAA4B,QAAE0C,MAAM,CAAC,QAAS,UAAW,OACzEunD,GAAYjqD,EAA4B,QAAE0D,MAAM,CAClDmiB,IAAKD,GACLE,mBAAoB9lB,EAA4B,QAAE0C,MAAM,CAAC,OAAQ,SAAU,UAC3EqjB,iBAAkB/lB,EAA4B,QAAE0C,MAAM,CAAC,MAAO,SAAU,aAMtEsjB,GAAchmB,EAA4B,QAAE0D,MAAM,CACpDmX,KAAM7a,EAA4B,QAAE6B,OACpC2iB,UAAWA,KAETyB,GAAiBD,GACjBkkC,GAAelqD,EAA4B,QAAE0D,MAAM,CACrD5C,MAAOd,EAA4B,QAAE6B,OACrC2iB,UAAWA,KAET0B,GAAelmB,EAA4B,QAAE0D,MAAM,CACrDsd,MAAO+C,KAELomC,GAAgBnqD,EAA4B,QAAE0O,QAAQwX,IACtDkkC,GAAepqD,EAA4B,QAAE0D,MAAM,CACrDsd,MAAOiD,GACPkC,SAAUnmB,EAA4B,QAAEiB,KACxCmlB,KAAMpmB,EAA4B,QAAEiB,KACpColB,eAAgBjC,GAChBkC,YAAatmB,EAA4B,QAAEiB,KAC3CslB,cAAevmB,EAA4B,QAAEiB,OAE3CopD,GAAerqD,EAA4B,QAAE0D,MAAM,CACrDsd,MAAOmD,GACPgC,SAAUnmB,EAA4B,QAAEiB,KACxCmlB,KAAMpmB,EAA4B,QAAEiB,KACpColB,eAAgBjC,GAChBmC,cAAevmB,EAA4B,QAAEiB,OAE3CqpD,GAAwBtqD,EAA4B,QAAE0D,MAAM,CAC9Dsd,MAAOoD,KAELoC,GAAoBxmB,EAA4B,QAAE0D,MAAM,CAC1DwM,MAAOA,GACPhC,MAAO6V,GACP0C,MAAOxC,KAELyC,GAA0B1mB,EAA4B,QAAE0D,MAAM,CAChEwK,MAAO6V,GACP4C,QAASX,KAEPukC,GAA2BvqD,EAA4B,QAAE0O,QAAQgY,IACjEE,GAAiB5mB,EAA4B,QAAE0C,MAAM,CAAC,aAAc,aACpEmkB,GAAa7mB,EAA4B,QAAE0C,MAAM,CAAC,QAAS,SAAU,QACrEokB,GAAe9mB,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE4X,OAAQ5X,EAA4B,QAAE0C,MAAM,CAAC,UAAW,SAAU,aACxJ8nD,GAAexqD,EAA4B,QAAE0D,MAAM,CACrDqjB,UAAWH,GACX/T,MAAOgU,GACP/sB,MAAOkG,EAA4B,QAAE4X,OACrC7d,OAAQiG,EAA4B,QAAE4X,OACtCoP,QAASF,GACTG,QAASjnB,EAA4B,QAAEiB,OAErCwpD,GAAczqD,EAA4B,QAAE0D,MAAM,CACpDwjB,OAAQlnB,EAA4B,QAAE0O,QAAQ1O,EAA4B,QAAE6B,QAC5EmlB,QAAShnB,EAA4B,QAAE4X,SAErCuP,GAAcnnB,EAA4B,QAAE0D,MAAM,CACpD0jB,IAAKpnB,EAA4B,QAAE4X,OACnCyP,IAAKrnB,EAA4B,QAAE4X,SAEjC0P,GAAc,CAChBxe,GAAI9I,EAA4B,QAAE4X,OAClCuP,YAAaA,GACb7Y,MAAO2X,GACP1X,SAAU0X,GACVpU,YAAamU,IAEXuB,GAASvnB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAE,GAAIknB,KACnFojC,GAAU1qD,EAA4B,QAAE0O,QAAQ6Y,IAChDC,GAAkBxnB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAEA,EAAgC,QAAE,GAAIknB,IAAc,GAAI,CAClJpZ,MAAO6V,MAEL4mC,GAAmB3qD,EAA4B,QAAE0O,QAAQ8Y,IACzDC,GAAc,CAChB3e,GAAI9I,EAA4B,QAAE6B,OAClCf,MAAOklB,IAEL0B,GAAS1nB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAE,GAAIqnB,KACnFE,GAAa3nB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAEA,EAAgC,QAAE,GAAIqnB,IAAc,GAAI,CAC7IG,KAAM5nB,EAA4B,QAAEiB,QAElC2pD,GAAU5qD,EAA4B,QAAE0O,QAAQgZ,IAChDmjC,GAAc7qD,EAA4B,QAAE0O,QAAQiZ,IACpDE,GAAoB7nB,EAA4B,QAAE0C,MAAM,CAAC,WAAY,WACrEooD,GAAe9qD,EAA4B,QAAE0D,MAAM,CACrDnB,OAAQvC,EAA4B,QAAEiB,KACtCW,KAAMimB,GACNtV,IAAKvS,EAA4B,QAAE6B,OACnCf,MAAOklB,KAEL8B,GAAU9nB,EAA4B,QAAE0D,MAAM,CAChDoF,GAAI9I,EAA4B,QAAE6B,OAClC0F,KAAMvH,EAA4B,QAAE6B,OACpCkmB,OAAQhE,GACRiE,KAAMhoB,EAA4B,QAAE0C,MAAM,CAAC,OAAQ,UACnDwN,MAAOA,KAEL+X,GAAWjoB,EAA4B,QAAE0O,QAAQoZ,IACjDI,GAAsBloB,EAA4B,QAAE0D,MAAM,CAC5DokB,QAAS9nB,EAA4B,QAAE6B,OACvC6K,QAAS1M,EAA4B,QAAE6B,OACvCqM,MAAO6V,KAELoE,GAAuBnoB,EAA4B,QAAE0O,QAAQwZ,IAC7D6iC,GAAe/qD,EAA4B,QAAE0D,MAAM,CACrDukB,SAAUA,GACVzD,UAAWA,GACXlN,SAAU6Q,KAMRC,GAAa,CACf7gB,KAAMvH,EAA4B,QAAE6B,OACpCD,KAAM5B,EAA4B,QAAE6B,OAAOd,WAC3CD,MAAOkD,GAELoE,GAAQpI,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAEA,EAAgC,QAAE,GAAIgoB,IAAa,GAAI,CACvIC,UAAWroB,EAA4B,QAAEiB,KACzC2G,OAAQ5H,EAA4B,QAAE0O,QAAQ1O,EAA4B,QAAE0D,MAAM0kB,QAEhFxgB,GAAS5H,EAA4B,QAAE0O,QAAQtG,IAC/CkgB,GAAmBtoB,EAA4B,QAAE0D,MAAM,CACzDoF,GAAI9I,EAA4B,QAAE6B,OAAOd,WACzCa,KAAM5B,EAA4B,QAAE0C,MAAM,CAAC,WAAW3B,WACtDuN,MAAOtK,EAAKjD,WACZwnB,QAASvoB,EAA4B,QAAE0O,QAAQ1O,EAA4B,QAAE6B,QAC7E+F,OAAQA,KAEN0zB,GAAoBt7B,EAA4B,QAAE0O,QAAQ4Z,IAC1DE,GAAkBxoB,EAA4B,QAAE0D,MAAM,CACxDoF,GAAI9I,EAA4B,QAAE6B,OAAOd,WACzCa,KAAM5B,EAA4B,QAAE0C,MAAM,CAAC,UAAU3B,WACrDuN,MAAOtK,EAAKjD,WACZ6G,OAAQA,KAENkzB,GAAmB96B,EAA4B,QAAE0O,QAAQ8Z,IAKzDC,GAAsB,CACxB7mB,KAAM5B,EAA4B,QAAE6B,OAAOd,YAEzC2nB,GAAiB1oB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAE,GAAIqoB,KAC3FuK,GAAkBhzB,EAA4B,QAAE0O,QAAQga,IACxDC,GAAkB3oB,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAE,GAAIqoB,KAC5FG,GAAmB5oB,EAA4B,QAAE0O,QAAQia,IACzDW,GAASX,GAMT7mB,GAAQ9B,EAA4B,QAAE0D,MAAM,CAC9CoF,GAAI9I,EAA4B,QAAE6B,OAClCgnB,WAAY7oB,EAA4B,QAAE0iB,SAAS8B,IAEnDsE,WAAYtC,GACZuC,OAAQ/oB,EAA4B,QAAE0iB,SAASxS,IAC/CvI,WAAYihB,KAEVoiC,GAAchrD,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAE,CACtF4oB,KAAMjF,IACLjiB,KAgBCgiB,GAAW9jB,EAA4B,QAAE0D,MAAM,CACjDmO,YAAa7R,EAA4B,QAAE6B,OAC3ConB,SAAUjpB,EAA4B,QAAE6B,OACxCqnB,WAAYnF,GACZoF,QAASpF,KAMP3qB,GAAQ4G,EAA4B,QAAE0D,MAAM,CAC9CoF,GAAI9I,EAA4B,QAAE6B,OAClCC,MAAOA,GACP6F,WAAYihB,GACZ9E,SAAUA,KAMRsF,GAAeppB,EAA4B,QAAE0D,MAAM,CACrD6D,KAAMvH,EAA4B,QAAE6B,OAAOd,WAC3CsoB,WAAYrpB,EAA4B,QAAE6B,SAExCopD,GAAgBjrD,EAA4B,QAAE0O,QAAQ0a,IACtDyH,GAAa7wB,EAA4B,QAAE0D,MAAM,CACnD4lB,OAAQtpB,EAA4B,QAAE6B,OACtC0nB,QAASvpB,EAA4B,QAAE0O,QAAQ1O,EAA4B,QAAE6B,QAC7E/H,MAAOkG,EAA4B,QAAE4X,OACrC7d,OAAQiG,EAA4B,QAAE4X,SAEpCiY,GAAgB7vB,EAA4B,QAAE0C,MAAM,CAAC,OAAQ,cAAe,OAAQ,UAAW,SAAU,YAKzGwoD,GAAYlrD,EAA4B,QAAE0D,MAAM,CAClD5J,MAAOkG,EAA4B,QAAE4X,OACrC7d,OAAQiG,EAA4B,QAAE4X,SAEpCuzC,GAAWnrD,EAA4B,QAAE0D,MAAM,CACjD5J,MAAOkG,EAA4B,QAAE4X,OACrC7d,OAAQiG,EAA4B,QAAE4X,OACtCrF,IAAKvS,EAA4B,QAAE6B,OACnCQ,OAAQA,GACRmnB,OAAQxpB,EAA4B,QAAE6B,OACtCqM,MAAO6V,KAELqnC,GAAiBprD,EAA4B,QAAE0D,MAAM,CACvDmM,IAAK7P,EAA4B,QAAE6B,OACnC4nB,MAAOzpB,EAA4B,QAAE6B,OACrC6nB,SAAU1pB,EAA4B,QAAE4X,OACxC+R,SAAU3pB,EAA4B,QAAEiB,OAEtC2oB,GAAQ5pB,EAA4B,QAAE0D,MAAM,CAC9CwK,MAAO6V,GACP/f,KAAMhE,EAA4B,QAAE6B,SAElCwpD,GAASrrD,EAA4B,QAAE0O,QAAQkb,IAK/C0hC,GAAiBtrD,EAA4B,QAAE0D,MAAM,IAKrDmmB,GAAiB7pB,EAA4B,QAAE0C,MAAM,CAAC,OAAQ,QAAS,UACvEonB,GAAmB,CACrB5F,SAAUlkB,EAA4B,QAAE4X,OACxCmS,OAAQ/pB,EAA4B,QAAE0C,MAAM,CAAC,OAAQ,UAAW,WAAY,cAAe,YAEzFsnB,GAAahqB,EAA4B,QAAEyD,UAAU,CAAComB,GAAe9oB,WAAYf,EAA4B,QAAE0D,MAAMtD,EAAgC,QAAE,CACzJmH,KAAMsiB,GAAe9oB,YACpB+oB,OACC0K,GAAcx0B,EAA4B,QAAE0D,MAAM,CACpD,GAAMsmB,GACNC,IAAKD,KAMHE,GAAelqB,EAA4B,QAAE0D,MAAM,CACrD9B,KAAM5B,EAA4B,QAAE6B,OACpC9D,MAAOiC,EAA4B,QAAE0C,MAAM,CAAC1C,EAA4B,QAAE6B,OAAQ7B,EAA4B,QAAE4X,WAE9G2zC,GAAgBvrD,EAA4B,QAAE0O,QAAQwb,IAKtDC,GAAcnqB,EAA4B,QAAE0D,MAAM,CACpDoF,GAAI9I,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE6B,OAAQ7B,EAA4B,QAAE4X,SACjHmG,KAAM/d,EAA4B,QAAE6B,OACpCD,KAAM5B,EAA4B,QAAE6B,OACpCuoB,aAAcpqB,EAA4B,QAAE6B,OAC5CwoB,OAAQrqB,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE6B,OAAQ7B,EAA4B,QAAE4X,WAEnH4zC,GAAexrD,EAA4B,QAAE0O,QAAQyb,IAKrDG,GAAetqB,EAA4B,QAAE0D,MAAM,CACrD6mB,UAAWvqB,EAA4B,QAAE6B,OACzCgQ,YAAa7R,EAA4B,QAAE6B,OAC3C2oB,SAAUxqB,EAA4B,QAAEyD,UAAU,CAACzD,EAA4B,QAAE6B,OAAQ7B,EAA4B,QAAEgb,QACvH9M,MAAOlO,EAA4B,QAAE0D,MAAM,CACzC6O,IAAKvS,EAA4B,QAAE6B,SAErC4oB,QAASzqB,EAA4B,QAAE0D,MAAM,CAC3C6O,IAAKvS,EAA4B,QAAE6B,SAErC6oB,OAAQ1qB,EAA4B,QAAE6B,OACtC8oB,QAAS3qB,EAA4B,QAAE6B,OACvC+oB,aAAc5qB,EAA4B,QAAE0O,QAAQ1O,EAA4B,QAAE0D,MAAM,OAGtFxF,GAAyBhB,OAAOm0B,OAAO,CACvCC,UAAW,KACX4a,QAASA,EACTgd,SAAUA,EACVlc,KAAMA,EACNxqB,sBAAuBA,EACvBhX,eAAgBA,EAChBkB,QAASA,EACT1I,KAAMA,EACNlD,MAAOA,EACPqoD,WAAYA,EACZ/tD,IAAKA,GACLiH,OAAQA,GACRogB,YAAaA,GACb2mC,aAAcA,GACdtmB,kBAAmBA,GACnBsC,KAAMA,GACNpiB,SAAUA,GACV/Q,UAAWA,GACXgR,WAAYA,GACZtM,YAAaA,GACbuM,OAAQA,GACRmmC,QAASA,GACTlmC,MAAOA,GACPrK,OAAQA,GACRtL,MAAOA,GACP4O,OAAQA,GACR/V,OAAQA,GACRP,QAASA,GACToM,gBAAiBA,GACjBnQ,YAAaA,GACbE,WAAYA,GACZqnD,gBAAiBA,GACjBx2C,cAAeA,GACf24C,eAjeiB,SAAwBC,GAC3C,OAAO1rD,EAA4B,QAAE0C,MAAMxF,OAAOqb,KAAKmzC,GAAYtlD,KAAI,SAAUoN,GAC/E,OAAOs0C,EAAUA,UAAUt0C,QAge3BhM,UAAWA,GACXG,WAAYA,GACZ2E,OAAQA,GACRi9C,WAAYA,GACZlmC,aAAcA,GACdmmC,cAAeA,GACflmC,UAAWA,GACXlZ,WAAYA,GACZsZ,UAAWA,GACX1C,MAAOA,GACPyoC,OAAQA,GACR1uC,WAAYA,GACZgJ,WAAYA,GACZ2lC,YAAaA,GACb1lC,UAAWA,GACX2lC,WAAYA,GACZ1lC,WAAYA,GACZ2lC,YAAaA,GACbzlC,WAAYA,GACZ0lC,YAAaA,GACbzlC,oBAAqBA,GACrBC,KAAMA,GACN1D,MAAOA,GACP2D,UAAWA,GACXpU,MAAOA,GACPsU,UAAWA,GACXU,YAAaA,GACbM,YAAaA,GACbskC,YAAaA,GACbC,OAAQA,GACRC,WAAYA,GACZpkC,cAAeA,GACfqkC,UAAWA,GACXjkC,YAAaA,GACbC,eAAgBA,GAChBikC,aAAcA,GACdhkC,aAAcA,GACdikC,cAAeA,GACfC,aAAcA,GACdC,aAAcA,GACdC,sBAAuBA,GACvB9jC,kBAAmBA,GACnBE,wBAAyBA,GACzB6jC,yBAA0BA,GAC1B3jC,eAAgBA,GAChBC,WAAYA,GACZC,aAAcA,GACd0jC,aAAcA,GACdC,YAAaA,GACbtjC,YAAaA,GACbI,OAAQA,GACRmjC,QAASA,GACTljC,gBAAiBA,GACjBmjC,iBAAkBA,GAClBljC,YAAaA,GACbC,OAAQA,GACRC,WAAYA,GACZijC,QAASA,GACTC,YAAaA,GACbhjC,kBAAmBA,GACnBijC,aAAcA,GACdhjC,QAASA,GACTG,SAAUA,GACVC,oBAAqBA,GACrBC,qBAAsBA,GACtB4iC,aAAcA,GACd3iD,MAAOA,GACPR,OAAQA,GACR0gB,iBAAkBA,GAClBgT,kBAAmBA,GACnB9S,gBAAiBA,GACjBsS,iBAAkBA,GAClBpS,eAAgBA,GAChBsK,gBAAiBA,GACjBrK,gBAAiBA,GACjBC,iBAAkBA,GAClBU,OAAQA,GACRxnB,MAAOA,GACPkpD,YAAaA,GACblnC,SAAUA,GACV1qB,MAAOA,GACPgwB,aAAcA,GACd6hC,cAAeA,GACfp6B,WAAYA,GACZhB,cAAeA,GACfq7B,UAAWA,GACXC,SAAUA,GACVC,eAAgBA,GAChBxhC,MAAOA,GACPyhC,OAAQA,GACRC,eAAgBA,GAChBzhC,eAAgBA,GAChBG,WAAYA,GACZwK,YAAaA,GACbtK,aAAcA,GACdqhC,cAAeA,GACfphC,YAAaA,GACbqhC,aAAcA,GACdlhC,aAAcA,KAGdqhC,GAAe,SAAsB5iC,GACvC,OAAO6/B,EAAyB,QAAE7/B,EAAQ,CAAC,QAAS,WAGlD6iC,GAAe,SAAsB7iC,GACvC,OAAO4/B,EAA2B,QAAE5/B,GAAQ,SAAU8iC,EAAQC,GAC5D,OAAOD,EAAOtnC,QAAUunC,EAAOvnC,OAASsnC,EAAO37C,QAAU47C,EAAO57C,UAIhEqsB,GAA4B,WAC9B,SAASA,EAAa9hC,GACpB,IAAIyN,EAAgBzN,EAAKyN,cACrBm0B,EAAiB5hC,EAAK4hC,eAE1BosB,EAAkC,QAAEsD,KAAMxvB,GAE1CwvB,KAAK7jD,cAAgBA,EACrB6jD,KAAK1vB,eAAiBA,EA0IxB,OAtIAqsB,EAA+B,QAAEnsB,EAAc,CAAC,CAC9Cz1B,IAAK,QACL/I,MAAO,SAAe3E,GACpB,IAAI4yD,EAAQD,KAEZ,GAAc,OAAV3yD,EACF,OAAOA,EAGT,IAAImP,EAAQnP,GAAS,GACjB6yD,EAAc1jD,EAAMzG,MACpBA,OAAwB,IAAhBmqD,EAAyB,KAAOA,EACxCC,EAAmB3jD,EAAMZ,WAGzBwkD,QAFkC,IAArBD,EAA8B,GAAKA,GAEhB5qC,QAAO,SAAU5Y,EAAO4gB,GAC1D,IAAI8iC,EAAe1jD,EAAMqgB,OACrBsjC,OAAiC,IAAjBD,EAA0B,KAAOA,EACjDxqD,EAAO0nB,EAAO1nB,KAGd0qD,GADQN,EAAM3vB,eAAe1zB,cAAc/G,IAAS,IAC/BgG,OACrBA,OAA0B,IAAjB0kD,EAA0B,GAAKA,EAExCC,EAAgBP,EAAMQ,sBAAsB5kD,GAG5C6kD,EADwBlwB,EAAamwB,kBAAkBpjC,EAAQijC,GAC7BxjC,OAEtC,MAAO,CACLA,OAAQ,GAAGlkB,OAAO3E,EAAqC,QAAEmsD,GAAgBnsD,EAAqC,QAAEusD,OAEjH,CACD1jC,OAAQ,KAENA,EAASojC,EAAmBpjC,OAEhC,GAAc,OAAVjnB,EAAgB,CAClB,IAAI6qD,EAAcZ,KAAKvvB,MAAM16B,GAC7B,OAAkB,OAAXinB,GAAmC,OAAhB4jC,EAAuBf,GAAa,GAAG/mD,OAAO3E,EAAqC,QAAEyrD,GAAagB,GAAe,KAAMzsD,EAAqC,QAAEyrD,GAAa5iC,GAAU,OAAS,GAG1N,OAAkB,OAAXA,EAAkB4iC,GAAaC,GAAa7iC,GAAU,KAAO,KAErE,CACDjiB,IAAK,wBACL/I,MAAO,SAA+B6J,GACpC,IAAIglD,EAASb,KAETc,EAAa3/C,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KACrF,OAAOtF,EAAO0Z,QAAO,SAAUwrC,EAAU1kD,GACvC,IAAI2kD,EAAc3kD,EAAMb,KACpBA,OAAuB,IAAhBwlD,EAAyB,KAAOA,EACvCC,EAAc5kD,EAAMxG,KACpBA,OAAuB,IAAhBorD,EAAyB,KAAOA,EACvCC,EAAO,CAACJ,EAAYtlD,GAAMkU,QAAO,SAAUjI,GAC7C,OAAc,OAAPA,KACNmO,KAAK,OAEJ6G,EAAkBpoB,EAAgC,QAAEA,EAAgC,QAAE,GAAa,OAATwB,EAAgBgrD,EAAO1kD,cAAcS,cAAc/G,GAAQ,MAAOwG,GAG5J8kD,EAAwB1kC,EAAgB5gB,OACxCulD,OAAsC,IAA1BD,EAAmC,GAAKA,EACpDE,EAAwB5kC,EAAgB6kC,WACxCA,OAAuC,IAA1BD,EAAmC,KAAOA,EACvDE,EAAwB9kC,EAAgBzf,SACxCA,OAAqC,IAA1BukD,EAAmC,GAAKA,EACvD,MAAO,GAAGzoD,OAAO3E,EAAqC,QAAE4sD,GAAW5sD,EAAqC,QAAEq8B,EAAagxB,aAAa/kC,GAAmB,CAAC,IAAIglC,OAAO,IAAI3oD,OAAOooD,EAAM,OAAS,IAAK/sD,EAAqC,QAAE0sD,EAAOJ,sBAAsBW,EAAWF,IAAQ/sD,EAAqC,QAAE0sD,EAAOJ,sBAAsBzjD,EAAUkkD,IAAQ/sD,EAAqC,QAAiB,OAAfmtD,EAAsBT,EAAOJ,sBAAsB,CAACa,GAAa,GAAGxoD,OAAOooD,EAAM,cAAgB,OACtf,OAEH,CAAC,CACHnmD,IAAK,eACL/I,MAAO,SAAsBrD,GAC3B,IAAI+yD,EAAW/yD,EAAMoO,GAErB,MAAc,gBADQ,IAAb2kD,EAAsB,KAAOA,KAGvC,CACD3mD,IAAK,oBACL/I,MAAO,SAA2BiO,EAAM8gD,GACtC,IAAI/jC,EAAS7b,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC7EwgD,EAAYxgD,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAChFygD,EAAcptD,EAA0B,QAAEyL,GAC1CuM,EAAOo1C,EAAcztD,EAAqC,QAAE8L,EAAKuM,QAAUrb,OAAOqb,KAAKvM,GAC3F,OAAOuM,EAAK+I,QAAO,SAAUkgB,EAAO16B,GAClC,IAAI8mD,EAAcpsB,EAAMx1B,KACpB6hD,EAAersB,EAAMzY,OACrBsjC,OAAiC,IAAjBwB,EAA0B,KAAOA,EACjDZ,EAAO,CAACS,EAAW5mD,GAAK2U,QAAO,SAAUjI,GAC3C,OAAc,OAAPA,KACNmO,KAAK,KACJmsC,EAAehB,EAASxrC,QAAO,SAAUysC,EAAOC,GAClD,OAAOD,GAASC,EAAQC,KAAKhB,MAC5B,GACClvD,EAAQiO,EAAKlF,GACboJ,EAAQ,KACR3G,EAAW,KACX2kD,EAAY,KAEhB,GAAIJ,GAAgBptD,EAA2B,QAAE3C,GAC/C,GAAIA,EAAMmS,OAAgC,IAAvBnS,EAAMmS,MAAM/C,OAAc,CAC3C,IAAIghD,EAAapwD,EAAMmS,MAAM5H,MAAM,IAAIlC,KAAI,SAAUgoD,EAAKrhC,GACxD,OAAOA,EAAI,EAAIqhC,EAAMA,EAAMA,KAC1BzsC,KAAK,IAAI0sC,cACZn+C,EAAQ,CACNqU,MAAOxmB,EAAMwmB,OAAS,EACtBrU,MAAOi+C,QAEApwD,EAAMmS,QACfA,EAAQ,CACNqU,MAAOxmB,EAAMwmB,MACbrU,MAAOnS,EAAMmS,MAAMm+C,qBAGlB,GAAI3tD,EAA2B,QAAE3C,IAAUwC,EAA0B,QAAExC,GAAQ,CACpF,IAAIuwD,EAAY/xB,EAAamwB,kBAAkB3uD,EAAO+uD,EAAU/jC,EAAQkkC,GACxE1jD,EAAW+kD,EAAUtiD,KACrBkiD,EAAYI,EAAUvlC,YAEtBxf,EAAWxL,EAGb,MAAO,CACLiO,KAAM2hD,EAAc,GAAG9oD,OAAO3E,EAAqC,QAAE0tD,GAAe,IAAK,CAACrkD,IAAanJ,EAAgC,QAAEA,EAAgC,QAAE,GAAIwtD,GAAc,GAAI/tD,EAAkC,QAAE,GAAIiH,EAAKyC,IAC9Owf,OAAkB,OAAV7Y,EAAiB,GAAGrL,OAAO3E,EAAqC,QAAEmsD,GAAiB,IAAKnsD,EAAqC,QAAEguD,GAAa,IAAK,CAACh+C,IAAU,GAAGrL,OAAO3E,EAAqC,QAAEmsD,GAAiB,IAAKnsD,EAAqC,QAAEguD,GAAa,QAEhS,CACDliD,KAAM,KACN+c,OAAQA,QAKPwT,EAlJuB,GAqJ5B3yB,GAAuB,WACzB,IAAIrC,EAAO2F,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC3EvF,EAAauF,UAAUC,OAAS,EAAID,UAAU,QAAKnG,EACnDuzB,EAAmBptB,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAE3F,GAAmB,OAAfvF,GAAgC,OAATJ,EACzB,OAAO+yB,EAGT,IAAIi0B,EAAajG,EAAWnoC,WAAW5Y,GACvC,OAAOI,EAAW4mD,IAAe5mD,EAAWJ,IAAS+yB,GAGnDL,GAAiC,SAAUu0B,GAC7C3F,EAA4B,QAAE5uB,EAAmBu0B,GAEjD,IAAIC,EAAS3F,EAA+B,QAAE7uB,GAE9C,SAASA,IACP,IAAI+xB,EAEArkD,EAAauF,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAMrF,OAJAu7C,EAAkC,QAAEsD,KAAM9xB,IAE1C+xB,EAAQyC,EAAOC,KAAK3C,OACdpkD,WAAaA,EACZqkD,EAmET,OAhEAtD,EAA+B,QAAEzuB,EAAmB,CAAC,CACnDnzB,IAAK,eACL/I,MAAO,SAAsBwJ,EAAMC,GACjC,IAAIqyB,EAAY3sB,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KACpF,OAAO6+C,KAAK4C,cAAc9uD,EAAkC,QAAE,GAAI0H,EAAMC,GAAYqyB,KAErF,CACD/yB,IAAK,gBACL/I,MAAO,SAAuB4J,GAC5B,IAAIkyB,EAAY3sB,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAChFguB,EAA8B,OAAdrB,EAAqB38B,OAAOqb,KAAK5Q,GAAY2Z,QAAO,SAAUstC,EAAgBrnD,GAChG,OAAOnH,EAAgC,QAAEA,EAAgC,QAAE,GAAIwuD,GAAiB,GAAI/uD,EAAkC,QAAE,GAAI,GAAGgF,OAAOg1B,EAAW,KAAKh1B,OAAO0C,GAAOI,EAAWJ,OAC9L,IAAMI,EAGT,OAFAokD,KAAKpkD,WAAavH,EAAgC,QAAEA,EAAgC,QAAE,GAAI2rD,KAAKpkD,YAAauzB,GAC5G6wB,KAAK8C,KAAK,UACH9C,OAER,CACDjlD,IAAK,QACL/I,MAAO,SAAe+7B,GACpB,IAAID,EAAY3sB,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KACpF,OAAO6+C,KAAK4C,cAAc70B,EAAQI,gBAAiBL,KAEpD,CACD/yB,IAAK,eACL/I,MAAO,SAAsB87B,GAC3B,IAAI+yB,EAASb,KAEb,OAAkB,OAAdlyB,IAIJkyB,KAAKpkD,WAAazK,OAAOqb,KAAKwzC,KAAKpkD,YAAY2Z,QAAO,SAAUwtC,EAAevnD,GAC7E,OAAOnH,EAAgC,QAAEA,EAAgC,QAAE,GAAI0uD,GAAgB,GAAIjvD,EAAkC,QAAE,GAAI,GAAGgF,OAAOg1B,EAAW,KAAKh1B,OAAO0C,GAAOqlD,EAAOjlD,WAAWJ,OACpM,KALMwkD,OAQV,CACDjlD,IAAK,eACL/I,MAAO,SAAsBwJ,GAC3B,IAAIsyB,EAAY3sB,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAChFvF,EAAaokD,KAAK7xB,cAAcL,GACpC,OAAOjwB,GAAqBrC,EAAMI,KAEnC,CACDb,IAAK,gBACL/I,MAAO,WACL,IAAIgxD,EAAShD,KAETlyB,EAAY3sB,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KACpF,OAAqB,OAAd2sB,EAAqB38B,OAAOqb,KAAKwzC,KAAKpkD,YAAc,IAAI2Z,QAAO,SAAUwtC,EAAevnD,GAC7F,IACIynD,EADU,IAAIxB,OAAO,IAAI3oD,OAAOg1B,EAAW,aACzBo1B,KAAK1nD,GAC3B,OAAmB,OAAZynD,EAAmB5uD,EAAgC,QAAEA,EAAgC,QAAE,GAAI0uD,GAAgB,GAAIjvD,EAAkC,QAAE,GAAImvD,EAAQ,GAAID,EAAOpnD,WAAWJ,KAAUunD,IACrM,MAAQ/C,KAAKpkD,aAEjB,CACDb,IAAK,eACL/I,MAAO,SAAsBwJ,GAC3B,IAAIsyB,EAAY3sB,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KACpF,OAA2B,OAApB6+C,KAAKpkD,iBAAsH,IAAxFokD,KAAKpkD,WAAyB,OAAdkyB,EAAqB,GAAGh1B,OAAOg1B,EAAW,KAAKh1B,OAAO0C,GAAQA,OAIrH0yB,EAjF4B,CAkFnC8uB,EAA+B,SAE7BmG,GAAkC,SAAUV,GAC9C3F,EAA4B,QAAEqG,EAAoBV,GAElD,IAAIC,EAAS3F,EAA+B,QAAEoG,GAE9C,SAASA,IACP,IAAIlD,EAEAmD,EAAcjiD,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAMtF,OAJAu7C,EAAkC,QAAEsD,KAAMmD,IAE1ClD,EAAQyC,EAAOC,KAAK3C,OACdoD,YAAcA,GAAe,GAC5BnD,EAiET,OA9DAtD,EAA+B,QAAEwG,EAAoB,CAAC,CACpDpoD,IAAK,gBACL/I,MAAO,SAAuBujC,GAE5B,OADAyqB,KAAKqD,eAAe7uD,EAA0B,QAAE+gC,GAAcA,EAAa,CAACA,IACrEyqB,OAER,CACDjlD,IAAK,iBACL/I,MAAO,SAAwBoxD,GAK7B,OAJApD,KAAKoD,YAAc/1B,EAAyB,QAAE,GAAGv0B,OAAO3E,EAAqC,QAAEivD,GAAcjvD,EAAqC,QAAE6rD,KAAKoD,eAAe,SAAU37C,GAChL,OAAOA,EAAG1K,MAEZijD,KAAK8C,KAAK,UACH9C,OAER,CACDjlD,IAAK,QACL/I,MAAO,SAAe+7B,GACpB,OAAOiyB,KAAKqD,eAAet1B,EAAQmB,oBAEpC,CACDn0B,IAAK,gBACL/I,MAAO,SAAuB+K,GAC5B,OAAW,OAAPA,EACK,KAGFijD,KAAKoD,YAAY1qB,MAAK,SAAUjxB,GACrC,OAAOA,EAAG1K,KAAOA,MACb,OAEP,CACDhC,IAAK,iBACL/I,MAAO,WACL,OAAOguD,KAAKoD,cAEb,CACDroD,IAAK,gBACL/I,MAAO,SAAuB+K,GAC5B,OAAkC,OAA3BijD,KAAKpjD,cAAcG,KAE3B,CACDhC,IAAK,eACL/I,MAAO,SAAsB+K,GAC3B,IACIumD,GADOtD,KAAKpjD,cAAcG,IAAO,IACXtB,UAG1B,YAFmC,IAAnB6nD,EAA4B,KAAOA,IAIpD,CACDvoD,IAAK,gBACL/I,MAAO,WACL,OAAOguD,KAAKoD,YAAY7tC,QAAO,SAAUguC,EAAe/mD,GACtD,IAAIO,EAAKP,EAAMO,GACXymD,EAAkBhnD,EAAMf,UACxBA,OAAgC,IAApB+nD,EAA6B,KAAOA,EACpD,OAAqB,OAAd/nD,EAAqBpH,EAAgC,QAAEA,EAAgC,QAAE,GAAIkvD,GAAgB,GAAIzvD,EAAkC,QAAE,GAAIiJ,EAAItB,IAAc8nD,IACjL,QAIAJ,EA/E6B,CAgFpCnG,EAA+B,SAE7B/X,GAA6B,SAAUwd,GACzC3F,EAA4B,QAAE7X,EAAewd,GAE7C,IAAIC,EAAS3F,EAA+B,QAAE9X,GAE9C,SAASA,EAAcY,GACrB,IAAIoa,EAQJ,OANAvD,EAAkC,QAAEsD,KAAM/a,IAE1Cgb,EAAQyC,EAAOC,KAAK3C,OACdna,QAAUA,EAChBoa,EAAMwD,OAAS,GACfxD,EAAMyD,UAAY,GACXzD,EA2DT,OAxDAtD,EAA+B,QAAE1X,EAAe,CAAC,CAC/ClqC,IAAK,YACL/I,MAAO,SAAmBi3C,EAAO31B,GAC/B0sC,KAAKnwB,GAAGoZ,EAAO31B,GACf0sC,KAAKyD,OAASpvD,EAAgC,QAAEA,EAAgC,QAAE,GAAI2rD,KAAKyD,QAAS,GAAI3vD,EAAkC,QAAE,GAAIm1C,EAAO,GAAGnwC,OAAO3E,EAAqC,QAAE6rD,KAAKyD,OAAOxa,IAAU,IAAK,CAAC31B,MAElM,IAA9B0sC,KAAKyD,OAAOxa,GAAO7nC,QACrB4+C,KAAKphB,iBAAiBqK,KAGzB,CACDluC,IAAK,cACL/I,MAAO,SAAqBi3C,EAAO31B,GACjC,IAAIutC,EAASb,KAEbA,KAAKlwB,IAAImZ,EAAO31B,GAChB0sC,KAAKyD,OAAStyD,OAAOqb,KAAKwzC,KAAKyD,QAAQluC,QAAO,SAAUouC,EAAWC,GACjE,GAAIA,IAAc3a,EAChB,OAAO50C,EAAgC,QAAEA,EAAgC,QAAE,GAAIsvD,GAAY,GAAI7vD,EAAkC,QAAE,GAAI8vD,EAAW/C,EAAO4C,OAAOG,KAGlK,IAAIC,EAAehD,EAAO4C,OAAOG,GAAWl0C,QAAO,SAAUo0C,GAC3D,OAAOA,IAAaxwC,KAGtB,OAAOuwC,EAAaziD,OAAS,EAAI/M,EAAgC,QAAEA,EAAgC,QAAE,GAAIsvD,GAAY,GAAI7vD,EAAkC,QAAE,GAAI8vD,EAAWC,IAAiBF,IAC5L,SAE+B,IAAvB3D,KAAKyD,OAAOxa,IACrB+W,KAAKnhB,oBAAoBoK,KAG5B,CACDluC,IAAK,mBACL/I,MAAO,SAA0Bi3C,GAC/B,IAAI+Z,EAAShD,UAEwB,IAA1BA,KAAK0D,UAAUza,KACxB+W,KAAK0D,UAAUza,GAAS,WACtB,IAAK,IAAIzI,EAAOr/B,UAAUC,OAAQq/B,EAAO,IAAIl0B,MAAMi0B,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/ED,EAAKC,GAAQv/B,UAAUu/B,GAGzB,OAAOsiB,EAAOF,KAAKniB,MAAMqiB,EAAQ,CAAC/Z,GAAOnwC,OAAO2nC,MAIpDuf,KAAKna,QAAQjH,iBAAiBqK,EAAO+W,KAAK0D,UAAUza,MAErD,CACDluC,IAAK,sBACL/I,MAAO,SAA6Bi3C,GAClC+W,KAAKna,QAAQhH,oBAAoBoK,EAAO+W,KAAK0D,UAAUza,QAIpDhE,EAzEwB,CA0E/B+X,EAA+B,SAE7BhuB,GAA6B,SAAU+0B,GACzCjH,EAA4B,QAAE9tB,EAAe+0B,GAE7C,IAAIrB,EAAS3F,EAA+B,QAAE/tB,GAE9C,SAASA,IAGP,OAFA0tB,EAAkC,QAAEsD,KAAMhxB,GAEnC0zB,EAAO/hB,MAAMqf,KAAM7+C,WAG5B,OAAOw7C,EAA+B,QAAE3tB,GAXT,CAY/Bm0B,IAEEv9C,GAAc,CAAC,UAEfkwC,GAA4B,WAC9B,SAASA,EAAapnD,GACpB,IAAIyN,EAAgBzN,EAAKyN,cACrBm0B,EAAiB5hC,EAAK4hC,eAE1BosB,EAAkC,QAAEsD,KAAMlK,GAE1CkK,KAAK7jD,cAAgBA,EACrB6jD,KAAK1vB,eAAiBA,EACtB0vB,KAAKgE,mBAAqB,GAsQ5B,OAnQArH,EAA+B,QAAE7G,EAAc,CAAC,CAC9C/6C,IAAK,2BACL/I,MAAO,SAAkC6D,GACvC,QAA6C,IAAlCmqD,KAAKgE,mBAAmBnuD,GAAuB,CACxD,IACIouD,GADQjE,KAAK1vB,eAAe1zB,cAAc/G,IAAS,IAC9BgG,OACrBA,OAA0B,IAAjBooD,EAA0B,GAAKA,EAE5CjE,KAAKgE,mBAAmBnuD,GAAQmqD,KAAKkE,sBAAsBroD,GAG7D,OAAOmkD,KAAKgE,mBAAmBnuD,KAGhC,CACDkF,IAAK,SACL/I,MAAO,SAAgB3E,GACrB,IAAI4yD,EAAQD,KAEZ,GAAc,OAAV3yD,EACF,OAAOA,EAGT,IAAIsP,EAAQtP,GAAS,GACjB82D,EAAcxnD,EAAM5G,MACpBA,OAAwB,IAAhBouD,EAAyB,KAAOA,EACxCC,EAAmBznD,EAAMf,WAGzBwkD,QAFkC,IAArBgE,EAA8B,GAAKA,GAEhB7uC,QAAO,SAAUplB,EAAOotB,GAC1D,IAAI8mC,EAAqBl0D,EAAMyL,WAC3B0oD,EAAgBn0D,EAAMutD,OACtB7nD,EAAO0nB,EAAO1nB,KAEd2qD,EAAgBP,EAAMsE,yBAAyB1uD,GAE/C2uD,EAAwB1O,EAAa2O,uBAAuBlnC,EAAQijC,GACpEkE,EAAYF,EAAsBvkD,KAClC0kD,EAAYH,EAAsB9G,OAEtC,MAAO,CACL9hD,WAAY,GAAG9C,OAAO3E,EAAqC,QAAEkwD,GAAqB,CAACK,IACnFhH,OAAQrpD,EAAgC,QAAEA,EAAgC,QAAE,GAAIiwD,GAAgBK,MAEjG,CACD/oD,WAAY,GACZ8hD,OAAQ,OAENvuB,EAAgBixB,EAAmBxkD,WACnC8hD,EAAS0C,EAAmB1C,OAEhC,GAAc,OAAV3nD,EAAgB,CAClB,IAAI6uD,EAAe5E,KAAKjK,OAAOhgD,GAC3B8uD,EAAcD,EAAalH,OAC3BoH,EAAW/wD,EAA2C,QAAE6wD,EAAch/C,IAE1E,OAAkB,OAAX83C,GAAmC,OAAhBmH,EAAuBxwD,EAAgC,QAAEA,EAAgC,QAAE,GAAIhH,GAAQ,GAAI,CACnI0I,MAAO+uD,EACPlpD,WAAYuzB,EACZuuB,OAAQrpD,EAAgC,QAAEA,EAAgC,QAAE,GAAIwwD,GAAcnH,KAC3FrwD,EAGP,OAAkB,OAAXqwD,EAAkBrpD,EAAgC,QAAEA,EAAgC,QAAE,GAAIhH,GAAQ,GAAI,CAC3GuO,WAAYuzB,EACZuuB,OAAQA,IACLrwD,IAGN,CACD0N,IAAK,WACL/I,MAAO,SAAkB3E,GACvB,IAAI03D,EAAgB5jD,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAExF,GAAc,OAAV9T,EACF,OAAOA,EAGT,IAAIsB,EAAQtB,GAAS,GACjB23D,EAAcr2D,EAAMoH,MACpBA,OAAwB,IAAhBivD,EAAyB,KAAOA,EACxCC,EAAmBt2D,EAAMiN,WACzBA,OAAkC,IAArBqpD,EAA8B,GAAKA,EAChDC,EAAev2D,EAAM+uD,OACrBA,OAA0B,IAAjBwH,EAA0BH,EAAgBG,EAEvD,GAAe,OAAXxH,GAA6B,OAAV3nD,EACrB,OAAO1I,EAaT,IAAI83D,EAAoBrP,EAAasP,yBAAyBxpD,GAC1DuzB,EAA2B,OAAXuuB,GAAmByH,EAAkB/jD,OAAS,EAAI00C,EAAauP,uBAAuBzpD,EAAY8hD,EAAQyH,GAAqBvpD,EAEnJ,GAAc,OAAV7F,EAAgB,CAClB,IAAI+uD,EAAW9E,KAAKhK,SAASjgD,EAAO2nD,GACpC,OAAOoH,IAAa/uD,GAASo5B,IAAkBvzB,EAAavH,EAAgC,QAAEA,EAAgC,QAAE,GAAIhH,GAAQ,GAAI,CAC9I0I,MAAO+uD,EACPlpD,WAAYuzB,IACT9hC,EAGP,OAAO8hC,IAAkBvzB,EAAavH,EAAgC,QAAEA,EAAgC,QAAE,GAAIhH,GAAQ,GAAI,CACxHuO,WAAYuzB,IACT9hC,IAEN,CACD0N,IAAK,wBACL/I,MAAO,SAA+B6J,GACpC,IAAIglD,EAASb,KAETc,EAAa3/C,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KACrF,OAAOtF,EAAO0Z,QAAO,SAAUwrC,EAAU1kD,GACvC,IAAI2kD,EAAc3kD,EAAMb,KACpBA,OAAuB,IAAhBwlD,EAAyB,KAAOA,EACvCC,EAAc5kD,EAAMxG,KACpBA,OAAuB,IAAhBorD,EAAyB,KAAOA,EACvCC,EAAO,CAACJ,EAAYtlD,GAAMkU,QAAO,SAAUjI,GAC7C,OAAc,OAAPA,KACNmO,KAAK,OAEJ6G,EAAkBpoB,EAAgC,QAAEA,EAAgC,QAAE,GAAa,OAATwB,EAAgBgrD,EAAO1kD,cAAcS,cAAc/G,GAAQ,MAAOwG,GAG5J8kD,EAAwB1kC,EAAgB5gB,OACxCulD,OAAsC,IAA1BD,EAAmC,GAAKA,EACpDE,EAAwB5kC,EAAgB6kC,WACxCA,OAAuC,IAA1BD,EAAmC,KAAOA,EACvDE,EAAwB9kC,EAAgBzf,SACxCA,OAAqC,IAA1BukD,EAAmC,GAAKA,EACvD,MAAO,GAAGzoD,OAAO3E,EAAqC,QAAE4sD,GAAW5sD,EAAqC,QAAE2hD,EAAawP,aAAa7oC,GAAmB,CAAC,IAAIglC,OAAO,IAAI3oD,OAAOooD,EAAM,OAAS,IAAK/sD,EAAqC,QAAE2hD,EAAayP,kBAAkB9oC,GAAmB,CAAC,IAAIglC,OAAO,IAAI3oD,OAAOooD,EAAM,eAAiB,IAAK/sD,EAAqC,QAAE0sD,EAAOqD,sBAAsB9C,EAAWF,IAAQ/sD,EAAqC,QAAE0sD,EAAOqD,sBAAsBlnD,EAAUkkD,IAAQ/sD,EAAqC,QAAiB,OAAfmtD,EAAsBT,EAAOqD,sBAAsB,CAAC5C,GAAa,GAAGxoD,OAAOooD,EAAM,cAAgB,OACloB,OAEH,CAAC,CACHnmD,IAAK,eACL/I,MAAO,SAAsByjC,GAC3B,IAAI+vB,EAAc/vB,EAAMxgB,MAExB,YAD4B,IAAhBuwC,GAAiCA,IAG9C,CACDzqD,IAAK,oBACL/I,MAAO,SAA2B8F,GAChC,IAAI2tD,EAAW3tD,EAAMiF,GAErB,MAAc,sBADQ,IAAb0oD,EAAsB,KAAOA,KAGvC,CACD1qD,IAAK,yBACL/I,MAAO,SAAgCiO,EAAMy9C,EAAQqD,GACnD,IAAIY,EAAYxgD,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAChFygD,EAAcptD,EAA0B,QAAEyL,GAC9C,OAAO61C,EAAatpC,KAAKvM,GAAMsV,QAAO,SAAUmwC,EAAS3qD,GACvD,IAOIyC,EAPA0jD,EAAO,CAACS,EAAW5mD,GAAK2U,QAAO,SAAUjI,GAC3C,OAAc,OAAPA,KACNmO,KAAK,KACJmsC,EAAehB,EAASxrC,QAAO,SAAUysC,EAAOC,GAClD,OAAOD,GAASC,EAAQC,KAAKhB,MAC5B,GACClvD,EAAQiO,EAAKlF,GASjB,OALEyC,EADEukD,EACSptD,EAA2B,QAAE3C,GAASA,EAAQ0rD,EAAO1rD,IAAU,KAE/D2C,EAA2B,QAAE3C,IAAUwC,EAA0B,QAAExC,GAAS8jD,EAAauP,uBAAuBrzD,EAAO0rD,EAAQqD,EAAUG,GAAQlvD,EAGvJ4vD,EAAc,GAAG9oD,OAAO3E,EAAqC,QAAEuxD,GAAU,CAACloD,IAAanJ,EAAgC,QAAEA,EAAgC,QAAE,GAAIqxD,GAAU,GAAI5xD,EAAkC,QAAE,GAAIiH,EAAKyC,MAChOokD,EAAc,GAAK,MAEvB,CACD7mD,IAAK,eACL/I,MAAO,SAAsB+F,GAC3B,IAAI4tD,EAAW5tD,EAAMgF,GACjBA,OAAkB,IAAb4oD,EAAsB,KAAOA,EACtC,OAAc,OAAP5oD,EAAc,WAAWjE,OAAOiE,GAAM,OAE9C,CACDhC,IAAK,yBACL/I,MAAO,SAAgCiO,EAAM8gD,GAC3C,IAAIrD,EAASv8C,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC7EwgD,EAAYxgD,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAChFygD,EAAcptD,EAA0B,QAAEyL,GAC9C,OAAO61C,EAAatpC,KAAKvM,GAAMsV,QAAO,SAAUqwC,EAAO7qD,GACrD,IASIyC,EATAqkD,EAAc+D,EAAM3lD,KACpBqkD,EAAgBsB,EAAMlI,OACtBwD,EAAO,CAACS,EAAW5mD,GAAK2U,QAAO,SAAUjI,GAC3C,OAAc,OAAPA,KACNmO,KAAK,KACJmsC,EAAehB,EAASxrC,QAAO,SAAUysC,EAAOC,GAClD,OAAOD,GAASC,EAAQC,KAAKhB,MAC5B,GACClvD,EAAQiO,EAAKlF,GAEbka,EAAQ,KACR4wC,EAAY,KAEhB,GAAI9D,GAAgBptD,EAA2B,QAAE3C,GAAQ,CACvD,IAAI8zD,EAAYhQ,EAAaiQ,aAAa/zD,GAC1CwL,EAAyB,OAAdsoD,EAAqBA,EAAY9zD,EAC5CijB,EAAsB,OAAd6wC,EAAqB9zD,EAAQ,UAChC,GAAI2C,EAA2B,QAAE3C,IAAUwC,EAA0B,QAAExC,GAAQ,CACpF,IAAIuwD,EAAYzM,EAAa2O,uBAAuBzyD,EAAO+uD,EAAUrD,EAAQwD,GAC7E1jD,EAAW+kD,EAAUtiD,KACrB4lD,EAAYtD,EAAU7E,YAEtBlgD,EAAWxL,EAGb,MAAO,CACLiO,KAAM2hD,EAAc,GAAG9oD,OAAO3E,EAAqC,QAAE0tD,GAAe,IAAK,CAACrkD,IAAanJ,EAAgC,QAAEA,EAAgC,QAAE,GAAIwtD,GAAc,GAAI/tD,EAAkC,QAAE,GAAIiH,EAAKyC,IAC9OkgD,OAAkB,OAAVzoC,EAAiB5gB,EAAgC,QAAEA,EAAgC,QAAEA,EAAgC,QAAE,GAAIiwD,GAAgBuB,GAAY,GAAI/xD,EAAkC,QAAE,GAAI0J,EAAUyX,IAAU5gB,EAAgC,QAAEA,EAAgC,QAAE,GAAIiwD,GAAgBuB,MAExT,CACD5lD,KAAM,KACNy9C,OAAQA,MAGX,CACD3iD,IAAK,2BACL/I,MAAO,SAAkCg0D,GACvC,IAAIC,EAASnQ,EAAaoQ,IAAIF,GAC9B,OAAO70D,OAAOqb,KAAKy5C,GAAQv2C,QAAO,SAAU3U,GAC1C,OAAOnG,EAA2B,QAAEqxD,EAAOlrD,KAAsD,OAA7CkrD,EAAOlrD,GAAKkvC,MAAM,0BACrE5vC,KAAI,SAAUoN,GACf,OAAO,IAAIg6C,OAAO,IAAI3oD,OAAO2O,EAAI,WAGpC,CACD1M,IAAK,MACL/I,MAAO,SAAag0D,GAClB,OAAOlQ,EAAatpC,KAAKw5C,GAAKzwC,QAAO,SAAU4wC,EAAKprD,GAClD,GAA8C,WAA1CkiD,EAA0B,QAAE+I,EAAIjrD,MAAuBirD,EAAIjrD,GAC7D,OAAO1G,EAAgC,QAAEA,EAAgC,QAAE,GAAI8xD,GAAM,GAAIryD,EAAkC,QAAE,GAAIiH,EAAKirD,EAAIjrD,KAG5I,IAAIqrD,EAAiBtQ,EAAaoQ,IAAIF,EAAIjrD,IAC1C,OAAO1G,EAAgC,QAAEA,EAAgC,QAAE,GAAI8xD,GAAMrQ,EAAatpC,KAAK45C,GAAgB7wC,QAAO,SAAU8wC,EAAUC,GAChJ,OAAOjyD,EAAgC,QAAEA,EAAgC,QAAE,GAAIgyD,GAAW,GAAIvyD,EAAkC,QAAE,GAAI,GAAGgF,OAAOiC,EAAK,KAAKjC,OAAOwtD,GAAWF,EAAeE,OAC1L,OACF,MAEJ,CACDvrD,IAAK,OACL/I,MAAO,SAAcg0D,GACnB,OAAOxxD,EAA0B,QAAEwxD,GAAO7xD,EAAqC,QAAE6xD,EAAIx5C,QAAUrb,OAAOqb,KAAKw5C,OAIxGlQ,EA/QuB,GAkR5BzmB,GAA8B,SAAU00B,GAC1CjH,EAA4B,QAAEztB,EAAgB00B,GAE9C,IAAIrB,EAAS3F,EAA+B,QAAE1tB,GAE9C,SAASA,IAGP,OAFAqtB,EAAkC,QAAEsD,KAAM3wB,GAEnCqzB,EAAO/hB,MAAMqf,KAAM7+C,WAuB5B,OApBAw7C,EAA+B,QAAEttB,EAAgB,CAAC,CAChDt0B,IAAK,YACL/I,MAAO,SAAmB+K,GACxB,IACIyuC,GADOwU,KAAKpjD,cAAcG,IAAO,IACdlB,OAGvB,YAF6B,IAAhB2vC,EAAyB,KAAOA,IAI9C,CACDzwC,IAAK,aACL/I,MAAO,SAAoB+K,GACzB,IACIwpD,GADQvG,KAAKpjD,cAAcG,IAAO,IACZyf,QAG1B,YAFgC,IAAlB+pC,EAA2B,KAAOA,MAM7Cl3B,EA/ByB,CAgChC8zB,IAEE/H,GAA2B,WAC7B,SAASA,EAAY1sD,GACnB,IAAI4hC,EAAiB5hC,EAAK4hC,eAE1BosB,EAAkC,QAAEsD,KAAM5E,GAE1C4E,KAAK1vB,eAAiBA,EACtB0vB,KAAKwG,gBAAkB,GA6JzB,OA1JA7J,EAA+B,QAAEvB,EAAa,CAAC,CAC7CrgD,IAAK,wBACL/I,MAAO,SAA+B6D,EAAM4wD,GAC1C,QAA0C,IAA/BzG,KAAKwG,gBAAgB3wD,GAAuB,CACrD,IAAI0/B,EAAayqB,KAAK1vB,eAAe1zB,cAAc/G,IAAS,GACxD6wD,EAAcD,EAAgB/tB,MAAK,SAAUjxB,GAC/C,OAAOA,EAAG5R,OAASA,MACf,KACNmqD,KAAKwG,gBAAgB3wD,GAAQ,CAC3B0/B,WAAYA,EACZmxB,YAAaA,GAIjB,OAAO1G,KAAKwG,gBAAgB3wD,KAE7B,CACDkF,IAAK,QACL/I,MAAO,SAAe3E,GACpB,IAAI4yD,EAAQD,KAEZ,GAAc,OAAV3yD,EACF,OAAOA,EAGT,IAAImP,EAAQnP,GAAS,GACjB6yD,EAAc1jD,EAAMzG,MACpBA,OAAwB,IAAhBmqD,EAAyB,KAAOA,EACxCC,EAAmB3jD,EAAMZ,WACzBA,OAAkC,IAArBukD,EAA8B,KAAOA,EAEtD,GAAc,OAAVpqD,GAAiC,OAAf6F,EACpB,OAAOvO,EAGT,IAAIs5D,EAAoB5wD,EAAM6F,WAC1B6qD,OAAwC,IAAtBE,EAA+B,GAAKA,EACtDC,EAAoB7wD,EAAMgnB,WAC1B8pC,OAAwC,IAAtBD,EAA+B,KAAOA,EACxDE,EAAgB/wD,EAAMinB,OACtB4jC,OAAgC,IAAlBkG,EAA2B,GAAKA,EAC9CC,EAAoBhxD,EAAM+mB,WAC1BkqC,OAAwC,IAAtBD,EAA+B,KAAOA,EACxD53B,EAAgBvzB,EAAW2Z,QAAO,SAAU0xC,EAAmB1pC,EAAQhjB,GACzE,IAAI1E,EAAO0nB,EAAO1nB,KAEdqxD,EAAwBjH,EAAMkH,sBAAsBtxD,EAAM4wD,GAC1DlxB,EAAa2xB,EAAsB3xB,WACnCmxB,EAAcQ,EAAsBR,YAEpChC,EAAYzE,EAAMmH,YAAY7xB,EAAYhY,EAAQmpC,EAAaG,EAAiBjG,EAAaoG,GAGjG,OAAOtC,IAAcnnC,GAA0B,OAAhBmpC,EAAuB,GAAG5tD,OAAO3E,EAAqC,QAAE8yD,EAAkB18C,MAAM,EAAGhQ,IAAS,CAAClG,EAAgC,QAAEA,EAAgC,QAAE,GAAIqyD,GAAchC,IAAavwD,EAAqC,QAAE8yD,EAAkB18C,MAAMhQ,EAAQ,KAAO0sD,IAC5TrrD,GACH,OAAOuzB,IAAkBvzB,EAAavH,EAAgC,QAAEA,EAAgC,QAAE,GAAIhH,GAAQ,GAAI,CACxHuO,WAAYuzB,IACT9hC,IAEN,CACD0N,IAAK,cACL/I,MAAO,SAAqBujC,EAAYvjC,EAAOq1D,EAAYR,EAAiBjG,EAAa0G,GACvF,IAAIzG,EAASb,KAETuH,EAAqBhyB,EAAW15B,OAChCA,OAAgC,IAAvB0rD,EAAgC,GAAKA,EAC9CC,EAA+B,OAAfH,GAA2C,OAApBR,EAA2B,GAAKQ,EAEnD,OAApBR,QAAgE,IAA7BW,EAAczqC,WACnDyqC,EAAczqC,WAAa1oB,EAAgC,QAAEA,EAAgC,QAAE,GAAIwyD,GAAkBW,EAAczqC,YACtG,OAApB8pC,IACTW,EAAczqC,WAAa8pC,GAG7B,IAAIY,EAAiBt2D,OAAOqb,KAAKxa,GAAOujB,QAAO,SAAUmyC,EAAc3sD,GACrE,IAAI0hB,EAAkB5gB,EAAO68B,MAAK,SAAUjxB,GAC1C,OAAOA,EAAGjM,OAAST,MACf,GACFqC,EAAapL,EAAM+I,GACnB4sD,EAAoC,OAAlBH,GAAyBA,EAAczsD,IAAe,KAExEwC,EAAgBsjD,EAAO+G,WAAW7sD,EAAK0hB,EAAiBrf,EAAYuqD,EAAiB/G,EAAa0G,GAGtG,OAAO/pD,IAAkBH,EAAa/I,EAAgC,QAAEA,EAAgC,QAAE,GAAIqzD,GAAe,GAAI5zD,EAAkC,QAAE,GAAIiH,EAAKwC,IAAkBmqD,IAC/L11D,GACH,OAAyB,OAAlBw1D,EAAyBnzD,EAAgC,QAAEA,EAAgC,QAAE,GAAImzD,GAAgBC,GAAkBA,IAG3I,CACD1sD,IAAK,aACL/I,MAAO,SAAoB+I,EAAKw6B,EAAYvjC,EAAOq1D,EAAYzG,EAAaoG,GAC1E,IAAIa,EAAoBtyB,EAAWx/B,MAC/B+xD,OAAmC,IAAtBD,EAA+B,GAAKA,EAErD,GAAIrzD,EAA0B,QAAExC,GAAQ,CACtC,IAAIuL,EAAgBvL,EAAMqI,KAAI,SAAU0tD,GACtC,OAAsB,OAAfA,EAAsB52D,OAAOqb,KAAKu7C,GAAYxyC,QAAO,SAAUyyC,EAAeC,GACnF,IAAItrD,EAAQmrD,EAAWG,IAAmB,GACtCC,EAAkBvrD,EAAM8b,UACxB0vC,OAA0C,IAApBD,EAA6B,KAAOA,EAC1DE,EAAczrD,EAAMwH,MACpBkkD,OAAkC,IAAhBD,EAAyB,KAAOA,EAGtD,IAAKzzD,EAA2B,QAAEozD,EAAWE,IAC3C,OAAOD,EAIT,IAAIM,EAAiC,OAApBD,EAA2B,CAC1ClkD,MAA2B,OAApBkkD,GAA4C,OAAhBzH,GAAuBA,EAAYyH,IAA2B,MAC/F,KAEAE,EAAyC,OAAxBJ,EAA+B,CAClD1vC,UAAWpkB,EAAgC,QAAEA,EAAgC,QAAE,GAA4B,OAAxB8zD,GAAoD,OAApBnB,GAA2BA,EAAgBmB,IAA+B,MAAOJ,EAAWE,GAAgBxvC,WAAa,OAC1O,KAEJ,OAAmB,OAAf6vC,GAA0C,OAAnBC,EAClBP,EAGF3zD,EAAgC,QAAEA,EAAgC,QAAE,GAAI2zD,GAAgB,GAAIl0D,EAAkC,QAAE,GAAIm0D,EAAgB5zD,EAAgC,QAAEA,EAAgC,QAAEA,EAAgC,QAAE,GAAIi0D,GAAaP,EAAWE,IAAkBM,OAC9SR,GAAcA,KAEnB,OAAOxqD,EAGT,GAAI5I,EAA2B,QAAE3C,KAAWwC,EAA0B,QAAExC,GAAQ,CAC9E,IAAI7B,EAAQ23D,GAAc,GACtBU,EAAkBr4D,EAAMsoB,UACxBgwC,OAAyC,IAApBD,EAA6B,KAAOA,EACzDE,EAAcv4D,EAAMgU,MACpBwkD,OAAiC,IAAhBD,EAAyB,KAAOA,EAGjDE,EAAgC,OAAnBD,GAA2C,OAAhB/H,GAAuBA,EAAY+H,IAA0B,KACrGL,EAA4B,OAAfM,EAAsB,CACrCzkD,MAAOykD,GACL,KAEAC,EAAwC,OAAvBJ,GAAmD,OAApBzB,GAA2BA,EAAgByB,IAA8B,KACzHK,EAA8C,OAAfzB,GAAsBA,EAAW5uC,WAAoB,KACpF8vC,EAAoC,OAAnBM,GAA4D,OAAjCC,EAAwC,CACtFrwC,UAAWpkB,EAAgC,QAAEA,EAAgC,QAAEA,EAAgC,QAAE,GAAIw0D,GAAiBC,GAA+B92D,EAAMymB,WAAa,OACtL,KAEJ,OAAsB,OAAf6vC,GAAsC,OAAfjB,GAA0C,OAAnBkB,EAA0Bl0D,EAAgC,QAAEA,EAAgC,QAAEA,EAAgC,QAAEA,EAAgC,QAAE,GAAIi0D,GAAajB,GAAar1D,GAAQu2D,GAAkBv2D,EAGjR,OAAOA,MAIJopD,EApKsB,GAuK3Bz0C,GAAc,CAAC,SAEfoiD,GAA2B,WAC7B,SAASA,EAAYr6D,GACnB,IAAIyN,EAAgBzN,EAAKyN,cACrBm0B,EAAiB5hC,EAAK4hC,eAE1BosB,EAAkC,QAAEsD,KAAM+I,GAE1C/I,KAAK7jD,cAAgBA,EACrB6jD,KAAK1vB,eAAiBA,EACtB0vB,KAAKgE,mBAAqB,GA+H5B,OA5HArH,EAA+B,QAAEoM,EAAa,CAAC,CAC7ChuD,IAAK,2BACL/I,MAAO,SAAkC6D,GACvC,QAA6C,IAAlCmqD,KAAKgE,mBAAmBnuD,GAAuB,CACxD,IACIouD,GADQjE,KAAK1vB,eAAe1zB,cAAc/G,IAAS,IAC9BgG,OACrBA,OAA0B,IAAjBooD,EAA0B,GAAKA,EAE5CjE,KAAKgE,mBAAmBnuD,GAAQmqD,KAAKgJ,iBAAiBntD,GAGxD,OAAOmkD,KAAKgE,mBAAmBnuD,KAGhC,CACDkF,IAAK,QACL/I,MAAO,SAAe3E,GACpB,IAAI4yD,EAAQD,KAEZ,GAAc,OAAV3yD,EACF,OAAOA,EAIT,IAAIsP,EAAQtP,GAAS,GACjB82D,EAAcxnD,EAAM5G,MACpBA,OAAwB,IAAhBouD,EAAyB,KAAOA,EACxCC,EAAmBznD,EAAMf,WACzBA,OAAkC,IAArBwoD,EAA8B,GAAKA,EAEhDxvC,EAAQsoC,EAAuB,QAAEthD,EAAW2Z,QAAO,SAAU0zC,EAAc1rC,GAC7E,IAAI1nB,EAAO0nB,EAAO1nB,KAEd2qD,EAAgBP,EAAMsE,yBAAyB1uD,GAE/Cm8B,EAAW+2B,EAAYG,sBAAsB3rC,EAAQijC,GACzD,OAAOxuB,EAAS5wB,OAAS,EAAI,GAAGtI,OAAO3E,EAAqC,QAAE80D,GAAe90D,EAAqC,QAAE69B,IAAai3B,IAChJ,IAAK,QAER,GAAc,OAAVlzD,EAAgB,CAClB,IAAIozD,EAAcnJ,KAAKvvB,MAAM16B,GACzBqzD,EAAoBD,EAAYv0C,MAChCy0C,OAAmC,IAAtBD,EAA+B,GAAKA,EACjDtE,EAAW/wD,EAA2C,QAAEo1D,EAAaxiD,IAEzE,OAAOiO,EAAMxT,OAAS,GAAKioD,EAAWjoD,OAAS,EAAI/M,EAAgC,QAAEA,EAAgC,QAAE,GAAIhH,GAAQ,GAAI,CACrI0I,MAAO+uD,EACPlwC,MAAOsoC,EAAuB,QAAE,GAAGpkD,OAAO3E,EAAqC,QAAEk1D,GAAal1D,EAAqC,QAAEygB,IAAS,UAC3IvnB,EAGP,OAAOunB,EAAMxT,OAAS,EAAI/M,EAAgC,QAAEA,EAAgC,QAAE,GAAIhH,GAAQ,GAAI,CAC5GunB,MAAOA,IACJvnB,IAEN,CACD0N,IAAK,mBACL/I,MAAO,SAA0B6J,GAC/B,IAAIglD,EAASb,KAETc,EAAa3/C,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KACrF,OAAOtF,EAAO0Z,QAAO,SAAUwrC,EAAU1kD,GACvC,IAAI2kD,EAAc3kD,EAAMb,KACpBA,OAAuB,IAAhBwlD,EAAyB,KAAOA,EACvCC,EAAc5kD,EAAMxG,KACpBA,OAAuB,IAAhBorD,EAAyB,KAAOA,EACvCC,EAAO,CAACJ,EAAYtlD,GAAMkU,QAAO,SAAUjI,GAC7C,OAAc,OAAPA,KACNmO,KAAK,OAEJ6G,EAAkBpoB,EAAgC,QAAEA,EAAgC,QAAE,GAAa,OAATwB,EAAgBgrD,EAAO1kD,cAAcS,cAAc/G,GAAQ,MAAOwG,GAG5J8kD,EAAwB1kC,EAAgB5gB,OACxCulD,OAAsC,IAA1BD,EAAmC,GAAKA,EACpDE,EAAwB5kC,EAAgB6kC,WACxCA,OAAuC,IAA1BD,EAAmC,KAAOA,EACvDE,EAAwB9kC,EAAgBzf,SACxCA,OAAqC,IAA1BukD,EAAmC,GAAKA,EACvD,MAAO,GAAGzoD,OAAO3E,EAAqC,QAAE4sD,GAAW5sD,EAAqC,QAAE40D,EAAYxD,kBAAkB9oC,GAAmB,CAAC,IAAIglC,OAAO,IAAI3oD,OAAOooD,EAAM,OAAS,IAAK/sD,EAAqC,QAAE0sD,EAAOmI,iBAAiB5H,EAAWF,IAAQ/sD,EAAqC,QAAE0sD,EAAOmI,iBAAiBhsD,EAAUkkD,IAAQ/sD,EAAqC,QAAiB,OAAfmtD,EAAsBT,EAAOmI,iBAAiB,CAAC1H,GAAa,GAAGxoD,OAAOooD,EAAM,cAAgB,OAC3e,OAEH,CAAC,CACHnmD,IAAK,oBACL/I,MAAO,SAA2B7B,GAChC,IAAIm5D,EAAWn5D,EAAM4M,GAErB,MAAc,sBADQ,IAAbusD,EAAsB,KAAOA,KAGvC,CACDvuD,IAAK,cACL/I,MAAO,SAAqBrD,GAC1B,IAAI46D,EAAa56D,EAAMkH,KACnBA,OAAsB,IAAf0zD,EAAwB,KAAOA,EAC1C,MAAgB,WAAT1zD,GAA8B,WAATA,IAE7B,CACDkF,IAAK,wBACL/I,MAAO,SAA+BiO,EAAM8gD,GAC1C,IAAIY,EAAYxgD,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAChFygD,EAAcptD,EAA0B,QAAEyL,GAC1CuM,EAAOo1C,EAAcztD,EAAqC,QAAE8L,EAAKuM,QAAUrb,OAAOqb,KAAKvM,GAC3F,OAAOuM,EAAK+I,QAAO,SAAU0zC,EAAcluD,GACzC,IAAImmD,EAAO,CAACS,EAAW5mD,GAAK2U,QAAO,SAAUjI,GAC3C,OAAc,OAAPA,KACNmO,KAAK,KACJmsC,EAAehB,EAASxrC,QAAO,SAAUysC,EAAOC,GAClD,OAAOD,GAASC,EAAQC,KAAKhB,MAC5B,GACClvD,EAAQiO,EAAKlF,GACbud,EAAO,KACPkxC,EAAW,KAQf,OANIzH,GAAgBptD,EAA2B,QAAE3C,IAAU+2D,EAAYU,YAAYz3D,GACjFsmB,EAAOtmB,GACE2C,EAA2B,QAAE3C,IAAUwC,EAA0B,QAAExC,MAC5Ew3D,EAAWT,EAAYG,sBAAsBl3D,EAAO+uD,EAAUG,IAG5C,OAAbsI,GAA8B,OAATlxC,EAAgB,GAAGxf,OAAO3E,EAAqC,QAAE80D,GAAe90D,EAAqC,QAAEq1D,GAAY,IAAKr1D,EAAqC,QAAW,OAATmkB,EAAgB,CAACA,GAAQ,KAAO2wC,IAC1O,QAIAF,EAxIsB,GA2I3BvS,GAA2B,WAC7B,SAASA,EAAY9nD,GACnB,IAAI4hC,EAAiB5hC,EAAK4hC,eACtBn0B,EAAgBzN,EAAKyN,cAEzBugD,EAAkC,QAAEsD,KAAMxJ,GAE1CwJ,KAAK0J,YAAc,IAAItO,GAAY,CACjC9qB,eAAgBA,IAElB0vB,KAAK2J,aAAe,IAAI7T,GAAa,CACnCxlB,eAAgBA,EAChBn0B,cAAeA,IAEjB6jD,KAAK4J,YAAc,IAAIb,GAAY,CACjCz4B,eAAgBA,EAChBn0B,cAAeA,IAsCnB,OAlCAwgD,EAA+B,QAAEnG,EAAa,CAAC,CAC7Cz7C,IAAK,QACL/I,MAAO,SAAe3E,GACpB,IAAI4yD,EAAQD,KAERxjD,EAAQ2E,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC5E0oD,EAAkBrtD,EAAM25C,UACxBA,OAAgC,IAApB0T,GAAoCA,EAChDC,EAAmBttD,EAAM65C,WACzBA,OAAkC,IAArByT,GAAqCA,EAClDC,EAAkBvtD,EAAM+5C,UACxBA,OAAgC,IAApBwT,GAAoCA,EAEpD,GAAc,OAAV18D,EACF,OAAOA,EAGT,IAAI28D,EAAU,CAAC,CAAC3T,EAAY,SAAUI,GACpC,OAAOwJ,EAAM0J,aAAa3T,SAASS,KACjC,CAACN,EAAW,SAAUM,GACxB,OAAOwJ,EAAMyJ,YAAYj5B,MAAMgmB,KAC7B,CAACF,EAAW,SAAUE,GACxB,OAAOwJ,EAAM2J,YAAYn5B,MAAMgmB,MAEjC,OAAOuT,EAAQz0C,QAAO,SAAU00C,EAAattD,GAC3C,IAAIxM,EAAQiE,EAAiC,QAAEuI,EAAO,GAClDlM,EAAUN,EAAM,GAChBsgC,EAAQtgC,EAAM,GAElB,OAAOM,EAAUggC,EAAMw5B,GAAeA,IACrC58D,OAIAmpD,EAtDsB,GAyD3BnuC,GAAY,CAAC,SACb/M,GAAa,CAAC,QAAS,eAEvB67B,GAAwB,SAAU+yB,GACpCpN,EAA4B,QAAE3lB,EAAU+yB,GAExC,IAAIxH,EAAS3F,EAA+B,QAAE5lB,GAE9C,SAASA,IACP,IAAI8oB,EAEA/iB,EAAO/7B,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAE/Eu7C,EAAkC,QAAEsD,KAAM7oB,GAG1C,IAAIgzB,GADJlK,EAAQyC,EAAOC,KAAK3C,KAAM9iB,IACQwI,QAAQ5O,UACtCA,OAAsC,IAA1BqzB,EAAmC,KAAOA,EAQ1D,OAPAlK,EAAMnpB,UAAY,KAClBmpB,EAAMmK,cAAgB,GAEJ,OAAdtzB,GACFmpB,EAAMoK,aAAavzB,GAGdmpB,EAgHT,OA7GAtD,EAA+B,QAAExlB,EAAU,CAAC,CAC1Cp8B,IAAK,eACL/I,MAAO,SAAsB8kC,GAC3BkpB,KAAKlpB,UAAYA,EAEC,OAAdA,GACFkpB,KAAK5pC,KAAK0gB,KAGb,CACD/7B,IAAK,eACL/I,MAAO,WACL,OAAOguD,KAAKlpB,YAEb,CACD/7B,IAAK,kBACL/I,MAAO,SAAyBurB,EAAQ+sC,GACtC,IACIC,GADOvK,KAAKlpB,WAAa,IACA0zB,aACzBA,OAAqC,IAAtBD,EAA+B,KAAOA,EAErD/tD,EAAQ+gB,GAAU,GAClBgtB,EAAW/tC,EAAMO,GACjBoqB,OAAwB,IAAbojB,EAAsB,KAAOA,EACxC9tC,EAAaD,EAAM3G,KACnBg1C,OAA4B,IAAfpuC,EAAwB,KAAOA,EAC5CguD,EAAiBjuD,EAAMub,SAIvB2yC,SAH8B,IAAnBD,EAA4B,GAAKA,IAExB,IACAloD,OAE+B,IAAnDy9C,KAAKoK,cAAc/9C,QAAQ8a,GAAY5sB,SACzCylD,KAAKoK,cAAgB,GAAGtxD,OAAO3E,EAAqC,QAAE6rD,KAAKoK,eAAgB,CAACjjC,GAAY5sB,SAG1G,IAAI0F,EAAO,CACTgpC,MAAO,aACP9hB,SAAUA,EACV0jB,WAAYA,EACZyf,YAAaA,EACbI,YAAaA,EACbC,eAAiC,OAAjBH,GAAyC,OAAhBF,GAAwBA,EAAc,GAAKE,EAAe,KACnGJ,cAAepK,KAAKoK,cACpBQ,sBAAwC,OAAjBJ,EAAwBxK,KAAKoK,cAAchpD,OAASopD,EAAe,MAE5FxK,KAAK5pC,KAAKnW,KAEX,CACDlF,IAAK,aACL/I,MAAO,SAAoBspD,EAAUn9C,EAAQpJ,GAC3C,IAAI5E,EAAQgR,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC5E0pD,EAAc16D,EAAM6B,MACpBA,OAAwB,IAAhB64D,EAAyB,KAAOA,EACxC3tB,EAAOnpC,EAA2C,QAAE5D,EAAOkY,IAE3DpI,EAAO5L,EAAgC,QAAEA,EAAgC,QAAE,GAAI6oC,GAAO,GAAI,CAC5F+L,MAAO,mBACP6hB,cAAexP,EACfyP,YAAa5sD,EACb6sD,WAAYj2D,EACZk2D,WAAYj5D,IAGdguD,KAAK5pC,KAAKnW,KAEX,CACDlF,IAAK,aACL/I,MAAO,SAAoB6D,EAAMof,EAAO9W,GACtC,IAAIxP,EAAQwS,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC5E+pD,EAAcv8D,EAAMqD,MACpBA,OAAwB,IAAhBk5D,EAAyB,KAAOA,EACxCC,EAAoBx8D,EAAMkkD,YAC1BuY,OAAwC,IAAtBD,EAA+B,KAAOA,EACxDjuB,EAAOnpC,EAA2C,QAAEpF,EAAO2M,IAE3Dm6B,EAAQxgB,GAAS,GACjBo2C,EAAW51B,EAAM14B,GACjBuuD,OAAuB,IAAbD,EAAsB,KAAOA,EACvCE,EAAa91B,EAAMj6B,KACnBA,OAAsB,IAAf+vD,EAAwB,KAAOA,EACtCC,EAAiB/1B,EAAMtd,SACvBszC,OAAkC,IAAnBD,EAA4B,KAAOA,EAClDE,EAAoBj2B,EAAMod,YAC1BA,OAAoC,IAAtB6Y,EAA+BN,EAAkBM,EAC/DC,EAAiBl2B,EAAM1d,SACvBA,OAA8B,IAAnB4zC,EAA4B,GAAKA,EAE5C7zD,EAAQigB,GAAY,GACpB6zC,EAAiB9zD,EAAMqgB,SACvBA,OAA8B,IAAnByzC,EAA4BH,EAAeG,EAEtD72D,EAAQyG,EAERyE,EAAO5L,EAAgC,QAAEA,EAAgC,QAAE,GAAI6oC,GAAO,GAAI,CAC5F+L,MAAO,mBACP6hB,cAAej1D,EACfk1D,YAAa5sD,EACb6sD,WAAYj2D,EACZk2D,WAAYj5D,EACZs5D,QAASA,EACTO,iBAAkC,OAAhBhZ,EAAuBliD,KAAKC,MAAMiiD,GAAe,KACnEiZ,cAA+B,OAAhBjZ,GAAqC,OAAb16B,GAAqBA,EAAW,EAAIxnB,KAAKC,MAAMiiD,EAAc16B,EAAW,KAAO,OAGxH6nC,KAAK5pC,KAAKnW,OAIPk3B,EAtImB,CAuI1BvK,EAASuK,UAEXplC,EAAQy+B,aAAeA,GACvBz+B,EAAQm8B,kBAAoBA,GAC5Bn8B,EAAQoxD,mBAAqBA,GAC7BpxD,EAAQkzC,cAAgBA,GACxBlzC,EAAQi9B,cAAgBA,GACxBj9B,EAAQg3D,YAAcA,GACtBh3D,EAAQ+jD,aAAeA,GACvB/jD,EAAQI,UAAYA,GACpBJ,EAAQs9B,eAAiBA,GACzBt9B,EAAQykD,YAAcA,GACtBzkD,EAAQqpD,YAAcA,GACtBrpD,EAAQolC,SAAWA,I,kCCt7DnBhmC,OAAOW,eAAeC,EAAS,aAA/B,CAA+CC,OAAO,IAEtD,IAAIyB,EAAW,EAAQ,MACnBs4D,EAAY,EAAQ,MACpBz4D,EAAW,EAAQ,MACnBH,EAAQ,EAAQ,MAChBK,EAAW,EAAQ,MACnBw4D,EAAY,EAAQ,MACpBzP,EAAa,EAAQ,MACrB5pD,EAAqB,EAAQ,MAC7BI,EAAgB,EAAQ,KACxBG,EAAU,EAAQ,MAClBhB,EAA2B,EAAQ,MACnCD,EAAkB,EAAQ,MAC1BW,EAAiB,EAAQ,MACzBq5D,EAAU,EAAQ,MAEtB,SAASr4D,EAAuBC,GAAK,OAAOA,GAAkB,iBAANA,GAAkB,YAAaA,EAAIA,EAAI,CAAE,QAAWA,GAE5G,IAAIgB,EAAiCjB,EAAsBH,GACvDkB,EAAiCf,EAAsBN,GACvDsB,EAAiChB,EAAsBJ,GACvD04D,EAAkCt4D,EAAsBo4D,GACxD73D,EAA2CP,EAAsBjB,GACjE0B,EAAsCT,EAAsBb,GAC5DyB,EAAgCZ,EAAsBV,GACtDa,EAAiDH,EAAsB1B,GACvE4B,EAAwCF,EAAsB3B,GAC9DmC,EAAuCR,EAAsBhB,GAC7Du5D,EAAgCv4D,EAAsBq4D,GA8CtDG,EAAmB,WACrB,IAAIp6D,EAAQmP,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC5EkrD,EAAelrD,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAEvF,GAAc,OAAVnP,EACF,OAAO,KAGT,IAAItD,EAAOkG,EAA2B,QAAE5C,GAAS,CAC/CmS,MAAOnS,GACLA,EACAs6D,EAAa59D,EAAKyV,MAClBA,OAAuB,IAAfmoD,EAAwB,KAAOA,EACvCC,EAAa79D,EAAK8pB,MAClBA,OAAuB,IAAf+zC,EAAwB,KAAOA,EAE3C,OAAiB,OAAV/zC,GAAmC,OAAjB6zC,EAAwBH,EAA4B,QAAE/nD,GAAOqoD,SAA0B,OAAjBH,EAAwBA,EAAe7zC,GAAOi0C,cAAgBtoD,GAgB3J+6C,EAAgB,CAAC,CACnB1jD,KAAM,UACL,CACDA,KAAM,QACN8hB,WAAY,sCACX,CACD9hB,KAAM,SACN8hB,WAAY,sCACX,CACD9hB,KAAM,QACN8hB,WAAY,uCACX,CACD9hB,KAAM,aACN8hB,WAAY,wCAeVovC,EAAiB,SAASA,EAAe7wD,EAAQL,GACnD,OAAOK,EAAO0Z,QAAO,SAAUo3C,EAAYllD,GACzC,GAAmB,OAAfklD,EACF,OAAOA,EAGT,IAAIC,EAAWnlD,EAAGjM,KACdqxD,OAAyB,IAAbD,EAAsB,KAAOA,EACzCE,EAAarlD,EAAG5L,OAGpB,OAAa,OAATL,GAAiBqxD,IAAcrxD,EAC1BiM,EAGFilD,OANwB,IAAfI,EAAwB,GAAKA,EAMZtxD,KAChC,OAgDDuxD,EAAgB,SAAuB/6D,GACzC,GAAa,MAATA,EACF,OAAO,KAGT,IAAItD,EAAOiG,EAA2B,QAAE3C,GAASA,EAAQ,CACvDwJ,KAAMxJ,GAEJwJ,EAAO9M,EAAK8M,KACZwxD,EAAgBt+D,EAAKu+D,SAGzB,MAAO,CAACzxD,OAFyB,IAAlBwxD,EAA2B,KAAOA,GAEzBt9C,QAAO,SAAUjI,GACvC,OAAc,OAAPA,KACNpN,KAAI,SAAUoN,GACf,MAAO,IAAK3O,OAAO2O,EAAI,QACtBmO,KAAK,OASNs3C,EAAe,SAAsBrhD,GAEvC,OADgBA,EAASlb,KAAKw8D,MAAMthD,IACnBuhD,QAAQ,IAgCvB/kD,EAAY,CAAC,QAAS,QAAS,SAsJ/BglD,EAAoB,WACtB,IAAIr7D,EAAQmP,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC5Eof,EAAWpf,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,kBAC/EkrD,EAAelrD,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KACnFgD,EAAQioD,EAAiBp6D,EAAOq6D,GACpC,OAAiB,OAAVloD,EAAiBrQ,EAAkC,QAAE,GAAIysB,EAAUpc,GAAS,MAGjFmpD,EAAqB,SAA4Bt7D,GACnD,GAAa,MAATA,EACF,OAAO,KAGT,IAAIu7D,EAAev7D,EAAMjE,MACrBA,OAAyB,IAAjBw/D,EAA0B,KAAOA,EACzCC,EAAex7D,EAAMd,MACrBuoB,OAA+B,IAAjB+zC,EAA0B,KAAOA,EAC/CC,EAAez7D,EAAMmS,MACrBA,OAAyB,IAAjBspD,EAA0B,KAAOA,EAC7C,OAAOp5D,EAAgC,QAAEA,EAAgC,QAAEA,EAAgC,QAAE,GAAc,OAAVtG,EAAiB,CAChIwrB,YAAaxrB,GACX,MAAuB,OAAhB0rB,EAAuB,CAChCA,YAAaA,GACX,MAAO4zC,EAAkBlpD,EAAO,iBA8TtChT,OAAOW,eAAeC,EAAS,aAA/B,CACIq7B,YAAY,EACZp6B,IAAK,WAAc,OAAOupD,EAAWnoC,cAEzCjjB,OAAOW,eAAeC,EAAS,YAA/B,CACIq7B,YAAY,EACZp6B,IAAK,WAAc,OAAOupD,EAAWR,aAEzChqD,EAAQk5B,qBAttBmB,SAA8B/5B,GACvD,OAAiB,OAAVA,EAAiBC,OAAOqb,KAAKtb,GAAOmJ,KAAI,SAAUU,GACvD,MAAO,GAAGjC,OAAOizD,EAAUA,UAAUhxD,GAAM,KAAKjC,OAAOjE,EAA2B,QAAE3D,EAAM6J,IAAQ,GAAGjC,OAAO5H,EAAM6J,GAAM,MAAQ7J,EAAM6J,GAAM,QAC3I6a,KAAK,MAAQ,IAotBlB7jB,EAAQ27D,uBAjtBqB,WAC3B,IAAI5xD,EAAWqF,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KACnF,OAAO,SAAU3D,GACf,IAAImwD,EAAgBnwD,EAEhB7I,EAA2B,QAAE6I,IACjBrM,OAAOqb,KAAKhP,GAAU+X,QAAO,SAAU4wC,EAAKprD,GACxD,OAAOorD,GAAyB,OAAlB3oD,EAASzC,MACtB,KAGD4yD,EAAgB,MAIH,OAAb7xD,GACFA,EAAS6xD,KAksBf57D,EAAQmzC,eA7rBa,SAAwB6F,GAC3C,OAAO,SAAU9B,EAAO31B,GACtB,IAAI7iB,IAAU0Q,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,KAAmBA,UAAU,GAC7EhO,EAAMzC,WAAU,WAKd,OAJID,GAA6B,OAAlBs6C,GACbA,EAAcrE,UAAUuC,EAAO31B,GAG1B,WACD7iB,GAA6B,OAAlBs6C,GACbA,EAAc3E,YAAY6C,EAAO31B,MAGpC,CAACy3B,EAAe9B,EAAO31B,EAAU7iB,MAirBxCsB,EAAQq6D,iBAAmBA,EAC3Br6D,EAAQ8L,qBA3pBmB,WACzB,IAAIrC,EAAO2F,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC3EvF,EAAauF,UAAUC,OAAS,EAAID,UAAU,QAAKnG,EACnDuzB,EAAmBptB,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAE3F,GAAmB,OAAfvF,GAAgC,OAATJ,EACzB,OAAO+yB,EAGT,IAAIi0B,EAAajG,EAAWnoC,WAAW5Y,GACvC,OAAOI,EAAW4mD,IAAe5mD,EAAWJ,IAAS+yB,GAkpBvDx8B,EAAQ67D,iBA/nBe,WACrB,OAAO1O,GA+nBTntD,EAAQyc,eA5nBa,SAAwB9f,GAC3C,IAAI+0C,EAAmB/0C,EAAKg1C,YACxBA,OAAmC,IAArBD,EAA8B,KAAOA,EACnDE,EAAYj1C,EAAK8M,KAErB,OAAOkoC,SADkB,IAAdC,EAAuB,KAAOA,IACX,aAwnBhC5xC,EAAQ26D,eAAiBA,EACzB36D,EAAQuK,iBAnmBe,SAA0B4kD,EAAMrlD,EAAQgyD,GAC7D,OAAQr5D,EAA0B,QAAE0sD,GAAQA,EAAO,CAACA,IAAO3rC,QAAO,SAAUo3C,EAAY5xD,GACtF,GAAmB,OAAf4xD,EACF,OAAO,KAGT,IAAImB,EAAmBnB,EAAW92D,KAC9BA,OAA4B,IAArBi4D,EAA8B,KAAOA,EAC5CC,EAAqBpB,EAAW9wD,OAChCmyD,OAAqC,IAAvBD,EAAgC,KAAOA,EACrDE,EAAoBtB,EAAWtwD,MAC/BA,OAA8B,IAAtB4xD,EAA+B,KAAOA,EAC9CC,EAAsB,OAAV7xD,GAAiBA,EAAMxG,MAAeA,EAElDnH,EAAqB,OAAdw/D,EAAqBL,EAAajxD,cAAcsxD,GAAavB,EACpEnhB,EAAc98C,EAAKmN,OACnBulD,OAA4B,IAAhB5V,EAAyB,KAAOA,EAC5C2iB,EAAgBz/D,EAAKsO,SACrBA,OAA6B,IAAlBmxD,EAA2B,KAAOA,EAC7CC,EAAkB1/D,EAAK4yD,WACvBA,OAAiC,IAApB8M,EAA6B,KAAOA,EAErD,OAAmB,OAAf9M,GAAuBvmD,EAAIkvC,MAAM,YAC5B51C,EAAgC,QAAEA,EAAgC,QAAE,GAAIitD,GAAa,GAAI,CAC9F9lD,KAAM0lD,EAAKtrC,KAAK,KAChBy4C,WAAW,IAIR3B,EAAe,GAAG5zD,OAAO3E,EAAqC,QAAE65D,GAAe,IAAK75D,EAAqC,QAAEitD,GAAa,IAAKjtD,EAAqC,QAAE6I,GAAY,KAAMjC,KAC5M,CACDc,OAAQA,KAqkBZ9J,EAAQ+vC,YAjkBU,WAChB,IAAIt7B,EAAMrF,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAE9E,OAAY,OAARqF,QAAqC,IAAdA,EAAIyjC,MACtB,KAGFzjC,EAAIyjC,MAAM,mBAAmB,IAAMzjC,GA2jB5CzU,EAAQu8D,sBAAwBvB,EAChCh7D,EAAQw8D,kBAtiBgB,SAA2BpzC,GACjD,OAAOA,EAAO9gB,KAAI,SAAUoN,GAC1B,MAAO,GAAG3O,OAAO2O,EAAGkS,KAAM,KAAK7gB,OAAO2O,EAAGmS,QAAQhE,KAAK,SACrDA,KAAK,MAoiBV7jB,EAAQy8D,yBA5hBoB,SAA+BC,EAASC,GAClE,IAAKl6D,EAA0B,QAAEi6D,IAAYA,EAAQrtD,OAAS,EAAG,OAAOqtD,EAexE,IAdA,IAAIz1B,EAASy1B,EAAQp0D,KAAI,SAAUwR,EAAQtR,GACzC,MAAO,CACL4yD,MAAOx8D,KAAKw8D,MAAMthD,IAAW,EAC7B8iD,UAAWzB,EAAarhD,GACxBtR,MAAOA,MAERq0D,MAAK,SAAUC,EAAGC,GACnB,OAAOA,EAAEH,UAAYE,EAAEF,aAKrBI,EAAQL,EAHG11B,EAAOzjB,QAAO,SAAUy5C,EAAKv/D,GAC1C,OAAOu/D,EAAMv/D,EAAQ09D,QACpB,GAGMnsC,EAAI,EAAGA,EAAI+tC,EAAO/tC,GAAK,EAC1BgY,EAAOhY,KACTgY,EAAOhY,GAAGmsC,OAAS,GAIvB,OAAOn0B,EAAO41B,MAAK,SAAUC,EAAGC,GAC9B,OAAOD,EAAEt0D,MAAQu0D,EAAEv0D,SAClBF,KAAI,SAAU40D,GACf,OAAOA,EAAI9B,UAogBfp7D,EAAQm9D,wBA9fsB,WAC5B,IAAInyC,EAAa5b,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAErF,OAAmB,OAAf4b,EACK,IAGDvoB,EAA0B,QAAEuoB,GAAcA,EAAa,CAACA,IAAaxH,QAAO,SAAU45C,EAAQzgE,GACpG,IAAI0gE,EAAa1gE,EAAKyT,MAClBA,OAAuB,IAAfitD,EAAwB,KAAOA,EACvCC,EAAa3gE,EAAKgsB,MAClBA,OAAuB,IAAf20C,EAAwB,KAAOA,EACvCxlB,EAAan7C,EAAKumB,MAClBA,OAAuB,IAAf40B,EAAwB,KAAOA,EACvC5pC,EAAOlM,EAA2C,QAAErF,EAAM2Z,GAE9D,MACS,GAAGvP,OAAO3E,EAAqC,QAAEg7D,GAD5C,OAAVhtD,GAA4B,OAAVuY,EAC6C,CAACrmB,EAAgC,QAAE,CAClG4gB,MAAO9S,GACNlC,GAAO5L,EAAgC,QAAE,CAC1C4gB,MAAOyF,GACNza,IAG4D,CAAC5L,EAAgC,QAAE,CAClG4gB,MAAOA,GAAS9S,GAASuY,GACxBza,OACF,KAoeLlO,EAAQu9D,eAxJa,WACnB,IAAIn0C,EAASha,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAE7EzS,EAAkB,OAAXysB,IAA2C,IAAxBA,EAAO9O,QAAQ,KAAiB8O,EAAO5e,MAAM,KAAO,CAAC4e,EAAQ,KAAM,MAC7F3e,EAAQpI,EAAiC,QAAE1F,EAAM,GACjD6gE,EAAa/yD,EAAM,GACnBgzD,EAAWhzD,EAAM,GACjBwiB,EAASxiB,EAAM,GAEnB,MAAO,CACL+yD,WAAYA,EACZC,SAAUA,EACVxwC,OAAQA,IA6IZjtB,EAAQ09D,qBAlemB,SAA8Bp6C,GACvD,OAAiB,OAAVA,GAAkB7gB,EAA0B,QAAE6gB,GAASA,EAAQlkB,OAAOqb,KAAK6I,GAAS,IAAIE,QAAO,SAAUm6C,EAAU30D,GACxH,MAAO,GAAGjC,OAAO3E,EAAqC,QAAEu7D,GAAW,CAACr7D,EAAgC,QAAE,CACpGujB,OAAQ7c,GACPsa,EAAMta,QACR,KA8dLhJ,EAAQ49D,mBA1diB,WACvB,IAAI16C,EAAQ9T,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC5EyuD,EAAiBzuD,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KACrF0uD,EAAkB1uD,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KACtF2uD,EAAU3uD,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,IAE9EzS,EAAOumB,GAAS,GAChB86C,EAAarhE,EAAKshE,MAClBA,OAAuB,IAAfD,EAAwB,KAAOA,EACvCjf,EAAWpiD,EAAK8X,IAChBypD,OAA0B,IAAbnf,EAAsB,KAAOA,EAC1Cof,EAAgBxhE,EAAKqpB,SAGrBo4C,GADJD,OAAkC,IAAlBA,EAA2B,GAAKA,GACnBniE,MACzBqiE,EAAYF,EAAcliE,OAE9B,GAAc,OAAVgiE,GAAqC,OAAnBJ,GAA+C,OAApBC,EAC/C,OAAOI,EAGT,IAAII,EAAah8D,EAAgC,QAAE,CACjD6kC,SAAU,CACR1yB,IAAKypD,EACLliE,MAAOoiE,EACPniE,OAAQoiE,IAETJ,GAECM,EAAsBn/D,OAAOqb,KAAK6jD,GAAY96C,QAAO,SAAU4wC,EAAKprD,GACtE,IAAIw1D,EAAcpK,EAAIqK,KAClBC,EAAkBtK,EAAIuK,SACtBp6B,EAAc6vB,EAAIlwD,KAClB06D,EAAkBN,EAAWt1D,GAC7ByL,EAAMmqD,EAAgBnqD,IACtBoqD,EAAwBD,EAAgB5iE,MACxCA,OAAkC,IAA1B6iE,EAAmC,KAAOA,EAClDC,EAAwBF,EAAgB3iE,OACxCA,OAAmC,IAA1B6iE,EAAmC,KAAOA,EACnDC,EAAsB,OAAV/iE,GAAqC,OAAnB6hE,EAA0B7hE,EAAQ6hE,EAAiB,KACjFmB,EAAwB,OAAX/iE,GAAuC,OAApB6hE,EAA2B7hE,EAAS6hE,EAAkB,KACtFa,GAA0B,OAAdI,GAAsBA,GAAa,KAAsB,OAAfC,GAAuBA,GAAc,GAC3FP,EAAO,CAACM,EAAWC,GAAYx7C,QAAO,SAAUzJ,EAAO9Z,GACzD,OAAiB,OAAVA,GAAkB8Z,GAAS,GAAKnb,KAAKupD,IAAIloD,GAAS8Z,IACxD,MAEU,OAAT0kD,IACFA,EAAOQ,EAAAA,GAGT,IACIC,GADQljE,GAAS,IAAMC,GAAU,GACXsoC,EAE1B,OACAk6B,EAAOD,GAAeG,GACtBF,EAAOD,KAAiBE,GAAmBQ,GAAgBV,EAAcT,IACzEU,GAAQV,IAAYW,GAAmBC,GACvCF,GAAQV,IAAYW,IAAoBC,GAAYO,EAC3C,CACLl2D,IAAKA,EACLyL,IAAKA,EACLgqD,KAAMA,EACNE,SAAUA,GAIPvK,IACN,CACDprD,IAAK,KACLyL,IAAKypD,EACLO,KAAMQ,EAAAA,EACNN,UAAU,EACVz6D,KAAM,IAEJi7D,EAAWZ,EAAoB9pD,IAEnC,OAAO0qD,GA+YTn/D,EAAQovC,oBA5XkB,SAA6BF,GACrD,MAAO,CACLzlC,KAAM,aACN3F,KAAM,aACNd,MAAOksC,EAAKzqB,cAAc,CACxBzZ,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,mBAqXjB1N,EAAQo/D,mBA7YiB,SAA4BnpB,GACnD,IAAIv4B,EAAIu4B,EAAKzrC,MAAM,KAEnB,IACE,IAAI60D,EAAI3hD,EAAE,GAAGlT,MAAM,KAMnB,OAJiB,IAAb60D,EAAEhwD,SACJgwD,EAAI3hD,EAAE,GAAGlT,MAAM,MAGa,KAAvB80D,WAAW5hD,EAAE,GAAI,IAAoC,GAAvB4hD,WAAW5hD,EAAE,GAAI,IAAW4hD,WAAWD,EAAE,GAAI,IAAMC,WAAWD,EAAE,GAAI,IAAM,IAC/G,MAAOv9D,GACP,OAAO,IAkYX9B,EAAQu7D,mBAAqBA,EAC7Bv7D,EAAQu/D,mBAvViB,SAA4Bt/D,GACnD,GAAc,OAAVA,EACF,OAAO,KAGT,IAAIu/D,EAAwBv/D,EAAMqnB,gBAC9BA,OAA4C,IAA1Bk4C,EAAmC,KAAOA,EAC5DC,EAAsBx/D,EAAMsnB,aAC5BA,OAAuC,IAAxBk4C,EAAiC,KAAOA,EACvDC,EAAqBz/D,EAAMunB,YAC3BA,OAAqC,IAAvBk4C,EAAgC,KAAOA,EACrDC,EAAqB1/D,EAAMynB,YAC3BA,OAAqC,IAAvBi4C,EAAgC,KAAOA,EACrDC,EAAqB3/D,EAAMwnB,YAE3Bo4C,EAAS,CACX7jE,MAAOwrB,EACProB,MAAOuoB,EACPtV,WAJuC,IAAvBwtD,EAAgC,KAAOA,GAMzD,OAAOt9D,EAAgC,QAAEA,EAAgC,QAAEA,EAAgC,QAAE,GAAIg5D,EAAkBh0C,EAAiB,oBAAsC,OAAjBC,EAAwB,CAC/LA,aAAcA,GACZ,MAAOg0C,EAAmBsE,KAkUhC7/D,EAAQs7D,kBAAoBA,EAC5Bt7D,EAAQ8/D,sBAhUoB,SAA+B7/D,GACzD,GAAa,MAATA,EACF,OAAO,KAGT,IAAI8/D,EAAc9/D,EAAMiE,KACpBA,OAAuB,IAAhB67D,EAAyB,GAAKA,EACrCP,EAAwBv/D,EAAMqnB,gBAC9BA,OAA4C,IAA1Bk4C,EAAmC,KAAOA,EAC5DQ,EAAc97D,EAAKlI,MACnBA,OAAwB,IAAhBgkE,EAAyB,KAAOA,EACxCC,EAAe/7D,EAAKjI,OACpBA,OAA0B,IAAjBgkE,EAA0B,KAAOA,EAC9C,OAAO39D,EAAgC,QAAEA,EAAgC,QAAEA,EAAgC,QAAE,GAAItG,EAAQ,CACvHA,MAAO,GAAG+K,OAAO/K,EAAO,MACtB,MAAOC,EAAS,CAClBA,OAAQ,GAAG8K,OAAO9K,EAAQ,MACxB,MAAOq/D,EAAkBh0C,EAAiB,qBAgThDtnB,EAAQkgE,sBA7SoB,SAA+BjgE,GACzD,GAAa,MAATA,EACF,OAAO,KAGT,IAAIkgE,EAAmBlgE,EAAMmgE,UACzBA,OAAiC,IAArBD,EAA8B,KAAOA,EACjDzE,EAAez7D,EAAMmS,MACrBA,OAAyB,IAAjBspD,EAA0B,KAAOA,EACzC2E,EAAwB,OAAVjuD,EAAiBioD,EAAiBjoD,GAAS,KACzDkuD,EAA4B,OAAhBD,EAAuB,kBAAkBt5D,OAAOs5D,EAAa,sBAAsBt5D,OAAOs5D,GAAe,KACzH,OAAiB,OAAVjuD,GAAgC,OAAdguD,EAAqB99D,EAAgC,QAAEA,EAAgC,QAAEA,EAAgC,QAAE,GAAc,OAAV8P,EAAiBkpD,EAAkBlpD,EAAO,mBAAqB,MAAqB,OAAdguD,EAAqB9E,EAAkB8E,EAAW,SAAW,MAAiB,OAAVhuD,EAAiB,CACjTkuD,UAAWA,EACXC,aAAcD,EACdE,YAAaF,EACbG,gBAAiBH,GACf,MAAQ,MA8RdtgE,EAAQ0gE,kBA3RgB,SAA2BzgE,GACjD,GAAa,MAATA,EACF,OAAO,KAGT,IAAI0gE,EAAa1gE,EAAM8nB,IACnBA,OAAqB,IAAf44C,EAAwB,GAAKA,EACnCnB,EAAwBv/D,EAAMqnB,gBAC9BA,OAA4C,IAA1Bk4C,EAAmC,KAAOA,EAC5DoB,EAAY74C,EAAI7jB,KAChBA,OAAqB,IAAd08D,EAAuB,KAAOA,EACrCC,EAAgB94C,EAAIxL,SACpBA,OAA6B,IAAlBskD,EAA2B,GAAKA,EAC3CC,EAAsBvkD,EAASwkD,UAC/BA,OAAoC,IAAxBD,EAAiC,KAAOA,EACpDE,EAAuBzkD,EAAS0kD,WAChCA,OAAsC,IAAzBD,EAAkC,KAAOA,EAC1D,OAAO1+D,EAAgC,QAAEA,EAAgC,QAAEA,EAAgC,QAAE,GAAa,OAAT4B,EAAgB,CAC/HioD,UAAWjoD,GACT,MAAqB,OAAd68D,GAAqC,OAAfE,EAAsB,CACrDC,eAAgB,GAAGn6D,OAAOg6D,EAAW,KAAKh6D,OAAOk6D,IAC/C,MAAO3F,EAAkBh0C,EAAiB,qBAuQhDtnB,EAAQmhE,iBApQe,SAA0BlhE,GAC/C,GAAa,MAATA,EACF,OAAO,KAGT,IAAIy7D,EAAez7D,EAAMmS,MACrBA,OAAyB,IAAjBspD,EAA0B,KAAOA,EAGzC/+D,EAFYsD,EAAM4mB,WAEE,GACpBu6C,EAAczkE,EAAKoqB,OACnBA,OAAyB,IAAhBq6C,GAAiCA,EAC1CC,EAAY1kE,EAAKmqB,KACjBA,OAAqB,IAAdu6C,GAA+BA,EACtCC,EAAiB3kE,EAAKqqB,UACtBA,OAA+B,IAAnBs6C,GAAoCA,EAEpD,OAAOh/D,EAAgC,QAAEA,EAAgC,QAAEA,EAAgC,QAAEA,EAAgC,QAAE,GAAc,OAAV8P,EAAiBkpD,EAAkBlpD,EAAO,SAAW,MAAO2U,EAAS,CACtNF,UAAW,UACT,MAAOC,EAAO,CAChBy6C,WAAY,QACV,MAAOv6C,EAAY,CACrBw6C,eAAgB,aACd,OA8ONxhE,EAAQyhE,mBApLiB,SAA4BxhE,GACnD,GAAa,MAATA,EACF,OAAO,KAGT,IAAIyhE,EAAazhE,EAAM4f,IACnBmQ,OAA2B,IAAf0xC,EAAwB,KAAOA,EAC3CC,EAAgB1hE,EAAM0nB,OACtBsI,OAAiC,IAAlB0xC,EAA2B,KAAOA,EACrD,OAAOr/D,EAAgC,QAAEA,EAAgC,QAAE,GAAkB,OAAd0tB,EAAqB,CAClGA,UAAWA,GACT,MAAwB,OAAjBC,EAAwB,CACjCA,aAAcA,GACZ,OAwKNjwB,EAAQ4hE,iBA5Oe,SAA0B3hE,GAC/C,GAAa,MAATA,EACF,OAAO,KAGT,IAAI4hE,EAAoB5hE,EAAM0mB,WAC1BA,OAAmC,IAAtBk7C,EAA+B,KAAOA,EACnDC,EAAkB7hE,EAAM2mB,SACxBA,OAA+B,IAApBk7C,EAA6B,KAAOA,EAC/CC,EAAmB9hE,EAAM4mB,UACzBA,OAAiC,IAArBk7C,EAA8B,KAAOA,EACjDC,EAAoB/hE,EAAMknB,WAC1BA,OAAmC,IAAtB66C,EAA+B,KAAOA,EACnDC,EAAuBhiE,EAAMinB,cAC7BA,OAAyC,IAAzB+6C,EAAkC,KAAOA,EACzDC,EAAejiE,EAAM8U,MACrByR,OAA6B,IAAjB07C,EAA0B,KAAOA,EAC7CxG,EAAez7D,EAAMmS,MACrBA,OAAyB,IAAjBspD,EAA0B,KAAOA,EAEzC/+D,EAAOkqB,GAAa,GACpBu6C,EAAczkE,EAAKoqB,OACnBA,OAAyB,IAAhBq6C,GAAiCA,EAC1CC,EAAY1kE,EAAKmqB,KACjBA,OAAqB,IAAdu6C,GAA+BA,EACtCC,EAAiB3kE,EAAKqqB,UACtBA,OAA+B,IAAnBs6C,GAAoCA,EAChDa,EAAgBxlE,EAAKsW,UACrBmvD,EAAezlE,EAAKyI,QACpBA,OAA2B,IAAjBg9D,GAAkCA,EAEhD,OAAO9/D,EAAgC,QAAEA,EAAgC,QAAEA,EAAgC,QAAEA,EAAgC,QAAEA,EAAgC,QAAEA,EAAgC,QAAEA,EAAgC,QAAEA,EAAgC,QAAEA,EAAgC,QAAEA,EAAgC,QAAE,CACzVqkB,WAAYq0C,EAAcr0C,IACZ,OAAbC,EAAoB,CACrBA,SAAUA,GACR,MAAOG,EAAS,CAClBF,UAAW,UACT,MAAOC,EAAO,CAChBy6C,WAAY,QACV,MAAOv6C,EAAY,CACrBw6C,eAAgB,aACd,MAAyB,OAAlBW,EAAyB,CAClCA,cAAeA,GACb,MAAqB,OAAd37C,EAAqB,CAC9BA,UAAWA,GACT,MAAsB,OAAfW,EAAsB,CAC/BA,WAAYA,GACV,MAAyB,OAAlBD,EAAyB,CAClCA,cAAeA,GACb,MAAOo0C,EAAkBlpD,EAAO,UAAWhN,EAAU,CACvDi9D,iBAAkB,OAAOt7D,OAAOszD,EAAiBjoD,EAAO,UACxDA,MAAO,eACL,OAyLNpS,EAAQsiE,cA7IY,SAAuBlyD,GACzC,IACI0nC,GADO1nC,GAAS,IACE8S,MAGtB,OAAiB,aAFU,IAAf40B,EAAwB,KAAOA,IA2I7C93C,EAAQuiE,MAnJI,WACV,MAAO,CAAC,iBAAkB,mBAAoB,iBAAkB,OAAQ,SAAU,QAAQC,SAASC,UAAUC,WAC7GD,UAAUE,UAAUH,SAAS,QAAU,eAAgBvnE,UAkJzD+E,EAAQ4iE,cAvIa,SAAsB18D,GACzC,IACI28D,GADO38D,GAAQ,IACGlD,MAIlB8/D,SAHuB,IAAfD,EAAwB,KAAOA,IAEtB,IACIxzD,OACrBA,OAA0B,IAAjByzD,EAA0B,EAAIA,EAE3C,MAAyB,iBAAXzzD,GAAuBA,EAAS,GA+HhDrP,EAAQyD,UAzJQ,SAAmBmL,GACjC,OAAOhM,EAA2B,QAAEgM,SAA8C,IAA3BA,EAAQlB,gBAyJjE1N,EAAQ+iE,aA7HW,SAAsB78D,GACvC,IACI88D,GADO98D,GAAQ,IACE6W,KAIjB+lD,SAHqB,IAAdE,EAAuB,KAAOA,IAErB,IACK3zD,OACrBA,OAA0B,IAAjByzD,EAA0B,EAAIA,EAE3C,MAAyB,iBAAXzzD,GAAuBA,EAAS,GAqHhDrP,EAAQijE,WAlHS,SAAoBl/D,GACnC,IAAI0Q,EAEJ,IACEA,EAAM,IAAIyuD,IAAIn/D,GACd,MAAOo/D,GACP,OAAO,EAGT,MAAwB,UAAjB1uD,EAAI2uD,UAAyC,WAAjB3uD,EAAI2uD,UA0GzCpjE,EAAQqjE,SAnGO,SAAkBC,GAC/B,OAL2Ct4D,EAKrBs4D,EAAIz/C,KAAK,KAJxB,mCAAmC9c,OAAOiE,EAAI,SADlC,IAAwBA,GAwG7ChL,EAAQ0L,cAhGO,SAAS6C,EAAStO,EAAOsjE,EAAUl4D,GAChD,IAAIrC,EAAMu6D,EAASC,QACfriE,EAAoC,OAA1B6H,EAAIkvC,MAAM,YAExB,GAAc,OAAVj4C,GAAiC,OAAfoL,EAAqB,CACzC,GAAIlK,EAAS,CACX,IAAIqH,EAAQi7D,SAASz6D,EAAK,IACtB06D,EAA+B,OAAfr4D,EAAsB,GAAGtE,OAAO3E,EAAqC,QAAEnC,EAAMuY,MAAM,EAAGhQ,IAAS,CAAC+6D,EAASl0D,OAAS,EAAId,EAAmB,OAAVtO,GAAiBA,EAAMuI,IAAiB,KAAM+6D,EAAUl4D,GAAcA,GAAajJ,EAAqC,QAAEnC,EAAMuY,MAAMhQ,EAAQ,KAAO,GAAGzB,OAAO3E,EAAqC,QAAEnC,EAAMuY,MAAM,EAAGhQ,IAASpG,EAAqC,QAAEnC,EAAMuY,MAAMhQ,EAAQ,KAC5a,OAAOk7D,EAAcr0D,OAAS,EAAIq0D,EAAgB,KAGpD,OAAOphE,EAAgC,QAAEA,EAAgC,QAAE,GAAIrC,GAAQ,GAAI8B,EAAkC,QAAE,GAAIiH,EAAKu6D,EAASl0D,OAAS,EAAId,EAAmB,OAAVtO,GAAiBA,EAAM+I,IAAe,KAAMu6D,EAAUl4D,GAAcA,IAG7O,OAAO,MAmFTrL,EAAQ2jE,KAhFG,SAAcL,GACvB,IACIM,EADAvvD,EAAYjF,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KASpF,OALEw0D,EADgB,MAAdvvD,EACOm2C,EAAWwP,UAAUsJ,GAErB9Y,EAAWR,UAAUsZ,GAGzBlJ,EAA0B,QAAEwJ,EAAQ,CACzCC,OAAO,KAsEX7jE,EAAQ8jE,OAlEK,SAAgBC,GAC3B,OAAkB,OAAXA,EAAkBA,EAAOpmD,QAAO,SAAUqmD,EAAMC,EAAKC,GAC1D,OAAOA,EAAI5pD,QAAQ0pD,KAAUC,KAC1B,IAgEPjkE,EAAQ8O,eA7Da,SAASA,EAAehF,EAAQ7J,GACnD,OAAO6J,EAAO0Z,QAAO,SAAU4wC,EAAK9pD,GAClC,IAAY,IAAR8pD,EAAc,CAChB,GAAmB,WAAf9pD,EAAMxG,MAAqBwG,EAAMR,OACnC,OAAOgF,EAAexE,EAAMR,OAAQ7J,GAGtC,IAAIkkE,KAAMlkE,IAASA,EAAMqK,EAAMb,QAAQxJ,EAAMqK,EAAMb,MACnD,QAASa,EAAM85D,WAAaD,GAG9B,OAAO/P,KACN,K,kCC1uBL,IAAI7zD,EAAO,EAAQ,MACfC,EAAY,EAAQ,MACpBQ,EAAgB,EAAQ,KACxBJ,EAAqB,EAAQ,MAC7Bk6B,EAAO,EAAQ,MAEnB,SAASj5B,EAAuBC,GAAK,OAAOA,GAAkB,iBAANA,GAAkB,YAAaA,EAAIA,EAAI,CAAE,QAAWA,GAE5G,IAAIQ,EAAsCT,EAAsBb,GAC5DoB,EAA2CP,EAAsBjB,GAQjE2rD,EAAe,CACjBvhD,GAAI,gBACJlB,OAAQ,CAAC,CACPL,KAAM,QACN3F,KAAM,UAERmH,SAAU,CAAC,CACTxB,KAAM,WACN3F,KAAM,SACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,gBAGZ,CACDjE,KAAM,OACN3F,KAAM,SACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,YAGZ,CACDjE,KAAM,gBACN3F,KAAM,SACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,8BAGZ,CACDjE,KAAM,iBACN3F,KAAM,kBACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,yBAMbkc,EAAS,CACX5e,GAAI,SACJtB,UAAW,kBACX46D,UAAW,aACXx6D,OAAQ,CAAC,CACPL,KAAM,QACN3F,KAAM,eACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGZ,CACDjE,KAAM,cACN3F,KAAM,eACN1H,UAAW,QACV,CACDqN,KAAM,cACN3F,KAAM,kBACNygE,QAAQ,EACRvhE,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,sBAMbo/C,EAAU,CACZ9hD,GAAI,UACJtB,UAAW,QACX86D,YAAahkE,EAAU6jE,cAAc,CACnCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,mBAGb+2D,aAAcjkE,EAAU6jE,cAAc,CACpCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,oBAGb6hD,WAAY,CACVzrD,KAAM,SACN4gE,gBAAiBlkE,EAAU6jE,cAAc,CACvCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,eAMbsd,EAAa,CACfhgB,GAAI,aACJu5D,QAAQ,EACRz6D,OAAQ,CAAC,CACPL,KAAM,QACN3F,KAAM,QACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,YAGbg3D,gBAAiBlkE,EAAU6jE,cAAc,CACvCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,wBAGZ,CACDjE,KAAM,QACN3F,KAAM,QACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,YAGbg3D,gBAAiBlkE,EAAU6jE,cAAc,CACvCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,wBAGZ,CACDjE,KAAM,QACN3F,KAAM,QACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,YAGbg3D,gBAAiBlkE,EAAU6jE,cAAc,CACvCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,yBAIfzC,SAAU,CAAC,CACTnH,KAAM,SACNygE,QAAQ,EACRz6D,OAAQ,CAAC,CACPL,KAAM,MACN3F,KAAM,MACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,WAGZ,CACDjE,KAAM,SACN3F,KAAM,SACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,kBAsBfs+C,EAAc,CAChBhhD,GAAI,eACJlB,OAAQ,CAAC,CACPhG,KAAM,SACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,mBAGb62D,QAAQ,EACRz6D,OAAQ,CAAC,CACPL,KAAM,kBACNzG,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,uBAGb5J,KAAM,SACL,CACD2F,KAAM,eACN3F,KAAM,SACN6gE,cAAc,EACdC,SAAU,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAC1B5hE,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,yBAId,CACD5J,KAAM,SACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGb62D,QAAQ,EACRz6D,OAAQ,CAAC,CACPL,KAAM,cACN3F,KAAM,SACN6gE,cAAc,EACdC,SAAU,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAC1B5hE,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,YAGZ,CACDjE,KAAM,cACN3F,KAAM,QACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGZ,CACDjE,KAAM,cACN3F,KAAM,eACN6gE,cAAc,OAmBhB3X,EAAe,CACjBhiD,GAAI,iBACJu5D,QAAQ,EACR76D,UAAW,iBACXI,OAAQ,CAAC,CACPL,KAAM,SACN3F,KAAM,SACN6gE,cAAc,EACd3hE,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,sBAGZ,CACDjE,KAAM,OACN3F,KAAM,SACN6vC,QAAS,CAAC,CACR1zC,MAAO,WACP+C,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,gBAGZ,CACDzN,MAAO,SACP+C,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,eAIfm3D,sBAAsB,EACtBF,cAAc,EACd3hE,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,YAGZ,CACDjE,KAAM,MACN3F,KAAM,MAENd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,YAGZ,CACDjE,KAAM,QACN3F,KAAM,eACNghE,UAAU,EACV9hE,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,eAqBbu/C,EAAe,CACjBjiD,GAAI,eACJtB,UAAW,eACXI,OAAQ,CAAC,CACPL,KAAM,WACN3F,KAAM,WACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,gBAGZ,CACDjE,KAAM,WACN3F,KAAM,WACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,iBAIfzC,SAAU,CAAC,CACTxB,KAAM,eACN3F,KAAM,aACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,qBAGZ,CACDjE,KAAM,eACN3F,KAAM,aACN1H,UAAW,OACX4G,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,uBAYbymC,EAAU,CACZnpC,GAAI,UACJtB,UAAW,QACX86D,YAAahkE,EAAU6jE,cAAc,CACnCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,kBAGb+2D,aAAcjkE,EAAU6jE,cAAc,CACpCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,mBAGb6hD,WAAY,CACVzrD,KAAM,QACN4gE,gBAAiBlkE,EAAU6jE,cAAc,CACvCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cAMbq3D,EAAmBziE,EAAgC,QAAEA,EAAgC,QAAE,GAAI6xC,GAAU,GAAI,CAC3GnpC,GAAI,qBACJukD,WAAY,CACVzrD,KAAM,mBACN4gE,gBAAiBlkE,EAAU6jE,cAAc,CACvCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,eAMbs3D,EAAoB1iE,EAAgC,QAAEA,EAAgC,QAAE,GAAI6xC,GAAU,GAAI,CAC5GnpC,GAAI,sBACJukD,WAAY,CACVzrD,KAAM,oBACN4gE,gBAAiBlkE,EAAU6jE,cAAc,CACvCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,eAMblQ,EAAQ,CACVwN,GAAI,QACJtB,UAAW,kBACX46D,UAAW,aACXx6D,OAAQ,CAAC,CACPL,KAAM,QACN3F,KAAM,kBACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGZ,CACDjE,KAAM,cACN3F,KAAM,eACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,qBAMbu3D,EAAiB3iE,EAAgC,QAAEA,EAAgC,QAAE,GAAI9E,GAAQ,GAAI,CACvGwN,GAAI,mBACJlB,OAAQ,GAAG/C,OAAO3E,EAAqC,QAAE5E,EAAMsM,QAAS,CAAC,CACvEL,KAAM,QACN3F,KAAM,QACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,iBAMbw3D,EAAkB5iE,EAAgC,QAAEA,EAAgC,QAAE,GAAI9E,GAAQ,GAAI,CACxGwN,GAAI,oBACJlB,OAAQ,GAAG/C,OAAO3E,EAAqC,QAAE5E,EAAMsM,QAAS,CAAC,CACvEL,KAAM,QACN3F,KAAM,SACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,iBAkDby3D,EAAgB,CAClBn6D,GAAI,kBACJu5D,QAAQ,EACRz6D,OAAQ,CAAC,CACPL,KAAM,WACN3F,KAAM,QACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,WAGZ,CACDjE,KAAM,YACN3F,KAAM,QACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cAMbwa,EAAc,CAChBld,GAAI,eACJtB,UAAW,eACXuB,SAAU,CAAC,CACTxB,KAAM,YACN3F,KAAM,gBAINqkB,EAAiB7lB,EAAgC,QAAEA,EAAgC,QAAE,GAAI4lB,GAAc,GAAI,CAC7Gld,GAAI,kBACJ9G,KAAM,KACNkhE,QAAQ,IAGNC,EAAmB,CACrBr6D,GAAI,qBACJtB,UAAW,kBACX46D,UAAW,eACXgB,cAAe,sBACfx7D,OAAQ,CAAC,CACPL,KAAM,QACN3F,KAAM,QACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGZ,CACDjE,KAAM,UACN3F,KAAM,eACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,iBAYb63D,EAAoB,CACtBv6D,GAAI,sBACJtB,UAAW,QACX86D,YAAahkE,EAAU6jE,cAAc,CACnCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,kBAGb+2D,aAAcjkE,EAAU6jE,cAAc,CACpCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,mBAGb6hD,WAAY,CACVzrD,KAAM,qBACN4gE,gBAAiBlkE,EAAU6jE,cAAc,CACvCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cAMb83D,EAAS,CACXx6D,GAAI,SACJtB,UAAW,SACX6lD,WAAY,CACVzrD,KAAM,QACN4gE,gBAAiBlkE,EAAU6jE,cAAc,CACvCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cA0Db+b,EAAS,CACXze,GAAI,SACJtB,UAAW,kBACX46D,UAAW,aACXx6D,OAAQ,CAAC,CACPL,KAAM,QACN3F,KAAM,kBACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGZ,CACDjE,KAAM,cACN3F,KAAM,eACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,mBAGZ,CACDjE,KAAM,cACN3F,KAAM,eACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,kBAMbgc,EAAkB,CACpB1e,GAAI,oBACJtB,UAAW,kBACX46D,UAAW,aACXx6D,OAAQ,CAAC,CACPL,KAAM,QACN3F,KAAM,kBACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGZ,CACDjE,KAAM,cACN3F,KAAM,eACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,mBAGZ,CACDjE,KAAM,QACN3F,KAAM,QACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGZ,CACDjE,KAAM,cACN3F,KAAM,eACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,kBAMbk/C,EAAU,CACZ5hD,GAAI,UACJtB,UAAW,QACX86D,YAAahkE,EAAU6jE,cAAc,CACnCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,mBAGb+2D,aAAcjkE,EAAU6jE,cAAc,CACpCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,mBAGb6hD,WAAY,CACVzrD,KAAM,SACN4gE,gBAAiBlkE,EAAU6jE,cAAc,CACvCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,eAMbm/C,EAAmB,CACrB7hD,GAAI,qBACJtB,UAAW,QACX86D,YAAahkE,EAAU6jE,cAAc,CACnCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,mBAGb+2D,aAAcjkE,EAAU6jE,cAAc,CACpCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,mBAGb6hD,WAAY,CACVzrD,KAAM,oBACN4gE,gBAAiBlkE,EAAU6jE,cAAc,CACvCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,eAabkB,EAAU,CACZ5D,GAAI,UACJtB,UAAW,UACX46D,UAAW,UACXgB,cAAe,uBACfx7D,OAAQ,CAAC,CACPL,KAAM,UACN3F,KAAM,SACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,eAGZ,CACDjE,KAAM,UACN3F,KAAM,OACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,eAGZ,CACDjE,KAAM,QACN3F,KAAM,QACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,eAMb8L,EAAW,CACbxO,GAAI,WACJtB,UAAW,QACX86D,YAAahkE,EAAU6jE,cAAc,CACnCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,oBAGb+2D,aAAcjkE,EAAU6jE,cAAc,CACpCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,oBAGb6hD,WAAY,CACVzrD,KAAM,UACN4gE,gBAAiBlkE,EAAU6jE,cAAc,CACvCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,gBAMbsY,EAAW,CACbhb,GAAI,WACJtB,UAAW,kBACX+7D,aAAcjlE,EAAU6jE,cAAc,CACpCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,uBAGb5D,OAAQ,CAAC,CACPL,KAAM,QACN3F,KAAM,OACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGZ,CACDjE,KAAM,cACN3F,KAAM,OACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,qBAiBbg4D,EAAa,CACf16D,GAAI,aACJu5D,QAAQ,EACRz6D,OAAQ,CAAC,CACPL,KAAM,WACN3F,KAAM,WACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,kBAMbmc,EAAa,CACf7e,GAAI,cACJtB,UAAW,kBACX46D,UAAW,aACXx6D,OAAQ,CAAC,CACPL,KAAM,QACN3F,KAAM,eACNghE,UAAU,EACV9hE,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGZ,CACDjE,KAAM,OACN3F,KAAM,SACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,mBAGZ,CACDjE,KAAM,cACN3F,KAAM,eACN1H,UAAW,UAIX2wD,EAAc,CAChB/hD,GAAI,eACJtB,UAAW,QACX86D,YAAahkE,EAAU6jE,cAAc,CACnCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,mBAGb+2D,aAAcjkE,EAAU6jE,cAAc,CACpCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,oBAGb6hD,WAAY,CACVzrD,KAAM,cACN4gE,gBAAiBlkE,EAAU6jE,cAAc,CACvCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,eAqBbsc,EAAU,CACZhf,GAAI,UACJtB,UAAW,kBACX46D,UAAW,OACXgB,cAAe,uBACfx7D,OAAQ,CAAC,CACPL,KAAM,OACN3F,KAAM,OACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,YAGZ,CACDjE,KAAM,SACN3F,KAAM,QACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cAGZ,CACDjE,KAAM,OACN3F,KAAM,SACN6vC,QAAS,CAAC,CACR1zC,MAAO,OACP+C,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,YAGZ,CACDzN,MAAO,QACP+C,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cAIf1K,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,YAGZ,CACDjE,KAAM,QACN3F,KAAM,QACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,eAMbyc,EAAW,CACbnf,GAAI,WACJtB,UAAW,QACXi8D,gBAAiB,WACf,MAAO,CACL36D,GAAI8vB,EAAKoV,KACThmB,KAAM,SAGVs6C,YAAahkE,EAAU6jE,cAAc,CACnCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,oBAGb+2D,aAAcjkE,EAAU6jE,cAAc,CACpCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,oBAGb6hD,WAAY,CACVzrD,KAAM,UACN4gE,gBAAiBlkE,EAAU6jE,cAAc,CACvCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,gBAMbgZ,EAAY,CACd1b,GAAI,aACJlB,OAAQ,CAAC,CACPhG,KAAM,SACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,iBAGb62D,QAAQ,EACRz6D,OAAQ,CAAC,CACPL,KAAM,aACN3F,KAAM,cACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,mBAGZ,CACDjE,KAAM,QACN3F,KAAM,QACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGZ,CACDjE,KAAM,WACN3F,KAAM,YACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,iBAGZ,CACDhE,UAAW,wBACXk8D,cAAe,YACfC,UAAW,WAEZ,CACD/hE,KAAM,SACN2F,KAAM,YACNzG,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,gBAGb62D,QAAQ,EACRz6D,OAAQ,CAAC,CACPL,KAAM,QACN3F,KAAM,QACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGZ,CACDjE,KAAM,YACN3F,KAAM,QACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,oBAId,CACD5J,KAAM,SACN2F,KAAM,OACNzG,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,YAGb62D,QAAQ,EACRz6D,OAAQ,CAAC,CACPL,KAAM,QACN3F,KAAM,QACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGZ,CACDjE,KAAM,YACNC,UAAW,aACXi7D,cAAc,EACd3hE,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,eAId,CACD5J,KAAM,SACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,wBAGb62D,QAAQ,EACRz6D,OAAQ,CAAC,CACPL,KAAM,aACN3F,KAAM,cACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,mBAGZ,CACDjE,KAAM,gBACN3F,KAAM,iBACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,sBAGZ,CACDhE,UAAW,uBACXD,KAAM,YACNq8D,cAAe,YACf9iE,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,gBAiCf4+C,EAAe,CACjBthD,GAAI,gBACJlB,OAAQ,CAAC,CACPL,KAAM,QACN3F,KAAM,UAERmH,SAAU,CAAC,CACTxB,KAAM,WACN3F,KAAM,SACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,gBAGZ,CACDjE,KAAM,OACN3F,KAAM,SACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,YAGZ,CACDjE,KAAM,gBACN3F,KAAM,SACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,8BAGZ,CACDjE,KAAM,cACN3F,KAAM,SACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,qBAGZ,CACDjE,KAAM,iBACN3F,KAAM,kBACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,yBAYbq4D,EAAoB,CACtB/6D,GAAI,sBACJtB,UAAW,kBACX46D,UAAW,eACXgB,cAAe,sBACfx7D,OAAQ,CAAC,CACPL,KAAM,QACN3F,KAAM,SACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGZ,CACDjE,KAAM,UACN3F,KAAM,eACNd,MAAOxC,EAAU6jE,cAAc,CAC7Br5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,iBAMbs4D,EAAqB,CACvBh7D,GAAI,uBACJtB,UAAW,QACX86D,YAAahkE,EAAU6jE,cAAc,CACnCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,kBAGb+2D,aAAcjkE,EAAU6jE,cAAc,CACpCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,mBAGb6hD,WAAY,CACVzrD,KAAM,sBACN4gE,gBAAiBlkE,EAAU6jE,cAAc,CACvCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cAMbu4D,EAAU,CACZj7D,GAAI,UACJtB,UAAW,UACX6lD,WAAY,CACVzrD,KAAM,SACN4gE,gBAAiBlkE,EAAU6jE,cAAc,CACvCr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cAMb5D,EAAsB1K,OAAOm0B,OAAO,CACpCC,UAAW,KACX0yC,MA3gDQ,CACVl7D,GAAI,QACJtB,UAAW,QACXwZ,OAAO,GAygDLqpC,aAAcA,EACd3iC,OAAQA,EACRkjC,QAASA,EACT9hC,WAAYA,EACZzD,aA10Ce,CACjBvc,GAAI,gBACJtB,UAAW,iBAy0CTge,YAt0Cc,CAChB1c,GAAI,eACJtB,UAAW,gBAq0CT8d,YAl0Cc,CAChBxc,GAAI,eACJtB,UAAW,gBAi0CTsiD,YAAaA,EACbma,cApvCgB,CAClBn7D,GAAI,iBACJtB,UAAW,eACX07D,QAAQ,EACRn6D,SAAU,CAAC,CACTxB,KAAM,YACN3F,KAAM,cACL,CACD2F,KAAM,cACN3F,KAAM,eACN1H,UAAW,UA2uCX4wD,aAAcA,EACdoZ,WAjqCa,CACfp7D,GAAI,aACJtB,UAAW,cAgqCT6e,eA7pCiB,CACnBvd,GAAI,kBACJtB,UAAW,mBA4pCT0I,MAzpCQ,CACVpH,GAAI,QACJtB,UAAW,SAwpCTujD,aAAcA,EACdloC,MAtmCQ,CACV/Z,GAAI,QACJtB,UAAW,OACX5F,KAAM,SAomCJihE,iBAAkBA,EAClBC,kBAAmBA,EACnB7wB,QAASA,EACT8wB,eAAgBA,EAChBC,gBAAiBA,EACjB1nE,MAAOA,EACP6oE,cAr/BgB,CAClBr7D,GAAI,kBACJtB,UAAW,mBAo/BTI,OAj/BW,CACbkB,GAAI,SACJtB,UAAW,UAg/BTqe,IA7+BM,CACR/c,GAAI,MACJtB,UAAW,OA4+BT6c,KAz+BO,CACTvb,GAAI,OACJtB,UAAW,OACXwZ,OAAO,GAu+BLL,MAp+BQ,CACV7X,GAAI,QACJtB,UAAW,QACX6lD,WAAY,CACVzrD,KAAM,SAi+BN6iB,WA79Ba,CACf3b,GAAI,cACJtB,UAAW,eA49BTkd,SAz9BW,CACb5b,GAAI,YACJtB,UAAW,aAw9BT2f,YAr9Bc,CAChBre,GAAI,eACJtB,UAAW,gBAo9BTy7D,cAAeA,EACfh9C,eAAgBA,EAChBk9C,iBAAkBA,EAClBj1D,MA/4BQ,CACVpF,GAAI,QACJtB,UAAW,QACXwZ,OAAO,GA64BLqiD,kBAAmBA,EACnBC,OAAQA,EACRpZ,aAh2Be,CACjBphD,GAAI,gBACJtB,UAAW,gBACXuB,SAAU,CAAC,CACTxB,KAAM,YACN3F,KAAM,cACL,CACD2F,KAAM,cACN3F,KAAM,eACN1H,UAAW,UAw1BX8X,MAp1BQ,CACVlJ,GAAI,QACJtB,UAAW,SAm1BT48D,cAh1BgB,CAClBt7D,GAAI,kBACJtB,UAAW,kBACXI,OAAQ,CAAC,CACPL,KAAM,QACN3F,KAAM,gBA40BNojB,cAx0BgB,CAClBlc,GAAI,iBACJtB,UAAW,mBACX/J,KAAM,CACJA,KAAM,CAAC,GAAI,GAAI,GAAI,OAAQ,kGAC3B4mE,SAAU,iBACVC,OAAQ,OAEVC,cAAe,GACf7B,SAAU,EAAE,GAAI,KAAM,GAAI,GAAK,EAAG,GAAK,EAAG,IAAK,GAC/C,OAAS,GA+zBPz9C,WA5zBa,CACfnc,GAAI,cACJtB,UAAW,mBACX/J,KAAM,CACJA,KAAM,CAAC,GAAI,GAAI,GAAI,OAAQ,kGAC3B4mE,SAAU,cACVC,OAAQ,OAEV5B,SAAU,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,GACvC,OAAS,GAozBPn7C,OAAQA,EACRC,gBAAiBA,EACjBkjC,QAASA,EACTC,iBAAkBA,EAClB6Z,QAvqBU,CACZ17D,GAAI,WACJtB,UAAW,SACXi9D,IAAK,EACLC,IAAK,IAoqBHh4D,QAASA,EACT4K,SAAUA,EACVwM,SAAUA,EACVlM,OAhkBS,CACX9O,GAAI,SACJtB,UAAW,UA+jBTm9D,SA5jBW,CACb77D,GAAI,WACJtB,UAAW,OACX5F,KAAM,YA0jBJ4hE,WAAYA,EACZ77C,WAAYA,EACZkjC,YAAaA,EACb+Z,OA7eS,CACX97D,GAAI,SACJtB,UAAW,UA4eTq9D,aAzee,CACjB/7D,GAAI,gBACJtB,UAAW,iBAweTs9D,OAreS,CACXh8D,GAAI,SACJtB,UAAW,mBAoeTsgB,QAASA,EACTG,SAAUA,EACVjC,YAAaA,EACbxB,UAAWA,EACXxgB,KAlOO,CACT8E,GAAI,OACJtB,UAAW,QAiOT+yC,OA9NS,CACXzxC,GAAI,SACJtB,UAAW,UA6NTu9D,OA1NS,CACXj8D,GAAI,SACJtB,UAAW,UAyNT+K,IAtNM,CACRzJ,GAAI,MACJtB,UAAW,OAqNTif,MAlNQ,CACV3d,GAAI,QACJtB,UAAW,QACXwZ,OAAO,GAgNLopC,aAAcA,EACd4a,OAnJS,CACXl8D,GAAI,SACJtB,UAAW,SACXwZ,OAAO,GAiJL6iD,kBAAmBA,EACnBC,mBAAoBA,EACpBC,QAASA,IAGTkB,EAAY/nE,OAAOqb,KAAK3Q,GAAQxB,KAAI,SAAUmB,GAChD,OAAOK,EAAOL,MAEZ29D,EAAY,IAAI7mE,EAAK08B,cAAckqC,GAEnCnrC,EAAU,IAAIz7B,EAAK08B,cACvBjB,EAAQ2B,MAAMypC,GAEdC,EAAOrnE,QAAUg8B,G,kCCvmDjB58B,OAAOW,eAAeC,EAAS,aAA/B,CAA+CC,OAAO,IAEtD,IAAIe,EAAgB,EAAQ,KACxBJ,EAAqB,EAAQ,MAC7BqpD,EAAkB,EAAQ,IAC1BC,EAAe,EAAQ,MACvBxuD,EAAQ,EAAQ,MAChB0E,EAAY,EAAQ,MACpBI,EAAY,EAAQ,MAExB,SAASqB,EAAuBC,GAAK,OAAOA,GAAkB,iBAANA,GAAkB,YAAaA,EAAIA,EAAI,CAAE,QAAWA,GAE5G,IAAIQ,EAAsCT,EAAsBb,GAC5DoB,EAA2CP,EAAsBjB,GACjE+pD,EAAwC9oD,EAAsBooD,GAC9DW,EAAqC/oD,EAAsBqoD,GAC3DjoD,EAA8BJ,EAAsBnG,GACpDwG,EAAkCL,EAAsBzB,GAExDknE,EAA2B,WAC7B,SAASA,IACP3c,EAAkC,QAAEsD,KAAMqZ,GAE1CrZ,KAAKsZ,QAAU,GA0CjB,OAvCA3c,EAA+B,QAAE0c,EAAa,CAAC,CAC7Ct+D,IAAK,YACL/I,MAAO,SAAmBukB,EAAQhL,GAChC,IAAI7J,EAAUP,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,IAAmBA,UAAU,GACzEo4D,EAAgBvZ,KAAKwZ,UAAUjjD,GACnCypC,KAAKsZ,QAAU,GAAGxgE,OAAO3E,EAAqC,QAAoB,OAAlBolE,EAAyBvZ,KAAKsZ,QAAQ5pD,QAAO,SAAUjI,GACrH,OAAOA,EAAG8O,SAAWA,KAClBypC,KAAKsZ,SAAU,CAAC,CACnB/iD,OAAQA,EACRhL,SAA4B,OAAlBguD,GAA2B73D,EAAuH6J,EAA7GlX,EAAgC,QAAEA,EAAgC,QAAE,GAAIklE,EAAchuD,UAAWA,QAGnJ,CACDxQ,IAAK,YACL/I,MAAO,SAAmBukB,GACxB,OAAOypC,KAAKsZ,QAAQ5gC,MAAK,SAAUjxB,GACjC,OAAOA,EAAG8O,SAAWA,MACjB,OAEP,CACDxb,IAAK,YACL/I,MAAO,SAAmBukB,GACxB,OAAkC,OAA3BypC,KAAKwZ,UAAUjjD,KAEvB,CACDxb,IAAK,cACL/I,MAAO,SAAqBukB,GAC1B,IAAIkjD,EAAYzZ,KAAKsZ,QAAQ5gC,MAAK,SAAUjxB,GAC1C,OAAOA,EAAG8O,SAAWA,MACjB,KAEN,OAAkB,OAAdkjD,EACK,KAGFA,EAAUluD,aAId8tD,EA9CsB,GAiD3BK,EAAc,IAAIL,EAElBM,EAAiB,CAAC,KAAM,MACxBC,EAA8B5lE,EAAwB,QAAE45B,cAAc+rC,GACtEE,EAAa,WACf,OAAOpsE,EAAMugC,WAAW4rC,IAetB9rE,EAAY,CACd4rE,YAAazlE,EAA4B,QAAEw6B,WAAW4qC,GACtD9iD,OAAQtiB,EAA4B,QAAE6B,OACtCwjE,QAASrlE,EAA4B,QAAE0O,QAAQ1O,EAA4B,QAAE6B,QAC7EgkE,cAAe7lE,EAA4B,QAAE0iB,SAAS1iB,EAA4B,QAAE6B,QACpF1H,SAAU6F,EAA4B,QAAEwC,MAEtC7E,EAAe,CACjB8nE,YAAaA,EACbnjD,OAAQ,KACR+iD,QAAS,KACTQ,cAAe,KACf1rE,SAAU,MAER2rE,EAAe,SAAsBrrE,GACvC,IAAIgrE,EAAchrE,EAAKgrE,YACnBnjD,EAAS7nB,EAAK6nB,OACd+iD,EAAU5qE,EAAK4qE,QACflrE,EAAWM,EAAKN,SAChB0rE,EAAgBprE,EAAKorE,cACrBE,EAAkBH,IAElBr9D,EAAQ/O,EAAMugC,WAAWz7B,EAAU0nE,cAAgB,GACnDC,EAAe19D,EAAM+Z,OACrB4jD,OAAkC,IAAjBD,EAA0B,KAAOA,EAClDE,EAAiB59D,EAAM+O,SACvB8uD,OAAsC,IAAnBD,EAA4B,KAAOA,EAEtD7uD,EAAW9d,EAAMigB,SAAQ,WAC3B,IAAI4sD,EAAkBZ,EAAYa,YAAYhkD,GAE9C,OAAOliB,EAAgC,QAAEA,EAAgC,QAAEA,EAAgC,QAAE,GAAIimE,GAAkBR,GAAgBK,IAAmB5jD,EAAS8jD,EAAmB,QACjM,CAAC9jD,EAAQ4jD,EAAgBE,EAAkBP,IAC9C,OAAoB9lE,EAAwB,QAAEyB,cAAclD,EAAUwnE,aAAc,CAClFxjD,OAAQA,EACRhL,SAAUA,GACIvX,EAAwB,QAAEyB,cAAcmkE,EAAe/qC,SAAU,CAC/E78B,MAAOsnE,GAAWU,GACjB5rE,KAEL2rE,EAAajsE,UAAYA,EACzBisE,EAAanoE,aAAeA,EAE5BG,EAAQsnE,YAAcA,EACtBtnE,EAAQgoE,aAAeA,EACvBhoE,EAAQ6nE,eAAiBA,EACzB7nE,EAAiB,QAAI2nE,EACrB3nE,EAAQ8nE,WAAaA,EACrB9nE,EAAQyoE,gBA7Dc,WACpB,IAAIlB,EAAUO,IAGVtjD,EADc9oB,EAAMugC,WAAWz7B,EAAU0nE,aACpB1jD,OAOzB,OALmB9oB,EAAMigB,SAAQ,WAC/B,OAAO4rD,EAAQ5pD,QAAO,SAAUjI,GAC9B,OAAOA,IAAO8O,OAEf,CAAC+iD,EAAS/iD,M,8TCxEXkkD,G,QAAwB,+CAExB5vC,EAAc,CAChBgoB,YAAa,WACb16B,SAAU,WACVmP,QAAS,SACTozC,YAAa,WACbC,aAAc,WACdC,gBAAiB,WACjBvhD,gBAAiB,WACjBwhD,cAAe,WACfC,YAAa,YAAkB,YAC/B3sE,UAAW,WACX4sE,OAAQ,SACRC,SAAU,SACVC,QAAS,UAkBX,SAASC,EAAUxsE,GACjB,IAAImkD,EAAcnkD,EAAKmkD,YACnB16B,EAAWzpB,EAAKypB,SAChBmP,EAAU54B,EAAK44B,QACfozC,EAAchsE,EAAKgsE,YACnBC,EAAejsE,EAAKisE,aACpBC,EAAkBlsE,EAAKksE,gBACvBvhD,EAAkB3qB,EAAK2qB,gBACvBwhD,EAAgBnsE,EAAKmsE,cACrBC,EAAcpsE,EAAKosE,YACnB3sE,EAAYO,EAAKP,UACjB4sE,EAASrsE,EAAKqsE,OACdC,EAAWtsE,EAAKssE,SAChBC,EAAUvsE,EAAKusE,QACfE,GAAsB,IAAArrE,QAAO,MAC7BsrE,GAAoB,IAAAtrE,QAAO,MAE3BZ,GAAqB,IAAAC,qBACrBksE,EAAQnsE,EAAmBG,IAG3BmN,EAFgBtN,EAAmBK,MAAMC,aAEhB,GACzB8rE,EAAc9+D,EAAMzO,MACpBwtE,OAA0B,IAAhBD,EAAyB,KAAOA,EAC1CE,EAAWh/D,EAAMxO,OAGjBy5B,GAAa,IAAAC,YAAU,WACzB,MAAO,CACL+xB,EAAG,EACHzxB,OAAQ,CACN7P,SAAU,OAIZwP,GAAc,OAAeF,EAAY,GACzCG,EAAcD,EAAY,GAC1BE,EAAiBF,EAAY,IAEjC,IAAAj3B,YAAU,WACR,GAAoB,OAAhBmiD,GAAqC,OAAb16B,EAA5B,CAIA,IAAIkzB,EAAWwH,EAAc16B,EAC7B0P,EAAeK,MAAM,CACnBpY,OAAO,EACPgY,WAAYR,EACZjiB,KAAM,CACJo0C,EAAGpO,GAEL1xC,GAAI,CACF8/C,EAAGnyB,EAAU,EAAI+jB,GAEnBrjB,OAAQ,CACN7P,SAAqC,KAA1BA,EAAW06B,SAGzB,CAACvrB,EAASnP,EAAU06B,EAAahrB,KAEpC,IAAAn3B,YAAU,WACR,GAAoB,OAAhBoqE,GAA+C,IAAvBA,EAAY15D,QAAkC,OAAlBi6D,EAAM5rE,QAA9D,CAIA,IAAIgsE,EAAmBf,EAA6B,EAAfC,EACjCe,EAAe/qE,KAAKw8D,MAAMoO,EAAUE,GAGpCE,EAAkBb,EAAY15D,OAASs6D,EAEvCE,GAAa,OAAmBrvD,MAAMmvD,GAAclvD,QAAQ+I,QAAO,SAAUsmD,EAAethE,GAK9F,IAJA,IAAIuhE,EAAkBvhE,EAAQohE,EAC1BI,EAAgBD,EAAkBH,EAClCK,EAAY,GAEPh7C,EAAIrwB,KAAKw8D,MAAM2O,GAAkB96C,EAAIrwB,KAAKC,MAAMmrE,GAAgB/6C,GAAK,EAC5Eg7C,EAAU5lD,KAAK0kD,EAAY95C,IAG7B,MAA8B,GAAGloB,QAAO,OAAmB+iE,GAApDF,GAAmB,EAAiD,CAACK,EAAUzmD,QAAO,SAAUzJ,EAAO9Z,GAC5G,OAAO8Z,EAAQ9Z,IACd,GAAKgqE,EAAU56D,QAAwD46D,KACzE,IAoBCC,EAAetrE,KAAK+nE,IAAI/3B,MAAMhwC,MAAM,OAAmBirE,IAEvD7M,EADep+D,KAAKgoE,IAAIh4B,MAAMhwC,MAAM,OAAmBirE,IAChCK,EACvBC,EAAuBN,EAAWvhE,KAAI,SAAU2yB,GAClD,OAAQA,EAAIivC,GAAgBlN,KAG1BoN,EAAWhB,EAAoB1rE,QAC/B2sE,EAAiBhB,EAAkB3rE,QACnCiqD,EAA0B,oBAAXltD,OAAyBA,OAAO6vE,iBAAmB,EACtEF,EAASpuE,MAAQquE,EAAeruE,MAAQ4C,KAAKw8D,MAAMoO,EAAU7hB,GAC7DyiB,EAASnuE,OAASouE,EAAepuE,OAAS2C,KAAKw8D,MAAMqO,EAAW9hB,GAChE,IAAI4iB,EAAQH,EAASI,WAAW,MAC5BC,EAAcJ,EAAeG,WAAW,MAC5CD,EAAM5iB,MAAMA,EAAOA,GACnB8iB,EAAY9iB,MAAMA,EAAOA,GACzB4iB,EAAMG,UAAU,EAAG,EAAGlB,EAASC,GAC/BgB,EAAYC,UAAU,EAAG,EAAGlB,EAASC,GACrCc,EAAMI,UAAYrjD,EAClBmjD,EAAYE,UAAY7B,EACxB,IAAI8B,GAAcpB,EAAUG,EAAeD,GAAoB,EAC/DS,EAAqBjzC,SAAQ,SAAU2zC,EAAWC,GAChD,IAAIC,EAAensE,KAAKgoE,IAAIiC,EAAiBgC,EAAYpB,GACrDuB,EAAUtB,EAAmBoB,EAAaF,EAAahC,EACvDqC,EAAUxB,EAAW,EAAIsB,EAAe,EAC5CR,EAAMW,SAAStsE,KAAKC,MAAMmsE,GAAUpsE,KAAKC,MAAMosE,GAAUtC,EAAa/pE,KAAKC,MAAMksE,IACjFN,EAAYS,SAAStsE,KAAKC,MAAMmsE,GAAUpsE,KAAKC,MAAMosE,GAAUtC,EAAa/pE,KAAKC,MAAMksE,OAGzE,OAAZ7B,GACFA,OAED,CAACH,EAAaJ,EAAaC,EAAcC,EAAiBW,EAASC,EAAUniD,EAAiBwhD,EAAeI,IAEhH,IAAIiC,GAAY,IAAA5/D,cAAY,SAAUm8C,GACpC,IAAI0jB,EAAM9B,EAAM5rE,QAAQ2tE,wBAAwB5kE,KAC5C6yC,EAAW16C,KAAKgoE,IAAI,EAAGhoE,KAAK+nE,IAAI,GAAIjf,EAAI0jB,GAAO5B,IAEpC,OAAXR,GAAgC,OAAb5iD,GACrB4iD,EAAO1vB,EAAWlzB,GAGfmP,GACH0zC,MAED,CAAC7iD,EAAUmP,EAASyzC,EAAQC,IAC3B/qE,GAAO,IAAAotE,YAAW,CACpBC,OAAQ,SAAgB3gE,GACtB,IACI88C,GADW,OAAe98C,EAAMtM,GAAI,GACvB,GACbktE,EAAc5gE,EAAM4gE,aACX5gE,EAAMnG,QAEJ+mE,EAAc,KAI7BL,EAAUzjB,KAEX,CACD+jB,KAAM,CACJC,KAAM,IACNviB,YAAY,KAGhB,OAAoB,gBAAoB,MAAO/pD,OAAOC,OAAO,CAC3DjD,UAAW,IAAW,CAACssE,GAAoB,OAAgB,GAAItsE,EAAyB,OAAdA,KAC1EkB,IAAKgsE,GACJprE,KAAsB,gBAAoB,SAAU,CACrDZ,IAAK8rE,EACLhtE,UA9M6I,uDA+M9H,gBAAoB,EAAA+V,SAAA,OAAiB,CACpD7U,IAAK+rE,EACLjtE,UAjNmN,mDAkNnN+C,MAAO,CACLwsE,SAAU91C,EAAY6xB,EAAE9/C,IAAG,SAAU8/C,GACnC,MAAO,gBAAgB3gD,OAAW,IAAJ2gD,EAAS,SAAS3gD,OAAW,IAAJ2gD,EAAS,0BAMxEyhB,EAAUptE,UAAY+8B,EACtBqwC,EAAUtpE,aA1MW,CACnBihD,YAAa,KACb16B,SAAU,KACVmP,SAAS,EACTozC,YAAa,EACbC,aAAc,EACdC,gBAAiB,EACjBvhD,gBAAiB,QACjBwhD,cAAe,YACfC,YAAa,KACb3sE,UAAW,KACX4sE,OAAQ,KACRC,SAAU,KACVC,QAAS,MA+LX,IAEI5yD,EAAY,CAAC,OACbva,EAAY,CACdmnB,MAAO,EAAA9iB,UAAA,WACPwrE,OAAQ,cAAoB,CAAC,SAAgB,UAAgB,CAC3DluE,QAAS,YAEXuhD,aAAc,UAAgB,CAAC,QAAQ,GAAM,IAC7C52B,SAAU,SACVC,KAAM,SACNujD,SAAU,SACVC,UAAW,UAAgB,CACzBnD,YAAa,WACbC,aAAc,WACdC,gBAAiB,aAEnBkD,mBAAoB,WACpB3vE,UAAW,WACX8sE,QAAS,SACTvpB,OAAQ,SACRE,QAAS,SACTE,QAAS,SACTE,SAAU,SACVd,aAAc,SACdE,eAAgB,SAChBE,kBAAmB,SACnBE,gBAAiB,UAuBflwB,EAAQ,SAAe5yB,GACzB,IAAIumB,EAAQvmB,EAAKumB,MACb0oD,EAASjvE,EAAKivE,OACd3sB,EAAetiD,EAAKsiD,aACpB52B,EAAW1rB,EAAK0rB,SAChBC,EAAO3rB,EAAK2rB,KACZujD,EAAWlvE,EAAKkvE,SAChBC,EAAYnvE,EAAKmvE,UACjBC,EAAqBpvE,EAAKovE,mBAC1B3vE,EAAYO,EAAKP,UACjB8sE,EAAUvsE,EAAKusE,QACfvpB,EAAShjD,EAAKgjD,OACdE,EAAUljD,EAAKkjD,QACfE,EAAUpjD,EAAKojD,QACfE,EAAWtjD,EAAKsjD,SAChBd,EAAexiD,EAAKwiD,aACpBE,EAAiB1iD,EAAK0iD,eACtBE,EAAoB5iD,EAAK4iD,kBACzBE,EAAkB9iD,EAAK8iD,gBAEvBh1C,EAAQyY,GAAS,GACjB8oD,EAAYvhE,EAAMgK,IAClBA,OAAoB,IAAdu3D,EAAuB,KAAOA,EACpCtT,EAAiBjuD,EAAMub,SAIvBimD,SAH8B,IAAnBvT,EAA4B,KAAOA,IAE1B,IACGwT,SACvBA,OAA8B,IAAnBD,EAA4B,KAAOA,EAE9C1/B,GAAiB,IAAA+E,qBACjB66B,GAAqC,IAAjBltB,GAA0C,SAAjBA,GAA2B52B,IAAakkB,EAErF6/B,GAAe,IAAAttB,aAAY,CAC7BrqC,IAAKA,EACLwqC,aAAcktB,EACdxsB,OAAQA,EACRE,QAASA,EACTE,QAASA,EACTE,SAAUA,EACVd,aAAcA,EACdE,eAAgBA,EAChBE,kBAAmBA,EACnBE,gBAAiBA,IAEfniD,EAAM8uE,EAAa9uE,IACnB+uE,GAAM,OAAyBD,EAAc91D,GAElC,OAAXs1D,IACFA,EAAOluE,QAAU2uE,EACjBT,EAAOluE,QAAQ4uE,SAAWhvE,GAG5B,IAAIwjD,EAAcurB,EAAIvrB,YAClB16B,EAAWimD,EAAIjmD,SACfmP,EAAU82C,EAAI92C,QACditB,EAAO6pB,EAAI7pB,KACX+pB,EAAaF,EAAI7qB,MACjBY,EAAOiqB,EAAIjqB,KACXC,EAAQgqB,EAAIhqB,MACZzB,EAAQyrB,EAAIzrB,MACZ8B,EAAS2pB,EAAI3pB,OAEb5lD,GAAY,IAAAC,UAAS,MACrBC,GAAa,OAAeF,EAAW,GACvCisE,EAAc/rE,EAAW,GACzBwvE,EAAiBxvE,EAAW,GAE5B+R,GAAa,IAAAhS,UAAS,MACtBiS,IAAa,OAAeD,EAAY,GACxC09D,GAAUz9D,GAAW,GACrB09D,GAAa19D,GAAW,IAE5B,IAAArQ,YAAU,WACR,IAAIkhC,GAAW,EACX8sC,EAAiC,oBAAXlyE,OAAyBA,OAAOkyE,cAAgBlyE,OAAOmyE,mBAAqB,KA8CtG,OA5CiB,OAAbV,EACFM,EAAeN,EAAS5jE,KAAI,SAAUoN,GACpC,OAAQA,EAAK,KAAW,QAET,OAARjB,GAAgBo3D,EAEzBW,GAAe,OAAmB,IAAIhyD,MADrB,MACwClS,KAAI,WAC3D,OAAO1J,KAAKiuE,aAEG,OAARp4D,GAAiC,OAAjBk4D,GACzBjyC,MAAMjmB,EAAK,CACTq4D,KAAM,SACL/sC,MAAK,SAAUtxB,GAChB,GAAIoxB,EACF,MAAM,IAAIktC,MAAM,0BAGlB,OAAOt+D,EAASu+D,iBACfjtC,MAAK,SAAUitC,GAChB,GAAIntC,EACF,MAAM,IAAIktC,MAAM,0BAKlB,OAFAL,GAAWxJ,IAAI+J,gBAAgB,IAAIC,KAAK,CAACF,OAC1B,IAAIL,GACHQ,gBAAgBH,MAC/BjtC,MAAK,SAAUqtC,GAGhB,GAFoBA,EAAOC,iBAEP,EAAG,CACrB,IAAIC,EAAkBF,EAAOG,eAAe,GAC5Cf,EAAec,EAAgB9pD,QAAO,SAAUgqD,EAAUC,EAAOC,GAK/D,OAFAF,EAASA,EAASn+D,QAAUzQ,KAAKupD,IAAIslB,GAE9BD,IACN,SAEG,OAAE,SAAU1rE,GACpB,MAAMA,KAIH,WACO,OAAR2S,IACForB,GAAW,MAGd,CAACprB,EAAKy3D,EAAUM,EAAgBE,GAAYX,EAAoBF,IACnE,IAAIrqB,GAAQqqB,GAAYU,GAA0B,OAAZE,GAiBtC,OAhBA,IAAA9tE,YAAU,WACJ6iD,IAAqB,OAAZ0nB,GACXA,MAED,CAAC1nB,GAAO0nB,KACX,IAAAvqE,YAAU,WACJ0pB,GACF+5B,IAEqB,SAAjBnD,GAA2B2B,GAASrU,GACtCmW,KAGFL,MAED,CAACh6B,IACgB,gBAAoB,MAAO,CAC7CjsB,UAAW,IAAW,CAnMA,oCAmMmB,OAAgB,GAAIA,EAAyB,OAAdA,MAC1D,gBAAoB,QAAS,CAC3C4M,IAAKyL,EACLnX,IAAKA,EACLyU,IAAK85D,EAAWp3D,EAAMg4D,GACtBpkD,SAAUA,EACVu4B,MAAOA,EACPt4B,KAAMA,EACNqlD,YAAa,YACbC,QAAS,SACM,gBAAoBzE,EAAW/pE,OAAOC,OAAO,CAC5DjD,UA9MgE,8BA+MhE8mB,MAAOA,EACP49B,YAAaA,GACZgrB,EAAW,CACZ1lD,SAAUA,EACVmP,QAASA,EACTyzC,OAAQxmB,EACRymB,SAAU7mB,EACV2mB,YAAaA,OAIjBx5C,EAAMxzB,UAAYA,EAClBwzB,EAAM1vB,aA9La,CACjBqjB,MAAO,KACP0oD,OAAQ,KACR3sB,aAAc,OACd52B,UAAU,EACVC,MAAM,EACNujD,UAAU,EACVC,UAAW,KACXC,mBAAoB,IACpB3vE,UAAW,KACX8sE,QAAS,KACTvpB,OAAQ,KACRE,QAAS,KACTE,QAAS,KACTE,SAAU,KACVd,aAAc,KACdE,eAAgB,KAChBE,kBAAmB,KACnBE,gBAAiB,MA6KnB,IAAIouB,EAAuB,cAAiB,SAAUtyE,EAAO+B,GAC3D,OAAoB,gBAAoBiyB,EAAOnwB,OAAOC,OAAO,CAC3DusE,OAAQtuE,GACP/B,O,sCC9bD,EAAY,CACd2nB,MAAO,EAAA9iB,UAAA,oBACP0gD,YAAa,WAEbgtB,WAAY,WAEZ1xE,UAAW,YAST2xE,EAAiB,SAAwBpxE,GAC3C,IAAImkD,EAAcnkD,EAAKmkD,YACnBgtB,EAAanxE,EAAKmxE,WAClB5qD,EAAQvmB,EAAKumB,MACb9mB,EAAYO,EAAKP,UAGjB4vE,GADQ9oD,GAAS,IACCzO,IAClBA,OAAoB,IAAdu3D,EAAuB,KAAOA,EAEpClvE,GAAY,IAAAC,UAAS,IACrBC,GAAa,OAAeF,EAAW,GACvC8yB,EAAQ5yB,EAAW,GACnBgxE,EAAWhxE,EAAW,GAEtB+R,GAAa,IAAAhS,WAAU,GACvBiS,GAAa,OAAeD,EAAY,GACxCk/D,EAAYj/D,EAAW,GACvBk/D,EAAel/D,EAAW,GAE1Bm/D,EAA6B,OAAfL,EAAsBA,EAAWtjE,MAAM,mBAAqB,KAC1E4jE,EAA+B,OAAhBD,GAAwBA,EAAY9+D,QAAS,IAAA+vD,oBAAmB+O,EAAY,IAAM,GACrG,IAAAxvE,YAAU,WACI,OAAR8V,GAIJ,IAAMA,EAAK,CACTq4D,KAAM,SACL/sC,MAAK,SAAUtxB,GAChB,OAAOA,EAASvI,UACf65B,MAAK,SAAUsuC,GAChB,OAAO,IAASA,MACftuC,MAAK,SAAUuuC,GAChBN,EAASM,MACD,OAAE,SAAUxsE,GACpBysE,QAAQC,MAAM1sE,QAEf,CAAC2S,EAAK,IAAOu5D,IAChB,IAAIS,GAAuB,IAAAljE,cAAY,SAAUmS,GAC/C,IAAIgxD,EAAmB9+C,EAAM6S,WAAU,SAAUtS,GAC/C,OAAOzS,GAAKyS,EAAKgG,MAAQi4C,GAAgB1wD,GAAKyS,EAAKw+C,IAAMP,KAE3D,OAAOM,IACN,CAAC9+C,EAAOw+C,KACX,IAAAzvE,YAAU,WACR,GAAIixB,EAAMvgB,OAAS,EAAG,CACpB,IAAIu/D,EAAgBH,EAAqB3tB,GAErC8tB,IAAkBX,GACpBC,EAAaU,MAGhB,CAAC9tB,EAAalxB,EAAO6+C,EAAsBP,IAC9C,IAAI/9C,GAAsB,IAAf89C,EAAmBr+C,EAAMq+C,GAAa,KAC7CxpE,EAAkB,OAAT0rB,EACb,OAAoB,gBAAoB,MAAO,CAC7C/zB,UAAW,IAAW,CA1EA,8CA0EmB,OAAgB,GAAIA,EAAyB,OAAdA,MACvEqI,EAAsB,gBAAoB,MAAO,CAClDrI,UA5E8E,4CA6E9EyyE,wBAAyBpqE,EAAS,CAChCqqE,OAAQ3+C,EAAKjqB,MACX,OACD,OAGP6nE,EAAehyE,UAAY,EAC3BgyE,EAAeluE,aA1EI,CACjBqjB,MAAO,KACP49B,YAAa,EACbgtB,WAAY,KACZ1xE,UAAW,M,kCCZT,EAAc,CAChB0kD,YAAa,WACb16B,SAAU,WACVmP,QAAS,SACTjO,gBAAiB,WACjBwhD,cAAe,WACf1sE,UAAW,WACX4sE,OAAQ,SACRxkE,UAAW,UAaTuqE,EAAU,SAAiBpyE,GAC7B,IAAImkD,EAAcnkD,EAAKmkD,YACnB16B,EAAWzpB,EAAKypB,SAChBmP,EAAU54B,EAAK44B,QACfjO,EAAkB3qB,EAAK2qB,gBACvBwhD,EAAgBnsE,EAAKmsE,cACrB1sE,EAAYO,EAAKP,UACjB4sE,EAASrsE,EAAKqsE,OACdxkE,EAAY7H,EAAK6H,UACjB0qC,GAAO,EAAAxG,EAAA,KAEPhT,GAAa,IAAAC,YAAU,WACzB,MAAO,CACL+xB,EAAG,EACHzxB,OAAQ,CACN7P,SAAU,OAIZwP,GAAc,OAAeF,EAAY,GACzCG,EAAcD,EAAY,GAC1BE,EAAiBF,EAAY,IAEjC,IAAAj3B,YAAU,WACR,GAAoB,OAAhBmiD,GAAqC,OAAb16B,EAA5B,CAIA,IAAIkzB,EAAWwH,EAAc16B,EAC7B0P,EAAeK,MAAM,CACnBpY,OAAO,EACPgY,WAAYR,EACZjiB,KAAM,CACJo0C,EAAGpO,GAEL1xC,GAAI,CACF8/C,EAAGnyB,EAAU,EAAI+jB,GAEnBrjB,OAAQ,CACN7P,SAAqC,KAA1BA,EAAW06B,SAGzB,CAACvrB,EAASnP,EAAU06B,EAAahrB,IAEpC,IAAIk5C,GAAc,IAAAzjE,cAAY,SAAUzJ,GACtC,GAAe,OAAXknE,GAAgC,OAAb5iD,EAAmB,CACxC,IAAI6oD,EAAoBntE,EAAE0T,cAAc61D,wBACpC6D,GAAgBptE,EAAEqtE,MAAQF,EAAkBxoE,MAAQwoE,EAAkBjzE,MAC1EgtE,EAAOkG,EAAe9oD,MAEvB,CAACA,IACJ,OAAoB,gBAAoB,MAAO,CAC7ChqB,UAAW,IAAW,CA3EE,sDA2EmB,OAAgB,GAAIA,EAAyB,OAAdA,KAC1E+C,MAAO,CACLmoB,gBAAiBA,IAEL,gBAAoB,EAAAnV,SAAA,IAAc,CAChD/V,UAhFmJ,oDAiFnJ+C,MAAO,CACL8T,UAAW4iB,EAAY6xB,EAAE9/C,IAAG,SAAU8/C,GACpC,MAAO,UAAU3gD,OAAO2gD,MAE1BpgC,gBAAiBwhD,KAEJ,gBAAoB,SAAU,CAC7ChlE,KAAM,SACN1H,UAzFsF,kDA0FtFoJ,QAASwpE,EACTx+D,MAAO0+B,EAAKzqB,cAAc,CACxBzZ,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,WAGb,aAAcwhC,EAAKzqB,cAAc,CAC/BzZ,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,WAGbhG,SAAUlD,EAAY,IAAM,SAIhCuqE,EAAQhzE,UAAY,EACpBgzE,EAAQlvE,aAlGa,CACnBihD,YAAa,KACb16B,SAAU,KACVmP,SAAS,EACTjO,gBAAiB,QACjBwhD,cAAe,YACf1sE,UAAW,KACX4sE,OAAQ,KACRxkE,WAAW,GA4Fb,IAAI,EAA+S,uCAE/S,EAAY,CACd+wB,QAAS,SACTqrB,MAAO,SACPE,YAAa,WACb16B,SAAU,WACVgpD,aAAc,SACdC,aAAc,SACdrG,OAAQ,SACRxgD,YAAa,SACbC,cAAe,SACfrsB,UAAW,WACXoI,UAAW,UAgBT8qE,EAAgB,SAAuB3yE,GACzC,IAAI8N,EAEA8qB,EAAU54B,EAAK44B,QACfqrB,EAAQjkD,EAAKikD,MACbE,EAAcnkD,EAAKmkD,YACnB16B,EAAWzpB,EAAKypB,SAChBgpD,EAAezyE,EAAKyyE,aACpBC,EAAe1yE,EAAK0yE,aACpBrG,EAASrsE,EAAKqsE,OACdxgD,EAAc7rB,EAAK6rB,YACnBC,EAAgB9rB,EAAK8rB,cACrBrsB,EAAYO,EAAKP,UACjBoI,EAAY7H,EAAK6H,UACjB0qC,GAAO,EAAAxG,EAAA,KACX,OAAoB,gBAAoB,MAAO,CAC7CtsC,UAAW,IAAW,CA7CA,6CA6CoBqO,EAAQ,IAAI,OAAgBA,EAAOrO,EAAyB,OAAdA,IAAqB,OAAgBqO,EA7CmO,0CA6C5M8qB,IAAU,OAAgB9qB,EA7CoO,wCA6C/Mm2C,IAAQ,OAAgBn2C,EA7C+O,gDA6ClNge,GAAgBhe,MACvQ+d,EAA2B,gBAAoBumD,EAAS,CACzD3yE,UA/C8P,0CAgD9P0kD,YAAaA,EACb16B,SAAUA,EACVmP,QAASA,EACTyzC,OAAQA,EACRxkE,UAAWA,IACR,KAAmB,gBAAoB,MAAO,CACjDpI,UAtD0M,2CAuD5L,gBAAoB,SAAU,CAC5C0H,KAAM,SACN1H,UAzD8I,kDA0D9IoJ,QAAS4pE,EACT5+D,MAAO0+B,EAAKzqB,cAAc,CACxBzZ,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,WAGb,aAAcwhC,EAAKzqB,cAAc,CAC/BzZ,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,WAGbhG,SAAUlD,EAAY,IAAM,MACd,gBAAoB,EAAA/E,gBAAiB,CACnDrD,UAAW,EACXuD,KAAM41B,EAAU,EAAAg6C,QAAU,EAAA39C,UACV,gBAAoB,SAAU,CAC9C9tB,KAAM,SACN1H,UA/E+E,6CAgF/EoJ,QAAS6pE,EACT7+D,MAAO0+B,EAAKzqB,cAAc,CACxBzZ,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,WAGb,aAAcwhC,EAAKzqB,cAAc,CAC/BzZ,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,WAGbhG,SAAUlD,EAAY,IAAM,MACd,gBAAoB,EAAA/E,gBAAiB,CACnDrD,UAAW,EACXuD,KAAM,EAAA6vE,iBAIVF,EAAcvzE,UAAY,EAC1BuzE,EAAczvE,aAxFK,CACjB01B,SAAS,EACTqrB,OAAO,EACPE,YAAa,EACb16B,SAAU,EACVgpD,aAAc,KACdC,aAAc,KACdrG,OAAQ,KACRxgD,aAAa,EACbC,eAAe,EACfrsB,UAAW,KACXoI,WAAW,G,cC3IT,EAAS,CAAC,UAAY,mCAAmC,SAAW,kCAAkC,MAAQ,gCAE9G,EAAY,CAAC,OACb,EAAY,CACd0e,MAAO,EAAA9iB,UAAA,WACPpE,MAAO,WACPC,OAAQ,WACR2vE,OAAQ,cAAsB,CAAC,SAAkB,UAAkB,CACjEluE,QAAS,YAEXuhD,aAAc,UAAkB,CAAC,QAAQ,GAAM,IAC/C52B,SAAU,SACVC,KAAM,SACNmnD,YAAa,SACb7B,QAAS,UAAkB,CAAC,OAAQ,WAAY,OAAQ,OACxD8B,YAAa,SACbtzE,UAAW,WACX8sE,QAAS,SACTvpB,OAAQ,SACRE,QAAS,SACTE,QAAS,SACTE,SAAU,SACVd,aAAc,SACdE,eAAgB,SAChBE,kBAAmB,SACnBE,gBAAiB,SACjBj7C,UAAW,SACXmrE,eAAgB,YAAoB,aA6BlCn+C,EAAQ,SAAe70B,GACzB,IAAI+mC,EAEAxgB,EAAQvmB,EAAKumB,MACblnB,EAAQW,EAAKX,MACbC,EAASU,EAAKV,OACd2vE,EAASjvE,EAAKivE,OACd3sB,EAAetiD,EAAKsiD,aACpB52B,EAAW1rB,EAAK0rB,SAChBC,EAAO3rB,EAAK2rB,KACZmnD,EAAc9yE,EAAK8yE,YACnB7B,EAAUjxE,EAAKixE,QACf8B,EAAc/yE,EAAK+yE,YACnBtzE,EAAYO,EAAKP,UACjB8sE,EAAUvsE,EAAKusE,QACfvpB,EAAShjD,EAAKgjD,OACdE,EAAUljD,EAAKkjD,QACfE,EAAUpjD,EAAKojD,QACfE,EAAWtjD,EAAKsjD,SAChBd,EAAexiD,EAAKwiD,aACpBE,EAAiB1iD,EAAK0iD,eACtBE,EAAoB5iD,EAAK4iD,kBACzBE,EAAkB9iD,EAAK8iD,gBACvBj7C,EAAY7H,EAAK6H,UACjBmrE,EAAiBhzE,EAAKgzE,eAEtBllE,EAAQyY,GAAS,GACjB8oD,EAAYvhE,EAAMgK,IAClBm7D,OAAyB,IAAd5D,EAAuB,KAAOA,EACzC6D,EAAcplE,EAAM6Y,MACpBA,OAAwB,IAAhBusD,EAAyB,KAAOA,EACxCnX,EAAiBjuD,EAAMub,SAGvBpb,QAF8B,IAAnB8tD,EAA4B,KAAOA,IAE1B,GACpBoX,EAAoBllE,EAAMmJ,YAC1BA,OAAoC,IAAtB+7D,EAA+B,KAAOA,EACpDC,EAAanlE,EAAM+a,KACnBqqD,OAA2B,IAAfD,EAAwB,KAAOA,EAE3CE,GAAa,IAAAt0D,UAAQ,WACvB,OAAO,IAAA+hD,sBAAqBp6C,KAC3B,CAACA,IAEA4sD,GAAc,IAAAv0D,UAAQ,WACxB,GAA0B,IAAtBs0D,EAAW5gE,OACb,OAAO,KAGT,IAAI8gE,EAAel1E,SAASyI,cAAc,SACtC0sE,EAAsBT,EAAehyD,QAAO,SAAUgI,GACxD,MAA0C,KAAnCwqD,EAAaE,YAAY1qD,MAElC,OAAOyqD,EAAoB/gE,OAAS,EAAI4gE,EAAWtyD,QAAO,SAAUiG,GAClE,IAAI0sD,EAAa1sD,EAAK+B,KAClBA,OAAsB,IAAf2qD,EAAwB,SAASvpE,OAAmB,SAAZ6c,EAAK5Y,GAAgB,MAAQ4Y,EAAK5Y,IAAMslE,EAC3F,OAA8C,IAAvCF,EAAoB91D,QAAQqL,KAClC,MAAQ,OACV,CAACsqD,EAAYN,IAEZvxE,EAAQ6xE,EAAWtpC,MAAK,SAAU/pC,GAEpC,MAAkB,aADLA,EAAMipB,WAEf,GACF0qD,EAAanyE,EAAM0F,KACnB0sE,OAA8B,IAAfD,EAAwB,KAAOA,EAC9CE,EAAaryE,EAAMunB,KACnB+qD,OAA8B,IAAfD,EAAwBT,EAAYS,EAGnDE,GADuC,UAAjBH,GAA6C,OAAjBE,GAA4D,IAAnCA,EAAap2D,QAAQ,aAC7B,OAAhB41D,GAA+C,IAAvBA,EAAY7gE,QACvFk9B,GAAiB,IAAA+E,qBACjB66B,GAAqC,IAAjBltB,GAA0C,SAAjBA,GAA2B52B,IAAakkB,EAErF6/B,IAAe,IAAAttB,aAAY,CAC7BrqC,IAAKm7D,EACL3wB,aAAcktB,EACdxsB,OAAQA,EACRE,QAASA,EACTE,QAASA,EACTE,SAAUA,EACVd,aAAcA,EACdE,eAAgBA,EAChBE,kBAAmBA,EACnBE,gBAAiBA,IAEfniD,GAAM8uE,GAAa9uE,IACnB+uE,IAAM,OAAyBD,GAAc,GAElC,OAAXR,IACFA,EAAOluE,QAAU2uE,GACjBT,EAAOluE,QAAQ4uE,SAAWhvE,IAG5B,IAAIi4B,GAAU82C,GAAI92C,QACdqrB,GAAQyrB,GAAIzrB,MACZgB,GAAYyqB,GAAIzqB,UAChBQ,GAAOiqB,GAAIjqB,KACXC,GAAQgqB,GAAIhqB,MACZK,GAAS2pB,GAAI3pB,QACjB,IAAA/jD,YAAU,WACJijD,IAAyB,OAAZsnB,GACfA,MAED,CAACtnB,GAAWsnB,IACf,IAAI0H,GAAqB,OAAV50E,GAA6B,OAAXC,GAajC,IAAA0C,YAAU,WACJ0pB,GACF+5B,KAEqB,SAAjBnD,GAA2B2B,IAASrU,GACtCmW,MAGFL,OAED,CAACh6B,IAEJ,IAAIwoD,IAAkB,IAAA9yE,QAAO6vE,GACzBkD,IAAe,IAAA/yE,QAAmB,SAAZ6vE,GAAkC,aAAZA,GAYhD,OAXA,IAAAjvE,YAAU,WACR,IAAIilD,EAAetmD,GAAII,QACnB4uD,OAAgC,IAAjB1I,EAA0B,KAAOA,EAChDmtB,EAAsB,SAAZnD,GAAkC,aAAZA,EAChCoD,EAAoBH,GAAgBnzE,UAAYkwE,EAEhDmD,GAAWC,IAAsBF,GAAapzE,SAA4B,OAAjB4uD,QAAsD,IAAtBA,EAAahP,OACxGwzB,GAAapzE,SAAU,EACvB4uD,EAAahP,UAEd,CAACswB,IACgB,gBAAoB,MAAO,CAC7CxxE,UAAW,IAAW,CAAC,EAAO4C,WAAY0kC,EAAQ,IAAI,OAAgBA,EAAOtnC,EAAyB,OAAdA,IAAqB,OAAgBsnC,EAAO,EAAOye,QAAS5sB,KAAU,OAAgBmO,EAAO,EAAOktC,SAAUA,IAAWltC,KACjNvkC,MAAOyxE,GAAW,CAChB50E,MAAOA,EACPC,OAAQA,GACN,MACH00E,EAAwC,gBAAoB,MAAO,CACpE5+D,IAAK69D,EACL59D,IAAK+B,EACL3X,UAAW,EAAOusB,QACF,gBAAoB,QAAS,CAC7C3f,IAAK4mE,EACLtyE,IAAKA,GACLyU,IAAqB,OAAhBm+D,EAAuBN,EAAW,KACvCvnD,SAAUA,EACVC,KAAMA,EACNs4B,MAAOA,GAEPgtB,QAASA,EACT6B,YAAaA,EACb9B,YAAa+B,EAAc,YAAc,KACzChoE,SAAUlD,EAAY,IAAM,KAC5BpI,UAAW,EAAOusB,QAChBunD,GAAe,IAAI5nE,KAAI,SAAUvC,GACnC,IAAIkrE,EAAYlrE,EAAM0O,IAClBy8D,EAAanrE,EAAM4f,KACvB,OAAoB,gBAAoB,SAAU,CAChD3c,IAAK,GAAGjC,OAAOkqE,EAAW,KAAKlqE,OAAOmqE,GACtCn/D,IAAKk/D,EACLntE,KAAMotE,UAKZ1/C,EAAMz1B,UAAY,EAClBy1B,EAAM3xB,aA5Ma,CACjBqjB,MAAO,KACPlnB,MAAO,KACPC,OAAQ,KACR2vE,OAAQ,KACR3sB,aAAc,OACd52B,UAAU,EACVC,MAAM,EACNmnD,aAAa,EACb7B,QAAS,OACT8B,aAAa,EACbtzE,UAAW,KACX8sE,QAAS,KACTvpB,OAAQ,KACRE,QAAS,KACTE,QAAS,KACTE,SAAU,KACVd,aAAc,KACdE,eAAgB,KAChBE,kBAAmB,KACnBE,gBAAiB,KACjBj7C,WAAW,EACXmrE,eAAgB,CAAC,YAAa,aAAc,cAuL9C,IAAIwB,EAAuB,cAAiB,SAAU51E,EAAO+B,GAC3D,OAAoB,gBAAoBk0B,EAAOpyB,OAAOC,OAAO,CAC3DusE,OAAQtuE,GACP/B,OC7OD,EAAS,CAAC,UAAY,wCAAwC,MAAQ,oCAAoC,OAAS,qCAAqC,MAAQ,oCAAoC,eAAiB,6CAA6C,MAAQ,oCAAoC,WAAa,yCAAyC,OAAS,sCAE7W,EAAc,CAChBS,MAAO,WACPC,OAAQ,WACR8rB,IAAK,UAAgB,CAAC,UAAW,UACjCqpD,gBAAiB,WACjBj1E,cAAe,WACfk1E,OAAQ,SACRj/D,MAAO,EAAAhS,UAAA,MACP8iB,MAAO,cAAoB,CAAC,EAAA9iB,UAAA,WAAwB,EAAAA,UAAA,aACpDhE,UAAW,WACXm5B,QAAS,SACTl5B,SAAU,SACVi1E,YAAa,WACbC,WAAY,UAkBVC,EAAa,SAAoB70E,GACnC,IAAIX,EAAQW,EAAKX,MACbC,EAASU,EAAKV,OACd8rB,EAAMprB,EAAKorB,IACXqpD,EAAkBz0E,EAAKy0E,gBACvBj1E,EAAgBQ,EAAKR,cACrBk1E,EAAS10E,EAAK00E,OACdj/D,EAAQzV,EAAKyV,MACb8Q,EAAQvmB,EAAKumB,MACb9mB,EAAYO,EAAKP,UACjBm5B,EAAU54B,EAAK44B,QACfl5B,EAAWM,EAAKN,SAChBi1E,EAAc30E,EAAK20E,YACnBC,EAAa50E,EAAK40E,WAElB9mE,EAAQyY,GAAS,GACjBxY,EAAaD,EAAM3G,KACnB+zC,OAA2B,IAAfntC,EAAwB,KAAOA,EAC3CguD,EAAiBjuD,EAAMub,SACvByrD,OAAmC,IAAnB/Y,EAA4B,KAAOA,EACnDgZ,EAAoBjnE,EAAMsb,cAE1Bnb,EAAQ6mE,GAAiB,GACzBE,EAAc/mE,EAAM5O,MACpB41E,OAA6B,IAAhBD,EAAyB,EAAIA,EAC1CE,EAAejnE,EAAM3O,OACrB61E,OAA+B,IAAjBD,EAA0B,EAAIA,EAE5CE,EAAwB,UAAdl6B,EACVm6B,EAAwB,UAAdn6B,EAEVo6B,EAAgBV,GAA8B,SAAhBD,EAC9BY,GAAe,IAAAn0E,QAAOk0E,GAEtBA,IAAkBC,EAAax0E,UACjCw0E,EAAax0E,QAAUu0E,GAGzB,IAAIE,EAAkBD,EAAax0E,QAE/B8vD,GAAiB,OAAc,CACjCxxD,MAAOA,EACPC,OAAQA,IACP,IAAAq/D,mBAAkBlpD,IAGrB,GAAc,OAAV8Q,IAAmB8uD,GAAWD,IAAYx8C,GAAU,CACtD,IAAI4pC,GAAW,IAAAvB,oBAAmBmU,EAAU,CAC1Ct9D,IAAKi9D,GACHxuD,EAAOlnB,EAAOC,GAClBuxD,EAAe4kB,gBAA+B,OAAbjT,GAAqBgT,EAAkB,QAASprE,OAAOo4D,EAAU,MAAS,KAC3G3R,EAAe6kB,iBAAmBhB,EAAS,SAAW,YACtD7jB,EAAe8kB,mBAAqB,CAAClB,EAAiBj1E,GAAe0nB,KAAK,KAE9D,OAARkE,EACFylC,EAAe+kB,eAAiBxqD,EACtBspD,IACV7jB,EAAe+kB,eAAiB,SAKpC,IAAIC,EAAsB,GAE1B,GAAIT,GAAWx8C,EACb,GAAIv5B,EAAQ,GAAKC,EAAS,EAAG,CAC3B,IAAIw2E,GAAuB,QAAoBb,EAAYE,EAAa91E,EAAOC,EAAQ,CACrFy2E,MAAe,UAAR3qD,GAA2B,OAARA,IAExB4qD,EAAwBF,EAAqBz2E,MAC7C42E,OAAuC,IAA1BD,EAAmC,EAAIA,EACpDE,EAAyBJ,EAAqBx2E,OAC9C62E,OAAyC,IAA3BD,EAAoC,EAAIA,EAE1DL,EAAoBx2E,MAAQ42E,EAC5BJ,EAAoBv2E,OAAS62E,EAC7BN,EAAoB/rE,OAASmsE,EAAa52E,GAAS,EACnDw2E,EAAoB3yD,MAAQizD,EAAc72E,GAAU,OAEpDu2E,EAAoBrmB,UAAY,QAIpC,OAAoB,gBAAoB,MAAO,CAC7C/vD,UAAW,IAAW,CAAC,EAAO4C,WAAW,OAAgB,GAAI5C,EAAyB,OAAdA,KACxE+C,MAAOquD,GACNukB,GAAWx8C,EAAuB,gBAAoB,MAAO,CAC9Dn5B,UAAW,EAAO22E,eAClB5zE,MAAOqzE,GACO,gBAAoB,EAAO,CACzCp2E,UAAW,EAAOusB,MAClBzF,MAAOA,EACPmF,SAAUkN,EACV0pB,cAAc,EACd32B,MAAM,EACNslD,QAASuE,EAAkB,OAAS,cAChC,KAAmB,gBAAoB,MAAO,CAClD/1E,UAAW,EAAOmK,SACjBlK,KAGLm1E,EAAWz1E,UAAY,EACvBy1E,EAAW3xE,aAtHU,CACnB7D,MAAO,KACPC,OAAQ,KACR8rB,IAAK,KACLqpD,gBAAiB,SACjBj1E,cAAe,SACfk1E,QAAQ,EACRj/D,MAAO,KACP8Q,MAAO,KACP9mB,UAAW,KACXm5B,SAAS,EACTl5B,SAAU,KACVi1E,YAAa,OACbC,YAAY,GA2Gd,IAAI,EAAY,CAAC,kBAAmB,iBAChC,GAAY,CACdv1E,MAAO,WACPC,OAAQ,WACR+uB,WAAY,cAAoB,CAAC,EAAA5qB,UAAA,kBAA+B,YAAkB,EAAAA,UAAA,qBAClFm1B,QAAS,SACTl5B,SAAU,SACVD,UAAW,WACXk1E,YAAa,WACbC,WAAY,UAaVyB,GAAmB,SAA0Br2E,GAC/C,IAAIX,EAAQW,EAAKX,MACbC,EAASU,EAAKV,OACd+uB,EAAaruB,EAAKquB,WAClBuK,EAAU54B,EAAK44B,QACfl5B,EAAWM,EAAKN,SAChBD,EAAYO,EAAKP,UACjBk1E,EAAc30E,EAAK20E,YACnBC,EAAa50E,EAAK40E,WAClB0B,EAAUj3E,EAAQ,GAAKC,EAAS,EAChCmhE,GAAS,IAAAzhD,UAAQ,WACnB,OAAO,IAAAwhD,yBAAwBnyC,KAC9B,CAACA,IACAkoD,EAAY9V,EAAO/tD,OAEnBm+C,GAAiB,OAAc,GAAIylB,EAAU,CAC/Cj3E,MAAOA,EACPC,OAAQA,GACN,MAEJ,OAAoB,gBAAoB,MAAO,CAC7CG,UAAW,IAAW,CAAC,EAAO4C,WAAW,OAAgB,GAAI5C,EAAyB,OAAdA,KACxE+C,MAAOquD,GACO,gBAAoB,MAAO,CACzCpxD,UAAW,EAAOghE,QACjBA,EAAO90D,KAAI,SAAUsC,EAAOpC,GAC7B,IAAIpK,EAEA+0E,EAAwBvoE,EAAMwmE,gBAC9BA,OAA4C,IAA1B+B,OAAmClqE,EAAYkqE,EACjEC,EAAsBxoE,EAAMzO,cAC5BA,OAAwC,IAAxBi3E,OAAiCnqE,EAAYmqE,EAC7DC,GAAQ,OAAyBzoE,EAAO,GAE5C,OAAoB,gBAAoB,MAAO,CAC7C5B,IAAK,cAAcjC,OAAOyB,GAC1BpM,UAAW,IAAW,CAAC,EAAOi3E,OAAQj1E,EAAQ,IAAI,OAAgBA,EAAO,EAAOupB,OAA0B,WAAlBxrB,IAA6B,OAAgBiC,EAAO,EAAOuI,MAA2B,UAApByqE,GAA8BhzE,KACxLe,MAAO,CACLyoD,OAAQsrB,EAAY1qE,IAER,gBAAoBgpE,EAAYpyE,OAAOC,OAAO,CAC5DrD,MAAOA,EACPC,OAAQA,EACRG,UAAW,EAAO4uB,WAClBuK,QAASA,EACT67C,gBAAiBA,EACjBj1E,cAAeA,EACfm1E,YAAaA,EACbC,WAAYA,GACX8B,SACa,gBAAoB,MAAO,CAC3Cj3E,UAAW,EAAOmK,SACjBlK,KAGL22E,GAAiBj3E,UAAY,GAC7Bi3E,GAAiBnzE,aAnEE,CACjB7D,MAAO,KACPC,OAAQ,KACR+uB,WAAY,GACZuK,SAAS,EACTl5B,SAAU,KACVD,UAAW,KACXk1E,YAAa,OACbC,YAAY,GClKd,IAEI,GAAY,CACdv1E,MAAO,sBACPC,OAAQ,sBACRG,UAAW,WACXC,SAAU,UAOZ,SAASi3E,GAAU32E,GACjB,IAAIX,EAAQW,EAAKX,MACbC,EAASU,EAAKV,OACdG,EAAYO,EAAKP,UACjBC,EAAWM,EAAKN,SAEhBmxD,EADUxxD,EAAQ,GAAKC,EAAS,EACL,CAC7BD,MAAOA,EACPC,OAAQA,GACN,KACJ,OAAoB,gBAAoB,MAAO,CAC7CG,UAAW,IAAW,CAxBA,wCAwBmB,OAAgB,GAAIA,EAAyB,OAAdA,KACxE+C,MAAOquD,GACNnxD,GAGLi3E,GAAUv3E,UAAY,GACtBu3E,GAAUzzE,aAtBS,CACjBzD,UAAW,KACXC,SAAU,M,gDCLRk3E,GAA4B,gBAAoB,CAClDtqD,UAAW,eAWToM,GAAc,CAChBh5B,SAAU,oBACV4sB,UAAW,UAAgB,CAAC,WAAY,gBAM1C,SAASuqD,GAAc72E,GACrB,IAAIssB,EAAYtsB,EAAKssB,UACjB5sB,EAAWM,EAAKN,SAChB4D,GAAQ,IAAA0b,UAAQ,WAClB,MAAO,CACLsN,UAAWA,KAEZ,CAACA,IACJ,OAAoB,gBAAoBsqD,GAAaz2C,SAAU,CAC7D78B,MAAOA,GACN5D,GAELm3E,GAAcz3E,UAAYs5B,GAC1Bm+C,GAAc3zE,aAjBO,CACnBopB,UAAW,YAkBb,IAEIwN,GAAc,CAChBvyB,KAAM,WACNuvE,QAAS,WACTC,QAAS,WACTt3E,UAAW,YASb,SAASu3E,GAAOh3E,GACd,IAAI8N,EAEAvG,EAAOvH,EAAKuH,KACZuvE,EAAU92E,EAAK82E,QACfC,EAAU/2E,EAAK+2E,QACft3E,EAAYO,EAAKP,UACjB6sB,GAlDc,IAAAgT,YAAWs3C,IACDtqD,UAkD5B,OAAoB,gBAAoB,MAAO,CAC7C7sB,UAAW,IAAW,CAxBE,2CAwBoBqO,EAAQ,IAAI,OAAgBA,EAxBI,wCAwB8B,OAATvG,IAAgB,OAAgBuG,EAAOrO,EAAyB,OAAdA,GAAqBqO,KACxKtL,MAAO,CACLnD,MAAqB,eAAditB,EAA6B/kB,EAAO,KAC3C0vE,SAAwB,eAAd3qD,EAA6BwqD,EAAU,KACjDI,SAAwB,eAAd5qD,EAA6ByqD,EAAU,KACjDz3E,OAAsB,aAAdgtB,EAA2B/kB,EAAO,KAC1C4vE,UAAyB,aAAd7qD,EAA2BwqD,EAAU,KAChDM,UAAyB,aAAd9qD,EAA2ByqD,EAAU,QAKtDC,GAAO53E,UAAY06B,GACnBk9C,GAAO9zE,aA7Bc,CACnBqE,KAAM,KACNuvE,QAAS,KACTC,QAAS,KACTt3E,UAAW,MA0Bbu3E,GAAO/6C,2BAA4B,EAEnC,IAEIR,GAAc,CAChBnP,UAAW,EAAA7oB,UAAA,eACX2U,MAAO,EAAA3U,UAAA,WACP8oB,QAAS,EAAA9oB,UAAA,aACT+oB,QAAS,SACTjlB,KAAM,WACNuvE,QAAS,WACTC,QAAS,WACTt3E,UAAW,WACXC,SAAU,UAcZ,SAAS23E,GAAMr3E,GACb,IAAIssB,EAAYtsB,EAAKssB,UACjBlU,EAAQpY,EAAKoY,MACbmU,EAAUvsB,EAAKusB,QACfC,EAAUxsB,EAAKwsB,QACfjlB,EAAOvH,EAAKuH,KACZuvE,EAAU92E,EAAK82E,QACfC,EAAU/2E,EAAK+2E,QACft3E,EAAYO,EAAKP,UACjBC,EAAWM,EAAKN,SAChB43E,GAA+B,aAAdhrD,EAA2B,SAAW,QAAUE,EAAU,WAAa,IACxF+qD,EAAuB,WAAVn/D,EAAqBA,EAAQ,QAAQhO,OAAOgO,GACzDo/D,EAAiB,KAASjrD,GAAW,SAASniB,OAAOmiB,GAAW,KAChEkrD,EAAQ,KAASlrD,GAAWA,EAAU,KACtCmrD,EAAyB,OAAbh4E,GAAqBA,EAASgT,OAAShT,EAASgT,OAAS,EAAI,KAC7E,OAAoB,gBAAoBmkE,GAAe,CACrDvqD,UAAWA,GACG,gBAAoB,MAAO,CACzC7sB,UAAW,IAAW,CA3CA,oCA2CmB,OAAgB,GAAIA,EAAyB,OAAdA,KACxE+C,MAAO,CACL80E,cAAeA,EACfC,WAAYA,EACZC,eAAgBA,EAChBn4E,MAAqB,eAAditB,EAA6B/kB,EAAO,KAC3C0vE,SAAwB,eAAd3qD,EAA6BwqD,EAAU,KACjDI,SAAwB,eAAd5qD,EAA6ByqD,EAAU,KACjDz3E,OAAsB,aAAdgtB,EAA2B/kB,EAAO,KAC1C4vE,UAAyB,aAAd7qD,EAA2BwqD,EAAU,KAChDM,UAAyB,aAAd9qD,EAA2ByqD,EAAU,OAEjD,mBAAuBr3E,GAAUmnB,QAAO,SAAU8wD,EAAa77C,EAAOjwB,GACvE,OAAOiwB,EAAM30B,OAAS6vE,IAAoB,OAAVS,GAAkB5rE,EAAQ6rE,EAAY,GAAGttE,QAAO,OAAmButE,GAAc,CAAC77C,EAAoB,gBAAoBk7C,GAAQ,CAChK3qE,IAAK,UAAUjC,OAAOyB,GACtBtE,KAAMkwE,MACD,GAAGrtE,QAAO,OAAmButE,GAAc,CAAC77C,MAClD,MAUL,SAAS87C,GAAOh5E,GACd,OAAoB,gBAAoBy4E,GAAO50E,OAAOC,OAAO,GAAI9D,EAAO,CACtE0tB,UAAW,gBAWf,SAASurD,GAAOj5E,GACd,OAAoB,gBAAoBy4E,GAAO50E,OAAOC,OAAO,GAAI9D,EAAO,CACtE0tB,UAAW,cAtBf+qD,GAAMj4E,UAAYq8B,GAClB47C,GAAMn0E,aAnDe,CACnBopB,UAAW,aACXlU,MAAO,SACPmU,QAAS,KACTC,SAAS,EACTjlB,KAAM,KACNuvE,QAAS,KACTC,QAAS,KACTt3E,UAAW,KACXC,SAAU,MAsDZk4E,GAAOx4E,UATW,GAUlBw4E,GAAO10E,aATc,GAqBrB20E,GAAOz4E,UATS,GAUhBy4E,GAAO30E,aATY,GC9JnB,IAEI,GAAY,CACd7D,MAAO,WACPC,OAAQ,WACRm1E,gBAAiB,UAAgB,CAAC,OAAQ,SAAU,UACpDj1E,cAAe,UAAgB,CAAC,MAAO,SAAU,WACjDs4E,aAAc,UAAgB,CAAC,UAAW,SAAU,OACpDn/C,WAAY,SACZl5B,UAAW,WACXC,SAAU,SACV8C,MAAO,YAeLu1E,GAAS,SAAgB/3E,GAC3B,IAAI8N,EAEAzO,EAAQW,EAAKX,MACbC,EAASU,EAAKV,OACdm1E,EAAkBz0E,EAAKy0E,gBACvBj1E,EAAgBQ,EAAKR,cACrBs4E,EAAe93E,EAAK83E,aACpBn/C,EAAa34B,EAAK24B,WAClBl5B,EAAYO,EAAKP,UACjBC,EAAWM,EAAKN,SAChB8C,EAAQxC,EAAKwC,MACbg1E,EAAiB,KAEA,OAAjBM,EACFN,EAAiB,SAASptE,OAAO0tE,GACN,WAAlBt4E,EACTg4E,EAAiB,SACU,WAAlBh4E,IACTg4E,EAAiB,YAGnB,IAAID,EAAa,KAEO,WAApB9C,EACF8C,EAAa,SACgB,UAApB9C,IACT8C,EAAa,YAGf,IAAIr3E,GAAa,OAAc,CAC7Bb,MAAOA,EACPC,OAAQA,EACRk4E,eAAgBA,EAChBD,WAAYA,GACX/0E,GAEH,OAAoB,gBAAoBq0E,GAAe,CACrDvqD,UAAW,YACG,gBAAoB,MAAO,CACzC7sB,UAAW,IAAW,CAlEA,qCAkEoBqO,EAAQ,IAAI,OAAgBA,EAlEC,qCAkEyB6qB,IAAa,OAAgB7qB,EAAOrO,EAAyB,OAAdA,GAAqBqO,KACpKtL,MAAOtC,GACNR,KAGLq4E,GAAO34E,UAAY,GACnB24E,GAAO70E,aA1DY,CACjB7D,MAAO,KACPC,OAAQ,KACRm1E,gBAAiB,OACjBj1E,cAAe,MACfs4E,aAAc,KACdn/C,YAAY,EACZl5B,UAAW,KACXC,SAAU,KACV8C,MAAO,M,eCnBL,GAAY,CACd4d,KAAM,WACN2J,UAAW,EAAAtmB,UAAA,UACXu0E,WAAY,EAAAv0E,UAAA,UACZ6rD,OAAQ,EAAA7rD,UAAA,OACRw0E,UAAW,WACXC,UAAW,SACXz4E,UAAW,WACXs4B,eAAgB,WAChB0wC,OAAQ,UAcNjxC,GAAO,SAAcx3B,GACvB,IAAIiO,EAEAmS,EAAOpgB,EAAKogB,KACZ2J,EAAY/pB,EAAK+pB,UACjBiuD,EAAah4E,EAAKg4E,WAClB1oB,EAAStvD,EAAKsvD,OACd2oB,EAAYj4E,EAAKi4E,UACjBC,EAAYl4E,EAAKk4E,UACjBz4E,EAAYO,EAAKP,UACjBs4B,EAAiB/3B,EAAK+3B,eACtB0wC,EAASzoE,EAAKyoE,OAEd36D,EAAQic,GAAa,GACrBouD,EAAarqE,EAAMsqE,KACnBC,OAA2B,IAAfF,EAAwB,KAAOA,EAC3CG,EAAkBxqE,EAAMyqE,UACxBC,OAAqC,IAApBF,EAA6B,KAAOA,EAErDp4E,EAAa,GACbu4E,EAA+B,OAAdJ,GAAqB,IAAA7T,kBAAiB6T,GAAa,KACpEK,EAAyC,OAAnBF,GAA0B,IAAAjV,uBAAsBiV,GAAkB,KAE1E,OAAdzuD,IACF7pB,GAAa,QAAc,OAAc,GAAIA,IAAa,IAAA+kE,kBAAiBl7C,KAG3D,OAAdkuD,IACF/3E,EAAWy4E,gBAAkBV,GAGhB,OAAX3oB,IACFpvD,GAAa,QAAc,OAAc,GAAIA,IAAa,IAAA4kE,oBAAmBxV,KAG5D,OAAf0oB,IACFS,GAAiB,QAAc,OAAc,GAAIA,IAAiB,IAAAxT,kBAAiB+S,KAGrF,IAAIY,EAA6B,OAAnBH,GAA8C,OAAnBD,EACrCnqE,GAAK,IAAA2Q,UAAQ,WACf,OAAO45D,EAAU,kBAAkBxuE,QAAO,EAAAmpC,GAAA,MAAQ,OACjD,CAACqlC,IACAC,EAAW,CACbxqE,GAAIA,EACJ5O,UAAW,IAAW,CAtEA,mCAsEoBwO,EAAQ,IAAI,OAAgBA,EAtEgD,sCAsEL,OAAdgqE,IAAqB,OAAgBhqE,EAtEpE,kCAsE6FiqE,IAAY,OAAgBjqE,EAAO8pB,EAAgBmgD,GAAgC,OAAnBngD,IAA0B,OAAgB9pB,EAAOxO,EAAyB,OAAdA,GAAqBwO,KAClTzL,MAAOtC,EACPgyE,wBAAyB,CACvBC,OAAQ/xD,IAGR04D,EAAM,GAAG1uE,OAAOq+D,EAAS,OAAS,OACtC,OAAoB,gBAAoB,WAAgB,KAAyB,OAAnBgQ,EAAuC,gBAAoB,EAAAh8C,UAAW,CAClIL,SAAU,IAAIhyB,OAAOiE,GACrB7L,MAAOi2E,IACJ,KAA8B,OAAxBC,EAA4C,gBAAoB,EAAAp8C,eAAgB,CACzFF,SAAU,IAAIhyB,OAAOiE,GACrB7L,MAAOk2E,IACJ,KAAmB,gBAAoBI,EAAKD,KAGnDrhD,GAAKp4B,UAAY,GACjBo4B,GAAKt0B,aA1Ec,CACjBkd,KAAM,KACN2J,UAAW,KACXiuD,WAAY,KACZ1oB,OAAQ,KACR2oB,UAAW,KACXC,WAAW,EACXz4E,UAAW,KACXs4B,eAAgB,KAChB0wC,QAAQ,GClBV,IAEI,GAAY,CACdkE,MAAO,cAAoB,CAAC,SAAgB,UAAgB,CAC1D5rE,QAAS,YAGXxB,SAAU,SACVw5E,kBAAmB,SACnB1oB,aAAc,EAAA5sD,UAAA,aACdu1E,WAAY,WACZv5E,UAAW,WACXoI,UAAW,UAYb,SAASoxE,GAAaj5E,GACpB,IAAI+mC,EAEA4lC,EAAQ3sE,EAAK2sE,MACbptE,EAAWS,EAAKT,SAChBw5E,EAAoB/4E,EAAK+4E,kBACzB1oB,EAAerwD,EAAKqwD,aACpB2oB,EAAah5E,EAAKg5E,WAClBv5E,EAAYO,EAAKP,UACjBoI,EAAY7H,EAAK6H,UAEjBiG,EAAQuiD,GAAgB,GACxBt4C,EAAejK,EAAMhG,OACrBA,OAA0B,IAAjBiQ,GAAkCA,EAC3ChK,EAAaD,EAAM3G,KACnBA,OAAsB,IAAf4G,EAAwB,KAAOA,EACtCshE,EAAYvhE,EAAMgK,IAClBA,OAAoB,IAAdu3D,EAAuB,KAAOA,EACpC6J,EAAcprE,EAAMzH,MACpBA,OAAwB,IAAhB6yE,EAAyB,KAAOA,EAExCC,EAA0B,OAAThyE,GAA0B,aAATA,EAClCiyE,GAAW,IAAAp6D,UAAQ,WACrB,OAAO,IAAAsnD,YAAWxuD,KACjB,CAACA,IACAuhE,GAAY,IAAAj4E,QAAO,MAGnBo4D,GADQnzD,GAAS,IACO0jB,UAGxBuvD,GADJ9f,OAAsC,IAApBA,EAA6B,GAAKA,GACRvvC,SACxCA,OAAqC,IAA1BqvD,EAAmC,KAAOA,EACrDC,EAAwB/f,EAAgB/jD,MACxCA,OAAkC,IAA1B8jE,EAAmC,KAAOA,EAClDC,GAAa,IAAAx6D,UAAQ,WACvB,OAAO,QAAc,OAAc,GAAI,CACrCiL,SAAUA,KACR,IAAA00C,mBAAkBlpD,EAAO,YAC5B,CAACwU,EAAUxU,IAEVgkE,GAAoB,IAAAr4E,QAAO,MAE3BjB,GAAY,IAAAC,WAAS,GACrBC,GAAa,OAAeF,EAAW,GACvCu5E,EAAUr5E,EAAW,GACrBs5E,EAAat5E,EAAW,GAExBkB,GAAO,IAAAotE,YAAW,CACpBC,OAAQ,SAAgBntE,GACVA,EAAM84C,MAEZ3+B,kBAERg+D,UAAW,SAAmB35E,IACP,OAAeA,EAAM+rD,SAAU,GAC5B,IAEdgtB,KACJ,IAAApT,UACF6T,EAAkB14E,QAAQ84E,QAC1BF,GAAW,IAEXN,EAAUt4E,QAAQ84E,YAe1B,OAVA,IAAA73E,YAAU,WACR,IAAI83E,EAAa,WACfH,GAAW,IAIb,OADA77E,OAAOoyC,iBAAiB,WAAY4pC,GAC7B,WACLh8E,OAAOqyC,oBAAoB,WAAY2pC,MAExC,CAACH,IACG7xE,EAAsB,gBAAoB,MAAO,CACtDrI,UAAW,IAAW,CAvGA,6CAuGoBsnC,EAAQ,IAAI,OAAgBA,EAAOtnC,EAAyB,OAAdA,IAAqB,OAAgBsnC,EAvG8c,2CAuGtbxnC,IAAW,OAAgBwnC,EAvGkS,oDAuGjQgyC,IAAoB,OAAgBhyC,EAvG8R,8CAuGnQqyC,GAAWryC,KAC3RpmC,IAAKgsE,GACJ+M,EAAuB,gBAAoB,MAAO,CACnDj6E,UA1G6V,iDA2G1V,KAAmB,gBAAoB,IAAK,CAC/CA,UA5G6R,iDA6G7RgI,KAAMqQ,EACNnX,IAAK84E,EACL1uE,SAAUlD,EAAY,IAAM,OACb,gBAAoB,EAAA0rB,OAAQ9wB,OAAOC,OAAO,CACzD+E,KAAMqQ,EACNpQ,UAAU,EACVjI,UAnHmO,yCAoHnO8I,cAAc,EACdQ,UAAWswE,EACXxxE,UAAWA,GACVsxE,IAAmB55E,EAAWgC,IAAS,MAAO43E,EAA8B,gBAAoB,EAAAr2E,gBAAiB,CAClHrD,UAxH0E,wCAyH1E+C,MAAOg3E,EACPx2E,KAAM,EAAA+2E,cACH,KAAmB,gBAAoB,OAAQ,CAClDt6E,UA5HkL,yCA6HpK,gBAAoB+3B,GAAM/0B,OAAOC,OAAO,GAAI2D,EAAO,CACjEoiE,QAAQ,QACD,KAGXwQ,GAAa75E,UAAY,GACzB65E,GAAa/1E,aArHM,CACjBypE,MAAO,KACPptE,UAAU,EACVw5E,mBAAmB,EACnB1oB,aAAc,KACd2oB,WAAY,GACZv5E,UAAW,KACXoI,WAAW,GA+Gb,IAAImyE,GAA8B,cAAiB,SAAUp7E,EAAO+B,GAClE,OAAoB,gBAAoBs4E,GAAcx2E,OAAOC,OAAO,CAClEiqE,MAAOhsE,GACN/B,O,WC/HD,GAAS,CAAC,UAAY,kCAAkC,SAAW,iCAAiC,OAAS,+BAA+B,YAAc,oCAAoC,QAAU,gCAAgC,MAAQ,8BAA8B,cAAgB,sCAAsC,MAAQ,8BAA8B,cAAgB,sCAAsC,UAAY,mCAE5a,GAAY,CACd6tB,OAAQ,UAAgB,CAAC,WACzB88C,MAAO,EAAA9lE,UAAA,aACP8oB,QAAS,WACT8B,WAAY,EAAA5qB,UAAA,kBACZ4sD,aAAc,EAAA5sD,UAAA,aACd1C,QAAS,SACT+G,OAAQ,SACRiyB,YAAa,EAAAt2B,UAAA,YACbgyB,YAAa,SACbh2B,UAAW,YAeTw6E,GAAc,SAAqBj6E,GACrC,IAAIoJ,EAEJpJ,EAAKysB,OACD,IAAI88C,EAAQvpE,EAAKupE,MACjBh9C,EAAUvsB,EAAKusB,QACf8B,EAAaruB,EAAKquB,WAClBgiC,EAAerwD,EAAKqwD,aACpBtvD,EAAUf,EAAKe,QACf+G,EAAS9H,EAAK8H,OACdiyB,EAAc/5B,EAAK+5B,YACnBtE,EAAcz1B,EAAKy1B,YACnBh2B,EAAYO,EAAKP,UACjBy6E,GAAmB,IAAAjtB,qBAAoB,SAEvCktB,GAAiB,IAAAjgD,iBACjB76B,EAAQ86E,EAAe96E,MACvBC,EAAS66E,EAAe76E,OACxBy7C,EAAiBo/B,EAAep/B,eAEhC9iB,GAAwB,IAAAC,0BACxB5S,EAAgB2S,EAAsB3S,cACtC8S,EAAYH,EAAsBG,UAClCya,EAAS5a,EAAsB4a,OAC/B1a,EAASF,EAAsBE,OAC/Bwa,EAAW1a,EAAsB0a,SACjCC,EAAY3a,EAAsB2a,UAGlCvC,GADa,IAAAuE,aACSvE,SAEtB+pC,EAAmC,OAAjB/pB,IAAiD,IAAxBA,EAAavoD,OAExD3H,GAAY,IAAAC,UAASuyC,GAAYrtB,GACjCjlB,GAAa,OAAeF,EAAW,GACvC0kD,EAAQxkD,EAAW,GACnBykD,EAAWzkD,EAAW,GAEtBg6E,EAAoBt5E,IAAY8xC,GAAU1a,GAC1CmiD,EAAuBv5E,GAAW+G,IAAW+qC,EAC7C0nC,EAAoBx5E,GAAW8jD,EAC/B21B,EAAqB7nC,GAAYC,GAAattB,GAAiB8S,GAAaD,EAC5EsiD,EAAqB,OAAVlR,EAEXz7D,EAAQy7D,GAAS,GACjB9iD,EAAc3Y,EAAMyY,MACpBmD,OAA6B,IAAhBjD,EAAyB,KAAOA,EAC7Ci0D,EAAiB5sE,EAAM4d,SACvBA,OAA8B,IAAnBgvD,GAAmCA,EAC9CC,EAAuB7sE,EAAM8d,eAC7BA,OAA0C,IAAzB+uD,EAAkC,KAAOA,EAC1DC,GAAsB9sE,EAAMge,cAC5BA,QAAwC,IAAxB8uD,IAAyCA,GAGzDzpD,IADQzH,GAAc,IACJ5R,IAGlB+iE,GAA2B,aAFF,IAAd1pD,GAAuB,KAAOA,IAGzC2pD,GAAaL,GAAW,QAAc,OAAc,GAAIlR,GAAQ,GAAI,CACtE79C,UAAW0M,IAAcua,IAAaC,GAAalnB,GAAY3qB,IAC5D,KACDg6E,GAAuC,OAAnBnvD,EACpBovD,IAAe,IAAApsE,cAAY,WAC7Bk2C,GAAS,KACR,CAACA,IACAmqB,IAAS,IAAA7tE,UAETK,GAAQwtE,GAAOluE,SAAW,GAC1B4kD,GAAalkD,GAAMkkD,WACnBK,GAAavkD,GAAMukD,WACnBP,GAAOhkD,GAAMgkD,KACbC,GAAQjkD,GAAMikD,MACdu1B,GAAiBx5E,GAAMkuE,SACvBuL,QAAiC,IAAnBD,GAA4B,KAAOA,IAErD,IAAAj5E,YAAU,WACY,OAAhBk5E,IAAwC,OAAhBzlD,GAC1BA,EAAYylD,GAAYn6E,WAEzB,CAACm6E,GAAazlD,IAEjB,IAAIrjB,IAAa,IAAAhS,UAAS,MACtBiS,IAAa,OAAeD,GAAY,GACxC+xC,GAAc9xC,GAAW,GACzB+xC,GAAiB/xC,GAAW,GAE5BgyC,IAAa,IAAAjkD,UAAS,MACtBkkD,IAAa,OAAeD,GAAY,GACxC56B,GAAW66B,GAAW,GACtBC,GAAcD,GAAW,GAEzBE,IAAa,IAAApkD,WAAS,GACtBqkD,IAAa,OAAeD,GAAY,GACxC5rB,GAAU6rB,GAAW,GACrBC,GAAaD,GAAW,GAExBE,IAAa,IAAAvkD,WAAS,GACtBwkD,IAAc,OAAeD,GAAY,GACzCV,GAAQW,GAAY,GACpBV,GAAWU,GAAY,GAEvBu2B,IAAQ,IAAAn8D,UAAQ,WAClB,OAAO,IAAA4mD,WACN,CAAC,EAAAA,QACApjB,IAAe,IAAA5zC,cAAY,SAAU0qC,GACvC8K,GAAe9K,KACd,CAACiL,GAAa96B,KACbi5B,IAAiB,IAAA9zC,cAAY,SAAU23C,GACzC2zB,EAAiB3Q,EAAO,YAAYn/D,OAAOnI,KAAKC,MAAa,IAAPqkD,EAAY,IAAK,QACtE,CAAC2zB,EAAkB3Q,IAClB3mB,IAAoB,IAAAh0C,cAAY,SAAUgI,GAC5C2tC,GAAY3tC,KACX,CAAC2tC,KACAvB,IAAS,IAAAp0C,cAAY,SAAU3O,GACjC,IAAI6B,EAAU7B,EAAM6B,QACpB4iD,IAAW,GACXw1B,EAAiB3Q,EAAOznE,EAAU,OAAS,YAC1C,CAACo4E,EAAkB3Q,IAClBrmB,IAAU,IAAAt0C,cAAY,SAAUm4B,GAClC,IAAIof,EAASpf,EAAMof,OACnBzB,IAAW,GACXw1B,EAAiB3Q,EAAOpjB,EAAS,QAAU,WAC1C,CAAC+zB,EAAkB3Q,IAClBzmB,IAAkB,IAAAl0C,cAAY,SAAUwsE,GAC1Cl3B,GAASk3B,GACTlB,EAAiB3Q,EAAO6R,EAAU,OAAS,YAC1C,CAAClB,EAAkB3Q,IAClBjmB,IAAW,IAAA10C,cAAY,SAAU0qC,GAC/BA,EAAO,GACT4gC,EAAiB3Q,EAAO,UAEzB,CAAC2Q,EAAkB3Q,IAClBmJ,IAAe,IAAA9jE,cAAY,WACzBq1C,KAAUrrB,IACZ6sB,KAGFO,OACC,CAAC/B,GAAO+B,MACX,IAAAhkD,YAAU,YACHjB,GAAW63B,IACd8sB,OAED,CAAC9sB,GAAS73B,IAEb,IAAIs6E,IAAgB,IAAAn6B,cAAa,CAC/BE,YAAauE,KAEX21B,GAAW,CAAc,gBAAoBtE,GAAQ,CACvD3qE,IAAK,eACU,gBAAoB,EAAA2rB,cAAe,CAClD3rB,IAAK,QACLqrB,YAAa,QACbG,WAAyB,gBAAoB,IAAkB,CAC7DxpB,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,YAGbgnB,eAAgB,GAAOH,MACvBE,SAAU+iD,IACI,gBAAoB,EAAA7gD,YAAa,CAC/CD,YAAaA,EACbnB,QAAS2hD,EACTh7E,SAAUi7E,GACI,gBAAoB,EAAO/3E,OAAOC,OAAO,GAAIo4E,GAAY,CACvEn6E,IAAKsuE,GACLC,SAAUiM,IAAS/iD,EACnB+2C,UAAW/2C,EAAY,CACrB4zC,YAAa,GACbC,aAAc,EACdC,gBAAiB,GACf,KACJzsE,UAAW,GAAO8pE,MAClBgD,QAASyO,GACTh4B,OAAQA,GACRE,QAASA,GACTV,aAAcA,GACdE,eAAgBA,GAChBE,kBAAmBA,GACnBU,SAAUA,GACVR,gBAAiBA,QACC,gBAAoBk0B,GAAQ,CAC9C3qE,IAAK,kBACFiZ,EAeQ,KAfqB,gBAAoB,MAAO,CAC3DjZ,IAAK,WACL5M,UAAW,GAAO87E,gBACjBR,IAAsB3iD,GAAcwa,GAAcD,EAIhD,KAJwE,gBAAoBy+B,EAAgB,CAC/G3xE,UAAW,GAAOmsB,eAClBrF,MAAOqF,EACPu4B,YAAaA,KACJ02B,GAA2B,gBAAoBlI,EAAe,CACvElzE,UAAW,GAAO+7E,cAClB1vD,cAAeA,GACf8M,QAASA,GACTqrB,MAAOA,GACPwuB,aAAc9sB,GACd+sB,aAAcA,GACd7qE,UAAW9G,GAAW8xC,IACnB,OAAevtB,GAAiB80D,EAA+B,gBAAoB,MAAO,CAC7F53E,MAAO,CACL8sD,QAAS/iC,EACT8G,UAAW,GAEbhnB,IAAK,kBACS,gBAAoB,GAAc,CAChDgkD,aAAcA,EACd0oB,kBAAmB3gD,EACnBvwB,UAAW9G,GAAW8xC,KAClB,MAAM7xB,QAAO,SAAUkb,GAC3B,OAAc,OAAPA,KAET,OAAoB,gBAAoB,MAAOz5B,OAAOC,OAAO,CAC3DjD,UAAW,IAAW,CAAC,GAAO4C,WAAY+G,EAAQ,IAAI,OAAgBA,EAAO3J,EAAyB,OAAdA,IAAqB,OAAgB2J,EAAO,GAAOsuB,YAAapS,IAAgB,OAAgBlc,EAAO,GAAOgvB,UAAWA,GAAYhvB,KAC7N,oBAAqBy7C,GACpBw2B,IAAiB/1D,EAMf,KAN4C,gBAAoB,GAAY,CAC/E+I,WAAYA,EACZhvB,MAAOA,EACPC,OAAQA,EACRs5B,QAASyhD,EACTzF,WAAY0F,IACU,gBAAoB3D,GAAW,CACrDt3E,MAAOA,EACPC,OAAQA,GACM,gBAAoBy4E,GAAQ,CAC1Cp/C,YAAY,EACZn2B,MAAQ8iB,EAGJ,KAHoB,CACtBm2D,QAASlvD,EACTmvD,YAAa3gC,IAAmB3iB,EAAYiY,EAAW,GAAK9jB,IAE7D+uD,OAGLrB,GAAY76E,UAAY,GACxB66E,GAAY/2E,aAzPO,CACjBupB,OAAQ,SACR88C,MAAO,KACPh9C,QAAS,GACT8B,WAAY,KACZgiC,aAAc,KACdtvD,SAAS,EACT+G,QAAQ,EACRiyB,YAAa,KACbtE,YAAa,KACbh2B,UAAW,MAgPb,IAAIk8E,GAA6B,OAAW1B,IA0BxC2B,GAA0Bn5E,OAAOm0B,OAAO,CACxCC,UAAW,KACXglD,UA1BY,SAAmB9zB,EAAU/nD,GAC3C,IAGIymB,GAHQzmB,EAAKupE,OAEI,IACGhjD,MACpBA,OAAwB,IAAhBE,EAAyB,KAAOA,EAExCq1D,GAAS,SAAQ/zB,EAAUxhC,GAC3Bw1D,EAAaD,EAAOn9E,MACpBq9E,EAAiBF,EAAO/uE,UAE5B6kE,QAAQqK,IAAI11D,GAEZ,IAAI21D,GAAa,SAAYH,GAAY,OAAmBC,EAAiB,CAACA,GAAkB,KAC5FG,EAAiBD,EAAWv9E,MAC5By9E,EAAqBF,EAAWnvE,UAEpC,OAAO,QAAc,OAAc,GAAIovE,GAAiB,GAAI,CAC1DjvE,WAAY,GAAG9C,QAAO,OAAmB29C,EAAS76C,YAAc,KAAK,OAAmBkvE,EAAqB,CAACA,GAAsB,UAWpIv1C,GAAa,CACfx4B,GAAI,QACJlH,KAAM,SACNk1E,MAAO,CACLh2E,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,sBAGburE,MAAO,GAETzoE,OAAO,IAAA6zD,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,YAGbhE,UAAW4uE,GACX7tD,QAAS,CAAC,UACV8tD,WAAYA,GACZzuE,OAAQ,CAAC,CACPL,KAAM,QACN3F,KAAM,gBACNE,MAAO,CACLoO,MAAO,WAET26B,aAAc,CACZ1kB,UAAU,GAEZrlB,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGZ,CACDjE,KAAM,aACN3F,KAAM,aACNd,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,kBAGZ,CACDjE,KAAM,eACN3F,KAAM,iBACNE,MAAO,CACLhB,MAAO,CACL0jB,UAAW,gB,6ECrWfwyD,GAAoB,WACtB,SAASA,IACP,IAAI/tC,EAAO/7B,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,IAE/E,QAAgB6+C,KAAMirB,GAEtBjrB,KAAKta,SAAU,QAAc,OAAc,CACzCxQ,OAAQ,IACPgI,GAAO,GAAI,CACZguC,QAAShuC,EAAKguC,SAAW,4BAuD7B,OAnDA,QAAaD,EAAM,CAAC,CAClBlwE,IAAK,aACL/I,MAAO,SAAoBkvD,GACzB,IAAIiqB,EAAQhqE,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,KAC5EiqE,EAAwB,OAAVD,GAAiB,KAAAzqD,WAAUyqD,EAAO,CAClDE,YAAa,YACV,KACL,OAAO,KAAAx5C,SAAQ,GAAG/4B,OAAOknD,KAAKsrB,WAAWpqB,IAAOpoD,OAAuB,OAAhBsyE,GAAwBA,EAAYhqE,OAAS,EAAI,IAAItI,OAAOsyE,GAAe,IAAK,CACrIG,YAAa,UACbC,SAAS,KAAAC,sBAGZ,CACD1wE,IAAK,cACL/I,MAAO,SAAqBkvD,EAAMjhD,GAChC,OAAO,KAAAyrE,UAAS1rB,KAAKsrB,WAAWpqB,GAAOjhD,EAAM,CAC3CsrE,YAAa,UACbC,SAAS,KAAAC,sBAGZ,CACD1wE,IAAK,aACL/I,MAAO,SAAoBkvD,EAAMjhD,GAC/B,OAAO,KAAAyrE,UAAS1rB,KAAKsrB,WAAWpqB,IAAO,OAAc,CACnDyqB,QAAS,OACR1rE,GAAO,CACRsrE,YAAa,UACbC,SAAS,KAAAC,sBAGZ,CACD1wE,IAAK,gBACL/I,MAAO,SAAuBkvD,GAC5B,OAAOlB,KAAK4rB,YAAY1qB,EAAM,CAC5ByqB,QAAS,aAGZ,CACD5wE,IAAK,QACL/I,MAAO,SAAe65E,EAAQnuC,GAC5B,IAAIxI,EAAS8qB,KAAKta,QAAQxQ,OAC1B,OAAO,KAAAE,cAAaF,EAAO22C,IAAWA,EAAQnuC,KAE/C,CACD3iC,IAAK,aACL/I,MAAO,SAAoBkvD,GACzB,IAAIgqB,EAAUlrB,KAAKta,QAAQwlC,QAC3B,MAAO,GAAGpyE,OAAOoyE,EAAQxpE,QAAQ,MAAO,IAAK,KAAK5I,OAAOooD,EAAKx/C,QAAQ,MAAO,SAI1EupE,EAhEe,GAmEpBa,GAAgC,SAAUC,IAC5C,QAAUD,EAAkBC,GAE5B,IAAIrpB,GAAS,QAAaopB,GAE1B,SAASA,IACP,IAAI5uC,EAAO/7B,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAI/E,OAFA,QAAgB6+C,KAAM8rB,GAEfppB,EAAOC,KAAK3C,MAAM,QAAc,OAAc,GAAI9iB,GAAO,GAAI,CAClEhI,QAAQ,OAAc,CACpB36B,MAAO,yBACPyxE,MAAO,iBACPC,OAAQ,+BACR,OAAU,gCACT/uC,EAAKhI,QAAU,SAgCtB,OA5BA,QAAa42C,EAAkB,CAAC,CAC9B/wE,IAAK,MACL/I,MAAO,SAAa+K,GAClB,IAAIouE,EAAQhqE,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC5EyK,EAAOzK,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,EAC3Eo4C,EAAQp4C,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAE5E+qE,GAAa,OAAc,GAAIf,GAUnC,OARa,OAATv/D,IACFsgE,EAAWtgE,KAAOA,GAGN,OAAV2tC,IACF2yB,EAAW3yB,MAAQA,GAGdyG,KAAKmsB,WAAWnsB,KAAKzf,MAAM,QAAS,CACzChjB,OAAQxgB,IACNmvE,KAEL,CACDnxE,IAAK,SACL/I,MAAO,SAAgBiO,GACrB,OAAO+/C,KAAK4rB,YAAY5rB,KAAKzf,MAAM,SAAUtgC,OAI1C6rE,EAhD2B,CAiDlCb,IAEEmB,GAAyB,SAAUL,IACrC,QAAUK,EAAWL,GAErB,IAAIrpB,GAAS,QAAa0pB,GAE1B,SAASA,IACP,IAAIlvC,EAAO/7B,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAI/E,OAFA,QAAgB6+C,KAAMosB,GAEf1pB,EAAOC,KAAK3C,MAAM,QAAc,OAAc,GAAI9iB,GAAO,GAAI,CAClEhI,QAAQ,OAAc,CACpB36B,MAAO,SACP8xE,KAAM,cACNC,QAAS,iBACTjhE,KAAM,gBACN2gE,MAAO,SACPC,OAAQ,gBACR,OAAU,iBACT/uC,EAAKhI,QAAU,SA+EtB,OA3EA,QAAak3C,EAAW,CAAC,CACvBrxE,IAAK,OACL/I,MAAO,SAAc+K,GACnB,OAAOijD,KAAKmsB,WAAWnsB,KAAKzf,MAAM,OAAQ,CACxCtrB,MAAOlY,OAGV,CACDhC,IAAK,MACL/I,MAAO,WACL,IAAIm5E,EAAQhqE,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC5EyK,EAAOzK,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,EAC3Eo4C,EAAQp4C,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAE5E+qE,GAAa,OAAc,GAAIf,GAUnC,OARa,OAATv/D,IACFsgE,EAAWtgE,KAAOA,GAGN,OAAV2tC,IACF2yB,EAAW3yB,MAAQA,GAGdyG,KAAKmsB,WAAWnsB,KAAKzf,MAAM,SAAU2rC,KAE7C,CACDnxE,IAAK,UACL/I,MAAO,WACL,IAAIm5E,EAAQhqE,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC5Eo4C,EAAQp4C,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAE5E+qE,GAAa,OAAc,GAAIf,GAMnC,OAJc,OAAV5xB,IACF2yB,EAAW3yB,MAAQA,GAGdyG,KAAKmsB,WAAWnsB,KAAKzf,MAAM,QAAS2rC,KAE5C,CACDnxE,IAAK,aACL/I,MAAO,WACL,IAAIm5E,EAAQhqE,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC5Eo4C,EAAQp4C,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAE5E+qE,GAAa,OAAc,GAAIf,GAMnC,OAJc,OAAV5xB,IACF2yB,EAAW3yB,MAAQA,GAGdyG,KAAKmsB,WAAWnsB,KAAKzf,MAAM,WAAY2rC,KAE/C,CACDnxE,IAAK,SACL/I,MAAO,SAAgBiO,GACrB,OAAO+/C,KAAK4rB,YAAY5rB,KAAKzf,MAAM,SAAUtgC,KAE9C,CACDlF,IAAK,SACL/I,MAAO,SAAgB+K,EAAIkD,GACzB,OAAO+/C,KAAKusB,WAAWvsB,KAAKzf,MAAM,SAAU,CAC1CtrB,MAAOlY,IACLkD,KAEL,CACDlF,IAAK,SACL/I,MAAO,SAAiB+K,GACtB,OAAOijD,KAAKwsB,cAAcxsB,KAAKzf,MAAM,SAAU,CAC7CtrB,MAAOlY,SAKNqvE,EAlGoB,CAmG3BnB,IAEEwB,GAAuB,SAAUV,IACnC,QAAUU,EAASV,GAEnB,IAAIrpB,GAAS,QAAa+pB,GAE1B,SAASA,IACP,IAAIvvC,EAAO/7B,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAI/E,OAFA,QAAgB6+C,KAAMysB,GAEf/pB,EAAOC,KAAK3C,MAAM,QAAc,OAAc,GAAI9iB,GAAO,GAAI,CAClEhI,QAAQ,OAAc,CACpB4D,QAAS,gBACTkzC,MAAO,QACPC,OAAQ,cACR,OAAU,eACT/uC,EAAKhI,QAAU,SAkBtB,OAdA,QAAau3C,EAAS,CAAC,CACrB1xE,IAAK,UACL/I,MAAO,SAAiBm1B,GACtB,OAAO64B,KAAKmsB,WAAWnsB,KAAKzf,MAAM,UAAW,CAC3ChjB,OAAQ4J,OAGX,CACDpsB,IAAK,SACL/I,MAAO,SAAgBiO,GACrB,OAAO+/C,KAAK4rB,YAAY5rB,KAAKzf,MAAM,SAAUtgC,OAI1CwsE,EAlCkB,CAmCzBxB,IAEEyB,GAAmB,SAAUX,IAC/B,QAAUW,EAAKX,GAEf,IAAIrpB,GAAS,QAAagqB,GAE1B,SAASA,IACP,IAAIzsB,EAEA/iB,EAAO/7B,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAQ/E,OANA,QAAgB6+C,KAAM0sB,IAEtBzsB,EAAQyC,EAAOC,KAAK3C,KAAM9iB,IACpBwgB,OAAS,IAAI0uB,GAAUlvC,GAC7B+iB,EAAM0sB,cAAgB,IAAIb,GAAiB5uC,GAC3C+iB,EAAM2sB,KAAO,IAAIH,GAAQvvC,GAClB+iB,EAGT,OAAO,QAAaysB,GAnBC,CAoBrBzB,IAGE4B,GAA0B,gBAAoB,MAC9CC,GAAS,WACX,OAAO,IAAA9+C,YAAW6+C,KAEhB,GAAc,CAChBzO,IAAK,eAAqBsO,IAC1BxB,QAAS,WACT98E,SAAU,qBAMR2+E,GAAc,SAAqBr+E,GACrC,IAAIs+E,EAAat+E,EAAK0vE,IAClB8M,EAAUx8E,EAAKw8E,QACf98E,EAAWM,EAAKN,SAChB6+E,EAAcH,KACd1O,GAAM,IAAA1wD,UAAQ,WAChB,OAAOs/D,GAAcC,GAAe,IAAIP,GAAI,CAC1CxB,QAASA,MAGV,CAAC+B,EAAaD,EAAY9B,IAC7B,OAAoB,gBAAoB2B,GAAWh+C,SAAU,CAC3D78B,MAAOosE,GACNhwE,IAEL2+E,GAAYj/E,UAAY,GACxBi/E,GAAYn7E,aApBS,CACnBwsE,IAAK,KACL8M,aAASlwE,GAoBX,IAqCIkyE,GAAU,SAAiBC,GAC7B,IAAIz+E,EAAOyS,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC3EisE,EAAmB1+E,EAAK2+E,YACxBA,OAAmC,IAArBD,EAA8B,KAAOA,EACnDE,EAAgB5+E,EAAK6+E,SACrBA,OAA6B,IAAlBD,GAAkCA,EAE7Cz+E,GAAY,IAAAC,WAAS,GACrBC,GAAa,OAAeF,EAAW,GACvC+H,EAAU7H,EAAW,GACrBy+E,EAAaz+E,EAAW,GAExB+R,GAAa,IAAAhS,WAAS,GACtBiS,GAAa,OAAeD,EAAY,GACxCy/D,EAAQx/D,EAAW,GACnB0sE,EAAW1sE,EAAW,GAEtBgyC,GAAa,IAAAjkD,UAASu+E,GACtBr6B,GAAa,OAAeD,EAAY,GACxC9yC,EAAO+yC,EAAW,GAClB06B,EAAU16B,EAAW,GAErB3D,GAAO,IAAA/xC,cAAY,WACrB,IAAIs0B,GAAW,EACf47C,GAAW,GACX,IAAI/wC,EAAU0wC,EAASxsC,WAAM,EAAQx/B,WAAW2wB,MAAK,SAAU4zB,GAM7D,OALK9zB,IACH87C,EAAQhoB,GACR8nB,GAAW,IAGN9nB,KACC,OAAE,SAAUioB,GACpBF,EAASE,GACTH,GAAW,MAQb,OALA/wC,EAAQ9oB,OAAS,WACfie,GAAW,EACX47C,GAAW,IAGN/wC,IACN,CAAC0wC,EAAUK,EAAYE,IAc1B,OAbA,IAAAh9E,YAAU,WACR,IAAIk9E,EAAS,KAMb,OAJIL,IACFK,EAASv+B,KAGJ,WACU,OAAXu+B,GACFA,EAAOj6D,YAGV,CAAC45D,EAAUl+B,IACP,CACLpvC,KAAMA,EACNovC,KAAMA,EACNz4C,QAASA,EACT2pE,MAAOA,IAIP1+D,GAAc,CAAC,QA2af,GAAY,CAAC,QAuBbgsE,GAAgB,WAClB,IAAIn/E,EAAOyS,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC3EgmB,EAAWz4B,EAAKy4B,SAChB2mD,EAAiBp/E,EAAKq/E,UACtBA,OAA+B,IAAnBD,EAA4B,KAAOA,EAE/C1P,EAAM0O,KAENj+E,GAAY,IAAAC,WAAS,GACrBC,GAAa,OAAeF,EAAW,GACvCm/E,EAAWj/E,EAAW,GACtBk/E,EAAcl/E,EAAW,GAEzBk+B,GAAS,IAAA3vB,cAAY,SAAU2C,GACjC,OAAY,OAARm+D,EACK,MAGT6P,GAAY,GACL7P,EAAIwO,KAAK3/C,QAAO,OAAc,CACnCihD,UAAW/mD,GACVlnB,IAAO6xB,MAAK,SAAUtxB,GAOvB,OANAytE,GAAY,GAEM,OAAdF,GACFA,EAAUvtE,GAGLA,QAER,CAAC49D,EAAK6P,EAAaF,EAAW5mD,IACjC,MAAO,CACL8F,OAAQA,EACR+gD,SAAUA,IAKV,GAAY,CACd5P,IAAK,eAAqBsO,IAC1ByB,WAAY,WACZ//E,SAAU,UAQRggF,GAAe,SAAsB1/E,GACvC,IAAI0vE,EAAM1vE,EAAK0vE,IACX+P,EAAaz/E,EAAKy/E,WAClB//E,EAAWM,EAAKN,SACpB,OAAoB,gBAAoB2+E,GAAa,CACnD3O,IAAKA,EACL8M,QAASiD,GACR//E,IAGLggF,GAAatgF,UAAY,GACzBsgF,GAAax8E,aAjBM,CACjBwsE,IAAK,KACL+P,gBAAYnzE,EACZ5M,SAAU,MCj5BZ,IAEI,GAAY,CACdqqB,UAAW,EAAAtmB,UAAA,UACX4rD,YAAa,EAAA5rD,UAAA,YACb0D,KAAM,UAAkB,CAAC,SAAU,WACnC5H,SAAU,SACVsI,UAAW,SACXgB,QAAS,SACTnJ,SAAU,SACVD,UAAW,WACXsJ,UAAW,cAAsB,CAAC,SAAkB,UAAkB,CACpEhI,QAAS,aAgBTwyB,GAAS,SAAgBvzB,GAC3B,IAAI+pB,EAAY/pB,EAAK+pB,UACjBslC,EAAcrvD,EAAKqvD,YACnBloD,EAAOnH,EAAKmH,KACZ5H,EAAWS,EAAKT,SAChBsI,EAAY7H,EAAK6H,UACjBgB,EAAU7I,EAAK6I,QACfnJ,EAAWM,EAAKN,SAChBD,EAAYO,EAAKP,UACjBsJ,EAAY/I,EAAK+I,UACjB7I,EAAa,KAUjB,OARkB,OAAd6pB,IACF7pB,GAAa,QAAc,OAAc,GAAIA,IAAa,IAAA+kE,kBAAiBl7C,KAGzD,OAAhBslC,IACFnvD,GAAa,QAAc,OAAc,GAAIA,IAAa,IAAA0iE,oBAAmBvT,KAG3D,gBAAoB,EAAA97B,OAAU,CAChD9zB,UAAW,IAAW,CAjDA,qCAiDmB,OAAgB,GAAIA,EAAyB,OAAdA,KACxEF,SAAUA,EACViD,MAAOtC,EACP2I,QAASA,EACTE,UAAWA,EACX5B,KAAMA,EACNU,UAAWA,GACVnI,IAGL6zB,GAAOn0B,UAAY,GACnBm0B,GAAOrwB,aA5CY,CACjB6mB,UAAW,KACXslC,YAAa,KACbloD,KAAM,SACN5H,UAAU,EACVsI,WAAW,EACXgB,QAAS,KACTnJ,SAAU,KACVD,UAAW,KACXsJ,UAAW,MCxBb,IAEI,GAAY,CACdxB,KAAM,UAAgB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IACtC6Y,KAAM,WACN2J,UAAW,EAAAtmB,UAAA,UACXu0E,WAAY,EAAAv0E,UAAA,UACZ6rD,OAAQ,EAAA7rD,UAAA,OACRhE,UAAW,YAWTkgF,GAAU,SAAiB3/E,GAC7B,IAAIuH,EAAOvH,EAAKuH,KACZ6Y,EAAOpgB,EAAKogB,KACZ2J,EAAY/pB,EAAK+pB,UACjBiuD,EAAah4E,EAAKg4E,WAClB1oB,EAAStvD,EAAKsvD,OACd7vD,EAAYO,EAAKP,UACjBmgF,EAAmB,IAAIx1E,OAAO7C,GAE9BuG,EAAQic,GAAa,GACrBouD,EAAarqE,EAAMsqE,KACnBC,OAA2B,IAAfF,EAAwB,KAAOA,EAC3CG,EAAkBxqE,EAAMyqE,UACxBC,OAAqC,IAApBF,EAA6B,KAAOA,EAErDp4E,EAAa,KACbu4E,EAA+B,OAAdJ,GAAqB,IAAA7T,kBAAiB6T,GAAa,KACpEK,EAAyC,OAAnBF,GAA0B,IAAAjV,uBAAsBiV,GAAkB,KAE1E,OAAdzuD,IACF7pB,GAAa,QAAc,OAAc,GAAIA,IAAa,IAAA+kE,kBAAiBl7C,KAG9D,OAAXulC,IACFpvD,GAAa,QAAc,OAAc,GAAIA,IAAa,IAAA4kE,oBAAmBxV,KAG5D,OAAf0oB,IACFS,GAAiB,QAAc,OAAc,GAAIA,IAAiB,IAAAxT,kBAAiB+S,KAGrF,IAAIY,EAA6B,OAAnBH,GAA8C,OAAnBD,EACrCnqE,GAAK,IAAA2Q,UAAQ,WACf,OAAO45D,EAAU,kBAAkBxuE,QAAO,EAAAmpC,GAAA,MAAQ,OACjD,CAACqlC,IACJ,OAAoB,gBAAoB,WAAgB,KAAyB,OAAnBH,EAAuC,gBAAoB,EAAAh8C,UAAW,CAClIL,SAAU,IAAIhyB,OAAOiE,GACrB7L,MAAOi2E,IACJ,KAA8B,OAAxBC,EAA4C,gBAAoB,EAAAp8C,eAAgB,CACzFF,SAAU,IAAIhyB,OAAOiE,GACrB7L,MAAOk2E,IACJ,KAAmB,gBAAoBkH,EAAkB,CAC5DvxE,GAAIA,EACJ5O,UAAW,IAAW,CA9DA,sCA8DmB,OAAgB,GAAIA,EAAyB,OAAdA,KACxE+C,MAAOtC,EACPgyE,wBAAyB,CACvBC,OAAQ/xD,OAKdu/D,GAAQvgF,UAAY,GACpBugF,GAAQz8E,aA7DW,CACjBqE,KAAM,EACN6Y,KAAM,KACN2J,UAAW,KACXiuD,WAAY,KACZ1oB,OAAQ,KACR7vD,UAAW,M,eClBT,GAAwE,sCAExE,GAAY,CACd4G,MAAO,WACPw5E,aAAc,SACdj3E,eAAgB,WAChBmhB,UAAW,EAAAtmB,UAAA,UACX4rD,YAAa,EAAA5rD,UAAA,YACbq8E,kBAAmB,EAAAr8E,UAAA,UACnB6rD,OAAQ,EAAA7rD,UAAA,OACRs8E,UAAW,SACXz8E,MAAO,WACP8J,SAAU,SACV4yE,QAAS,SACTC,OAAQ,SACRxY,SAAU,SACVloE,SAAU,SACVsI,UAAW,SACXpI,UAAW,YAqBTygF,GAAY,SAAmBlgF,GACjC,IAAI8N,EAEAzH,EAAQrG,EAAKqG,MACbw5E,EAAe7/E,EAAK6/E,aACpBj3E,EAAiB5I,EAAK4I,eACtBmhB,EAAY/pB,EAAK+pB,UACjBslC,EAAcrvD,EAAKqvD,YACnBywB,EAAoB9/E,EAAK8/E,kBACzBxwB,EAAStvD,EAAKsvD,OACdywB,EAAY//E,EAAK+/E,UACjBz8E,EAAQtD,EAAKsD,MACb8J,EAAWpN,EAAKoN,SAChB4yE,EAAUhgF,EAAKggF,QACfC,EAASjgF,EAAKigF,OACdxY,EAAWznE,EAAKynE,SAChBloE,EAAWS,EAAKT,SAChBsI,EAAY7H,EAAK6H,UACjBpI,EAAYO,EAAKP,UACjBoxD,EAAiB,GACjBsvB,EAAa,GACbC,EAAe,GAEJ,OAAX9wB,IACFuB,GAAiB,QAAc,OAAc,GAAIA,IAAiB,IAAAiU,oBAAmBxV,KAG7D,OAAtBwwB,IACFK,GAAa,QAAc,OAAc,GAAIA,IAAa,IAAAlb,kBAAiB6a,KAG3D,OAAd/1D,IACFq2D,GAAe,QAAc,OAAc,GAAIA,IAAe,IAAAnb,kBAAiBl7C,KAG7D,OAAhBslC,IACF+wB,GAAe,QAAc,OAAc,GAAIA,IAAe,IAAAxd,oBAAmBvT,KAGnF,IAAIgxB,EAAiB,CACnB5gF,UAAW,IAAW,CA/EA,yCA+EoBqO,EAAQ,IAAI,OAAgBA,EAAOrO,EAAyB,OAAdA,IAAqB,OAAgBqO,EAAO,IAAiB+xE,GAAe/xE,KACpKtL,MAAOquD,GAGLyvB,GAAe,QAAc,OAAc,CAC7C7gF,UAAW,IACTogF,EAAgC,KAAjBQ,GAAwB,GAAI,CAC7C79E,MAAO49E,EACP1oD,YAAcmoD,OAAuBvzE,EAARjG,EAC7B/C,MAAOA,EACP8J,SAAUA,EACV4yE,QAASA,EACTC,OAAQA,EACRxY,SAAUA,EACVloE,SAAUA,IAGR43C,EAAU4oC,EAAyB,gBAAoB,WAAYt9E,OAAOC,OAAO,GAAI49E,EAAc,CACrGv1E,SAAUlD,EAAY,IAAM,QACX,gBAAoB,QAASpF,OAAOC,OAAO,GAAI49E,EAAc,CAC9En5E,KAAM,OACN4D,SAAUlD,EAAY,IAAM,QAE9B,OAAQg4E,EAAsC,gBAAoB,QAASQ,EAA6B,gBAAoB,MAAO,CACjI5gF,UAAWmJ,EACXpG,MAAO29E,GACN95E,GAAQ8wC,GAHYA,GAMzB+oC,GAAU9gF,UAAY,GACtB8gF,GAAUh9E,aAzFS,CACjBmD,MAAO,KACPw5E,cAAc,EACdj3E,eAAgB,KAChBmhB,UAAW,KACXslC,YAAa,KACbywB,kBAAmB,KACnBxwB,OAAQ,KACRywB,WAAW,EACXz8E,MAAO,GACP8J,SAAU,KACV4yE,QAAS,KACTC,OAAQ,KACRxY,UAAU,EACVloE,UAAU,EACVsI,WAAW,EACXpI,UAAW,MCpBb,IAAI,GAAS,CAAC,UAAY,yCAAyC,QAAU,uCAAuC,aAAe,4CAA4C,kBAAoB,iDAAiD,eAAiB,8CAA8C,YAAc,2CAA2C,WAAa,0CAA0C,MAAQ,qCAAqC,qBAAuB,oDAAoD,KAAO,oCAAoC,aAAe,4CAA4C,UAAY,yCAAyC,YAAc,2CAA2C,YAAc,2CAA2C,OAAS,sCAAsC,YAAc,2CAA2C,uBAAyB,sDAAsD,qBAAuB,oDAAoD,cAAgB,6CAA6C,aAAe,4CAA4C,aAAe,4CAA4C,WAAa,0CAA0C,UAAY,yCAAyC,kBAAoB,iDAAiD,cAAgB,8CAE15C,GAAY,CACd4O,GAAI,WACJoe,OAAQ,UAAgB,CAAC,MAAO,SAAU,WAC1C5Y,MAAO,EAAApQ,UAAA,eACPqJ,KAAM,EAAArJ,UAAA,aACNwO,QAAS,EAAAxO,UAAA,aACT88E,OAAQ,EAAA98E,UAAA,YACR+8E,UAAW,EAAA/8E,UAAA,UACXg9E,aAAc,EAAAh9E,UAAA,UACd8oB,QAAS,WACT8B,WAAY,EAAA5qB,UAAA,kBACZ4sD,aAAc,EAAA5sD,UAAA,aACd1C,QAAS,SACT+G,OAAQ,SACRiyB,YAAa,EAAAt2B,UAAA,YACbi9E,kBAAmB,WACnBC,yBAA0B,WAC1Bx5E,KAAM,WACN1H,UAAW,YAuBTmhF,GAAqB,SAA4B5gF,GACnD,IAAIyB,EAEA4M,EAAKrO,EAAKqO,GACVoe,EAASzsB,EAAKysB,OACd5Y,EAAQ7T,EAAK6T,MACb/G,EAAO9M,EAAK8M,KACZmF,EAAUjS,EAAKiS,QACfsuE,EAASvgF,EAAKugF,OACdC,EAAYxgF,EAAKwgF,UACjBC,EAAezgF,EAAKygF,aACpBl0D,EAAUvsB,EAAKusB,QACf8B,EAAaruB,EAAKquB,WAClBgiC,EAAerwD,EAAKqwD,aACpBtvD,EAAUf,EAAKe,QACf+G,EAAS9H,EAAK8H,OACdiyB,EAAc/5B,EAAK+5B,YACnB2mD,EAAoB1gF,EAAK0gF,kBACzBC,EAA2B3gF,EAAK2gF,yBAChCx5E,EAAOnH,EAAKmH,KACZ1H,EAAYO,EAAKP,UACjBg5B,EAAWpqB,GAAM,YACjBwyE,GAAmB,IAAA7zB,qBAAoB7lD,GAEvCgzE,GAAiB,IAAAjgD,iBACjB76B,EAAQ86E,EAAe96E,MACvBC,EAAS66E,EAAe76E,OACxBy7C,EAAiBo/B,EAAep/B,eAGhC1K,GADa,IAAAuE,aACSvE,SAEtBpY,GAAwB,IAAAC,0BACxB2a,EAAS5a,EAAsB4a,OAC/Bza,EAAYH,EAAsBG,UAClC9S,EAAgB2S,EAAsB3S,cACtC6S,EAASF,EAAsBE,OAC/Bwa,EAAW1a,EAAsB0a,SACjCC,EAAY3a,EAAsB2a,UAElCynC,EAAoBt5E,IAAY8xC,GAAU1a,GAC1CmiD,EAAuBv5E,GAAW+G,IAAW+qC,EAC7C0nC,EAAoBx5E,EACpBy5E,EAAqB7nC,GAAYC,GAAattB,GAAiB8S,GAAaD,EAC5E2oD,GAAqB3oD,GAAUqiD,IAAuBz5E,EACtDggF,GAAW,IAAA3a,cAAavyD,GACxBmtE,IAAe,IAAA/a,eAAcn5D,GAC7Bm0E,IAAkB,IAAAhb,eAAch0D,GAChCivE,IAAY,IAAA9a,cAAama,GACzBY,IAAmB,IAAA//E,QAAO,MAC1BggF,IAAU,IAAAhgF,QAAO,MAEjBjB,IAAY,IAAAC,UAAS,MACrBC,IAAa,OAAeF,GAAW,GACvCkhF,GAA6BhhF,GAAW,GACxCihF,GAAgCjhF,GAAW,GAE3C+R,IAAa,IAAAhS,UAAS,IACtBiS,IAAa,OAAeD,GAAY,GACxCmvE,GAAWlvE,GAAW,GACtBmvE,GAAcnvE,GAAW,GAEzBgyC,IAAa,IAAAjkD,UAAS,IACtBkkD,IAAa,OAAeD,GAAY,GACxCo9B,GAAcn9B,GAAW,GACzBo9B,GAAiBp9B,GAAW,GAG5BE,IAAa,IAAApkD,UAASuyC,GAAYC,EAAY,EAAI,GAClD6R,IAAa,OAAeD,GAAY,GACxCm9B,GAAcl9B,GAAW,GACzBm9B,GAAiBn9B,GAAW,GAE5Bo9B,IAA0B,IAAAjzE,cAAY,WACxCgzE,GAAe,GACff,EAAiB,iBAAkB,GAAGz2E,OAAOm3E,GAAU,MAAMn3E,OAAOq3E,OACnE,CAACG,GAAgBf,EAAkBU,GAAUE,KAE5CK,GJmLsB,WAC1B,IAAI9hF,EAAOyS,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC3EgmB,EAAWz4B,EAAKy4B,SAChB2mD,EAAiBp/E,EAAKq/E,UACtBA,OAA+B,IAAnBD,EAA4B,KAAOA,EAE/C1P,EAAM0O,KAENj+E,GAAY,IAAAC,WAAS,GACrBC,GAAa,OAAeF,EAAW,GACvCm/E,EAAWj/E,EAAW,GACtBk/E,EAAcl/E,EAAW,GAoB7B,MAAO,CACLk+B,QAnBW,IAAA3vB,cAAY,SAAU2C,GACjC,OAAY,OAARm+D,EACK,MAGT6P,GAAY,GACL7P,EAAIuO,cAAc1/C,QAAO,OAAc,CAC5CihD,UAAW/mD,GACVlnB,IAAO6xB,MAAK,SAAUtxB,GAOvB,OANAytE,GAAY,GAEM,OAAdF,GACFA,EAAUvtE,GAGLA,QAER,CAAC49D,EAAK6P,EAAaF,EAAW5mD,IAG/B6mD,SAAUA,GIpNgByC,CAAsB,CAChDtpD,SAAUA,IAERupD,GAAqBF,GAAsBvjD,OAE3C0jD,GJqRiB,WACrB,IAAIjiF,EAAOyS,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC3EgmB,EAAWz4B,EAAKy4B,SAChBypD,EAAYliF,EAAKwuC,KACjBA,OAAqB,IAAd0zC,EAAuB,GAAKA,EAEnCxS,EAAM0O,KAENj+E,GAAY,IAAAC,WAAS,OAAmB,IAAIyd,MAAM,KAAKlS,KAAI,SAAUuwB,EAAI5J,GAC3E,MAAO,CACLxlB,KAAM,OAAO1C,OAAOkoB,EAAI,GACxBrgB,QAAS,WAAW7H,OAAOkoB,EAAI,QAI/B6vD,GADa,OAAehiF,EAAW,GACL,GAElC++E,GAAS,IAAAtwE,cAAY,WACvB,OAAe,OAAR8gE,EAAeA,EAAIuO,cAAc35E,IAAIm0B,GAAY,OACvD,CAACi3C,EAAKj3C,IAEL3qB,EAAgB,OAAR4hE,EAAe8O,GAAQU,EAAQ1wC,GAAQ,CACjDj9B,KAAM,MAEJA,EAAOzD,EAAMyD,KACbouC,GAAU,OAAyB7xC,EAAOqF,IAE9C,OAAO,OAAc,CACnB8qE,cAAe1sE,GAAQ4wE,GACtBxiC,GIlTqByiC,CAAiB,CACvC3pD,SAAUA,EACV+V,KAAM,CACJqwC,UAAWv5D,KAGX24D,GAAgBgE,GAAkBhE,cAElCoE,IAAe,IAAAzzE,cAAY,SAAUzJ,GACvCq8E,GAAYr8E,EAAE0T,cAAcvV,SAC3B,CAACk+E,KACAc,IAAkB,IAAA1zE,cAAY,SAAUzJ,GAC1Cu8E,GAAev8E,EAAE0T,cAAcvV,SAC9B,CAACo+E,KACAa,IAAa,IAAAnhF,SAAO,GACpBohF,IAAa,IAAA5zE,cAAY,SAAUzJ,IAChCo9E,GAAWxhF,SAAWoE,EAAE0T,cAAcvV,MAAMoP,OAAS,IACxD6vE,GAAWxhF,SAAU,EACrB8/E,EAAiB,eAAgB,OAAQ,CACvCU,SAAUp8E,EAAE0T,cAAcvV,MAC1Bm+E,YAAaA,QAGhB,CAACZ,EAAkBY,KAClBgB,IAAgB,IAAArhF,SAAO,GACvBshF,IAAgB,IAAA9zE,cAAY,SAAUzJ,IACnCs9E,GAAc1hF,SAAWoE,EAAE0T,cAAcvV,MAAMoP,OAAS,IAC3D+vE,GAAc1hF,SAAU,EACxB8/E,EAAiB,eAAgB,UAAW,CAC1CU,SAAUA,GACVE,YAAat8E,EAAE0T,cAAcvV,WAGhC,CAACu9E,EAAkBU,KAElBnH,GAAmC,OAAjB/pB,IAAiD,IAAxBA,EAAavoD,OAExD68C,IAAa,IAAAvkD,WAAS,GACtBwkD,IAAc,OAAeD,GAAY,GACzCg+B,GAAiB/9B,GAAY,GAC7Bg+B,GAAoBh+B,GAAY,GAEhCi+B,GAAoBF,IAAkC,IAAhBhB,GAEtCnhF,IAAqB,IAAAC,qBACrBqiF,GAAkBtiF,GAAmBG,IAIrCoiF,IAHmBviF,GAAmBK,MAAMC,aAEhB,IACPxB,OACrB0jF,QAAsC,IAAjBD,GAA0B,EAAIA,GAEnDpjF,IAAmB,IAAAiP,cAAY,SAAUX,GAC7BA,EAAMnM,SAGlB++E,EAAiB,SAAU,sBAG7B+B,IAAkB,KACjB,CAAC/B,EAAkB+B,KAClBhjF,IAAsB,IAAAgP,cAAY,WACpCg0E,IAAkB,KACjB,CAACA,KACAlxE,IAAW,IAAA9C,cAAY,SAAUzJ,GACnCA,EAAEyW,iBAEkB,IAAhB+lE,KACFL,GAA8BF,GAAQrgF,QAAQkiF,cAC9CrB,GAAe,GACfI,GAAmB,CACjBl1E,KAAMy0E,GACNtvE,QAASwvE,KAEXI,KACAhB,EAAiB,eAAgB,GAAGz2E,OAAOm3E,GAAU,MAAMn3E,OAAOq3E,IAAc,CAC9EF,SAAUA,GACVE,YAAaA,QAGhB,CAACE,GAAaC,GAAgBL,GAAUE,GAAaZ,EAAkBgB,MAC1E,IAAA7/E,YAAU,WACR,IAAIu3B,EAAU,KAQd,OANoB,IAAhBooD,KACFpoD,EAAUnoB,WAAWwwE,GAAgBjB,EAA0B,GAC/DW,GAA8BH,GAAiBpgF,QAAQkiF,cACvDrB,GAAe,IAGV,WACe,IAAhBD,IAAiC,OAAZpoD,GACvBloB,aAAakoB,MAGhB,CAACooD,GAAaL,GAA+BM,GAAgBjB,IAEhE,IAAIppE,GAAQ,CAAc,gBAAoB,EAAAygB,cAAe,CAC3D3rB,IAAK,QACLqrB,YAAa,QACbnS,iBAAkB,CAChBjmB,OAAQ,UAEVu4B,WAAyB,gBAAoB,IAAkB,CAC7DxpB,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,YAGbgnB,eAAgB,GAAOmrD,WACvBprD,SAAUipD,GACTA,EAAwB,gBAAoB,EAAA/mD,YAAa,CAC1DD,YAAaA,EACbnB,QAAS2hD,EACTh7E,SAAUi7E,GACI,gBAAoBmF,GAASl9E,OAAOC,OAAO,GAAImR,EAAO,CACpEpU,UAAW,GAAOoU,UACb,OACHsvE,GAAmB,GAAG/4E,QAAO,OAAgC,OAAbm3E,IAAqC,OAAhBE,GAAuB,CAAC,CAC/F30E,KAAMy0E,GACNtvE,QAASwvE,KACN,KAAK,OAAmBxD,IAAiB,KA2I9C,OAzIA1mE,GAAMmQ,KAAmB,gBAAoB,MAAO,CAClDrb,IAAK,OACL5M,UAAW,GAAO2jF,qBAClB5gF,MAAO,CACLlD,OAAQqiF,GAAc,EAAIN,GAA6B,KACvDgC,mBAAoB,GAAGj5E,OAAOu2E,EAA0B,QAE5C,gBAAoB,OAAQ,CAC1ClhF,UAAW,GAAOuN,KAClB0E,SAAUA,GACV/Q,IAAKygF,IACS,gBAAoB,MAAO,CACzC3hF,UAAW,GAAO6jF,aACJ,gBAAoB,EAAAtrD,cAAe,CACjDN,YAAa,YACbnS,iBAAkB,CAChBjmB,OAAQ,UAEVu4B,WAAyB,gBAAoB,IAAkB,CAC7DxpB,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,gBAGbgnB,eAAgB,GAAOwrD,eACvBzrD,SAAUkpD,IACI,gBAAoB,EAAAhnD,YAAa,CAC/CD,YAAaA,EACbnB,QAAS2hD,EACTpoD,MAAOuuD,EACPnhF,SAAUi7E,GACI,gBAAoB0F,GAAWz9E,OAAOC,OAAO,CAC3DjD,UAAW,GAAO+jF,WACjB12E,EAAM,CACPxJ,MAAOi+E,GACPn0E,SAAU,SAAkBjI,GAC1B,OAAOk9E,GAAal9E,IAEtB86E,OAAQ,SAAgB96E,GACtB,OAAOq9E,GAAWr9E,IAEpB0C,UAAW9G,GAAW8xC,EACtBtzC,SAAU64B,EACVqvC,UAAU,OACQ,gBAAoB,EAAAzvC,cAAe,CACrDN,YAAa,YACbnS,iBAAkB,CAChBjmB,OAAQ,UAEVu4B,WAAyB,gBAAoB,IAAkB,CAC7DxpB,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,mBAGbgnB,eAAgB,GAAO0rD,kBACvB3rD,SAAUmpD,IACI,gBAAoB,EAAAjnD,YAAa,CAC/CD,YAAaA,EACbnB,QAAS2hD,EACTpoD,MAA2B,EAApBuuD,EACPnhF,SAAUi7E,GACI,gBAAoB0F,GAAWz9E,OAAOC,OAAO,CAC3DjD,UAAW,GAAOikF,cACjBzxE,EAAS,CACV3O,MAAOm+E,GACPr0E,SAAU,SAAkBjI,GAC1B,OAAOm9E,GAAgBn9E,IAEzB86E,OAAQ,SAAgB96E,GACtB,OAAOu9E,GAAcv9E,IAEvB5F,SAAU64B,EACVvwB,UAAW9G,GAAW8xC,EACtBktC,WAAW,EACXtY,UAAU,OACQ,gBAAoB,EAAAzvC,cAAe,CACrDN,YAAa,SACbG,WAAyB,gBAAoB,IAAkB,CAC7DxpB,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGbgnB,eAAgB,GAAO4rD,YACvB7rD,SAAUopD,IACI,gBAAoB,EAAAlnD,YAAa,CAC/CD,YAAaA,EACbnB,QAAS2hD,EACTpoD,MAA2B,EAApBuuD,EACPnhF,SAAUi7E,GACI,gBAAoBjnD,GAAQ,CAC1CpsB,KAAM,SACN1H,UAAW,GAAOmkF,aAClBrkF,SAAU64B,EACVi3B,YAAwB,OAAXkxB,EAAkBA,EAAOlxB,YAAc,KACpDxnD,UAAW9G,GAAW8xC,GACR,gBAAoBrb,GAAM/0B,OAAOC,OAAO,GAAI69E,EAAQ,CAClE9X,QAAQ,SACY,gBAAoB,MAAO,CAC/ChpE,UAAW,GAAOokF,aACJ,gBAAoB,EAAA/gF,gBAAiB,CACnDrD,UAAW,GAAOqkF,YAClB9gF,KAAM,EAAA+gF,cACW,gBAAoB,MAAO,CAC5CtkF,UAAW,GAAOukF,uBAClB,cAA+B,IAAhBrC,GAAoB,KAAO,QAC5B,gBAAoB,MAAO,CACzCliF,UAAW,GAAOwkF,sBACJ,gBAAoB,MAAO,CACzCxkF,UAAW,GAAOw+E,cAClBt9E,IAAKwgF,IACJgC,GAAiBx3E,KAAI,SAAUu4E,EAAcC,GAC9C,IAAIC,EAA+B,OAAd5D,GAAqBA,EAAUh+E,OAAgB,KAChE6hF,EAAqC,OAAjB5D,GAAwBA,EAAaj+E,OAAgB,KAC7E,OAAoB,gBAAoB,MAAO,CAC7C6J,IAAK,gBAAgBjC,OAAO+5E,GAC5B1kF,UAAW,GAAOykF,aAClB1hF,MAA0B,OAAnB4hF,GAA0B,IAAAzlB,mBAAkBylB,EAAe3uE,MAAO,eAAiB,MAC5E,gBAAoBkqE,GAAS,CAC3ClgF,UAAW,GAAO6kF,iBAClBlkE,KAAM8jE,EAAap3E,KACnBvF,KAAM,EACNwiB,UAAWq6D,IACI,gBAAoB5sD,GAAM,CACzC/3B,UAAW,GAAO8kF,oBAClBnkE,KAAM8jE,EAAajyE,QACnB8X,UAAWs6D,WAERjK,GAA+B,gBAAoB,MAAO,CAC/D53E,MAAO,CACLlD,OAAQ0jF,MAEP,OACe,gBAAoB,MAAO,CAC7CvjF,UAAW,IAAW,CAAC,GAAO4C,WAAYZ,EAAQ,IAAI,OAAgBA,EAAOhC,EAAyB,OAAdA,IAAqB,OAAgBgC,EAAO,GAAO6jB,cAAeA,IAAgB,OAAgB7jB,EAAO,GAAO+iF,WAA4B,IAAhB7C,KAAoB,OAAgBlgF,EAAO,GAAOgjF,UAAW9C,GAAc,IAAI,OAAgBlgF,EAAO,GAAOijF,kBAAmC,IAAhB/C,IAAoBlgF,KACxW,qBAAqB,GACnB6jB,EAMC,KAN4B,gBAAoB,GAAY,CAC/D+I,WAAYA,EACZhvB,MAAOA,EACPC,OAAQA,EACRs5B,QAASyhD,EACTzF,WAAY0F,IACU,gBAAoB3D,GAAW,CACrDt3E,MAAOA,EACPC,OAAQA,GACM,gBAAoB,MAAO,CACzCG,UAAW,GAAOmK,QAClBpH,MAAQ8iB,EAGJ,KAHoB,CACtBm2D,QAASlvD,EACTmvD,YAAa3gC,IAAmB3iB,EAAYiY,EAAW,GAAK9jB,IAEhD,gBAAoB,WAAQ,CAC1C/sB,cAAeitB,EACfltB,SAAUuhF,EACVnhF,iBAAkBA,GAClBC,oBAAqBA,IACpB2X,KAAS+N,GAAiB80D,GAA+B,gBAAoB,GAAc,CAC5Fz5E,IAAKmiF,GACLrjF,UAAW,GAAO4wD,aAClB9wD,UAAWsjF,GACX9J,kBAAmB3gD,EACnBi4B,aAAcA,EACdxoD,UAAW9G,GAAW8xC,IACnB,SAGP+tC,GAAmBxhF,UAAY,GAC/BwhF,GAAmB19E,aA/YA,CACjBmL,GAAI,KACJoe,OAAQ,SACR5Y,MAAO,KACP/G,KAAM,KACNmF,QAAS,KACTsuE,OAAQ,KACRC,UAAW,KACXC,aAAc,KACdl0D,QAAS,GACT8B,WAAY,KACZgiC,aAAc,KACdtvD,SAAS,EACT+G,QAAQ,EACRiyB,YAAa,KACb2mD,kBAAmB,IACnBC,yBAA0B,IAC1Bx5E,KAAM,KACN1H,UAAW,MA+Xb,IAAI,GAAa,CACf4O,GAAI,eACJlH,KAAM,SACNk1E,MAAO,CACLh2E,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,gBAGburE,MAAO,GAETzoE,OAAO,IAAA6zD,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,mBAGbhE,UAAW6zE,GACX9yD,QAAS,CAAC,MAAO,SAAU,UAC3B3gB,OAAQ,CAAC,CACPL,KAAM,SACN3F,KAAM,gBACNipC,aAAc,MACd/pC,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cAGZ,CACDjE,KAAM,QACN3F,KAAM,kBACNE,MAAO,CACL0iB,UAAW,YAEb1jB,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGZ,CACDjE,KAAM,OACN3F,KAAM,gBACNE,MAAO,CACL0iB,UAAW,QAEb1jB,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,YAGZ,CACDjE,KAAM,UACN3F,KAAM,gBACNE,MAAO,CACL0iB,UAAW,QAEb1jB,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,eAGZ,CACDjE,KAAM,SACN3F,KAAM,iBACNE,MAAO,CACL0iB,UAAW,UAEb1jB,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cAGZ,CACDjE,KAAM,YACN3F,KAAM,kBACNE,MAAO,CACL7E,MAAO,CACLunB,UAAW,aAGf1jB,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,4BAGZ,CACDjE,KAAM,eACN3F,KAAM,kBACNE,MAAO,CACL7E,MAAO,CACLunB,UAAW,SAGf1jB,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,+BAGZ,CACDjE,KAAM,aACN3F,KAAM,aACNd,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,kBAGZ,CACDjE,KAAM,eACN3F,KAAM,iBACNE,MAAO,CACLhB,MAAO,CACL0jB,UAAW,gBCrjBf,GAAY,CACdxD,MAAO,EAAA9iB,UAAA,WACP4R,IAAK,WACLhW,MAAO,cAAsB,CAAC,WAAoB,aAClDC,OAAQ,cAAsB,CAAC,WAAoB,aACnDkwD,UAAW,EAAA/rD,UAAA,UACXotD,eAAgB,EAAAptD,UAAA,eAChBkhF,WAAY,EAAAlhF,UAAA,eACZhE,UAAW,WACX2U,eAAgB,WAChBwwE,SAAU,SACVjQ,YAAa,YAiBX,GAAQ,SAAe30E,GACzB,IAAIumB,EAAQvmB,EAAKumB,MACblR,EAAMrV,EAAKqV,IACXhW,EAAQW,EAAKX,MACbC,EAASU,EAAKV,OACdkwD,EAAYxvD,EAAKwvD,UACjBqB,EAAiB7wD,EAAK6wD,eACtB8zB,EAAa3kF,EAAK2kF,WAClBllF,EAAYO,EAAKP,UACjB2U,EAAiBpU,EAAKoU,eACtBwwE,EAAW5kF,EAAK4kF,SAChBjQ,EAAc30E,EAAK20E,YAEnB7mE,EAAQyY,GAAS,GACjBzY,EAAMgK,IACN,IA6CA+sE,EACAC,EA9CI/oB,EAAiBjuD,EAAMub,SAG3Bpb,QAF8B,IAAnB8tD,EAA4B,KAAOA,IAE1B,GACpBiZ,EAAc/mE,EAAM5O,MACpB41E,OAA6B,IAAhBD,EAAyB,EAAIA,EAC1CE,EAAejnE,EAAM3O,OACrB61E,OAA+B,IAAjBD,EAA0B,EAAIA,EAC5C/B,EAAoBllE,EAAMmJ,YAC1BA,OAAoC,IAAtB+7D,EAA+B,QAAUA,EAEvD4R,EAAa9P,EAAaE,EAE1Bh1E,GAAY,IAAAC,UAAS,CACvBf,MAAO41E,EACP31E,OAAQ61E,IAEN90E,GAAa,OAAeF,EAAW,GACvC6kF,EAAc3kF,EAAW,GACzB4kF,EAAoBD,EAAY3lF,MAChC6lF,OAAkC,IAAtBD,EAA+B,EAAIA,EAC/CE,EAAqBH,EAAY1lF,OACjC8lF,OAAoC,IAAvBD,EAAgC,EAAIA,EACjDE,EAAchlF,EAAW,GAEzBilF,GAAgB,IAAA12E,cAAY,SAAUzJ,GACxC,IAAIogF,EAAYpgF,EAAEyC,OACd49E,EAAwBD,EAAUE,aAClCA,OAAyC,IAA1BD,EAAmC,EAAIA,EACtDE,EAAwBH,EAAUI,cAClCA,OAA0C,IAA1BD,EAAmC,EAAIA,EAEvDD,IAAiBP,GAAaS,IAAkBP,GAClDC,EAAY,CACVhmF,MAAOomF,GAAgB,EACvBnmF,OAAQqmF,GAAiB,IAIZ,OAAbf,GACFA,EAASz/E,KAEV,CAACy/E,IAEAgB,EAAeV,EAAY,GAAKE,EAAa,EAIjD,GAL4B,OAAd51B,EAKD,CACX,IAAIq2B,EAAW,EACXC,EAAY,EACZv0D,EAAalyB,EACboyB,EAAcnyB,EACdymF,EAAiB,KACjBC,EAAsB,KAEtBvkF,EAAQ+tD,GAAa,GACrBy2B,EAAYxkF,EAAM2pB,IAClBA,OAAoB,IAAd66D,EAAuB,KAAOA,EACpCC,EAAwBzkF,EAAM4pB,mBAC9BA,OAA+C,IAA1B66D,EAAmC,SAAWA,EACnEC,EAAwB1kF,EAAM6pB,iBAC9BA,OAA6C,IAA1B66D,EAAmC,SAAWA,EAErE,GAAIP,EAAc,CAChB,IAAI9P,IAAuB,QAAoBoP,EAAWE,EAAY/lF,EAAOC,EAAQ,CACnFy2E,MAAe,UAAR3qD,IAELg7D,GAAoBtQ,GAAqBz2E,MACzCgnF,GAAqBvQ,GAAqBx2E,OAE9CiyB,EAAa60D,GACb30D,EAAc40D,GAEa,WAAvBh7D,EACFy6D,IAAcM,GAAoB/mF,GAAS,EACX,UAAvBgsB,IACTy6D,IAAcM,GAAoB/mF,IAGX,WAArBisB,EACFu6D,IAAaQ,GAAqB/mF,GAAU,EACd,WAArBgsB,IACTu6D,IAAaQ,GAAqB/mF,SAGpCymF,EAAiB36D,EACjB46D,EAAsB,GAAG57E,OAAOihB,EAAoB,KAAKjhB,OAAOkhB,GAGlEu5D,EAAsB,CACpBxlF,MAAOA,EACPC,OAAQA,GAEVwlF,EAAkB,CAChBllE,SAAU,WACVvgB,MAAOkyB,EACPjyB,OAAQmyB,EACRvO,IAAK2iE,EACL/7E,KAAMg8E,EACNt2B,UAAWu2B,EACXxhB,eAAgByhB,OAEb,CACL,IAKIM,GAAwB,OAAVjnF,EAAiBA,EAJN,OAAXC,GAAqC,iBAAXA,EACbA,EAASylF,EAAa,KAKjDwB,GAA0B,OAAXjnF,EAAkBA,EAPV,OAAVD,GAAmC,iBAAVA,EAGXA,EAAQ0lF,EAAa,KAMhC,OAAhBuB,IAAyC,OAAjBC,KAC1BD,GAAcpB,EAAY,EAAIjQ,EAAa,KAC3CsR,GAAenB,EAAa,EAAIjQ,EAAc,MAOhD0P,EAJAC,EAAkB,CAChBzlF,MAAOinF,GACPhnF,OAAQinF,IAKZ1B,GAAsB,QAAc,OAAc,GAAIA,GAAsBh0B,GAE5E,IAAI21B,GADJ1B,GAAkB,QAAc,OAAc,GAAIA,GAAkBH,GAEhE8B,GAAwBD,GAAiBnnF,MACzC2pD,QAAuC,IAA1By9B,GAAmC,KAAOA,GACvDC,GAAwBF,GAAiBlnF,OACzC2pD,QAAwC,IAA1By9B,GAAmC,KAAOA,GACxDlkB,IAAW,IAAAvB,oBAAmB16C,EAAOyiC,GAAYC,IACrD,OAAoB,gBAAoB,MAAO,CAC7CxpD,UAAW,IAAW,CAnLA,oCAmLmB,OAAgB,GAAIA,EAAyB,OAAdA,KACxE+C,MAAOqiF,GACO,OAAbriB,GAAiC,gBAAoB,MAAO,CAC7DptD,IAAKotD,GACLntD,IAAKA,GAAO+B,EACZ3X,UAAW,IAAW,CAxLwF,8BAwL3E,OAAgB,GAAI2U,EAAmC,OAAnBA,KACvE5R,MAAOsiF,EACP6B,OAAQrB,EACRp9E,QAASysE,IACN,OAGP,GAAMv1E,UAAY,GAClB,GAAM8D,aAjLa,CACjBqjB,MAAO,KACPlR,IAAK,KACLhW,MAAO,KACPC,OAAQ,KACRkwD,UAAW,KACXqB,eAAgB,GAEhB8zB,WAAY,GACZllF,UAAW,KACX2U,eAAgB,KAChBwwE,SAAU,KACVjQ,YAAa,QC1Bf,IAAI,GAAsB,oCAEtB,GAAY,CAAC,QAAS,QAAS,SAAU,YAAa,UAAW,YAAa,oBAAqB,WAAY,YAAa,kBAC5H,GAAY,CACdpuD,MAAO,EAAA9iB,UAAA,MACPpE,MAAO,cAAsB,CAAC,WAAoB,aAClDC,OAAQ,cAAsB,CAAC,WAAoB,aACnDkwD,UAAW,EAAA/rD,UAAA,UACXm1B,QAAS,SACTguD,UAAW,SACXC,kBAAmB,SACnBjC,SAAU,SACVnlF,UAAW,WACXqnF,eAAgB,YAedC,GAAS,SAAgB/mF,GAC3B,IAAIumB,EAAQvmB,EAAKumB,MACblnB,EAAQW,EAAKX,MACbC,EAASU,EAAKV,OACdkwD,EAAYxvD,EAAKwvD,UACjB52B,EAAU54B,EAAK44B,QACfguD,EAAY5mF,EAAK4mF,UACjBC,EAAoB7mF,EAAK6mF,kBACzBjC,EAAW5kF,EAAK4kF,SAChBnlF,EAAYO,EAAKP,UACjBqnF,EAAiB9mF,EAAK8mF,eACtBloF,GAAQ,OAAyBoB,EAAM,IAEvC8N,EAAQyY,GAAS,GACjBxY,EAAaD,EAAM3G,KACnBA,OAAsB,IAAf4G,EAAwB,KAAOA,EACtCi5E,EAAsBl5E,EAAMsb,cAC5B69D,OAAuC,IAAxBD,EAAiC,KAAOA,EACvD39D,EAAWvb,EAAMub,SACjBvR,EAAMhK,EAAMgK,IAGZkR,GADQK,GAAY,IACPL,KAEbosD,EAAmB,UAATjuE,EACV+/E,EAAiB,UAAT//E,GAA6B,cAAT6hB,EAC5Bm+D,GAAU,IAAAnoE,UAAQ,WACpB,OAAO,QAAc,OAAc,GAAIpgB,GAAQ,GAAI,CACjD2nB,MAAOA,MAER,CAAC3nB,EAAO2nB,IACP6gE,GAAe,IAAApoE,UAAQ,WACzB,IAAIqoE,EAAYzuD,IAAYw8C,IAAW8R,EAIlCC,GAJ2C,QAAc,OAAc,GAAIA,GAAU,GAAI,CAC5F5gE,MAAO,CACLzO,IAAKmvE,KAGT,OAAOC,GAAStuD,GAAU,QAAc,OAAc,GAAIuuD,GAAU,GAAI,CACtE5gE,MAAO,CACLzO,IAAKA,KAEJuvE,IACJ,CAACjS,EAAS8R,EAAOC,EAASF,EAAcnvE,EAAK8gB,IAC5Ci9C,EAAsB,KAE1B,GAAIT,GAAyB,OAAd5lB,GAAsB52B,EAAS,CAC5C,IACIqtD,GADQz2B,GAAa,IACHpkC,IAClBA,OAAoB,IAAd66D,EAAuB,QAAUA,EAGvCqB,GADQ/gE,GAAS,IACM8C,SAGvB0d,QAFmC,IAAnBugD,EAA4B,KAAOA,IAE1B,GACzBC,EAAcxgD,EAAM1nC,MACpB42E,OAA6B,IAAhBsR,EAAyB,EAAIA,EAC1CC,EAAezgD,EAAMznC,OACrB62E,OAA+B,IAAjBqR,EAA0B,EAAIA,EAE5C1R,GAAuB,QAAoBG,EAAYE,EAAa92E,EAAOC,EAAQ,CACrFy2E,MAAe,UAAR3qD,IAELq8D,EAAoB3R,EAAqBz2E,MACzCqoF,EAAqB5R,EAAqBx2E,OAI9Cu2E,EAAsB,CACpBx2E,MAAOooF,EACPnoF,OAAQooF,EACR59E,OALuB29E,EAAoBpoF,GAAS,EAMpD6jB,MALsBwkE,EAAqBpoF,GAAU,GASzD,OAAgB,OAAT6H,EAA6B,gBAAoB,WAAgB,KAAe,UAATA,GAAqByxB,EAM7F,KANoH,gBAAoB,GAAOn2B,OAAOC,OAAO,GAAI0kF,EAAc,CACnL53B,UAAWA,EACXnwD,MAAOA,EACPC,OAAQA,EACRslF,SAAUA,EACVnlF,UAAW,IAAW,CAAC,IAAkB,OAAgB,GAAIA,EAAyB,OAAdA,QAC9D21E,GAAWx8C,EAAuB,gBAAoB,MAAO,CACvEn5B,UAAW,IAAW,CAAC,IAAkB,OAAgB,GAAIA,EAAyB,OAAdA,KACxE+C,MAAO,CACLnD,MAAOA,EACPC,OAAQA,IAEI,gBAAoB,MAAO,CACzCG,UAAW,IAAW,CArHqD,0CAqH7B,OAAgB,GAAIqnF,EAAmC,OAAnBA,KAClFtkF,MAAOqzE,GACO,gBAAoB,EAAOpzE,OAAOC,OAAO,GAAIykF,EAAS,CACpE9nF,MAAqB,OAAdmwD,EAAqBnwD,EAAQ,KACpCC,OAAsB,OAAdkwD,EAAqBlwD,EAAS,KACtCosB,UAAU,EACVC,KAAMi7D,EACNtkC,aAAcukC,EACdta,QAASqY,OACH,MAAQ,MAGlBmC,GAAO3nF,UAAY,GACnB2nF,GAAO7jF,aAnHY,CACjBqjB,MAAO,KACPlnB,MAAO,KACPC,OAAQ,KACRkwD,UAAW,KACX52B,SAAS,EACTguD,WAAW,EACXC,mBAAmB,EACnBjC,SAAU,KACVnlF,UAAW,KACXqnF,eAAgB,MCblB,IAAI,GAAS,CAAC,UAAY,yCAAyC,SAAW,wCAAwC,OAAS,sCAAsC,YAAc,2CAA2C,QAAU,uCAAuC,mBAAqB,kDAAkD,MAAQ,qCAAqC,MAAQ,qCAAqC,aAAe,4CAA4C,iBAAmB,gDAAgD,QAAU,uCAAuC,WAAa,0CAA0C,cAAgB,6CAA6C,YAAc,2CAA2C,eAAiB,8CAA8C,KAAO,oCAAoC,eAAiB,8CAA8C,MAAQ,qCAAqC,gBAAkB,+CAA+C,OAAS,sCAAsC,eAAiB,8CAA8C,cAAgB,6CAA6C,OAAS,sCAAsC,iBAAmB,gDAAgD,QAAU,uCAAuC,IAAM,mCAAmC,OAAS,sCAAsC,mBAAqB,mDAE19C,GAAc,CAChB70E,QAAS,EAAAxO,UAAA,oBACTkkF,gBAAiB,EAAAlkF,UAAA,oBACjBmkF,YAAa,EAAAnkF,UAAA,oBACbokF,iBAAkB,SAClBC,eAAgB,EAAArkF,UAAA,QAEhBskF,mBAAoB,WACpBC,aAAc,WACd56E,SAAU,SACV66E,cAAe,SACfC,UAAW,SACXC,aAAc,EAAA1kF,UAAA,UACdg9E,aAAc,EAAAh9E,UAAA,UACdhE,UAAW,YAkBT2oF,GAAsB,SAA6BpoF,GACrD,IAAIyB,EAAOxB,EAEPgS,EAAUjS,EAAKiS,QACf01E,EAAkB3nF,EAAK2nF,gBACvBC,EAAc5nF,EAAK4nF,YACnBC,EAAmB7nF,EAAK6nF,iBACxBC,EAAiB9nF,EAAK8nF,eACtBC,EAAqB/nF,EAAK+nF,mBAC1BC,EAAehoF,EAAKgoF,aACpB56E,EAAWpN,EAAKoN,SAChB66E,EAAgBjoF,EAAKioF,cACrBC,EAAYloF,EAAKkoF,UACjBzH,EAAezgF,EAAKygF,aACpB0H,EAAenoF,EAAKmoF,aACpB1oF,EAAYO,EAAKP,UAEjBqO,EAAQmE,GAAW,GACnBo2E,EAAcv6E,EAAMmE,QACpB0e,EAAc7iB,EAAM2F,MACpBA,OAAwB,IAAhBkd,EAAyB,KAAOA,EAExC1iB,EAAQ65E,GAAkB,GAC1BQ,EAAer6E,EAAMqf,OAGrBi7D,GADJD,OAAgC,IAAjBA,EAA0B,GAAKA,GACVxwE,IAChC0wE,OAAiC,IAArBD,EAA8B,KAAOA,EACjDE,EAAcx6E,EAAMnB,KACpB47E,EAAaz6E,EAAMsf,KACnBA,OAAsB,IAAfm7D,EAAwB,OAASA,EACxCC,EAAmB16E,EAAMI,GACzBoH,EAAQxH,EAAMwH,MACdzL,EAAiB,UAATujB,EACRq7D,EAA2C,OAApBjB,GAA4BA,EAAgBt6D,UAAYs7D,EAC/EE,EAAuC,OAAhBjB,GAAwBA,EAAYv6D,UAAYs7D,EAEvExoF,GAAY,IAAAC,UAAS6nF,EAAgB,QAAU,QAC/C5nF,GAAa,OAAeF,EAAW,GACvC2oF,EAAezoF,EAAW,GAC1B0oF,EAAkB1oF,EAAW,GAE7B2oF,EAAoBjB,EACpBkB,EAAiBjB,GACrB,IAAAhmF,YAAU,WACR,IAAKimF,IAAkBC,EACrB,OAAO,aAGT,IAAI3uD,EAAU,KAYd,MAVqB,UAAjBuvD,EACFvvD,EAAUnoB,YAAW,WACnB,OAAO23E,EAAgB,YACtBC,GACuB,WAAjBF,IACTvvD,EAAUnoB,YAAW,WACnB,OAAO23E,EAAgB,UACtBE,IAGE,WACW,OAAZ1vD,GACFloB,aAAakoB,MAGhB,CAAC0uD,EAAeC,EAAWY,EAAcC,EAAiBC,EAAmBC,KAChF,IAAAjnF,YAAU,WACa,UAAjB8mF,GAAyC,OAAb17E,GAC9BA,EAAS07E,KAEV,CAACA,IACJ,IAAII,EAAeL,GAAwBhB,EAC3C,MAAwB,UAAjBiB,EAAwC,gBAAoB,MAAO,CACxErpF,UAAW,IAAW,CAAC,GAAO0pF,kBAAmB1nF,EAAQ,IAAI,OAAgBA,EAAOhC,EAAyB,OAAdA,IAAqB,OAAgBgC,EAAO,GAAOwmF,eAAiC,IAAlBA,IAAyB,OAAgBxmF,EAAO,GAAOuI,MAAOA,GAAQvI,MACrN,WAAjBqnF,EAAyC,gBAAoB,MAAO,CACrErpF,UAAW,GAAO2pF,kBACJ,gBAAoB,MAAO,CACzC3pF,UAAW,GAAOyI,SACJ,gBAAoB,MAAO,CACzCzI,UAAW,GAAO+3D,MACH,gBAAoB,MAAO,CAC1C/3D,UAAW,GAAO+3D,MACH,gBAAoB,MAAO,CAC1C/3D,UAAW,GAAO+3D,OACF,gBAAoB,MAAO,CAC3C/3D,UAAW,GAAO4pF,oBACjBZ,IAA6B,gBAAoB,MAAO,CACzDhpF,UAAW,IAAW,CAAC,GAAOwS,SAAUhS,EAAQ,IAAI,OAAgBA,EAAO,GAAOqpF,YAAat/E,IAAQ,OAAgB/J,EAAO,GAAOspF,aAAsC,IAAzBV,GAAiCD,IAAuB,OAAgB3oF,EAAO,GAAOupF,eAAgBN,GAAgBl/E,IAAQ,OAAgB/J,EAAO,GAAOwpF,YAAaz/E,IAAQ,OAAgB/J,EAAO,GAAOypF,cAAeR,IAAiBl/E,IAAQ,OAAgB/J,EAAO,GAAO0pF,MAA+B,IAAzBd,GAAiC5oF,KAC9cuC,OAAO,OAAc,IAAI,IAAAm8D,mBAAkBlpD,KACzCmzE,EAWE,KAXkC,gBAAoB,MAAO,CACjEnpF,UAAW,IAAW,CAAC,GAAOmqF,gBAAgB,OAAgB,GAAI,GAAO5/E,MAAgB,UAATujB,MACjE,OAAdi7D,EAAkC,gBAAoB,MAAO,CAC9D/oF,UAAW,IAAW,CAAC,GAAOoqF,iBAAiB,OAAgB,GAAI,GAAO7/E,MAAgB,UAATujB,MACnE,gBAAoB,MAAO,CACzC9tB,UAAW,GAAO6tB,OAClBlY,IAAKozE,EACLnzE,IAAKozE,KACD,KAAmB,gBAAoBjxD,GAAM,CACjDpX,KAAMqoE,EACN1+D,UAAWo+D,KACY,gBAAoB,MAAO,MAAoB,gBAAoB,MAAO,CACjG1oF,UAAW,GAAO4oF,aACP,OAAV50E,EAA8B,gBAAoB,MAAO,CAC1DhU,UAAW,GAAOqqF,gBACJ,gBAAoB/C,GAAQ,CAC1CxgE,MAAO9S,EACPpU,MAAO,OACPu5B,QAASsvD,KACL,KAAmB,gBAAoB1wD,GAAM,CACjD/3B,UAAW,GAAO4oF,YAClBjoE,KAAMioE,EACNt+D,UAAW02D,OACL,MAGV2H,GAAoBhpF,UAAY,GAChCgpF,GAAoBllF,aArIC,CACnB+O,QAAS,KACT01E,gBAAiB,KACjBC,YAAa,KACbC,iBAAkB,KAClBC,eAAgB,KAChBC,mBAAoB,KACpBC,aAAc,KACd56E,SAAU,KACV66E,eAAe,EACfC,WAAW,EACXzH,aAAc,KACd0H,aAAc,KACd1oF,UAAW,MA0Hb,IAAI,GAAY,CAGdoU,MAAO,EAAApQ,UAAA,eACPsmF,OAAQ,UAAkB,CAAC,UAAW,aACtCx9D,QAAS,WACT8B,WAAY,EAAA5qB,UAAA,kBACZ4sD,aAAc,EAAA5sD,UAAA,aACd1C,QAAS,SACT+G,OAAQ,SACRX,KAAM,WACNmpD,aAAc,EAAA7sD,UAAA,aACds2B,YAAa,EAAAt2B,UAAA,YACbhE,UAAW,YAiBTuqF,GAAqB,SAA4BhqF,GACnD,IAAIqJ,EAEAwK,EAAQ7T,EAAK6T,MACbo2E,EAAajqF,EAAK+pF,OAClBx9D,EAAUvsB,EAAKusB,QACf8B,EAAaruB,EAAKquB,WAClBgiC,EAAerwD,EAAKqwD,aACpBtvD,EAAUf,EAAKe,QACf+G,EAAS9H,EAAK8H,OACdX,EAAOnH,EAAKmH,KACZmpD,EAAetwD,EAAKswD,aACpBv2B,EAAc/5B,EAAK+5B,YACnBt6B,EAAYO,EAAKP,UAEjB06E,GAAiB,IAAAjgD,iBACjB76B,EAAQ86E,EAAe96E,MACvBC,EAAS66E,EAAe76E,OACxBy7C,EAAiBo/B,EAAep/B,eAGhC1K,GADa,IAAAuE,aACSvE,SAEtBwwC,GAAmB,IAAA7zB,qBAAoB7lD,GAEvC8wB,GAAwB,IAAAC,0BACxB2a,EAAS5a,EAAsB4a,OAC/Bza,EAAYH,EAAsBG,UAClC9S,EAAgB2S,EAAsB3S,cACtC6S,EAASF,EAAsBE,OAC/Bwa,EAAW1a,EAAsB0a,SACjCC,EAAY3a,EAAsB2a,UAElCynC,EAAoBt5E,IAAY8xC,GAAU1a,GAC1CmiD,EAAuBv5E,GAAW+G,IAAW+qC,EAC7Co1C,EAAgBp1C,IAAWF,GAA2B,aAAfs3C,EAEvCn8E,EAAQwiD,GAAgB,GACxB45B,EAAiBp8E,EAAM0f,SACvBA,OAA8B,IAAnB08D,EAA4B,KAAOA,EAC9Cxe,EAAiB59D,EAAM+O,SACvBA,OAA8B,IAAnB6uD,EAA4B,GAAKA,EAC5C+U,EAAe3yE,EAAM2yE,aACrB0H,EAAer6E,EAAMq6E,aAErBhoF,GAAY,IAAAC,UAAS,IACrBC,GAAa,OAAeF,EAAW,GACvCgqF,EAAoB9pF,EAAW,GAC/B+pF,EAAuB/pF,EAAW,GAElCgqF,GAAgB,IAAAjpF,QAAO,MACvB2/E,GAAW,IAAA3a,cAAavyD,GAExBrT,GAAqB,IAAAC,qBACrB6pF,EAAa9pF,EAAmBG,IAIhC4pF,IAHoB/pF,EAAmBK,MAAMC,aAEhB,IACRxB,OAErBkrF,IAAY,IAAAppF,QAAO,OACvB,IAAAY,YAAU,WACJimF,GAAuC,OAAtBuC,GAAUzpF,SAC7BypF,GAAUzpF,QAAQ0pF,SAAS,CACzBvnE,IAAKqnE,GACLG,SAAU,aAGb,CAACH,GAActC,IAClB,IAAI0C,GAAoB9tE,EAASnK,SAAWy3E,EAAkBz3E,OAC1Dk4E,IAA0B,IAAAh8E,cAAY,SAAUi8E,GAClD,IAAIC,GAAuB,OAAmBX,GAEhC,SAAVU,IACFC,EAAqBpjE,MAAK,GAC1B0iE,EAAqBU,MAEtB,CAACX,EAAmBC,IAInBW,IAAoBluE,GAAY,IAAImE,QAAO,SAAUgqE,GACvD,OAAa,OAANA,KAELC,GAAUF,GAAiBp/E,KAAI,WACjC,IAAIlK,EAAQgR,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC5Ey4E,EAAezpF,EAAMsoF,OACrBA,OAA0B,IAAjBmB,EAA0B,KAAOA,EAC1CC,EAAgB1pF,EAAMwQ,QACtBA,OAA4B,IAAlBk5E,EAA2B,KAAOA,EAE5CC,EAAW34E,UAAUC,OAAS,EAAID,UAAU,QAAKnG,EAErD,GAAe,OAAXy9E,EACF,OAAOA,EAGT,GAAiB,IAAbqB,EACF,OAAO,EAGT,IAAIC,EAtBoB,KAsBgBp5E,GAAW,IAAIS,QAAU,IACjE,OAAO24E,EAAY,IAAOA,EAAY,OAEpCC,GAAoBP,GAAiBp/E,KAAI,WAC3C,IAAI1L,EAAQwS,UAAUC,OAAS,QAAsBpG,IAAjBmG,UAAU,GAAmBA,UAAU,GAAK,GAC5E84E,EAAmBtrF,EAAMurF,WACzBA,OAAkC,IAArBD,EAA8B,KAAOA,EAEtD,OAAsB,OAAfC,EAAsBA,EA7BF,OA+BzBC,IAAmB,IAAAzsE,UAAQ,WAC7B,OAAQnC,GAAY,IAAIlR,KAAI,WAC1B,OAAO,EAAA4nC,GAAA,UAER,CAAC12B,IAEA29D,GAAqB7nC,GAAYC,GAAattB,GAAiB8S,GAAaD,EAC5E2oD,IAAqB3oD,GAAUqiD,KAAuBz5E,EAEtDq5E,GAAmC,OAAjB/pB,IAAiD,IAAxBA,EAAavoD,OAExDsK,IAAa,IAAAhS,WAAS,GACtBiS,IAAa,OAAeD,GAAY,GACxCuwE,GAAiBtwE,GAAW,GAC5BuwE,GAAoBvwE,GAAW,GAE/BrR,IAAsB,IAAAP,qBACtBqiF,GAAkB9hF,GAAoBL,IAItC6mF,IAHmBxmF,GAAoBH,MAAMC,aAEjB,IACPxB,OACrB0jF,QAAsC,IAAjBwE,GAA0B,EAAIA,GAEnDkE,GAAUf,KAAsBrlE,GAAiB80D,KAAoB6N,EACrEtoF,IAAmB,IAAAiP,cAAY,SAAUxF,GAC7BA,EAAMtH,SAGlB++E,EAAiB,SAAU,UAG7B+B,IAAkB,KACjB,CAAC/B,IACAjhF,IAAsB,IAAAgP,cAAY,WACpCg0E,IAAkB,KACjB,CAACA,KACJ,OAAoB,gBAAoB,MAAO,CAC7CnjF,UAAW,IAAW,CAAC,GAAO4C,WAAYgH,EAAQ,IAAI,OAAgBA,EAAO5J,EAAyB,OAAdA,IAAqB,OAAgB4J,EAAO,GAAOic,cAAeA,GAAgBjc,KAC1K,qBAAqB,GACnBic,EAMC,KAN4B,gBAAoB,GAAY,CAC/D+I,WAAYA,EACZhvB,MAAOA,EACPC,OAAQA,EACRs5B,QAASyhD,EACTzF,WAAY0F,IACU,gBAAoB3D,GAAW,CACrDt3E,MAAOA,EACPC,OAAQA,GACM,gBAAoB,WAAQ,CAC1CqB,IAAK6pF,GACLjrF,SAAUuhF,GACVnhF,iBAAkBA,GAClBC,oBAAqBA,IACP,gBAAoB,MAAO,CACzCe,IAAK2pF,GACS,gBAAoBvS,GAAQ,CAC1Ct4E,UAAW,GAAOgtB,OAClBjqB,MAAQ8iB,EAGJ,KAHoB,CACtBm2D,QAASlvD,EACTmvD,YAAa3gC,IAAmB3iB,EAAYiY,EAAW,GAAK9jB,IAEhD,gBAAoB,EAAAyL,cAAe,CACjDN,YAAa,eACbG,WAAyB,gBAAoB,IAAkB,CAC7DxpB,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,mBAGbgnB,eAAgB,GAAOH,MACvBE,QAA6B,IAApBjb,EAASnK,QAA0B,OAAVmB,GACpB,gBAAoB,EAAAmmB,YAAa,CAC/CD,YAAaA,EACbnB,QAAS73B,EACTxB,SAAUi7E,IACTuG,EAAwB,gBAAoBpB,GAASl9E,OAAOC,OAAO,GAAImR,EAAO,CAC/EpU,UAAW,GAAOoU,MAClBikB,QAAmB,OAAVjkB,KACL,KAAmB,gBAAoB,MAAO,CAClDpU,UAAW,GAAO6wD,cACjBy6B,GAAiBp/E,KAAI,SAAUq/E,EAAGI,GACnC,IAAIzD,EAA+B,IAAbyD,EAAiBvuE,EAASuuE,EAAW,GAAK,KAC5DxD,EAAcwD,EAAW,EAAIvuE,EAASnK,OAASmK,EAASuuE,EAAW,GAAK,KACxE/9D,EAAU29D,EAAE39D,QACZy6D,GAAkBt6D,GAAY,IAAIwc,MAAK,SAAU04B,GACnD,OAAOA,EAAEr0D,KAAOgf,MACZ,KACFs+D,EAA0B,IAAbP,IAAsD,IAApCjB,EAAkBiB,EAAW,GAC5DQ,EAAcN,GAAkBF,GAChCpD,EAAeiD,GAAQG,GAC3B,OAAoB,gBAAoBhD,GAAqB,CAC3D/7E,IAAK,GAAGjC,OAAO4gF,EAAE/4E,QAAS,KAAK7H,OAAOqhF,GAAiBL,IACvDn5E,QAAS+4E,EACTrD,gBAAiBA,EACjBC,YAAaA,EACbC,iBAAkBsC,EAAkBiB,EAAW,KAAOnD,EACtDH,eAAgBA,EAChBC,mBAAoB6D,EACpB5D,aAAcA,EACd56E,SAAUw9E,GACV3C,cAAeA,EACfC,UAAWnnF,GAAW4qF,EACtBlL,aAAcA,EACd0H,aAAcA,QAEbuD,GAAuB,gBAAoB,MAAO,CACrDlpF,MAAO,CACL20E,UAAW6L,KAEC,gBAAoB,GAAc,CAChDriF,IAAKmiF,GACLrjF,UAAW,GAAO4wD,aAClB9wD,UAAWojF,GACX5J,kBAAmB3gD,EACnBi4B,aAAcA,EACdxoD,UAAW9G,GAAW8xC,KAClB,KAAmB,gBAAoB,MAAO,CAClDlyC,IAAK0pF,YAITL,GAAmB5qF,UAAY,GAC/B4qF,GAAmB9mF,aA1PA,CAEjB2Q,MAAO,KACPk2E,OAAQ,WACRx9D,QAAS,GACT8B,WAAY,KACZgiC,aAAc,KACdtvD,SAAS,EACT+G,QAAQ,EACRX,KAAM,KACNmpD,aAAc,KACdv2B,YAAa,KACbt6B,UAAW,MA+Ob,IAAIosF,GAAoC,OAAW7B,IAE/C,GAAa,CACf37E,GAAI,eACJlH,KAAM,SACNk1E,MAAO,CACLh2E,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,WAGburE,MAAO,GAETzoE,OAAO,IAAA6zD,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,mBAGbhE,UAAW8+E,GACX/9D,QAAS,CAAC,UACV3gB,OAAQ,CAcR,CACEL,KAAM,SACN3F,KAAM,SACN6vC,QAAS,CAAC,CACR1zC,MAAO,UACP+C,MAAO,WACN,CACD/C,MAAO,WACP+C,MAAO,aAETA,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cAGZ,CACDjE,KAAM,QACN3F,KAAM,kBACNE,MAAO,CACL0iB,UAAW,YAEb1jB,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGZ,CACDjE,KAAM,eACN3F,KAAM,eACNd,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,oBAGZ,CACDjE,KAAM,aACN3F,KAAM,aACNd,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,kBAGZ,CACDjE,KAAM,eACN3F,KAAM,iBACNE,MAAO,CACLhB,MAAO,CACL0jB,UAAW,gB,sBC9gBf,GAAY,CACd0C,OAAQ,EAAAhpB,UAAA,WACR8T,MAAO,YAAoB,UAC3BlY,MAAO,WACPC,OAAQ,WACRitB,QAAS,WACTu0C,SAAU,SACVrhE,UAAW,WACXqsF,cAAe,WACfC,eAAgB,YAclB,SAASC,GAAKhsF,GACZ,IAAIuX,EAAQvX,EAAKuX,MACbkV,EAASzsB,EAAKysB,OACdptB,EAAQW,EAAKX,MACbC,EAASU,EAAKV,OACditB,EAAUvsB,EAAKusB,QACfu0C,EAAW9gE,EAAK8gE,SAChBrhE,EAAYO,EAAKP,UACjBqsF,EAAgB9rF,EAAK8rF,cACrBC,EAAiB/rF,EAAK+rF,eACtBE,EAAY,EACZC,EAAc,KAAQz/D,GAAUA,EAAS,CAAC,CAC5CxB,KAAM61C,EAAWvpD,EAAM5L,KAAI,WACzB,OAAO,KACJ,EACLuf,QAAS41C,EAAW,EAAIvpD,EAAM5L,KAAI,WAChC,OAAO,OAGPwgF,EAAaD,EAAYrlE,QAAO,SAAUzJ,EAAOtP,GACnD,IAAIs+E,EAAat+E,EAAMmd,KACnBA,OAAsB,IAAfmhE,EAAwB,EAAIA,EACnCC,EAAgBv+E,EAAMod,QAE1B,OAAO9N,GAAS0jD,OADgB,IAAlBurB,EAA2B,EAAIA,EACRphE,KACpC,GACH,OAAoB,gBAAoB,MAAO,CAC7CxrB,UAAW,IAAW,CApDA,mCAoDmB,OAAgB,GAAIA,EAAyB,OAAdA,KACxE+C,MAAO,CACLnD,MAAOA,EACPC,OAAQA,EACRm8E,QAAqB,OAAZlvD,GAAoBA,EAAU,EAAIA,EAAU,EAAI,OAE7C,gBAAoB,MAAO,CACzC9sB,UA3DgE,8BA4DhE+C,MAAO,CACL80E,cAAexW,EAAW,MAAQ,WAEnCorB,EAAYvgF,KAAI,SAAUlK,EAAO6qF,GAClC,IAAIrhE,EAAOxpB,EAAMwpB,KACbC,EAAUzpB,EAAMypB,QAEhBqhE,EAAY,GAAGniF,QADG02D,EAAW51C,EAAUD,GAAQkhE,EACzB,IAAsB,KAC5CK,EAAY1rB,EAAW71C,EAAOC,EAC9BuhE,EAAiB,KAAQD,GAAaA,EAAY,CAACA,GACnDE,EAAYD,EAAe5lE,QAAO,SAAUzJ,EAAOrE,GACrD,OAAOqE,EAAQrE,IACd,GACH,OAAoB,gBAAoB,MAAO,CAC7C1M,IAAK,SAASjC,OAAOkiF,GACrB7sF,UAAW,IAAW,CA3E8E,+BA2E/D,OAAgB,GAAIssF,EAAmC,OAAnBA,KACzEvpF,MAAO,CACL80E,cAAexW,EAAW,SAAW,MACrCzhE,MAAOyhE,EAAWyrB,EAAY,KAC9BjtF,OAAQwhE,EAAW,KAAOyrB,IAE3BE,EAAe9gF,KAAI,SAAUghF,EAAUC,GACxC,IACIC,EAAW,GAAGziF,OADEuiF,EAAWD,EACN,IAAqB,KAC1CnhC,EAAOh0C,EAAM00E,GAEjB,OADAA,GAAa,EACO,gBAAoB,MAAO,CAC7C5/E,IAAK,QAAQjC,OAAOwiF,GACpBntF,UAAW,IAAW,CAxFiH,8BAwFnG,OAAgB,GAAIqsF,EAAiC,OAAlBA,KACvEtpF,MAAO,CACLnD,MAAOyhE,EAAW,KAAO+rB,EACzBvtF,OAAQwhE,EAAW+rB,EAAW,KAC9BpR,QAASlvD,EAAU,EAAIA,EAAU,EAAI,IAEtCg/B,YAKTygC,GAAK5sF,UAAY,GACjB4sF,GAAK9oF,aAvFc,CACjBupB,OAAQ,KACRlV,MAAO,GACPlY,MAAO,KACPC,OAAQ,KACRitB,QAAS,EACTu0C,UAAU,EACVrhE,UAAW,KACXqsF,cAAe,KACfC,eAAgB,M,qCCNde,GAAc,CAEhB,qBAAsB,CACpBhsB,UAAU,EACVr0C,OAAQ,CAAC,CACPvB,QAAS,EACTD,KAAM,CAAC,EAAG,MAGd,mBAAoB,CAClB61C,UAAU,EACVr0C,OAAQ,CAAC,CACPvB,QAAS,EACTD,KAAM,CAAC,EAAG,MAGd,sBAAuB,CACrB61C,UAAU,EACVr0C,OAAQ,CAAC,CACPvB,QAAS,EACTD,KAAM,CAAC,EAAG,MAId,iBAAkB,CAChB61C,UAAU,EACVr0C,OAAQ,CAAC,CACPvB,QAAS,EACTD,KAAM,CAAC,EAAG,EAAG,MAGjB,UAAW,CACTwB,OAAQ,CAAC,CACPxB,KAAM,EACNC,QAAS,CAAC,IACT,CACDD,KAAM,EACNC,QAAS,CAAC,EAAG,MAGjB,UAAW,CACTuB,OAAQ,CAAC,CACPxB,KAAM,EACNC,QAAS,CAAC,EAAG,IACZ,CACDD,KAAM,EACNC,QAAS,CAAC,MAId,aAAc,CACZuB,OAAQ,CAAC,CACPxB,KAAM,EACNC,QAAS,CAAC,EAAG,IACZ,CACDD,KAAM,EACNC,QAAS,CAAC,EAAG,MAGjB,gBAAiB,CACf41C,UAAU,EACVr0C,OAAQ,CAAC,CACPvB,QAAS,EACTD,KAAM,CAAC,EAAG,EAAG,EAAG,MAGpB,cAAe,CACbwB,OAAQ,CAAC,CACPxB,KAAM,EACNC,QAAS,CAAC,IACT,CACDD,KAAM,EACNC,QAAS,CAAC,EAAG,IACZ,CACDD,KAAM,EACNC,QAAS,CAAC,MAGd,cAAe,CACb41C,UAAU,EACVr0C,OAAQ,CAAC,CACPvB,QAAS,EACTD,KAAM,CAAC,EAAG,IACT,CACDC,QAAS,EACTD,KAAM,CAAC,EAAG,MAId,cAAe,CACbwB,OAAQ,CAAC,CACPxB,KAAM,EACNC,QAAS,CAAC,EAAG,IACZ,CACDD,KAAM,EACNC,QAAS,CAAC,IACT,CACDD,KAAM,EACNC,QAAS,CAAC,EAAG,MAGjB,cAAe,CACbuB,OAAQ,CAAC,CACPxB,KAAM,EACNC,QAAS,CAAC,IACT,CACDD,KAAM,EACNC,QAAS,CAAC,EAAG,IACZ,CACDD,KAAM,EACNC,QAAS,CAAC,EAAG,MAGjB,cAAe,CACbuB,OAAQ,CAAC,CACPxB,KAAM,EACNC,QAAS,CAAC,EAAG,IACZ,CACDD,KAAM,EACNC,QAAS,CAAC,EAAG,IACZ,CACDD,KAAM,EACNC,QAAS,CAAC,MAId,eAAgB,CACduB,OAAQ,CAAC,CACPxB,KAAM,EACNC,QAAS,CAAC,EAAG,IACZ,CACDD,KAAM,EACNC,QAAS,CAAC,EAAG,IACZ,CACDD,KAAM,EACNC,QAAS,CAAC,EAAG,MAGjB,kBAAmB,CACjBuB,OAAQ,CAAC,CACPxB,KAAM,EACNC,QAAS,CAAC,IACT,CACDD,KAAM,EACNC,QAAS,CAAC,IACT,CACDD,KAAM,EACNC,QAAS,CAAC,EAAG,IACZ,CACDD,KAAM,EACNC,QAAS,CAAC,EAAG,MAGjB,kBAAmB,CACjBuB,OAAQ,CAAC,CACPxB,KAAM,EACNC,QAAS,CAAC,EAAG,IACZ,CACDD,KAAM,EACNC,QAAS,CAAC,EAAG,IACZ,CACDD,KAAM,EACNC,QAAS,CAAC,IACT,CACDD,KAAM,EACNC,QAAS,CAAC,OAKZ,GAAS,CAAC,UAAY,oCAAoC,QAAU,kCAAkC,MAAQ,gCAAgC,SAAW,mCAAmC,OAAS,iCAAiC,YAAc,sCAAsC,aAAe,uCAAuC,WAAa,qCAAqC,KAAO,+BAA+B,SAAW,mCAAmC,eAAiB,yCAAyC,QAAU,mCAE1hB,GAAY,CACduB,OAAQ,UAAgB,CACxB,qBAAsB,mBAAoB,sBAC1C,iBAAkB,UAAW,UAC7B,aAAc,gBAAiB,cAAe,cAC9C,cAAe,cAAe,cAC9B,eAAgB,kBAAmB,oBACnCo8C,OAAQ,cAAoB,CAAC,EAAAplE,UAAA,YAAyB,EAAAA,UAAA,gBACtDspF,aAAc,SACdxgE,QAAS,WACTygE,gBAAiB,WACjB3+D,WAAY,EAAA5qB,UAAA,kBACZ4sD,aAAc,EAAA5sD,UAAA,aACd1C,QAAS,SACT+G,OAAQ,SACRiyB,YAAa,EAAAt2B,UAAA,YACbi9E,kBAAmB,WACnBjhF,UAAW,YAiBTwtF,GAAgB,SAAuBjtF,GACzC,IAAI+mC,EAEAta,EAASzsB,EAAKysB,OACdo8C,EAAS7oE,EAAK6oE,OACdkkB,EAAe/sF,EAAK+sF,aACpB1+D,EAAaruB,EAAKquB,WAClBgiC,EAAerwD,EAAKqwD,aACpBtvD,EAAUf,EAAKe,QACf+G,EAAS9H,EAAK8H,OACdykB,EAAUvsB,EAAKusB,QACfygE,EAAkBhtF,EAAKgtF,gBACvBjzD,EAAc/5B,EAAK+5B,YACnB2mD,EAAoB1gF,EAAK0gF,kBACzBjhF,EAAYO,EAAKP,UAEjB06E,GAAiB,IAAAjgD,iBACjB76B,EAAQ86E,EAAe96E,MACvBC,EAAS66E,EAAe76E,OACxBy7C,EAAiBo/B,EAAep/B,eAGhC1K,GADa,IAAAuE,aACSvE,SAEtBpY,GAAwB,IAAAC,0BACxB2a,EAAS5a,EAAsB4a,OAC/Bza,EAAYH,EAAsBG,UAClC9S,EAAgB2S,EAAsB3S,cACtC6S,EAASF,EAAsBE,OAC/Bwa,EAAW1a,EAAsB0a,SACjCC,EAAY3a,EAAsB2a,UAElCynC,EAAoBt5E,IAAY8xC,GAAU1a,GAC1CmiD,EAAuBv5E,GAAW+G,IAAW+qC,EAC7Cq6C,EAAe5nE,EAAgB,EAAIiH,EACnC4gE,EAAO,KAAcL,GAAYrgE,IAAWqgE,GAAYrgE,GAAU,GAClE2gE,EAAeD,EAAK1gE,OACpB8iC,OAA8B,IAAjB69B,EAA0B,GAAKA,EAC5CC,EAAiBF,EAAKrsB,SACtBA,OAA8B,IAAnBusB,GAAoCA,EAC/CC,EAAa/9B,EAAW1oC,QAAO,SAAU4wC,EAAK3pD,GAChD,IAAImd,EAAOnd,EAAMmd,KACbC,EAAUpd,EAAMod,QACpB,OAAOusC,GAAOqJ,EAAW71C,EAAOC,GAASxY,SACxC,GAECvS,GAAY,IAAAC,UAAS,GACrBC,GAAa,OAAeF,EAAW,GACvCotF,EAAeltF,EAAW,GAC1BmtF,EAAkBntF,EAAW,GAE7BotF,EAAyB,OAAX5kB,EAAkB5mE,KAAK+nE,IAAIsjB,EAAYzkB,EAAOn2D,QAAU,EACtEmyC,EAAQ0oC,GAAgBE,EACxBlT,EAAoBx5E,GAAW8jD,EAC/B21B,EAAqB7nC,GAAYC,GAAattB,GAAiB8S,GAAaD,EAC5EmtD,GAAgB,IAAA12E,cAAY,WAC9B4+E,EAAgBD,EAAe,KAC9B,CAACA,EAAcC,IACdE,IAAW,IAAAtsF,QAAO,IAElBgR,IAAa,IAAAhS,UAAS,IACtBiS,IAAa,OAAeD,GAAY,GACxCu7E,GAAct7E,GAAW,GACzBu7E,GAAiBv7E,GAAW,GAE5B7R,IAAqB,IAAAC,qBACrB6pF,GAAa9pF,GAAmBG,IAGhCsN,GAFczN,GAAmBK,MAAMC,aAEhB,GACvBk0E,GAAc/mE,GAAM5O,MACpBwuF,QAA+B,IAAhB7Y,GAAyB,KAAOA,GAC/CE,GAAejnE,GAAM3O,OACrBwuF,QAAiC,IAAjB5Y,GAA0B,KAAOA,IAErD,IAAAlzE,YAAU,WACJ0rF,GAAS3sF,QAAQ2R,QACnBk7E,GAAeF,GAAS3sF,QAAQ4K,KAAI,SAAUoiF,GAC5C,OAAmB,OAAZA,EAAmB,CACxB1uF,MAAO0uF,EAAQC,YACf1uF,OAAQyuF,EAAQ9K,cACd,SAGP,CAAC4K,GAAcC,GAAerhE,EAAQmhE,KAEzC,IAAIxT,GAAmC,OAAjB/pB,IAAiD,IAAxBA,EAAavoD,OAExD9G,IAAsB,IAAAP,qBACtBqiF,GAAkB9hF,GAAoBL,IAItC6wB,IAHmBxwB,GAAoBH,MAAMC,aAEjB,IACPxB,OACrB0jF,QAAsC,IAAjBxxD,GAA0B,EAAIA,GAEnDja,IAAQ,OAAmBsG,MAAMyvE,IAAa3hF,KAAI,SAAU4/C,EAAM0iC,GACpE,IAAIx6E,EAAmB,OAAXo1D,EAAkBA,EAAOolB,GAAS,KAC1CC,EAAYP,GAAYM,IAAU,GAClCE,EAAapB,EAAet5E,EAAQ,CACtC8S,MAAO9S,GAIL26E,GADQD,GAAc,IACAjiE,QACtBA,OAA4B,IAAlBkiE,EAA2B,KAAOA,EAE5CC,GAAW,IAAA1oB,eAAcwoB,GACzBG,GAAa,IAAAloB,cAAal6C,GAC9B,OAAoB,gBAAoB,MAAO,CAC7C7f,IAAK,QAAQjC,OAAO6jF,GACpBxuF,UAAW,GAAO8uF,UACJ,gBAAoB,MAAO,CACzC9uF,UAAW,GAAOqqF,eAClBnpF,IAAK,SAAau7B,GAChBwxD,GAAS3sF,QAAQktF,GAAS/xD,IAEd,gBAAoB,EAAAlC,YAAa,CAC/CD,YAAaA,EACb5H,MAAO87D,EAAQvN,EACf9nD,QAAS2hD,EACTh7E,SAAUi7E,EACV7hD,YAAY,GACE,gBAAoB,EAAAX,cAAe,CACjDN,YAAa,QACbnS,iBAAkB,CAChB9lB,UAAW,GAAOi4B,YAClBp4B,OAAQ,QAEVu4B,WAAyB,gBAAoB,IAAkB,CAC7DxpB,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,YAGbgnB,eAAgB,GAAOy2D,WACvB12D,SAAUu2D,GACI,gBAAoBtH,GAAQtkF,OAAOC,OAAO,CACxDjD,UAAW,GAAOgU,OACjB06E,EAAYD,EAAW,CACxB1+B,UAAW,CACTpkC,IAAK,SAEPwN,QAASyhD,EACTuK,SAAUU,QACJyH,EAA4B,gBAAoB,EAAA/yD,YAAa,CACnED,YAAaA,EACb5H,MAAO87D,EAAQvN,EACf9nD,QAAS2hD,EACTh7E,SAAUi7E,GACI,gBAAoB,EAAAxiD,cAAe,CACjDN,YAAa,OACbG,WAAyB,gBAAoB,IAAkB,CAC7DxpB,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cAGbgnB,eAAgB,GAAO02D,aACvB32D,SAAUw2D,GACI,gBAAoB,MAAO,CACzC7uF,UAAW,GAAOysB,SACJ,gBAAoBsL,GAAM/0B,OAAOC,OAAO,GAAIwpB,EAAS,CACnEzsB,UAAW,GAAOivF,YAClBzW,UAAW+U,QACJ,SAGX,OAAoB,gBAAoB,MAAO,CAC7CvtF,UAAW,IAAW,CAAC,GAAO4C,WAAY0kC,EAAQ,IAAI,OAAgBA,EAAOtnC,EAAyB,OAAdA,IAAqB,OAAgBsnC,EAAO,GAAOzhB,cAAeA,GAAgByhB,KAC1K,oBAAqB8d,GACnBv/B,EAMC,KAN4B,gBAAoB,GAAY,CAC/D+I,WAAYA,EACZhvB,MAAOA,EACPC,OAAQA,EACRs5B,QAASyhD,EACTzF,WAAY0F,IACU,gBAAoB3D,GAAW,CACrDt3E,MAAOA,EACPC,OAAQA,GACM,gBAAoB,MAAO,CACzCG,UAAW,GAAOmK,QAClBpH,MAAO,CACLk5E,WAAY3gC,IAAmB3iB,EAAYiY,EAAW,KACtDs+C,cAAevU,GAAkB4I,GAAqBkK,EAAe,GAEvEvsF,IAAK2pF,IACS,gBAAoB0B,GAAMvpF,OAAOC,OAAO,CACtDjD,UAAW,GAAO0tF,KAClB5gE,QAAS2gE,EACT31E,MAAOA,IACN41E,KAAS7nE,GAAiB80D,GAA+B,gBAAoB,MAAO,CACrF53E,MAAO,CACL6wB,WAAY65D,IAEA,gBAAoB,GAAc,CAChDvsF,IAAKmiF,GACLrjF,UAAW,GAAO4wD,aAClBA,aAAcA,EACd0oB,kBAAmB3gD,EACnBvwB,UAAW9G,GAAW8xC,KAClB,SAGRo6C,GAAc7tF,UAAY,GAC1B6tF,GAAc/pF,aA9NK,CACjBupB,OAAQ,cACRsgE,cAAc,EACdlkB,OAAQ,GACRt8C,QAAS,GACTygE,gBAAiB,EACjB3+D,WAAY,KACZgiC,aAAc,KACdtvD,SAAS,EACT+G,QAAQ,EACRiyB,YAAa,KACb2mD,kBAAmB,GACnBjhF,UAAW,MAmNb,IAAImvF,GAA+B,OAAW3B,IA8B1C,GAA0BxqF,OAAOm0B,OAAO,CACxCC,UAAW,KACXglD,UAtBY,SAAmB9zB,EAAU/nD,GAC3C,IAAI6oE,EAAS7oE,EAAK6oE,OAEdgmB,GAAU,SAAO9mC,EAAU,CAC7B8gB,OAAQA,IAENkT,EAAa8S,EAAQlwF,MACrBq9E,EAAiB6S,EAAQ9hF,UAEzBmvE,GAAa,SAAYH,GAAY,OAAmBC,EAAiB,CAACA,GAAkB,KAC5FG,EAAiBD,EAAWv9E,MAC5By9E,EAAqBF,EAAWnvE,UAEpC,OAAO,QAAc,OAAc,GAAIovE,GAAiB,GAAI,CAC1DjvE,WAAY,GAAG9C,QAAO,OAAmB29C,EAAS76C,YAAc,KAAK,OAAmBkvE,EAAqB,CAACA,GAAsB,UAWpI,GAAa,CAAC,CAChB/tE,GAAI,UACJlH,KAAM,SACNk1E,MAAO,CACLh2E,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGburE,MAAO,GAETzoE,OAAO,IAAA6zD,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cAGbhE,UAAW6hF,GACX9gE,QAAS,CACT,qBAAsB,mBAAoB,sBAC1C,iBAAkB,UAAW,UAC7B,aAAc,gBAAiB,cAAe,cAC9C,cAAe,cAAe,cAC9B,eAAgB,kBAAmB,mBACnC8tD,WAAY,GACZzuE,OAAQ,CAAC,CACPL,KAAM,SACN3F,KAAM,gBACNipC,aAAc,qBACd/pC,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cAGZ,CACDjE,KAAM,SACN3F,KAAM,UACNd,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cAGZ,CACDjE,KAAM,aACN3F,KAAM,aACNd,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,kBAGZ,CACDjE,KAAM,eACN3F,KAAM,iBACNE,MAAO,CACLhB,MAAO,CACL0jB,UAAW,gBAIhB,CACD1b,GAAI,mBACJlH,KAAM,SACNk1E,MAAO,CACLh2E,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGburE,MAAO,GAETzoE,OAAO,IAAA6zD,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,4BAGbhE,UAzHF,SAA+B/M,GAC7B,IAAIpB,GAAQ,QAAS,GAAIoB,GAEzB,OAAoB,gBAAoB4uF,GAAiBnsF,OAAOC,OAAO,GAAI9D,EAAO,CAChFmuF,cAAc,MAsHhBj/D,QAAS,CACT,qBAAsB,mBAAoB,sBAC1C,iBAAkB,UAAW,UAC7B,aAAc,gBAAiB,cAAe,cAC9C,cAAe,cAAe,cAC9B,eAAgB,kBAAmB,mBACnC8tD,WAAY,GACZzuE,OAAQ,CAAC,CACPL,KAAM,SACN3F,KAAM,gBACNipC,aAAc,qBACd/pC,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cAGZ,CACDjE,KAAM,SACN3F,KAAM,uBACNE,MAAO,CACL6kB,QAAS,CACPnC,UAAW,SAGf1jB,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cAGZ,CACDjE,KAAM,aACN3F,KAAM,aACNd,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,kBAGZ,CACDjE,KAAM,eACN3F,KAAM,iBACNE,MAAO,CACLhB,MAAO,CACL0jB,UAAW,iBC1kBf,GAAS,CAAC,UAAY,yCAAyC,aAAe,4CAA4C,WAAa,0CAA0C,aAAe,4CAA4C,cAAgB,6CAA6C,OAAS,uCAElT,GAAY,CACd0C,OAAQ,UAAgB,CAAC,SAAU,YACnCo8C,OAAQ,cAAoB,CAAC,EAAAplE,UAAA,yBAAsC,EAAAA,UAAA,cACnEspF,aAAc,SACdxgE,QAAS,WACT8B,WAAY,EAAA5qB,UAAA,kBACZ4sD,aAAc,EAAA5sD,UAAA,aACd1C,QAAS,SACT+G,OAAQ,SACRiyB,YAAa,EAAAt2B,UAAA,YACbi9E,kBAAmB,WACnBv5E,KAAM,WACN1H,UAAW,YAiBTqvF,GAAoB,SAA2B9uF,GACjD,IAAI+mC,EAEAta,EAASzsB,EAAKysB,OACdo8C,EAAS7oE,EAAK6oE,OACdkkB,EAAe/sF,EAAK+sF,aACpBxgE,EAAUvsB,EAAKusB,QACf8B,EAAaruB,EAAKquB,WAClBgiC,EAAerwD,EAAKqwD,aACpBtvD,EAAUf,EAAKe,QACf+G,EAAS9H,EAAK8H,OACdiyB,EAAc/5B,EAAK+5B,YACnB2mD,EAAoB1gF,EAAK0gF,kBACzBv5E,EAAOnH,EAAKmH,KACZ1H,EAAYO,EAAKP,UACjBohF,GAAmB,IAAA7zB,qBAAoB7lD,GAEvCgzE,GAAiB,IAAAjgD,iBACjB76B,EAAQ86E,EAAe96E,MACvBC,EAAS66E,EAAe76E,OACxBy7C,EAAiBo/B,EAAep/B,eAGhC1K,GADa,IAAAuE,aACSvE,SAEtBpY,GAAwB,IAAAC,0BACxB2a,EAAS5a,EAAsB4a,OAC/Bza,EAAYH,EAAsBG,UAClC9S,EAAgB2S,EAAsB3S,cACtC6S,EAASF,EAAsBE,OAC/Bwa,EAAW1a,EAAsB0a,SACjCC,EAAY3a,EAAsB2a,UAElCynC,EAAoBt5E,IAAY8xC,GAAU1a,GAC1CmiD,EAAuBv5E,GAAW+G,IAAW+qC,EAE7C46C,EADuB,OAAX5kB,EACcA,EAAOn2D,OAAS,EAE1CvS,GAAY,IAAAC,UAAS,GACrBC,GAAa,OAAeF,EAAW,GACvCotF,EAAeltF,EAAW,GAC1BmtF,EAAkBntF,EAAW,GAE7BwkD,EAAQ0oC,GAAgBE,EACxBlT,EAAoBx5E,GAAW8jD,EAC/B21B,EAAqB7nC,GAAYC,GAAattB,GAAiB8S,GAAaD,EAC5E2oD,GAAqB3oD,GAAUqiD,IAAuBz5E,EACtDukF,GAAgB,IAAA12E,cAAY,WAC9B4+E,EAAgBD,EAAe,KAC9B,CAACA,EAAcC,IACduB,EAAwB,YAAXtiE,EACblV,EAAQ,GACRy3E,EAAa72D,GAA0B,IAAhBs1D,EAAoB,CAAC,MAAQ5kB,EACpDomB,EAAc3pE,GAAgB,OAAmBzH,MAAM,IAAMmxE,EAE7DxuF,GAAqB,IAAAC,qBACrByuF,GAAgB1uF,EAAmBG,IAInCwuF,IAHc3uF,EAAmBK,MAAMC,aAEhB,IACIzB,OAE9B4vF,GAAe,IAAI10D,SAAQ,SAAU9mB,EAAO5H,GAC3C,IAAIsiF,EAAapB,EAAet5E,EAAQ,CACtC8S,MAAO9S,GAIL27E,GADQjB,GAAc,IACAjiE,QACtBA,OAA4B,IAAlBkjE,EAA2B,KAAOA,EAE5Cf,GAAW,IAAA1oB,eAAcwoB,GACzBG,GAAa,IAAAloB,cAAal6C,GAC1BT,EAA4B,gBAAoB,EAAAuM,cAAe,CACjE3rB,IAAK,SAASjC,OAAOyB,GACrB6rB,YAAa,QACbG,WAAyB,gBAAoB,IAAkB,CAC7DxpB,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,YAGbgnB,eAAgB,GAAOy2D,WACvB12D,SAAUu2D,GACI,gBAAoB,MAAO,CACzC5uF,UAAW,GAAOqqF,eAClBnpF,IAAe,IAAVkL,EAAcqjF,GAAgB,MACrB,gBAAoBnI,GAAQtkF,OAAOC,OAAO,GAAIyrF,EAAY,CACxE9uF,MAAO8vF,GACPvK,SAAUU,EACV1sD,QAASyhD,OAEPgV,EAAiB,KAErB,GAAItC,EAAc,CAChB,IAAI15D,GAAa07D,GAAcljF,EAAQ,EAAI0gB,EAAU,EAAI,EACrD+G,EAAey7D,GAAcljF,GAASojF,GAAe,IAAIv8E,OAAS,EAAI6Z,EAAU,EAAI,EACxF8iE,EAA8B,gBAAoB,EAAAr3D,cAAe,CAC/D3rB,IAAK,WAAWjC,OAAOyB,GACvB6rB,YAAa,OACbnS,iBAAkB,CAChB0N,MAAO,GAET4E,WAAyB,gBAAoB,IAAkB,CAC7DxpB,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cAGbgnB,eAAgB,GAAO02D,aACvB32D,SAAUw2D,GACI,gBAAoB,MAAO,CACzC7uF,UAAW,GAAOysB,QAClB1pB,MAAO,CACL6wB,UAAWA,EACXC,aAAcA,IAEF,gBAAoBkE,GAAM/0B,OAAOC,OAAO,GAAIwpB,EAAS,CACnEzsB,UAAW,GAAOivF,iBAIlBK,GACEhC,GACFx1E,EAAMmQ,KAAK2nE,GAGb93E,EAAMmQ,KAAK+D,KAEXlU,EAAMmQ,KAAK+D,GAEPshE,GACFx1E,EAAMmQ,KAAK2nE,KAIV/pE,GAAiBzZ,GAASojF,GAAe,IAAIv8E,OAAS,GACzD6E,EAAMmQ,KAAmB,gBAAoB,MAAO,CAClDrb,IAAK,WAAWjC,OAAOyB,GACvBrJ,MAAO,CACLlD,OAAQitB,SAMhB,IAAI6tD,GAAmC,OAAjB/pB,IAAiD,IAAxBA,EAAavoD,OAExDsK,IAAa,IAAAhS,WAAS,GACtBiS,IAAa,OAAeD,GAAY,GACxCuwE,GAAiBtwE,GAAW,GAC5BuwE,GAAoBvwE,GAAW,GAE/BrR,IAAsB,IAAAP,qBACtBqiF,GAAkB9hF,GAAoBL,IAItC6wB,IAHmBxwB,GAAoBH,MAAMC,aAEjB,IACPxB,OACrB0jF,QAAsC,IAAjBxxD,GAA0B,EAAIA,IAElDlM,GAAiB80D,IACpB7iE,EAAMmQ,KAAmB,gBAAoB,MAAO,CAClDrb,IAAK,aACL7J,MAAO,CACLlD,OAAQ0jF,OAKd,IAAIrjF,IAAmB,IAAAiP,cAAY,SAAU3O,GAC7BA,EAAM6B,SAGlB++E,EAAiB,SAAU,UAG7B+B,IAAkB,KACjB,CAAC/B,IACAjhF,IAAsB,IAAAgP,cAAY,WACpCg0E,IAAkB,KACjB,CAACA,KACJ,OAAoB,gBAAoB,MAAO,CAC7CnjF,UAAW,IAAW,CAAC,GAAO4C,WAAY0kC,EAAQ,IAAI,OAAgBA,EAAOtnC,EAAyB,OAAdA,IAAqB,OAAgBsnC,EAAO,GAAOzhB,cAAeA,GAAgByhB,KAC1K,oBAAqB8d,GACnBv/B,EAMC,KAN4B,gBAAoB,GAAY,CAC/D+I,WAAYA,EACZhvB,MAAOA,EACPC,OAAQA,EACRs5B,QAASyhD,EACTzF,WAAY0F,IACU,gBAAoB3D,GAAW,CACrDt3E,MAAOA,EACPC,OAAQA,GACM,gBAAoB,WAAQ,CAC1CC,SAAUuhF,EACVnhF,iBAAkBA,GAClBC,oBAAqBA,IACP,gBAAoBm4E,GAAQ,CAC1Ct4E,UAAW,GAAOgtB,OAClBjqB,MAAQ8iB,EAGJ,KAHoB,CACtBm2D,QAASlvD,EACTmvD,YAAa3gC,IAAmB3iB,EAAYiY,EAAW,GAAK9jB,IAEhD,gBAAoB,EAAAoP,mBAAoB,CACtD5B,YAAaA,EACb2B,QAASglD,EACTnhF,SAAUi7E,EACV5hD,QAAS2hD,GACRhjE,MAAW+N,GAAiB80D,GAA+B,gBAAoB,GAAc,CAC9Fz5E,IAAKmiF,GACLrjF,UAAW,GAAO4wD,aAClB9wD,UAAWojF,GACX5J,kBAAmB3gD,EACnBi4B,aAAcA,EACdxoD,UAAW9G,GAAW8xC,IACnB,QAGPi8C,GAAkB1vF,UAAY,GAC9B0vF,GAAkB5rF,aA7OC,CACjBupB,OAAQ,SACRo8C,OAAQ,KACRkkB,cAAc,EACdxgE,QAAS,GACT8B,WAAY,KACZgiC,aAAc,KACdtvD,SAAS,EACT+G,QAAQ,EACRiyB,YAAa,KACb2mD,kBAAmB,GACnBv5E,KAAM,KACN1H,UAAW,MAkOb,IAAI6vF,GAAmC,OAAWR,IA8B9C,GAA0BrsF,OAAOm0B,OAAO,CACxCC,UAAW,KACXglD,UAtBY,SAAmB9zB,EAAU/nD,GAC3C,IAAI6oE,EAAS7oE,EAAK6oE,OAEd0mB,GAAW,SAAQxnC,EAAU,CAC/B8gB,OAAQA,IAENkT,EAAawT,EAAS5wF,MACtBq9E,EAAiBuT,EAASxiF,UAE1BmvE,GAAa,SAAYH,GAAY,OAAmBC,EAAiB,CAACA,GAAkB,KAC5FG,EAAiBD,EAAWv9E,MAC5By9E,EAAqBF,EAAWnvE,UAEpC,OAAO,QAAc,OAAc,GAAIovE,GAAiB,GAAI,CAC1DjvE,WAAY,GAAG9C,QAAO,OAAmB29C,EAAS76C,YAAc,KAAK,OAAmBkvE,EAAqB,CAACA,GAAsB,UAWpI,GAAa,CAAC,CAChB/tE,GAAI,eACJlH,KAAM,SACNk1E,MAAO,CACLh2E,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGburE,MAAO,GAETzoE,OAAO,IAAA6zD,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,mBAGbhE,UAAWuiF,GACXxhE,QAAS,CAAC,UACV8tD,WAAY,GACZzuE,OAAQ,CAAC,CACPL,KAAM,SACN3F,KAAM,UACNd,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cAGZ,CACDjE,KAAM,aACN3F,KAAM,aACNd,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,kBAGZ,CACDjE,KAAM,eACN3F,KAAM,iBACNE,MAAO,CACLhB,MAAO,CACL0jB,UAAW,gBAIhB,CACD1b,GAAI,wBACJlH,KAAM,SACNk1E,MAAO,CACLh2E,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGburE,MAAO,GAETzoE,OAAO,IAAA6zD,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,iCAGbhE,UAzG8B,SAAmC/M,GACjE,IAAIpB,GAAQ,QAAS,GAAIoB,GAEzB,OAAoB,gBAAoBsvF,GAAqB7sF,OAAOC,OAAO,GAAI9D,EAAO,CACpFmuF,cAAc,MAsGhBj/D,QAAS,CAAC,SAAU,WACpB8tD,WAAY,GACZzuE,OAAQ,CAAC,CACPL,KAAM,SACN3F,KAAM,gBACNipC,aAAc,SACd/pC,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cAGZ,CACDjE,KAAM,SACN3F,KAAM,uBACNE,MAAO,CACL6kB,QAAS,CACPnC,UAAW,SAGf1jB,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cAGZ,CACDjE,KAAM,aACN3F,KAAM,aACNd,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,kBAGZ,CACDjE,KAAM,eACN3F,KAAM,iBACNE,MAAO,CACLhB,MAAO,CACL0jB,UAAW,iBCrZf,GAAS,CAAC,UAAY,kCAAkC,MAAQ,8BAA8B,SAAW,iCAAiC,OAAS,+BAA+B,YAAc,oCAAoC,QAAU,gCAAgC,WAAa,mCAAmC,YAAc,oCAAoC,UAAY,kCAAkC,WAAa,mCAAmC,eAAiB,uCAAuC,iBAAmB,yCAAyC,aAAe,qCAAqC,cAAgB,sCAAsC,OAAS,+BAA+B,OAAS,+BAA+B,cAAgB,sCAAsC,aAAe,sCAEj0B,GAAY,CACd0C,OAAQ,UAAgB,CAAC,SAAU,aAAc,UAAW,OAAQ,eAAgB,cACpFhZ,MAAO,EAAAhQ,UAAA,WACP+rF,SAAU,UAAgB,CAAC,UAAW,UACtCC,gBAAiB,WACjB57E,MAAO,EAAApQ,UAAA,eACP8F,KAAM,EAAA9F,UAAA,YACNisF,OAAQ,EAAAjsF,UAAA,YACRksF,UAAW,SACXplF,SAAU,SACVqlF,WAAY,SACZrjE,QAAS,WACT8B,WAAY,EAAA5qB,UAAA,kBACZ4sD,aAAc,EAAA5sD,UAAA,aACd1C,QAAS,SACT+G,OAAQ,SACRiyB,YAAa,EAAAt2B,UAAA,YACbhE,UAAW,YAsBTowF,GAAc,SAAqB7vF,GACrC,IAAIiO,EAEAwe,EAASzsB,EAAKysB,OACdhZ,EAAQzT,EAAKyT,MACb+7E,EAAWxvF,EAAKwvF,SAChBC,EAAkBzvF,EAAKyvF,gBACvB57E,EAAQ7T,EAAK6T,MACbtK,EAAOvJ,EAAKuJ,KACZmmF,EAAS1vF,EAAK0vF,OACdC,EAAY3vF,EAAK2vF,UACjBplF,EAAWvK,EAAKuK,SAChBqlF,EAAa5vF,EAAK4vF,WAClBrjE,EAAUvsB,EAAKusB,QACf8B,EAAaruB,EAAKquB,WAClBgiC,EAAerwD,EAAKqwD,aACpBtvD,EAAUf,EAAKe,QACf+G,EAAS9H,EAAK8H,OACdiyB,EAAc/5B,EAAK+5B,YACnBt6B,EAAYO,EAAKP,UACjBqwF,GAAgB,IAAA9wE,UAAQ,WAC1B,MAAO,CACLoM,IAAKokE,GAAYC,KAElB,CAACD,EAAUC,IAEVtV,GAAiB,IAAAjgD,iBACjB76B,EAAQ86E,EAAe96E,MACvBC,EAAS66E,EAAe76E,OACxBy7C,EAAiBo/B,EAAep/B,eAGhC1K,GADa,IAAAuE,aACSvE,SAEtBpY,GAAwB,IAAAC,0BACxB2a,EAAS5a,EAAsB4a,OAC/Bza,EAAYH,EAAsBG,UAClC9S,EAAgB2S,EAAsB3S,cACtC6S,EAASF,EAAsBE,OAC/Bwa,EAAW1a,EAAsB0a,SACjCC,EAAY3a,EAAsB2a,UAElCynC,EAAoBt5E,IAAY8xC,GAAU1a,GAC1CmiD,EAAuBv5E,GAAW+G,IAAW+qC,EAC7Cw7C,EAAqB,OAAV56E,EACXstE,GAAW,IAAA3a,cAAavyD,GACxBk8E,GAAU,IAAA3pB,cAAa78D,GACvBymF,GAAY,IAAA5pB,cAAaspB,GAEzBvvF,GAAY,IAAAC,WAAUiuF,GACtBhuF,GAAa,OAAeF,EAAW,GACvC0kD,EAAQxkD,EAAW,GACnBykD,EAAWzkD,EAAW,GAEtBk6E,EAAoBx5E,GAAW8jD,EAC/B21B,EAAqB7nC,GAAYC,GAAattB,GAAiB8S,GAAaD,EAC5EmtD,GAAgB,IAAA12E,cAAY,WAC9Bk2C,GAAS,KACR,CAACA,IACAiqC,GAAwB,YAAXtiE,GAAmC,iBAAXA,EACrCwjE,GAAwB,cAAXxjE,EACbyjE,GAAoB,SAAXzjE,GAAgC,iBAAXA,EAC9B0jE,GAA2B,iBAAX1jE,EAChBszB,GAA0B,eAAXtzB,EACfygE,GAAgBntC,IAAiBz6B,EAA0B,EAAViH,EAEjD/rB,IAAqB,IAAAC,qBACrB2vF,GAAc5vF,GAAmBG,IAGjCmN,GAFctN,GAAmBK,MAAMC,aAEhB,GACvBywB,GAAazjB,GAAMzO,MACnBoyB,GAAc3jB,GAAMxO,OAEpB+wF,GAAkBF,GAAgB,GAAG/lF,OAAO8iF,GAAe,EAAG,OAAO9iF,QAAQ8iF,GAAe,EAAG,QAAU,KAAK9iF,QAAQ8iF,GAAe,EAAG,OAAO9iF,OAAO8iF,GAAe,EAAG,MACxKoD,GAAcJ,IAAUC,GAAgBE,GAAkBnD,GAAe,EACzE31E,GAAQ,CAAc,gBAAoB,MAAO,CACnDlL,IAAK,QACL1L,IAAKyvF,GACL3wF,UAAW,GAAOqqF,eAClBtnF,MAAQ8iB,EAEJ,KAFoB,CACtBgqC,OAAQghC,KAEI,gBAAoB,EAAAt4D,cAAe,CACjDN,YAAa,QACbnS,iBAAkB,CAChB9lB,UAAW,GAAO8wF,iBAClBjxF,OAAQ,QAEVu4B,WAAyB,gBAAoB,IAAkB,CAC7DxpB,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,YAGbgnB,eAAgB,GAAOy2D,WACvB12D,SAAUu2D,GACTA,EAAwB,gBAAoB,EAAAr0D,YAAa,CAC1DD,YAAaA,EACbnB,QAAS2hD,EACTh7E,SAAUi7E,EACV7hD,YAAY,GACE,gBAAoBouD,GAAQ,CAC1CtnF,UAAW,GAAOgU,MAClB8S,MAAO9S,EACP+7C,UAAWsgC,EACXzwF,MAAOkyB,GACPjyB,OAAQmyB,GACRmH,QAASyhD,EACTuK,SAAUU,KACN,OAAQqK,GAA0B,gBAAoB,EAAA33D,cAAe,CACzE3rB,IAAK,QACLqrB,YAAa,QACbG,WAAyB,gBAAoB,IAAkB,CAC7DxpB,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,YAGbgnB,eAAgB,GAAOmrD,WACvBprD,SAAUipD,GACTA,EAAwB,gBAAoB,EAAA/mD,YAAa,CAC1DD,YAAaA,EACbnB,QAAS2hD,EACTh7E,SAAUi7E,GACI,gBAAoB,MAAO,CACzCh4E,MAAQ8iB,EAEJ,KAFoB,CACtBgqC,OAAQ49B,GAAe,IAEX,gBAAoBvN,GAAS9rE,KAAW,MAAOtJ,GAAyB,gBAAoB,EAAAytB,cAAe,CACzH3rB,IAAK,OACLqrB,YAAa,OACbG,WAAyB,gBAAoB,IAAkB,CAC7DxpB,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,WAGbgnB,eAAgB,GAAOy4D,UACvB14D,SAAUi4D,GACTA,EAAuB,gBAAoB,EAAA/1D,YAAa,CACzDD,YAAaA,EACbnB,QAAS2hD,EACTh7E,SAAUi7E,GACI,gBAAoB,MAAO,CACzCh4E,MAAQ8iB,EAEJ,KAFoB,CACtBgqC,OAAQ49B,GAAe,IAEX,gBAAoB11D,GAAMjuB,KAAU,MAAOqmF,GAA2B,gBAAoB,EAAA53D,cAAe,CACvH3rB,IAAK,SACLqrB,YAAa,YACbG,WAAyB,gBAAoB,IAAkB,CAC7DxpB,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGbgnB,eAAgB,GAAO04D,YACvB34D,SAAUk4D,GACTA,EAAyB,gBAAoB,EAAAh2D,YAAa,CAC3DD,YAAaA,EACbnB,QAAS2hD,EACTh7E,SAAUi7E,GACI,gBAAoB,MAAO,CACzCh4E,MAAQ8iB,EAEJ,KAFoB,CACtBgqC,OAAQ49B,GAAe,IAEX,gBAAoB11D,GAAMk4D,KAAY,OAElDX,GACFx3E,GAAMiV,UACGyjE,IACLN,IAAc5O,GAAYz7D,IAC5B/N,GAAMm5E,OAAO,EAAG,EAAGn5E,GAAMm5E,OAAO,EAAG,GAAG,IAI1C,IAAItW,GAAmC,OAAjB/pB,IAAiD,IAAxBA,EAAavoD,QAEvDwd,GAAiB80D,IACpB7iE,GAAMmQ,KAAmB,gBAAoB,MAAO,CAClDllB,MAAO,CACL8sD,QAAS49B,GAAe,EACxB75D,UAAW,GAEbhnB,IAAK,kBACS,gBAAoB,GAAc,CAChD5M,UAAW,GAAO4wD,aAClBA,aAAcA,EACd0oB,kBAAmB3gD,EACnBvwB,UAAW9G,GAAW8xC,MAI1B,IAAI87C,GAAgBzB,GAAe,EAC/BxR,IAAc3gC,IAAmB3iB,EAAYiY,EAAW,GAAK68C,GAAe,EAWhF,OATIgD,IAAUnwC,MACZ27B,GAAa,GAGXyU,KACFzU,GAAa3gC,EAAiB1K,EAAW68C,GAAe,EACxDyB,GAAgB,GAGE,gBAAoB,MAAO,CAC7ClvF,UAAW,IAAW,CAAC,GAAO4C,WAAY4L,EAAQ,IAAI,OAAgBA,EAAOxO,EAAyB,OAAdA,IAAqB,OAAgBwO,EAAO,GAAO8gF,WAAYA,KAAa,OAAgB9gF,EAAO,GAAOqX,cAAeA,IAAgB,OAAgBrX,EAAO,GAAOiiF,OAAQA,KAAS,OAAgBjiF,EAAO,GAAOkiF,cAAeA,KAAgB,OAAgBliF,EAAO,GAAO8xC,aAAcA,IAAe9xC,KACxY,oBAAqB42C,GACnBv/B,EAMC,KAN4B,gBAAoB,GAAY,CAC/D+I,WAAYA,EACZhvB,MAAOA,EACPC,OAAQA,EACRs5B,QAASyhD,EACTzF,WAAY0F,IACU,gBAAoB3D,GAAW,CACrDt3E,MAAOA,EACPC,OAAQA,GACM,gBAAoBy4E,GAAQ,CAC1Ct4E,UAAW,GAAOgtB,OAClBkM,YAAY,EACZn2B,MAAQ8iB,EAIJ,KAJoB,CACtBm2D,QAASyR,GAAe,EACxBxR,WAAYA,GACZiT,cAAeA,KAEhBp3E,OAGLs4E,GAAYzwF,UAAY,GACxBywF,GAAY3sF,aA9PO,CACjBupB,OAAQ,SACRhZ,MAAO,KACP+7E,SAAU,KACVC,gBAAiB,QACjB57E,MAAO,KACPtK,KAAM,KACNmmF,OAAQ,KACRC,WAAW,EACXplF,UAAU,EACVqlF,YAAY,EACZrjE,QAAS,GACT8B,WAAY,KACZgiC,aAAc,KACdtvD,SAAS,EACT+G,QAAQ,EACRiyB,YAAa,KACbt6B,UAAW,MA8Ob,IAAIkxF,GAA6B,OAAWd,IAgFxC,GAA0BptF,OAAOm0B,OAAO,CACxCC,UAAW,KACXglD,UA/CY,SAAmB9zB,EAAU/nD,GAC3C,IAAIysB,EAASzsB,EAAKysB,OACdhZ,EAAQzT,EAAKyT,MACblK,EAAOvJ,EAAKuJ,KACZsK,EAAQ7T,EAAK6T,MAEb+8E,GAAS,SAAM7oC,EAAUt0C,GACzBo9E,EAAaD,EAAOjyF,MACpBmyF,EAAiBF,EAAO7jF,UAExBgkF,GAAW,SAASF,EAAYh9E,GAChCkoE,EAAagV,EAASpyF,MACtBq9E,EAAiB+U,EAAShkF,UAE1BikF,GAAQ,SAAOjV,EAAYxyE,GAC3B0nF,EAAYD,EAAMryF,MAClBuyF,EAAgBF,EAAMjkF,UAEtBwK,EAAQ,GAEZ,OAAQkV,GACN,IAAK,UACHlV,EAAQ,GAAGnN,QAAO,OAAmB8mF,EAAgB,CAACA,GAAiB,KAAK,OAAmBlV,EAAiB,CAACA,GAAkB,KAAK,OAAmB8U,EAAiB,CAACA,GAAkB,KAC/L,MAEF,IAAK,YACHv5E,EAAQ,GAAGnN,QAAO,OAAmB4xE,EAAiB,CAACA,GAAkB,KAAK,OAAmB8U,EAAiB,CAACA,GAAkB,KAAK,OAAmBI,EAAgB,CAACA,GAAiB,KAC/L,MAEF,QACE35E,EAAQ,GAAGnN,QAAO,OAAmB0mF,EAAiB,CAACA,GAAkB,KAAK,OAAmB9U,EAAiB,CAACA,GAAkB,KAAK,OAAmBkV,EAAgB,CAACA,GAAiB,KAInM,IAAIhV,GAAa,SAAY+U,EAAW15E,GACpC4kE,EAAiBD,EAAWv9E,MAC5BoO,EAAYmvE,EAAWnvE,UAE3B,OAAO,QAAc,OAAc,GAAIovE,GAAiB,GAAI,CAC1DjvE,WAAY,GAAG9C,QAAO,OAAmB29C,EAAS76C,YAAc,KAAK,OAAmBH,EAAY,CAACA,GAAa,UAWlH,GAAa,CAAC,CAChBsB,GAAI,QACJlH,KAAM,SACNk1E,MAAO,CACLh2E,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGburE,MAAO,GAETzoE,OAAO,IAAA6zD,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,YAGbhE,UAAW4jF,GACX7iE,QAAS,CAAC,SAAU,cACpB8tD,WAAY,GACZzuE,OAAQ,CAAC,CACPL,KAAM,SACN3F,KAAM,gBACNipC,aAAc,SACd/pC,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cAGZ,CACDjE,KAAM,QACN3F,KAAM,SACNd,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGZ,CACDjE,KAAM,WACN3F,KAAM,MACNipC,aAAc,QACd3pC,OAAQ,CAAC,QAAS,WAClBJ,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,iBAGZ,CACDjE,KAAM,aACN3F,KAAM,aACNd,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,kBAGZ,CACDjE,KAAM,eACN3F,KAAM,iBACNE,MAAO,CACLhB,MAAO,CACL0jB,UAAW,gBAIhB,CACD1b,GAAI,cACJlH,KAAM,SACNk1E,MAAO,CACLh2E,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,sBAGburE,MAAO,GAETzoE,OAAO,IAAA6zD,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,uBAGbhE,UAlLqB,SAA0B/M,GAC/C,IAAIpB,GAAQ,QAAS,GAAIoB,GAEzB,OAAoB,gBAAoB2wF,GAAeluF,OAAOC,OAAO,GAAI9D,EAAO,CAC9E+wF,WAAW,MA+Kb7hE,QAAS,CAAC,SAAU,UAAW,OAAQ,gBACvC8tD,WAAY,GACZzuE,OAAQ,CAAC,CACPL,KAAM,SACN3F,KAAM,gBACNipC,aAAc,SACd/pC,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cAGZ,CACDjE,KAAM,QACN3F,KAAM,SACNd,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGZ,CACDjE,KAAM,WACN3F,KAAM,MACNipC,aAAc,QACd3pC,OAAQ,CAAC,QAAS,WAClBJ,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,iBAGZ,CACDjE,KAAM,QACN3F,KAAM,kBACNshE,QAAQ,EACRphE,MAAO,CACL0iB,UAAW,YAEb1jB,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGZ,CACDjE,KAAM,aACN3F,KAAM,aACNd,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,kBAGZ,CACDjE,KAAM,eACN3F,KAAM,iBACNE,MAAO,CACLhB,MAAO,CACL0jB,UAAW,gBAIhB,CACD1b,GAAI,aACJlH,KAAM,SACNk1E,MAAO,CACLh2E,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,sBAGburE,MAAO,GAETzoE,OAAO,IAAA6zD,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,sBAGbhE,UAnQoB,SAAyB/M,GAC7C,IAAIpB,GAAQ,QAAS,GAAIoB,GAEzB,OAAoB,gBAAoB2wF,GAAeluF,OAAOC,OAAO,GAAI9D,EAAO,CAC9E2L,UAAU,MAgQZujB,QAAS,CAAC,SAAU,UAAW,OAAQ,gBACvC8tD,WAAY,GACZzuE,OAAQ,CAAC,CACPL,KAAM,SACN3F,KAAM,gBACNipC,aAAc,SACd/pC,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cAGZ,CACDjE,KAAM,QACN3F,KAAM,SACNd,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGZ,CACDjE,KAAM,WACN3F,KAAM,MACNipC,aAAc,QACd3pC,OAAQ,CAAC,QAAS,WAClBJ,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,iBAGZ,CACDjE,KAAM,OACN3F,KAAM,eACNE,MAAO,CACL0iB,UAAW,QAEb1jB,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,YAGZ,CACDjE,KAAM,aACN3F,KAAM,aACNd,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,kBAGZ,CACDjE,KAAM,eACN3F,KAAM,iBACNE,MAAO,CACLhB,MAAO,CACL0jB,UAAW,gBAIhB,CACD1b,GAAI,mBACJlH,KAAM,SACNk1E,MAAO,CACLh2E,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,sBAGburE,MAAO,GAETzoE,OAAO,IAAA6zD,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,gCAGbhE,UAnVyB,SAA8B/M,GACvD,IAAIpB,GAAQ,QAAS,GAAIoB,GAEzB,OAAoB,gBAAoB2wF,GAAeluF,OAAOC,OAAO,GAAI9D,EAAO,CAC9E+wF,WAAW,EACXplF,UAAU,MA+UZujB,QAAS,CAAC,SAAU,UAAW,YAAa,OAAQ,gBACpD8tD,WAAY,GACZzuE,OAAQ,CAAC,CACPL,KAAM,SACN3F,KAAM,gBACNipC,aAAc,SACd/pC,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cAGZ,CACDjE,KAAM,QACN3F,KAAM,SACN6gE,cAAc,EACd3hE,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGZ,CACDjE,KAAM,WACN3F,KAAM,MACNipC,aAAc,QACd3pC,OAAQ,CAAC,QAAS,WAClBJ,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,iBAGZ,CACDjE,KAAM,QACN3F,KAAM,eACNshE,QAAQ,EACRphE,MAAO,CACL0iB,UAAW,YAEb1jB,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGZ,CACDjE,KAAM,OACN3F,KAAM,eACNE,MAAO,CACL0iB,UAAW,QAEb1jB,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,YAGZ,CACDjE,KAAM,aACN3F,KAAM,aACNd,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,kBAGZ,CACDjE,KAAM,eACN3F,KAAM,iBACNE,MAAO,CACLhB,MAAO,CACL0jB,UAAW,gBAIhB,CACD1b,GAAI,eACJlH,KAAM,SACNk1E,MAAO,CACLh2E,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGburE,MAAO,GAETzoE,OAAO,IAAA6zD,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,wBAGbhE,UAjbsB,SAA2B/M,GACjD,IAAIpB,GAAQ,QAAS,GAAIoB,GAEzB,OAAoB,gBAAoB2wF,GAAeluF,OAAOC,OAAO,GAAI9D,EAAO,CAC9EgxF,YAAY,MA8ad9hE,QAAS,CAAC,SAAU,UAAW,OAAQ,gBACvC8tD,WAAY,GACZzuE,OAAQ,CAAC,CACPL,KAAM,SACN3F,KAAM,gBACNipC,aAAc,SACd/pC,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cAGZ,CACDjE,KAAM,QACN3F,KAAM,SACNd,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,aAGZ,CACDjE,KAAM,WACN3F,KAAM,MACNipC,aAAc,QACd3pC,OAAQ,CAAC,QAAS,WAClBJ,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,iBAGZ,CACDjE,KAAM,SACN3F,KAAM,eACNE,MAAO,CACL0iB,UAAW,QAEb1jB,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,cAGZ,CACDjE,KAAM,aACN3F,KAAM,aACNd,OAAO,IAAAqhE,eAAc,CACnBr5D,GAAI,SACJ0C,eAAgB,CAAC,CACf,KAAQ,EACR,MAAS,kBAGZ,CACDjE,KAAM,eACN3F,KAAM,iBACNE,MAAO,CACLhB,MAAO,CACL0jB,UAAW,iB,iCC5yBfonE,GAAW,CAAC,CACdC,YAAa,WACbC,QAAS,CAAC,CACR57E,MAAO,aAER,CACD27E,YAAa,cACbC,QAAS,CAAC,CACRC,WAAY,SAEb,CACDF,YAAa,mBACbC,QAAS,CAAC,CACR57E,MAAO,aAER,CACD27E,YAAa,qBACbC,QAAS,CAAC,CACR57E,MAAO,aAER,CACD87E,YAAa,6BACbF,QAAS,CAAC,CACRC,WAAY,SAEb,CACDC,YAAa,6BACbH,YAAa,mBACbC,QAAS,CAAC,CACR57E,MAAO,aAER,CACD87E,YAAa,8BACbF,QAAS,CAAC,CACRC,WAAY,SAEb,CACDC,YAAa,MACbH,YAAa,WACbC,QAAS,CAAC,CACR57E,MAAO,aAER,CACD87E,YAAa,MACbH,YAAa,cACbC,QAAS,CAAC,CACRC,WAAY,SAEb,CACDC,YAAa,MACbH,YAAa,mBACbC,QAAS,CAAC,CACR57E,MAAO,aAER,CACD87E,YAAa,eACbF,QAAS,CAAC,CACRC,WAAY,SAEb,CACDC,YAAa,WACbH,YAAa,WACbC,QAAS,CAAC,CACR57E,MAAO,aAER,CACD87E,YAAa,WACbH,YAAa,mBACbC,QAAS,CAAC,CACR57E,MAAO,aAER,CACD87E,YAAa,OACbH,YAAa,WACbC,QAAS,CAAC,CACR57E,MAAO,aAER,CACD87E,YAAa,OACbH,YAAa,SACbC,QAAS,CAAC,CACRC,WAAY,SAEb,CACDC,YAAa,OACbH,YAAa,cACbC,QAAS,CAAC,CACRC,WAAY,SAEb,CACDC,YAAa,gBACbH,YAAa,SACbC,QAAS,CAAC,CACRC,WAAY,SAEb,CACDC,YAAa,gBACbH,YAAa,mBACbC,QAAS,CAAC,CACR57E,MAAO,aAER,CACD87E,YAAa,eACbH,YAAa,WACbC,QAAS,CAAC,CACR57E,MAAO,aAER,CACD87E,YAAa,eACbH,YAAa,SACbC,QAAS,CAAC,CACRC,WAAY,SAEb,CACDC,YAAa,eACbH,YAAa,mBACbC,QAAS,CAAC,CACR57E,MAAO,aAER,CACD87E,YAAa,aACbF,QAAS,CAAC,CACRC,WAAY,SAEb,CACDC,YAAa,aACbH,YAAa,mBACbC,QAAS,CAAC,CACR57E,MAAO,aAER,CACD87E,YAAa,UACbF,QAAS,CAAC,CACRC,WAAY,SAEb,CACDC,YAAa,eACbH,YAAa,WACbC,QAAS,CAAC,CACR57E,MAAO,aAER,CACD87E,YAAa,kBACbH,YAAa,WACbC,QAAS,CAAC,CACR57E,MAAO,aAER,CACD87E,YAAa,QACbH,YAAa,WACbC,QAAS,CAAC,CACR57E,MAAO,aAER,CACD87E,YAAa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","sources":["index.js","public-path.js","../../../elements/scroll/es/index.js","../../core/lib/components.js","../../core/lib/contexts.js","../../core/lib/hooks.js","../../core/lib/index.js","../../core/lib/utils.js","../../fields/lib/manager.js","../../intl/lib/index.js","../../../elements/audio/es/index.js","../../../elements/closed-captions/es/index.js","../../../elements/media-controls/es/index.js","../../../elements/video/es/index.js","../../../elements/background/es/index.js","../../../elements/container/es/index.js","../../../elements/stack/es/index.js","../../../elements/layout/es/index.js","../../../elements/text/es/index.js","../../../elements/call-to-action/es/index.js","../../../screens/audio/es/index.js","../../data/es/index.js","../../../elements/button/es/index.js","../../../elements/heading/es/index.js","../../../elements/text-input/es/index.js","../../../screens/contribution/es/index.js","../../../elements/image/es/index.js","../../../elements/visual/es/index.js","../../../screens/conversation/es/index.js","../../../elements/grid/es/index.js","../../../screens/gallery/es/index.js","../../../screens/gallery-feed/es/index.js","../../../screens/image/es/index.js","../../../elements/map/es/index.js","../../../screens/map/es/index.js","../../../screens/quiz/es/index.js","../../../elements/quote/es/index.js","../../../screens/quote/es/index.js","../../../screens/ranking/es/index.js","../../../screens/slideshow/es/index.js","../../../screens/survey/es/index.js","../../../screens/text/es/index.js","../../../screens/timeline/es/index.js","../../../screens/title/es/index.js","../../../screens/video/es/index.js","../../../screens/video-360/es/index.js","../../screens/es/index.js","../../transforms/lib/apple-news.js","../../transforms/lib/utils.js","../../viewer/lib/index.js"],"sourcesContent":["/* eslint-disable import/no-extraneous-dependencies */\n// organize-imports-ignore\nimport './public-path';\nimport Viewer from '@micromag/viewer';\nimport React from 'react';\nimport { render } from 'react-dom';\nimport '@micromag/viewer/scss/styles';\nimport './index.css';\n\nconst initialStory = typeof window.MICROMAG_STORY !== 'undefined' ? window.MICROMAG_STORY : null;\nconst initialProps =\n typeof window.MICROMAG_VIEWER_PROPS !== 'undefined' ? window.MICROMAG_VIEWER_PROPS : null;\nconst rootElementId =\n typeof window.MICROMAG_ROOT_ELEMENT_ID !== 'undefined'\n ? window.MICROMAG_ROOT_ELEMENT_ID\n : 'root';\nconst defaultRootElement =\n typeof window.MICROMAG_ROOT_ELEMENT !== 'undefined'\n ? window.MICROMAG_ROOT_ELEMENT\n : document.getElementById(rootElementId);\nconst renderStoryFnc =\n typeof window.MICROMAG_RENDER_STORY_FNC !== 'undefined'\n ? window.MICROMAG_RENDER_STORY_FNC\n : 'renderStory';\n\nconst renderStory = (story, props = {}, root = defaultRootElement) => {\n render(\n React.createElement(Viewer, {\n ...props,\n story,\n }),\n root,\n );\n};\n\nif (initialStory !== null) {\n renderStory(initialStory, initialProps);\n}\n\nif (renderStoryFnc !== null) {\n window[renderStoryFnc] = renderStory;\n}\n","/* eslint-disable */\n__webpack_public_path__ =\n typeof window.MICROMAG_PUBLIC_PATH !== 'undefined' ? window.MICROMAG_PUBLIC_PATH : '/';\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport { faArrowDown } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { useResizeObserver } from '@micromag/core/hooks';\nimport { useScroll } from '@use-gesture/react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useState, useRef, useEffect } from 'react';\n\nvar styles = {\"container\":\"micromag-element-scroll-container\",\"withScroll\":\"micromag-element-scroll-withScroll\",\"scrollable\":\"micromag-element-scroll-scrollable\",\"arrowContainer\":\"micromag-element-scroll-arrowContainer\",\"arrow\":\"micromag-element-scroll-arrow\",\"upAndDown\":\"micromag-element-scroll-upAndDown\",\"containOverscroll\":\"micromag-element-scroll-containOverscroll\",\"top\":\"micromag-element-scroll-top\",\"scrollee\":\"micromag-element-scroll-scrollee\",\"middle\":\"micromag-element-scroll-middle\",\"bottom\":\"micromag-element-scroll-bottom\",\"withArrow\":\"micromag-element-scroll-withArrow\"};\n\nvar propTypes = {\n width: PropTypes.number,\n height: PropTypes.number,\n disabled: PropTypes.bool,\n verticalAlign: PropTypes.oneOf(['top', 'middle', 'bottom']),\n className: PropTypes.string,\n children: PropTypes.node,\n onScrolledBottom: PropTypes.func,\n onScrolledNotBottom: PropTypes.func,\n contain: PropTypes.bool,\n scrollContainerRef: PropTypes.any // eslint-disable-line\n\n};\nvar defaultProps = {\n width: null,\n height: null,\n disabled: false,\n verticalAlign: null,\n className: null,\n children: null,\n onScrolledBottom: null,\n onScrolledNotBottom: null,\n contain: false,\n scrollContainerRef: null\n};\n\nfunction Scroll(_ref) {\n var _ref5;\n\n var width = _ref.width,\n height = _ref.height,\n disabled = _ref.disabled,\n verticalAlign = _ref.verticalAlign,\n className = _ref.className,\n children = _ref.children,\n onScrolledBottom = _ref.onScrolledBottom,\n onScrolledNotBottom = _ref.onScrolledNotBottom,\n contain = _ref.contain,\n scrollContainerRef = _ref.scrollContainerRef;\n var finalStyle = {\n width: width,\n height: height\n };\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n withArrow = _useState2[0],\n setWithArrow = _useState2[1];\n\n var _useResizeObserver = useResizeObserver(),\n scrollableRef = _useResizeObserver.ref,\n scrollableRect = _useResizeObserver.entry.contentRect;\n\n var _ref2 = scrollableRect || {},\n scrollableHeight = _ref2.height;\n\n if (scrollContainerRef !== null) {\n scrollContainerRef.current = scrollableRef.current; // eslint-disable-line\n }\n\n var _useResizeObserver2 = useResizeObserver(),\n scrolleeRef = _useResizeObserver2.ref,\n scrolleeRect = _useResizeObserver2.entry.contentRect;\n\n var _ref3 = scrolleeRect || {},\n scrolleeHeight = _ref3.height;\n\n var scrolledBottomOnce = useRef(false);\n var scrolledNotBottomOnce = useRef(false);\n var reachedBottom = useRef(false);\n var bind = useScroll(function (_ref4) {\n var _ref4$xy = _slicedToArray(_ref4.xy, 2),\n scrollY = _ref4$xy[1];\n\n var newWithArrow = scrollY <= 1;\n var maxScrollAmount = scrolleeHeight - scrollableHeight;\n var nowReachedBottom = scrollY + 1 >= maxScrollAmount;\n\n if (nowReachedBottom) {\n if (!reachedBottom.current) {\n if (onScrolledBottom !== null) {\n onScrolledBottom({\n initial: !scrolledBottomOnce.current\n });\n }\n\n scrolledBottomOnce.current = true;\n }\n } else if (reachedBottom.current) {\n if (onScrolledNotBottom !== null) {\n onScrolledNotBottom({\n initial: !scrolledNotBottomOnce.current\n });\n }\n\n scrolledNotBottomOnce.current = true;\n }\n\n if (newWithArrow !== withArrow) {\n setWithArrow(newWithArrow);\n }\n\n reachedBottom.current = nowReachedBottom;\n }, {\n enabled: !disabled\n }); // need to call scrolled callbacks on initial render also\n\n useEffect(function () {\n if (scrolleeHeight > 0 && scrollableHeight > 0 && !disabled) {\n setWithArrow(Math.round(scrolleeHeight) > Math.round(scrollableHeight));\n var maxScrollAmount = scrolleeHeight - scrollableHeight;\n var nowReachedBottom = scrollableRef.current.scrollTop + 1 >= maxScrollAmount;\n\n if (nowReachedBottom) {\n if (onScrolledBottom !== null) {\n onScrolledBottom({\n initial: false\n });\n }\n } else if (onScrolledNotBottom !== null) {\n onScrolledNotBottom({\n initial: false\n });\n }\n }\n }, [scrollableHeight, scrolleeHeight, setWithArrow, disabled]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref5 = {}, _defineProperty(_ref5, styles.withScroll, !disabled), _defineProperty(_ref5, styles.containOverscroll, contain), _defineProperty(_ref5, className, className !== null), _defineProperty(_ref5, styles[verticalAlign], verticalAlign !== null), _defineProperty(_ref5, styles.withArrow, withArrow), _ref5)]),\n style: finalStyle\n }, /*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: styles.scrollable,\n ref: scrollableRef\n }, bind()), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.scrollee,\n ref: scrolleeRef\n }, children)), !disabled ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.arrowContainer\n }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {\n className: styles.arrow,\n icon: faArrowDown\n })) : null);\n}\n\nScroll.propTypes = propTypes;\nScroll.defaultProps = defaultProps;\nvar Scroll$1 = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(Scroll, Object.assign({\n scrollContainerRef: ref\n }, props));\n});\n\nexport { Scroll$1 as default };\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar _defineProperty = require('@babel/runtime/helpers/defineProperty');\nvar _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');\nvar React = require('react');\nvar PropTypes = require('prop-types');\nvar classNames = require('classnames');\nvar reactRouterDom = require('react-router-dom');\nvar core = require('@micromag/core');\nvar reactIntl = require('react-intl');\nvar utils = require('@micromag/core/utils');\nvar reactFontawesome = require('@fortawesome/react-fontawesome');\nvar freeSolidSvgIcons = require('@fortawesome/free-solid-svg-icons');\nvar _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');\nvar _slicedToArray = require('@babel/runtime/helpers/slicedToArray');\nvar hooks = require('@micromag/core/hooks');\nvar contexts = require('@micromag/core/contexts');\nvar _objectSpread = require('@babel/runtime/helpers/objectSpread2');\nvar get = require('lodash/get');\nvar ReactDOM = require('react-dom');\nvar isArray = require('lodash/isArray');\nvar react = require('@uppy/react');\nvar dayjs = require('dayjs');\nvar throttle = require('lodash/throttle');\nvar isObject = require('lodash/isObject');\nvar reactHelmet = require('react-helmet');\nvar isString = require('lodash/isString');\nrequire('snake-case');\nvar isNumber = require('lodash/isNumber');\nvar core$1 = require('@react-spring/core');\nvar web = require('@react-spring/web');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);\nvar _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);\nvar React__default = /*#__PURE__*/_interopDefaultLegacy(React);\nvar PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);\nvar classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);\nvar _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);\nvar _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);\nvar _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);\nvar get__default = /*#__PURE__*/_interopDefaultLegacy(get);\nvar ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);\nvar isArray__default = /*#__PURE__*/_interopDefaultLegacy(isArray);\nvar dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);\nvar throttle__default = /*#__PURE__*/_interopDefaultLegacy(throttle);\nvar isObject__default = /*#__PURE__*/_interopDefaultLegacy(isObject);\nvar isString__default = /*#__PURE__*/_interopDefaultLegacy(isString);\nvar isNumber__default = /*#__PURE__*/_interopDefaultLegacy(isNumber);\n\n/* eslint-disable react/jsx-props-no-spreading */\nvar propTypes$J = {\n children: core.PropTypes.label.isRequired,\n isHtml: PropTypes__default[\"default\"].bool,\n values: PropTypes__default[\"default\"].object // eslint-disable-line react/forbid-prop-types\n\n};\nvar defaultProps$J = {\n isHtml: false,\n values: {}\n};\n\nvar Label = function Label(_ref) {\n var children = _ref.children,\n isHtml = _ref.isHtml,\n values = _ref.values;\n var Message = isHtml ? reactIntl.FormattedMessage : reactIntl.FormattedMessage;\n return utils.isMessage(children) ? /*#__PURE__*/React__default[\"default\"].createElement(Message, Object.assign({\n values: values\n }, children)) : children;\n};\n\nLabel.propTypes = propTypes$J;\nLabel.defaultProps = defaultProps$J;\n\nvar styles$s = {\"container\":\"micromag-core-buttons-button-container\",\"asLink\":\"micromag-core-buttons-button-asLink\",\"withoutStyle\":\"micromag-core-buttons-button-withoutStyle\",\"icon\":\"micromag-core-buttons-button-icon\",\"withIcon\":\"micromag-core-buttons-button-withIcon\",\"label\":\"micromag-core-buttons-button-label\",\"right\":\"micromag-core-buttons-button-right\",\"withIconColumns\":\"micromag-core-buttons-button-withIconColumns\",\"linkDisabled\":\"micromag-core-buttons-button-linkDisabled\"};\n\nvar _excluded$8 = [\"type\", \"theme\", \"size\", \"href\", \"external\", \"direct\", \"target\", \"label\", \"children\", \"focusable\", \"active\", \"icon\", \"iconPosition\", \"disabled\", \"loading\", \"disableOnLoading\", \"small\", \"big\", \"withShadow\", \"withoutStyle\", \"withoutTheme\", \"asLink\", \"outline\", \"onClick\", \"className\", \"iconClassName\", \"labelClassName\", \"refButton\"];\nvar propTypes$I = {\n type: PropTypes__default[\"default\"].string,\n theme: core.PropTypes.buttonTheme,\n size: core.PropTypes.buttonSize,\n href: PropTypes__default[\"default\"].string,\n external: PropTypes__default[\"default\"].bool,\n direct: PropTypes__default[\"default\"].bool,\n target: PropTypes__default[\"default\"].string,\n label: core.PropTypes.label,\n children: core.PropTypes.label,\n focusable: PropTypes__default[\"default\"].bool,\n active: PropTypes__default[\"default\"].bool,\n icon: PropTypes__default[\"default\"].node,\n iconPosition: PropTypes__default[\"default\"].oneOf(['left', 'right', 'inline']),\n disabled: PropTypes__default[\"default\"].bool,\n loading: PropTypes__default[\"default\"].bool,\n disableOnLoading: PropTypes__default[\"default\"].bool,\n small: PropTypes__default[\"default\"].bool,\n big: PropTypes__default[\"default\"].bool,\n withShadow: PropTypes__default[\"default\"].bool,\n withoutStyle: PropTypes__default[\"default\"].bool,\n withoutTheme: PropTypes__default[\"default\"].bool,\n outline: PropTypes__default[\"default\"].bool,\n asLink: PropTypes__default[\"default\"].bool,\n className: PropTypes__default[\"default\"].string,\n iconClassName: PropTypes__default[\"default\"].string,\n labelClassName: PropTypes__default[\"default\"].string,\n onClick: PropTypes__default[\"default\"].func,\n refButton: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].func, PropTypes__default[\"default\"].shape({\n current: PropTypes__default[\"default\"].any // eslint-disable-line\n\n })])\n};\nvar defaultProps$I = {\n type: 'button',\n theme: null,\n size: null,\n href: null,\n external: false,\n direct: false,\n target: '_blank',\n label: null,\n children: null,\n focusable: true,\n active: false,\n icon: null,\n iconPosition: 'inline',\n disabled: false,\n loading: false,\n disableOnLoading: true,\n small: false,\n big: false,\n withShadow: false,\n withoutStyle: false,\n withoutTheme: false,\n outline: false,\n asLink: false,\n className: null,\n iconClassName: null,\n labelClassName: null,\n onClick: null,\n refButton: null\n};\n\nvar Button$1 = function Button(_ref) {\n var _ref7, _ref8;\n\n var type = _ref.type,\n theme = _ref.theme,\n size = _ref.size,\n href = _ref.href,\n external = _ref.external,\n direct = _ref.direct,\n target = _ref.target,\n label = _ref.label,\n children = _ref.children,\n focusable = _ref.focusable,\n active = _ref.active,\n icon = _ref.icon,\n iconPosition = _ref.iconPosition,\n disabled = _ref.disabled,\n loading = _ref.loading,\n disableOnLoading = _ref.disableOnLoading,\n small = _ref.small,\n big = _ref.big,\n withShadow = _ref.withShadow,\n withoutStyle = _ref.withoutStyle,\n withoutTheme = _ref.withoutTheme,\n asLink = _ref.asLink,\n outline = _ref.outline,\n onClick = _ref.onClick,\n className = _ref.className,\n iconClassName = _ref.iconClassName,\n labelClassName = _ref.labelClassName,\n refButton = _ref.refButton,\n props = _objectWithoutProperties__default[\"default\"](_ref, _excluded$8);\n\n var finalLabel = label || children;\n var text = finalLabel !== null ? /*#__PURE__*/React__default[\"default\"].createElement(Label, null, finalLabel) : null;\n var hasChildren = label !== null && children !== null;\n var hasIcon = icon !== null;\n var hasInlineIcon = hasIcon && (iconPosition === 'inline' || text === null);\n var hasIconColumns = hasIcon && !hasInlineIcon;\n var content = /*#__PURE__*/React__default[\"default\"].createElement(React__default[\"default\"].Fragment, null, hasInlineIcon ? /*#__PURE__*/React__default[\"default\"].createElement(React__default[\"default\"].Fragment, null, /*#__PURE__*/React__default[\"default\"].createElement(\"span\", {\n className: classNames__default[\"default\"]([styles$s.icon, _defineProperty__default[\"default\"]({}, iconClassName, iconClassName !== null)])\n }, icon), text !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"span\", {\n className: classNames__default[\"default\"]([styles$s.label, _defineProperty__default[\"default\"]({}, labelClassName, labelClassName !== null)])\n }, text) : null) : null, hasIconColumns ? /*#__PURE__*/React__default[\"default\"].createElement(React__default[\"default\"].Fragment, null, /*#__PURE__*/React__default[\"default\"].createElement(\"span\", {\n className: classNames__default[\"default\"]([styles$s.left, _defineProperty__default[\"default\"]({}, iconClassName, iconClassName !== null && iconPosition === 'left')])\n }, iconPosition === 'left' ? icon : null), /*#__PURE__*/React__default[\"default\"].createElement(\"span\", {\n className: classNames__default[\"default\"]([styles$s.center, _defineProperty__default[\"default\"]({}, labelClassName, labelClassName !== null)])\n }, text), /*#__PURE__*/React__default[\"default\"].createElement(\"span\", {\n className: classNames__default[\"default\"]([styles$s.right, _defineProperty__default[\"default\"]({}, iconClassName, iconClassName !== null && iconPosition === 'right')])\n }, iconPosition === 'right' ? icon : null), hasChildren ? children : null) : null, !hasIcon ? text : null, hasChildren ? children : null);\n var withStyle = !withoutTheme && !withoutStyle && !asLink;\n var buttonClassNames = classNames__default[\"default\"]([(_ref7 = {\n btn: withStyle\n }, _defineProperty__default[\"default\"](_ref7, \"btn-\".concat(outline ? 'outline-' : '').concat(theme), withStyle && theme !== null), _defineProperty__default[\"default\"](_ref7, \"btn-\".concat(size), withStyle && size !== null), _defineProperty__default[\"default\"](_ref7, \"active\", !withoutStyle && active), _ref7), styles$s.container, (_ref8 = {}, _defineProperty__default[\"default\"](_ref8, styles$s.withoutStyle, withoutStyle), _defineProperty__default[\"default\"](_ref8, styles$s.withIcon, hasIcon), _defineProperty__default[\"default\"](_ref8, styles$s.withIconColumns, hasIconColumns), _defineProperty__default[\"default\"](_ref8, styles$s.withText, text !== null), _defineProperty__default[\"default\"](_ref8, styles$s.withShadow, withShadow), _defineProperty__default[\"default\"](_ref8, styles$s.isSmall, small), _defineProperty__default[\"default\"](_ref8, styles$s.isBig, big), _defineProperty__default[\"default\"](_ref8, styles$s.isLink, href !== null), _defineProperty__default[\"default\"](_ref8, styles$s.asLink, asLink), _defineProperty__default[\"default\"](_ref8, styles$s.isDisabled, disabled), _defineProperty__default[\"default\"](_ref8, styles$s.isLoading, loading), _defineProperty__default[\"default\"](_ref8, className, className !== null), _ref8)]);\n\n if (href !== null) {\n var linkClassNames = classNames__default[\"default\"]([buttonClassNames, _defineProperty__default[\"default\"]({\n disabled: disabled\n }, styles$s.linkDisabled, disabled)]);\n return external || direct ? /*#__PURE__*/React__default[\"default\"].createElement(\"a\", Object.assign({}, props, {\n href: disabled ? null : href,\n className: linkClassNames,\n onClick: onClick,\n target: external ? target : null,\n ref: refButton,\n tabIndex: focusable ? '' : '-1'\n }), content) : /*#__PURE__*/React__default[\"default\"].createElement(reactRouterDom.Link, {\n to: href,\n className: linkClassNames,\n onClick: onClick,\n ref: refButton,\n tabIndex: focusable ? '' : '-1'\n }, content);\n }\n\n return /*#__PURE__*/React__default[\"default\"].createElement(\"button\", Object.assign({}, props, {\n type: type,\n className: buttonClassNames,\n onClick: onClick,\n disabled: disabled || disableOnLoading && loading,\n ref: refButton,\n tabIndex: focusable ? '0' : '-1'\n }), content);\n};\n\nButton$1.propTypes = propTypes$I;\nButton$1.defaultProps = defaultProps$I;\n\nvar styles$r = {};\n\nvar _excluded$7 = [\"className\", \"onClick\", \"theme\"];\nvar propTypes$H = {\n buttons: core.PropTypes.buttons,\n size: core.PropTypes.buttonSize,\n theme: core.PropTypes.buttonTheme,\n renderButton: PropTypes__default[\"default\"].func,\n onClickButton: PropTypes__default[\"default\"].func,\n className: PropTypes__default[\"default\"].string,\n buttonClassName: PropTypes__default[\"default\"].string\n};\nvar defaultProps$H = {\n buttons: [],\n size: null,\n theme: undefined,\n renderButton: null,\n onClickButton: null,\n className: null,\n buttonClassName: null\n};\n\nvar Buttons = function Buttons(_ref) {\n var buttons = _ref.buttons,\n size = _ref.size,\n theme = _ref.theme,\n renderButton = _ref.renderButton,\n onClickButton = _ref.onClickButton,\n buttonClassName = _ref.buttonClassName,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](['btn-group', _defineProperty__default[\"default\"]({}, \"btn-group-\".concat(size), size !== null), styles$r.container, _defineProperty__default[\"default\"]({}, className, className !== null)]),\n role: \"group\"\n }, buttons.map(function (button, index) {\n var _ref4;\n\n var _button$className = button.className,\n customClassName = _button$className === void 0 ? null : _button$className,\n _button$onClick = button.onClick,\n _onClick = _button$onClick === void 0 ? null : _button$onClick,\n _button$theme = button.theme,\n buttonTheme = _button$theme === void 0 ? null : _button$theme,\n buttonProps = _objectWithoutProperties__default[\"default\"](button, _excluded$7);\n\n var fixedProps = {\n key: \"button-\".concat(index),\n className: classNames__default[\"default\"]([styles$r.button, (_ref4 = {}, _defineProperty__default[\"default\"](_ref4, buttonClassName, buttonClassName !== null), _defineProperty__default[\"default\"](_ref4, customClassName, customClassName !== null), _ref4)]),\n onClick: function onClick(e) {\n if (_onClick !== null) {\n _onClick(e, button, index);\n }\n\n if (onClickButton !== null) {\n onClickButton(e, button, index);\n }\n },\n theme: buttonTheme || theme\n };\n return renderButton !== null ? renderButton(button, index, fixedProps) : /*#__PURE__*/React__default[\"default\"].createElement(Button$1, Object.assign({}, fixedProps, buttonProps));\n }));\n};\n\nButtons.propTypes = propTypes$H;\nButtons.defaultProps = defaultProps$H;\n\nvar _excluded$6 = [\"className\"];\nvar propTypes$G = {\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$G = {\n className: null\n};\n\nvar BackButton = function BackButton(_ref) {\n var className = _ref.className,\n props = _objectWithoutProperties__default[\"default\"](_ref, _excluded$6);\n\n return /*#__PURE__*/React__default[\"default\"].createElement(Button$1, Object.assign({\n className: classNames__default[\"default\"](['px-2', _defineProperty__default[\"default\"]({}, className, className)]),\n size: \"sm\",\n icon: /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: freeSolidSvgIcons.faAngleLeft,\n size: \"lg\"\n })\n }, props));\n};\n\nBackButton.propTypes = propTypes$G;\nBackButton.defaultProps = defaultProps$G;\n\nvar _excluded$5 = [\"type\"],\n _excluded2 = [\"component\", \"id\", \"settings\"];\nvar propTypes$F = {\n name: PropTypes__default[\"default\"].string,\n // .isRequired,\n value: core.PropTypes.component,\n form: PropTypes__default[\"default\"].string,\n formComponents: core.PropTypes.components,\n fields: core.PropTypes.fields,\n className: PropTypes__default[\"default\"].string,\n onChange: PropTypes__default[\"default\"].func,\n gotoFieldForm: PropTypes__default[\"default\"].func.isRequired,\n closeFieldForm: PropTypes__default[\"default\"].func.isRequired,\n fieldContext: PropTypes__default[\"default\"].any // eslint-disable-line react/forbid-prop-types\n\n};\nvar defaultProps$F = {\n name: null,\n form: null,\n formComponents: {},\n fields: [],\n value: null,\n className: null,\n onChange: null,\n fieldContext: null\n};\n\nvar FieldForm = function FieldForm(_ref) {\n var name = _ref.name,\n value = _ref.value,\n form = _ref.form,\n formComponents = _ref.formComponents,\n fields = _ref.fields,\n className = _ref.className,\n onChange = _ref.onChange,\n gotoFieldForm = _ref.gotoFieldForm,\n closeFieldForm = _ref.closeFieldForm,\n fieldContext = _ref.fieldContext;\n var fieldsManager = contexts.useFieldsManager();\n var field = utils.getFieldFromPath(name.split('.'), fields, fieldsManager);\n\n var _ref2 = field || {},\n _ref2$type = _ref2.type,\n type = _ref2$type === void 0 ? null : _ref2$type,\n fieldProps = _objectWithoutProperties__default[\"default\"](_ref2, _excluded$5);\n\n var _ref3 = (type !== null ? fieldsManager.getDefinition(type) || null : null) || _objectSpread__default[\"default\"]({}, field),\n _ref3$component = _ref3.component,\n fieldComponent = _ref3$component === void 0 ? null : _ref3$component;\n _ref3.id;\n _ref3.settings;\n var definitionProps = _objectWithoutProperties__default[\"default\"](_ref3, _excluded2);\n\n var FieldComponent = contexts.useFieldComponent(fieldComponent);\n var fieldValue = get__default[\"default\"](value, name, null);\n var onFieldChange = React.useCallback(function (newFieldValue) {\n // const { name, fields: subFields = null } = field || {};\n var newValue = utils.setFieldValue(value, name.split('.'), newFieldValue // field === null || subFields !== null ? newFieldValue : newFieldValue[name],\n );\n\n if (onChange !== null) {\n onChange(newValue);\n }\n }, [value, name, onChange]);\n var closeForm = React.useCallback(function () {\n return closeFieldForm(name, form);\n }, [name, form, closeFieldForm]);\n var formProps = {\n name: name,\n value: fieldValue,\n onChange: onFieldChange,\n gotoFieldForm: gotoFieldForm,\n closeFieldForm: closeFieldForm,\n closeForm: closeForm\n };\n\n if (form !== null) {\n var FormComponent = utils.getComponentFromName(form, formComponents);\n return FormComponent !== null ? /*#__PURE__*/React__default[\"default\"].createElement(contexts.FieldContextProvider, {\n context: fieldContext\n }, /*#__PURE__*/React__default[\"default\"].createElement(FormComponent, Object.assign({\n field: field\n }, formProps, {\n className: className\n }))) : null;\n } // Use field component with isForm props\n\n\n return FieldComponent !== null ? /*#__PURE__*/React__default[\"default\"].createElement(contexts.FieldContextProvider, {\n context: fieldContext\n }, /*#__PURE__*/React__default[\"default\"].createElement(FieldComponent, Object.assign({\n className: className\n }, definitionProps, fieldProps, {\n isForm: true\n }, formProps))) : null;\n};\n\nFieldForm.propTypes = propTypes$F;\nFieldForm.defaultProps = defaultProps$F;\n\nvar styles$q = {\"actions\":\"micromag-core-forms-form-actions\",\"left\":\"micromag-core-forms-form-left\",\"right\":\"micromag-core-forms-form-right\"};\n\nvar propTypes$E = {\n action: PropTypes__default[\"default\"].string.isRequired,\n method: PropTypes__default[\"default\"].string,\n fields: core.PropTypes.formFields,\n initialValue: PropTypes__default[\"default\"].object,\n // eslint-disable-line react/forbid-prop-types\n postForm: PropTypes__default[\"default\"].func,\n submitButtonLabel: core.PropTypes.label,\n submitButtonLoadingLabel: core.PropTypes.label,\n buttons: core.PropTypes.buttons,\n children: PropTypes__default[\"default\"].node,\n actionsAlign: PropTypes__default[\"default\"].oneOf(['left', 'right']),\n withoutActions: PropTypes__default[\"default\"].bool,\n withoutComplete: PropTypes__default[\"default\"].bool,\n withoutBackButton: PropTypes__default[\"default\"].bool,\n onComplete: PropTypes__default[\"default\"].func,\n onResponse: PropTypes__default[\"default\"].func,\n onMessage: PropTypes__default[\"default\"].func,\n onCancel: PropTypes__default[\"default\"].func,\n onCancelHref: PropTypes__default[\"default\"].string,\n onOpenFieldForm: PropTypes__default[\"default\"].func,\n onCloseFieldForm: PropTypes__default[\"default\"].func,\n className: PropTypes__default[\"default\"].string,\n fieldsClassName: PropTypes__default[\"default\"].string,\n actionsClassName: PropTypes__default[\"default\"].string,\n cancelClassName: PropTypes__default[\"default\"].string\n};\nvar defaultProps$E = {\n method: 'POST',\n fields: [],\n initialValue: null,\n postForm: null,\n submitButtonLabel: /*#__PURE__*/React__default[\"default\"].createElement(reactIntl.FormattedMessage, {\n id: \"ZLDmja\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Submit\"\n }]\n }),\n submitButtonLoadingLabel: null,\n buttons: null,\n children: null,\n actionsAlign: 'left',\n withoutActions: false,\n withoutComplete: false,\n withoutBackButton: false,\n onComplete: null,\n onResponse: null,\n onMessage: null,\n onCancel: null,\n onCancelHref: null,\n onOpenFieldForm: null,\n onCloseFieldForm: null,\n className: null,\n fieldsClassName: null,\n actionsClassName: null,\n cancelClassName: null\n};\n\nvar Form = function Form(_ref) {\n var _ref4;\n\n var action = _ref.action,\n method = _ref.method,\n initialFields = _ref.fields,\n initialValue = _ref.initialValue,\n postForm = _ref.postForm,\n submitButtonLabel = _ref.submitButtonLabel,\n submitButtonLoadingLabel = _ref.submitButtonLoadingLabel,\n buttons = _ref.buttons,\n children = _ref.children,\n actionsAlign = _ref.actionsAlign,\n withoutActions = _ref.withoutActions,\n withoutComplete = _ref.withoutComplete,\n withoutBackButton = _ref.withoutBackButton,\n onComplete = _ref.onComplete,\n onResponse = _ref.onResponse,\n onMessage = _ref.onMessage,\n onCancel = _ref.onCancel,\n onCancelHref = _ref.onCancelHref,\n onOpenFieldForm = _ref.onOpenFieldForm,\n onCloseFieldForm = _ref.onCloseFieldForm,\n className = _ref.className,\n fieldsClassName = _ref.fieldsClassName,\n actionsClassName = _ref.actionsClassName,\n cancelClassName = _ref.cancelClassName;\n\n var _useState = React.useState(false),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n complete = _useState2[0],\n setComplete = _useState2[1];\n\n React.useEffect(function () {\n var id = null;\n\n if (complete) {\n id = setTimeout(function () {\n setComplete(false);\n }, 3000);\n }\n\n return function () {\n clearTimeout(id);\n };\n }, [complete]);\n var onCompleteForm = React.useCallback(function (data) {\n if (onComplete !== null) {\n onComplete(data);\n }\n\n if (!withoutComplete) {\n setComplete(true);\n }\n }, [onComplete, setComplete]);\n\n var _useForm = hooks.useForm({\n value: initialValue,\n action: action,\n fields: initialFields,\n postForm: postForm,\n onComplete: onCompleteForm\n }),\n onSubmit = _useForm.onSubmit,\n fields = _useForm.fields,\n status = _useForm.status,\n value = _useForm.value,\n setValue = _useForm.setValue,\n errors = _useForm.errors,\n response = _useForm.response,\n generalError = _useForm.generalError;\n\n var FieldsComponent = contexts.useFieldComponent('fields');\n\n React.useEffect(function () {\n if (onResponse !== null) {\n onResponse(response);\n\n if (onMessage !== null && response && response.message) {\n onMessage(response.message);\n }\n }\n }, [response, onResponse, onMessage]);\n var canSave = utils.validateFields(fields, value);\n\n var _useState3 = React.useState([]),\n _useState4 = _slicedToArray__default[\"default\"](_useState3, 2),\n fieldPaths = _useState4[0],\n setFieldPaths = _useState4[1];\n\n var gotoFieldForm = React.useCallback(function (field) {\n var formName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var fieldKey = \"\".concat(field).concat(formName !== null ? \":\".concat(formName) : '');\n setFieldPaths([].concat(_toConsumableArray__default[\"default\"](fieldPaths), [fieldKey]));\n\n if (onOpenFieldForm !== null) {\n onOpenFieldForm();\n }\n }, [fieldPaths, setFieldPaths]);\n var closeFieldForm = React.useCallback(function () {\n var newFields = _toConsumableArray__default[\"default\"](fieldPaths);\n\n newFields.pop();\n setFieldPaths(_toConsumableArray__default[\"default\"](newFields));\n\n if (onCloseFieldForm !== null) {\n onCloseFieldForm();\n }\n }, [fieldPaths, setFieldPaths]); // The last path\n\n var fieldParams = fieldPaths.length > 0 ? fieldPaths[fieldPaths.length - 1] : null; // Get transition value\n // const { name: transitionName, timeout: transitionTimeout } = useFormTransition(\n // fieldPaths,\n // styles,\n // );\n\n return /*#__PURE__*/React__default[\"default\"].createElement(\"form\", {\n action: action,\n className: classNames__default[\"default\"]([styles$q.container, _defineProperty__default[\"default\"]({}, className, className !== null)]),\n method: method,\n onSubmit: onSubmit\n }, !withoutBackButton && fields !== null && fields.length > 0 && fieldParams !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: \"mb-2\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(BackButton, {\n theme: \"secondary\",\n outline: true,\n onClick: closeFieldForm\n })) : null, fields && fields.length > 0 && fieldParams !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](['w-100', styles$q.panel]),\n key: \"field\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(FieldForm, {\n name: fieldParams.replace(/\\//g, '.'),\n fields: fields,\n value: value,\n onChange: setValue,\n gotoFieldForm: gotoFieldForm,\n closeFieldForm: closeFieldForm\n })) : null, FieldsComponent && fields !== null && fields.length > 0 && fieldParams === null ? /*#__PURE__*/React__default[\"default\"].createElement(FieldsComponent, {\n fields: fields,\n value: value,\n errors: errors,\n onChange: setValue,\n gotoFieldForm: gotoFieldForm,\n closeFieldForm: closeFieldForm,\n className: classNames__default[\"default\"]([styles$q.fields, _defineProperty__default[\"default\"]({}, fieldsClassName, fieldsClassName !== null)])\n }) : null, generalError ? /*#__PURE__*/React__default[\"default\"].createElement(\"p\", {\n className: \"text-danger my-1\"\n }, generalError) : null, children, !withoutActions && fieldParams === null ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$q.actions, (_ref4 = {}, _defineProperty__default[\"default\"](_ref4, styles$q[actionsAlign], actionsAlign), _defineProperty__default[\"default\"](_ref4, actionsClassName, actionsClassName !== null), _ref4)])\n }, onCancel !== null || onCancelHref !== null ? /*#__PURE__*/React__default[\"default\"].createElement(Button$1, {\n type: \"button\",\n onClick: onCancel,\n href: onCancelHref,\n theme: \"secondary\",\n outline: true,\n disabled: status === 'loading',\n className: classNames__default[\"default\"](['mr-2', _defineProperty__default[\"default\"]({}, cancelClassName, cancelClassName !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactIntl.FormattedMessage, {\n id: \"PyxZY2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Cancel\"\n }]\n })) : null, buttons !== null ? /*#__PURE__*/React__default[\"default\"].createElement(Buttons, {\n buttons: buttons,\n className: styles$q.buttons\n }) : /*#__PURE__*/React__default[\"default\"].createElement(Button$1, {\n type: \"submit\",\n theme: \"primary\",\n disabled: status === 'loading' || !canSave\n }, status === 'loading' ? submitButtonLoadingLabel || submitButtonLabel : submitButtonLabel), complete ? /*#__PURE__*/React__default[\"default\"].createElement(\"p\", {\n className: \"text-success mx-2 my-1\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactIntl.FormattedMessage, {\n id: \"BpZoQZ\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Success\"\n }]\n })) : null) : null);\n};\n\nForm.propTypes = propTypes$E;\nForm.defaultProps = defaultProps$E;\n\nvar styles$p = {\"withoutStyle\":\"micromag-core-partials-link-withoutStyle\"};\n\nvar _excluded$4 = [\"href\", \"external\", \"children\", \"target\", \"rel\", \"className\", \"withoutStyle\"];\nvar propTypes$D = {\n href: PropTypes__default[\"default\"].string,\n external: PropTypes__default[\"default\"].bool,\n target: PropTypes__default[\"default\"].string,\n children: core.PropTypes.label,\n rel: PropTypes__default[\"default\"].string,\n withoutStyle: PropTypes__default[\"default\"].bool,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$D = {\n href: '',\n external: false,\n target: '_blank',\n rel: 'noopener noreferrer',\n children: null,\n withoutStyle: false,\n className: null\n};\n\nvar Link = function Link(_ref) {\n var href = _ref.href,\n external = _ref.external,\n children = _ref.children,\n target = _ref.target,\n rel = _ref.rel,\n className = _ref.className,\n withoutStyle = _ref.withoutStyle,\n props = _objectWithoutProperties__default[\"default\"](_ref, _excluded$4);\n\n return external ? /*#__PURE__*/React__default[\"default\"].createElement(\"a\", Object.assign({\n className: classNames__default[\"default\"]([className, _defineProperty__default[\"default\"]({}, styles$p.withoutStyle, withoutStyle)]),\n href: href,\n target: target,\n rel: rel\n }, props), /*#__PURE__*/React__default[\"default\"].createElement(Label, null, children)) : /*#__PURE__*/React__default[\"default\"].createElement(reactRouterDom.Link, Object.assign({\n className: classNames__default[\"default\"]([className, _defineProperty__default[\"default\"]({}, styles$p.withoutStyle, withoutStyle)]),\n to: href\n }, props), /*#__PURE__*/React__default[\"default\"].createElement(Label, null, children));\n};\n\nLink.propTypes = propTypes$D;\nLink.defaultProps = defaultProps$D;\n\nvar _excluded$3 = [\"label\", \"className\"];\nvar propTypes$C = {\n href: PropTypes__default[\"default\"].string,\n header: PropTypes__default[\"default\"].node,\n image: PropTypes__default[\"default\"].node,\n imageAlt: PropTypes__default[\"default\"].string,\n imageOverlay: PropTypes__default[\"default\"].bool,\n beforeBody: PropTypes__default[\"default\"].node,\n title: core.PropTypes.label,\n subtitle: core.PropTypes.label,\n children: PropTypes__default[\"default\"].node,\n afterBody: PropTypes__default[\"default\"].node,\n links: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].shape({\n label: core.PropTypes.label,\n href: PropTypes__default[\"default\"].string\n })),\n linksInSameBody: PropTypes__default[\"default\"].bool,\n footer: PropTypes__default[\"default\"].node,\n theme: PropTypes__default[\"default\"].oneOf([null, 'dark', 'primary', 'light']),\n className: PropTypes__default[\"default\"].string,\n imageClassName: PropTypes__default[\"default\"].string,\n headerClassName: PropTypes__default[\"default\"].string,\n titleClassName: PropTypes__default[\"default\"].string,\n subtitleClassName: PropTypes__default[\"default\"].string,\n bodyClassName: PropTypes__default[\"default\"].string,\n footerClassName: PropTypes__default[\"default\"].string,\n onClick: PropTypes__default[\"default\"].func,\n onClickBody: PropTypes__default[\"default\"].func,\n onClickFooter: PropTypes__default[\"default\"].func\n};\nvar defaultProps$C = {\n href: null,\n header: null,\n image: null,\n imageAlt: null,\n imageOverlay: false,\n beforeBody: null,\n title: null,\n subtitle: null,\n children: null,\n afterBody: null,\n links: null,\n linksInSameBody: false,\n footer: null,\n theme: null,\n className: null,\n imageClassName: null,\n headerClassName: null,\n titleClassName: null,\n subtitleClassName: null,\n bodyClassName: null,\n footerClassName: null,\n onClick: null,\n onClickBody: null,\n onClickFooter: null\n};\n\nvar Card = function Card(_ref) {\n var _ref10;\n\n var href = _ref.href,\n header = _ref.header,\n image = _ref.image,\n imageAlt = _ref.imageAlt,\n imageOverlay = _ref.imageOverlay,\n beforeBody = _ref.beforeBody,\n title = _ref.title,\n subtitle = _ref.subtitle,\n children = _ref.children,\n afterBody = _ref.afterBody,\n links = _ref.links,\n linksInSameBody = _ref.linksInSameBody,\n footer = _ref.footer,\n theme = _ref.theme,\n className = _ref.className,\n imageClassName = _ref.imageClassName,\n headerClassName = _ref.headerClassName,\n titleClassName = _ref.titleClassName,\n subtitleClassName = _ref.subtitleClassName,\n bodyClassName = _ref.bodyClassName,\n footerClassName = _ref.footerClassName,\n onClick = _ref.onClick,\n onClickBody = _ref.onClickBody,\n onClickFooter = _ref.onClickFooter;\n var linksElements = (links || []).map(function (_ref2, index) {\n var label = _ref2.label,\n _ref2$className = _ref2.className,\n linkClassName = _ref2$className === void 0 ? null : _ref2$className,\n linkProps = _objectWithoutProperties__default[\"default\"](_ref2, _excluded$3);\n\n return /*#__PURE__*/React__default[\"default\"].createElement(Link, Object.assign({\n key: \"link-\".concat(label, \"-\").concat(index),\n className: classNames__default[\"default\"](['card-link', _defineProperty__default[\"default\"]({}, linkClassName, linkClassName !== null)])\n }, linkProps), label);\n });\n var bodyInner = title !== null || subtitle !== null || children !== null || links !== null && linksInSameBody ? /*#__PURE__*/React__default[\"default\"].createElement(React__default[\"default\"].Fragment, null, title !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"h5\", {\n className: classNames__default[\"default\"](['card-title', _defineProperty__default[\"default\"]({}, titleClassName, titleClassName !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(Label, null, title)) : null, subtitle !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"h6\", {\n className: classNames__default[\"default\"](['card-subtitle', _defineProperty__default[\"default\"]({}, subtitleClassName, subtitleClassName !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(Label, null, subtitle)) : null, children, links !== null && linksInSameBody ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: \"d-flex\"\n }, linksElements) : null) : null;\n var cardInner = /*#__PURE__*/React__default[\"default\"].createElement(React__default[\"default\"].Fragment, null, header !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](['card-header', _defineProperty__default[\"default\"]({}, headerClassName, headerClassName !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(Label, null, header)) : null, typeof image === 'string' ? /*#__PURE__*/React__default[\"default\"].createElement(\"img\", {\n src: image,\n alt: imageAlt,\n className: classNames__default[\"default\"](['card-img-top', _defineProperty__default[\"default\"]({}, imageClassName, imageClassName !== null)])\n }) : image, beforeBody, bodyInner !== null ? /*#__PURE__*/React__default[\"default\"].createElement(React__default[\"default\"].Fragment, null, onClickBody !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"button\", {\n type: \"button\",\n className: classNames__default[\"default\"](_defineProperty__default[\"default\"]({\n 'card-body': !imageOverlay,\n 'card-img-overlay': imageOverlay\n }, bodyClassName, bodyClassName !== null)),\n onClick: onClickBody\n }, bodyInner) : /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](_defineProperty__default[\"default\"]({\n 'card-body': !imageOverlay,\n 'card-img-overlay': imageOverlay\n }, bodyClassName, bodyClassName !== null))\n }, bodyInner)) : null, afterBody, links !== null && !linksInSameBody ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: \"card-body\"\n }, linksElements) : null, footer !== null ? /*#__PURE__*/React__default[\"default\"].createElement(React__default[\"default\"].Fragment, null, onClickFooter !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"button\", {\n type: \"button\",\n className: classNames__default[\"default\"](['card-footer', _defineProperty__default[\"default\"]({}, footerClassName, footerClassName !== null)]),\n onClick: onClickFooter\n }, /*#__PURE__*/React__default[\"default\"].createElement(Label, null, footer)) : /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](['card-footer', _defineProperty__default[\"default\"]({}, footerClassName, footerClassName !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(Label, null, footer))) : null);\n var cardClassName = classNames__default[\"default\"](['card', (_ref10 = {}, _defineProperty__default[\"default\"](_ref10, \"bg-\".concat(theme), !imageOverlay && theme !== 'dark'), _defineProperty__default[\"default\"](_ref10, 'bg-dark', imageOverlay || theme === 'dark'), _defineProperty__default[\"default\"](_ref10, 'text-dark', theme === 'light'), _defineProperty__default[\"default\"](_ref10, 'text-light', imageOverlay || theme === 'dark' || theme === 'primary'), _defineProperty__default[\"default\"](_ref10, className, className !== null), _ref10)]);\n\n if (href !== null) {\n return /*#__PURE__*/React__default[\"default\"].createElement(Link, {\n href: href,\n className: cardClassName\n }, cardInner);\n }\n\n if (onClick !== null) {\n return /*#__PURE__*/React__default[\"default\"].createElement(\"button\", {\n type: \"button\",\n className: classNames__default[\"default\"](['p-0', 'text-left', cardClassName]),\n onClick: onClick\n }, cardInner);\n }\n\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: cardClassName\n }, cardInner);\n};\n\nCard.propTypes = propTypes$C;\nCard.defaultProps = defaultProps$C;\n\nvar propTypes$B = {\n animated: PropTypes__default[\"default\"].bool,\n color: PropTypes__default[\"default\"].string,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$B = {\n animated: true,\n color: 'currentColor',\n className: null\n};\n\nvar Spinner = function Spinner(_ref) {\n var animated = _ref.animated,\n color = _ref.color,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(\"svg\", {\n className: classNames__default[\"default\"]([_defineProperty__default[\"default\"]({}, className, className !== null)]),\n width: \"38\",\n height: \"38\",\n viewBox: \"0 0 38 38\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"defs\", null, /*#__PURE__*/React__default[\"default\"].createElement(\"linearGradient\", {\n x1: \"8.042%\",\n y1: \"0%\",\n x2: \"65.682%\",\n y2: \"23.865%\",\n id: \"a\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"stop\", {\n stopColor: color,\n stopOpacity: \"0\",\n offset: \"0%\"\n }), /*#__PURE__*/React__default[\"default\"].createElement(\"stop\", {\n stopColor: color,\n stopOpacity: \".631\",\n offset: \"63.146%\"\n }), /*#__PURE__*/React__default[\"default\"].createElement(\"stop\", {\n stopColor: color,\n offset: \"100%\"\n }))), /*#__PURE__*/React__default[\"default\"].createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"g\", {\n transform: \"translate(1 1)\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"path\", {\n d: \"M36 18c0-9.94-8.06-18-18-18\",\n id: \"Oval-2\",\n stroke: \"url(#a)\",\n strokeWidth: \"2\"\n }, animated ? /*#__PURE__*/React__default[\"default\"].createElement(\"animateTransform\", {\n attributeName: \"transform\",\n type: \"rotate\",\n from: \"0 18 18\",\n to: \"360 18 18\",\n dur: \"0.9s\",\n repeatCount: \"indefinite\"\n }) : null), /*#__PURE__*/React__default[\"default\"].createElement(\"circle\", {\n fill: color,\n cx: \"36\",\n cy: \"18\",\n r: \"1\"\n }, animated ? /*#__PURE__*/React__default[\"default\"].createElement(\"animateTransform\", {\n attributeName: \"transform\",\n type: \"rotate\",\n from: \"0 18 18\",\n to: \"360 18 18\",\n dur: \"0.9s\",\n repeatCount: \"indefinite\"\n }) : null))));\n};\n\nSpinner.propTypes = propTypes$B;\nSpinner.defaultProps = defaultProps$B;\n\nvar styles$o = {};\n\nvar _excluded$2 = [\"description\", \"loading\", \"children\", \"className\"];\nvar propTypes$A = {\n description: PropTypes__default[\"default\"].node,\n loading: PropTypes__default[\"default\"].bool,\n children: PropTypes__default[\"default\"].node,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$A = {\n description: null,\n loading: false,\n children: null,\n className: null\n};\n\nvar FormPanel = function FormPanel(_ref) {\n var description = _ref.description,\n loading = _ref.loading,\n children = _ref.children,\n className = _ref.className,\n props = _objectWithoutProperties__default[\"default\"](_ref, _excluded$2);\n\n return /*#__PURE__*/React__default[\"default\"].createElement(Card, Object.assign({\n className: classNames__default[\"default\"]([styles$o.container, _defineProperty__default[\"default\"]({}, className, className !== null)])\n }, props), description, loading ? /*#__PURE__*/React__default[\"default\"].createElement(Spinner, null) : children);\n};\n\nFormPanel.propTypes = propTypes$A;\nFormPanel.defaultProps = defaultProps$A;\n\nvar styles$n = {\"container\":\"micromag-core-menus-breadcrumb-container\",\"arrow\":\"micromag-core-menus-breadcrumb-arrow\"};\n\nvar propTypes$z = {\n items: core.PropTypes.menuItems,\n theme: core.PropTypes.bootstrapThemes,\n separator: PropTypes__default[\"default\"].oneOf([null, 'arrow']),\n withoutBar: PropTypes__default[\"default\"].bool,\n noWrap: PropTypes__default[\"default\"].bool,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$z = {\n items: [],\n theme: null,\n separator: null,\n withoutBar: false,\n noWrap: false,\n className: null\n};\n\nvar Breadcrumb = function Breadcrumb(_ref) {\n var items = _ref.items,\n theme = _ref.theme,\n separator = _ref.separator,\n withoutBar = _ref.withoutBar,\n noWrap = _ref.noWrap,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(\"nav\", {\n className: className\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"ol\", {\n className: classNames__default[\"default\"]([styles$n.container, 'breadcrumb', 'mb-0', {\n 'p-0': withoutBar,\n 'bg-transparent': withoutBar,\n 'rounded-0': withoutBar,\n 'flex-nowrap': noWrap\n }])\n }, items.map(function (_ref2, index) {\n var _ref3;\n\n var url = _ref2.url,\n label = _ref2.label,\n _ref2$active = _ref2.active,\n active = _ref2$active === void 0 ? false : _ref2$active,\n _ref2$onClick = _ref2.onClick,\n onClick = _ref2$onClick === void 0 ? null : _ref2$onClick;\n return /*#__PURE__*/React__default[\"default\"].createElement(\"li\", {\n className: classNames__default[\"default\"](['breadcrumb-item', (_ref3 = {\n active: active\n }, _defineProperty__default[\"default\"](_ref3, styles$n.arrow, separator === 'arrow'), _defineProperty__default[\"default\"](_ref3, \"text-\".concat(theme), active && theme !== null), _ref3)]),\n key: \"item-\".concat(index)\n }, active ? /*#__PURE__*/React__default[\"default\"].createElement(Label, null, label) : null, !active && url ? /*#__PURE__*/React__default[\"default\"].createElement(reactRouterDom.Link, {\n to: url,\n onClick: onClick,\n className: classNames__default[\"default\"](_defineProperty__default[\"default\"]({}, \"text-\".concat(theme), theme !== null))\n }, /*#__PURE__*/React__default[\"default\"].createElement(Label, null, label)) : null, !active && onClick ? /*#__PURE__*/React__default[\"default\"].createElement(Button$1, {\n onClick: onClick,\n className: classNames__default[\"default\"](_defineProperty__default[\"default\"]({}, \"text-\".concat(theme), theme !== null))\n }, /*#__PURE__*/React__default[\"default\"].createElement(Label, null, label)) : null);\n })));\n};\n\nBreadcrumb.propTypes = propTypes$z;\nBreadcrumb.defaultProps = defaultProps$z;\n\nvar _excluded$1 = [\"id\", \"type\", \"className\", \"label\", \"children\", \"onClick\", \"active\"];\nvar propTypes$y = {\n items: core.PropTypes.menuItems,\n children: PropTypes__default[\"default\"].node,\n visible: PropTypes__default[\"default\"].bool,\n align: core.PropTypes.dropdownAlign,\n className: PropTypes__default[\"default\"].string,\n itemClassName: PropTypes__default[\"default\"].string,\n onClickItem: PropTypes__default[\"default\"].func,\n onClickOutside: PropTypes__default[\"default\"].func\n};\nvar defaultProps$y = {\n items: [],\n children: null,\n visible: false,\n align: null,\n className: null,\n itemClassName: null,\n onClickItem: null,\n onClickOutside: null\n};\n\nvar Dropdown = function Dropdown(_ref) {\n var _ref2;\n\n var items = _ref.items,\n children = _ref.children,\n visible = _ref.visible,\n align = _ref.align,\n className = _ref.className,\n itemClassName = _ref.itemClassName,\n onClickItem = _ref.onClickItem,\n onClickOutside = _ref.onClickOutside;\n var refContainer = React.useRef(null);\n var onDocumentClick = React.useCallback(function (e) {\n if (refContainer.current && !refContainer.current.contains(e.currentTarget) && onClickOutside !== null) {\n onClickOutside(e);\n }\n }, [refContainer.current, onClickOutside]);\n hooks.useDocumentEvent('click', onDocumentClick, visible);\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](['dropdown-menu', (_ref2 = {}, _defineProperty__default[\"default\"](_ref2, \"dropdown-menu-\".concat(align), align !== null), _defineProperty__default[\"default\"](_ref2, \"show\", visible), _defineProperty__default[\"default\"](_ref2, className, className !== null), _ref2)]),\n ref: refContainer\n }, children !== null ? children : items.map(function (it, index) {\n var _ref3;\n\n it.id;\n var _it$type = it.type,\n type = _it$type === void 0 ? 'link' : _it$type,\n _it$className = it.className,\n customClassName = _it$className === void 0 ? null : _it$className,\n _it$label = it.label,\n label = _it$label === void 0 ? null : _it$label,\n _it$children = it.children,\n itemChildren = _it$children === void 0 ? null : _it$children,\n _it$onClick = it.onClick,\n customOnClick = _it$onClick === void 0 ? null : _it$onClick,\n _it$active = it.active,\n active = _it$active === void 0 ? false : _it$active,\n itemProps = _objectWithoutProperties__default[\"default\"](it, _excluded$1);\n\n var ItemComponent = 'div';\n\n if (type === 'link') {\n ItemComponent = Link;\n } else if (type === 'button') {\n ItemComponent = Button$1;\n itemProps.type = 'button';\n } else if (type === 'header') {\n ItemComponent = 'h6';\n }\n\n var finalOnClickItem = customOnClick !== null || type === 'link' && onClickItem !== null ? function (e) {\n if (customOnClick !== null) {\n customOnClick(e);\n }\n\n if (type === 'link' && onClickItem !== null) {\n onClickItem(e);\n }\n } : null;\n return ItemComponent !== null ? /*#__PURE__*/React__default[\"default\"].createElement(ItemComponent, Object.assign({\n key: \"item-\".concat(index),\n className: classNames__default[\"default\"](['d-block', 'w-100', (_ref3 = {\n 'dropdown-item': type === 'link',\n 'dropdown-divider': type === 'divider',\n 'dropdown-header': type === 'header',\n active: active\n }, _defineProperty__default[\"default\"](_ref3, itemClassName, itemClassName !== null), _defineProperty__default[\"default\"](_ref3, customClassName, customClassName !== null), _ref3)]),\n onClick: finalOnClickItem\n }, itemProps), label !== null ? /*#__PURE__*/React__default[\"default\"].createElement(Label, null, label) : itemChildren) : null;\n }));\n};\n\nDropdown.propTypes = propTypes$y;\nDropdown.defaultProps = defaultProps$y;\n\nvar _excluded = [\"id\", \"className\", \"linkClassName\", \"href\", \"label\", \"external\", \"items\", \"dropdown\", \"active\", \"onClick\"];\nvar propTypes$x = {\n items: core.PropTypes.menuItems,\n tagName: PropTypes__default[\"default\"].string,\n itemTagName: PropTypes__default[\"default\"].string,\n children: PropTypes__default[\"default\"].node,\n linkAsItem: PropTypes__default[\"default\"].bool,\n className: PropTypes__default[\"default\"].string,\n itemClassName: PropTypes__default[\"default\"].string,\n linkClassName: PropTypes__default[\"default\"].string,\n hasSubMenuClassName: PropTypes__default[\"default\"].string,\n subMenuClassName: PropTypes__default[\"default\"].string,\n subMenuItemClassName: PropTypes__default[\"default\"].string,\n subMenuLinkClassName: PropTypes__default[\"default\"].string,\n hasDropdownClassName: PropTypes__default[\"default\"].string,\n dropdownClassName: PropTypes__default[\"default\"].string,\n dropdownItemClassName: PropTypes__default[\"default\"].string,\n dropdownLinkClassName: PropTypes__default[\"default\"].string,\n dropdownAlign: core.PropTypes.dropdownAlign\n};\nvar defaultProps$x = {\n items: [],\n tagName: 'ul',\n itemTagName: 'li',\n children: null,\n linkAsItem: false,\n className: null,\n itemClassName: null,\n linkClassName: null,\n hasSubMenuClassName: null,\n subMenuClassName: null,\n subMenuItemClassName: null,\n subMenuLinkClassName: null,\n hasDropdownClassName: null,\n dropdownClassName: null,\n dropdownItemClassName: null,\n dropdownLinkClassName: null,\n dropdownAlign: null\n};\n\nvar Menu = function Menu(_ref) {\n var items = _ref.items,\n tagName = _ref.tagName,\n itemTagName = _ref.itemTagName,\n children = _ref.children,\n linkAsItem = _ref.linkAsItem,\n className = _ref.className,\n itemClassName = _ref.itemClassName,\n linkClassName = _ref.linkClassName,\n hasSubMenuClassName = _ref.hasSubMenuClassName,\n subMenuClassName = _ref.subMenuClassName,\n subMenuItemClassName = _ref.subMenuItemClassName,\n subMenuLinkClassName = _ref.subMenuLinkClassName,\n hasDropdownClassName = _ref.hasDropdownClassName,\n dropdownClassName = _ref.dropdownClassName,\n dropdownItemClassName = _ref.dropdownItemClassName,\n dropdownLinkClassName = _ref.dropdownLinkClassName,\n dropdownAlign = _ref.dropdownAlign;\n\n var _useState = React.useState(items.map(function () {\n return false;\n })),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n dropdownsVisible = _useState2[0],\n setDropdownsVisible = _useState2[1];\n\n var ListComponent = linkAsItem ? 'div' : tagName;\n return /*#__PURE__*/React__default[\"default\"].createElement(ListComponent, {\n className: className\n }, children !== null ? children : items.map(function (it, index) {\n var _classNames, _classNames2, _classNames3, _classNames4, _classNames5, _classNames6, _classNames7, _classNames8;\n\n var id = it.id,\n _it$className = it.className,\n customClassName = _it$className === void 0 ? null : _it$className,\n _it$linkClassName = it.linkClassName,\n customLinkClassName = _it$linkClassName === void 0 ? null : _it$linkClassName,\n _it$href = it.href,\n href = _it$href === void 0 ? null : _it$href,\n label = it.label,\n _it$external = it.external,\n external = _it$external === void 0 ? false : _it$external,\n _it$items = it.items,\n subItems = _it$items === void 0 ? null : _it$items,\n _it$dropdown = it.dropdown,\n dropdown = _it$dropdown === void 0 ? null : _it$dropdown,\n _it$active = it.active,\n active = _it$active === void 0 ? false : _it$active,\n _it$onClick = it.onClick,\n customOnClick = _it$onClick === void 0 ? null : _it$onClick,\n itemProps = _objectWithoutProperties__default[\"default\"](it, _excluded);\n\n var onClickItem = dropdown !== null ? function (e) {\n e.preventDefault();\n setDropdownsVisible([].concat(_toConsumableArray__default[\"default\"](dropdownsVisible.slice(0, index)), [!(dropdownsVisible[index] || false)], _toConsumableArray__default[\"default\"](dropdownsVisible.slice(index + 1))));\n\n if (customOnClick !== null) {\n customOnClick(e);\n }\n } : customOnClick;\n var closeDropdown = dropdown !== null ? function () {\n setDropdownsVisible([].concat(_toConsumableArray__default[\"default\"](dropdownsVisible.slice(0, index)), [false], _toConsumableArray__default[\"default\"](dropdownsVisible.slice(index + 1))));\n } : null;\n var ItemComponent = itemTagName;\n return linkAsItem ? /*#__PURE__*/React__default[\"default\"].createElement(Link, Object.assign({}, itemProps, {\n key: \"item-\".concat(id || index),\n onClick: onClickItem,\n href: href,\n external: external,\n className: classNames__default[\"default\"]((_classNames = {\n active: active\n }, _defineProperty__default[\"default\"](_classNames, itemClassName, itemClassName !== null), _defineProperty__default[\"default\"](_classNames, customClassName, customClassName !== null), _defineProperty__default[\"default\"](_classNames, linkClassName, linkClassName !== null), _defineProperty__default[\"default\"](_classNames, customLinkClassName, customLinkClassName !== null), _classNames))\n }), label) : /*#__PURE__*/React__default[\"default\"].createElement(ItemComponent, {\n key: \"item-\".concat(id || index),\n className: classNames__default[\"default\"]((_classNames2 = {\n dropdown: dropdown !== null,\n active: active\n }, _defineProperty__default[\"default\"](_classNames2, itemClassName, itemClassName !== null), _defineProperty__default[\"default\"](_classNames2, customClassName, customClassName !== null), _defineProperty__default[\"default\"](_classNames2, hasSubMenuClassName, subItems !== null && hasSubMenuClassName !== null), _defineProperty__default[\"default\"](_classNames2, hasDropdownClassName, subItems !== null && hasDropdownClassName !== null), _classNames2))\n }, href !== null ? /*#__PURE__*/React__default[\"default\"].createElement(Link, Object.assign({}, itemProps, {\n onClick: onClickItem,\n href: href,\n external: external,\n className: classNames__default[\"default\"]((_classNames3 = {}, _defineProperty__default[\"default\"](_classNames3, linkClassName, linkClassName !== null), _defineProperty__default[\"default\"](_classNames3, 'dropdown-toggle', dropdown !== null), _defineProperty__default[\"default\"](_classNames3, customLinkClassName, customLinkClassName !== null), _classNames3))\n }), label) : null, href === null && onClickItem !== null ? /*#__PURE__*/React__default[\"default\"].createElement(Button$1, Object.assign({}, itemProps, {\n onClick: onClickItem,\n className: classNames__default[\"default\"]((_classNames4 = {}, _defineProperty__default[\"default\"](_classNames4, linkClassName, linkClassName !== null), _defineProperty__default[\"default\"](_classNames4, 'dropdown-toggle', dropdown !== null), _defineProperty__default[\"default\"](_classNames4, customLinkClassName, customLinkClassName !== null), _classNames4))\n }), label) : null, subItems !== null ? /*#__PURE__*/React__default[\"default\"].createElement(Menu, {\n items: subItems,\n className: subMenuClassName,\n itemClassName: classNames__default[\"default\"]((_classNames5 = {}, _defineProperty__default[\"default\"](_classNames5, subMenuItemClassName, subMenuItemClassName !== null), _defineProperty__default[\"default\"](_classNames5, itemClassName, subMenuItemClassName === null && itemClassName !== null), _classNames5)),\n linkClassName: classNames__default[\"default\"]((_classNames6 = {}, _defineProperty__default[\"default\"](_classNames6, subMenuLinkClassName, subMenuLinkClassName !== null), _defineProperty__default[\"default\"](_classNames6, linkClassName, subMenuLinkClassName === null && linkClassName !== null), _classNames6))\n }) : null, dropdown !== null ? /*#__PURE__*/React__default[\"default\"].createElement(Dropdown, {\n items: dropdown,\n visible: dropdownsVisible[index] || false,\n className: dropdownClassName,\n itemClassName: classNames__default[\"default\"]((_classNames7 = {}, _defineProperty__default[\"default\"](_classNames7, dropdownItemClassName, dropdownItemClassName !== null), _defineProperty__default[\"default\"](_classNames7, itemClassName, dropdownItemClassName === null && itemClassName !== null), _classNames7)),\n linkClassName: classNames__default[\"default\"]((_classNames8 = {}, _defineProperty__default[\"default\"](_classNames8, dropdownLinkClassName, dropdownLinkClassName !== null), _defineProperty__default[\"default\"](_classNames8, linkClassName, dropdownLinkClassName === null && linkClassName !== null), _classNames8)),\n align: dropdownAlign,\n onClickItem: closeDropdown,\n onClickOutside: closeDropdown\n }) : null);\n }));\n};\n\nMenu.propTypes = propTypes$x;\nMenu.defaultProps = defaultProps$x;\n\nvar propTypes$w = {\n brand: PropTypes__default[\"default\"].node,\n brandLink: PropTypes__default[\"default\"].string,\n breadcrumbs: PropTypes__default[\"default\"].node,\n theme: PropTypes__default[\"default\"].oneOf(['light', 'dark', 'primary', null]),\n size: PropTypes__default[\"default\"].oneOf(['sm', 'md', 'lg']),\n compact: PropTypes__default[\"default\"].bool,\n noWrap: PropTypes__default[\"default\"].bool,\n withoutCollapse: PropTypes__default[\"default\"].bool,\n children: PropTypes__default[\"default\"].node,\n className: PropTypes__default[\"default\"].string,\n brandClassName: PropTypes__default[\"default\"].string,\n breadCrumbsClassName: PropTypes__default[\"default\"].string\n};\nvar defaultProps$w = {\n brand: null,\n brandLink: null,\n breadcrumbs: null,\n theme: null,\n size: 'md',\n compact: false,\n noWrap: false,\n withoutCollapse: false,\n children: null,\n className: null,\n brandClassName: null,\n breadCrumbsClassName: null\n};\n\nvar Navbar = function Navbar(_ref) {\n var _ref2;\n\n var brand = _ref.brand,\n brandLink = _ref.brandLink,\n breadcrumbs = _ref.breadcrumbs,\n theme = _ref.theme,\n size = _ref.size,\n compact = _ref.compact,\n noWrap = _ref.noWrap,\n withoutCollapse = _ref.withoutCollapse,\n children = _ref.children,\n className = _ref.className,\n brandClassName = _ref.brandClassName,\n breadCrumbsClassName = _ref.breadCrumbsClassName;\n\n var _useState = React.useState(false),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n menuVisible = _useState2[0],\n setMenuVisible = _useState2[1];\n\n var onClickMenu = React.useCallback(function () {\n return setMenuVisible(!menuVisible);\n }, [setMenuVisible, menuVisible]);\n return /*#__PURE__*/React__default[\"default\"].createElement(\"nav\", {\n className: classNames__default[\"default\"](['navbar', (_ref2 = {}, _defineProperty__default[\"default\"](_ref2, \"bg-\".concat(theme), theme !== null), _defineProperty__default[\"default\"](_ref2, \"navbar-\".concat(theme === 'light' ? 'light' : 'dark'), theme !== null), _defineProperty__default[\"default\"](_ref2, \"text-\".concat(theme === 'light' ? 'dark' : 'light'), theme !== null), _defineProperty__default[\"default\"](_ref2, \"navbar-expand-\".concat(size), !withoutCollapse), _defineProperty__default[\"default\"](_ref2, 'py-2', compact), _defineProperty__default[\"default\"](_ref2, 'px-2', compact), _defineProperty__default[\"default\"](_ref2, 'flex-nowrap', noWrap), _defineProperty__default[\"default\"](_ref2, className, className !== null), _ref2)])\n }, brand !== null && brandLink !== null ? /*#__PURE__*/React__default[\"default\"].createElement(Link, {\n className: classNames__default[\"default\"](['navbar-brand', _defineProperty__default[\"default\"]({\n 'py-0': compact\n }, brandClassName, brandClassName !== null)]),\n to: brandLink\n }, brand) : null, brand !== null && brandLink === null ? /*#__PURE__*/React__default[\"default\"].createElement(\"span\", {\n className: classNames__default[\"default\"](['navbar-brand', _defineProperty__default[\"default\"]({\n 'py-0': compact\n }, brandClassName, brandClassName !== null)])\n }, brand) : null, breadcrumbs !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"span\", {\n className: classNames__default[\"default\"](['navbar-breadcrumbs', _defineProperty__default[\"default\"]({\n 'py-0': compact\n }, breadCrumbsClassName, breadCrumbsClassName !== null)])\n }, breadcrumbs) : null, !withoutCollapse ? /*#__PURE__*/React__default[\"default\"].createElement(Button$1, {\n className: \"navbar-toggler\",\n onClick: onClickMenu,\n withoutTheme: true,\n \"aria-controls\": \"navbarSupportedContent\",\n \"aria-expanded\": \"false\",\n \"aria-label\": \"Toggle navigation\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"span\", {\n className: \"navbar-toggler-icon\"\n })) : null, !withoutCollapse ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](['navbar-collapse', 'collapse', {\n show: menuVisible\n }])\n }, children) : children);\n};\n\nNavbar.propTypes = propTypes$w;\nNavbar.defaultProps = defaultProps$w;\n\nvar styles$m = {};\n\nvar messages = reactIntl.defineMessages({\n previous: {\n id: \"menus.pagination.previous\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Previous\"\n }]\n },\n next: {\n id: \"menus.pagination.next\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"next\"\n }]\n }\n});\nvar propTypes$v = {\n page: PropTypes__default[\"default\"].number,\n total: PropTypes__default[\"default\"].number,\n url: PropTypes__default[\"default\"].string,\n withPreviousNext: PropTypes__default[\"default\"].bool,\n className: PropTypes__default[\"default\"].string,\n paginationClassName: PropTypes__default[\"default\"].string,\n itemClassName: PropTypes__default[\"default\"].string,\n linkClassName: PropTypes__default[\"default\"].string,\n onClickPage: PropTypes__default[\"default\"].func\n};\nvar defaultProps$v = {\n page: 1,\n total: 1,\n url: null,\n withPreviousNext: false,\n className: null,\n paginationClassName: null,\n itemClassName: null,\n linkClassName: null,\n onClickPage: null\n};\n\nvar PaginationMenu = function PaginationMenu(_ref) {\n var page = _ref.page,\n total = _ref.total,\n url = _ref.url,\n withPreviousNext = _ref.withPreviousNext,\n className = _ref.className,\n paginationClassName = _ref.paginationClassName,\n itemClassName = _ref.itemClassName,\n linkClassName = _ref.linkClassName,\n onClickPage = _ref.onClickPage;\n var getUrl = React.useCallback(function (currentPage) {\n return url !== null ? \"\".concat(url).concat(url.indexOf('?') !== -1 ? \"&page=\".concat(currentPage) : \"?page=\".concat(currentPage)) : null;\n }, [url]);\n\n var pages = _toConsumableArray__default[\"default\"](Array(total).keys()).map(function (it) {\n return it + 1;\n });\n\n return /*#__PURE__*/React__default[\"default\"].createElement(\"nav\", {\n className: classNames__default[\"default\"]([styles$m.container, _defineProperty__default[\"default\"]({}, className, className !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"ul\", {\n className: classNames__default[\"default\"](['pagination', _defineProperty__default[\"default\"]({}, paginationClassName, paginationClassName !== null)])\n }, withPreviousNext ? /*#__PURE__*/React__default[\"default\"].createElement(\"li\", {\n className: classNames__default[\"default\"](['page-item', _defineProperty__default[\"default\"]({\n disabled: page <= 1\n }, itemClassName, itemClassName !== null)])\n }, page > 1 ? /*#__PURE__*/React__default[\"default\"].createElement(Link, {\n className: classNames__default[\"default\"](['page-link', _defineProperty__default[\"default\"]({}, linkClassName, linkClassName !== null)]),\n href: getUrl(page - 1),\n onClick: onClickPage !== null ? function () {\n return onClickPage(page - 1);\n } : null\n }, messages.previous) : /*#__PURE__*/React__default[\"default\"].createElement(\"span\", {\n className: classNames__default[\"default\"](['page-link', _defineProperty__default[\"default\"]({}, linkClassName, linkClassName !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(Label, null, messages.previous))) : null, pages.map(function (pageNumber) {\n return /*#__PURE__*/React__default[\"default\"].createElement(\"li\", {\n key: \"page-\".concat(pageNumber),\n className: classNames__default[\"default\"](['page-item', _defineProperty__default[\"default\"]({\n active: pageNumber === page\n }, itemClassName, itemClassName !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(Link, {\n className: classNames__default[\"default\"](['page-link', _defineProperty__default[\"default\"]({}, linkClassName, linkClassName !== null)]),\n href: getUrl(pageNumber),\n onClick: onClickPage !== null ? function () {\n return onClickPage(pageNumber);\n } : null\n }, pageNumber));\n }), withPreviousNext ? /*#__PURE__*/React__default[\"default\"].createElement(\"li\", {\n className: classNames__default[\"default\"](['page-item', _defineProperty__default[\"default\"]({\n disabled: page >= total\n }, itemClassName, itemClassName !== null)])\n }, page < total ? /*#__PURE__*/React__default[\"default\"].createElement(Link, {\n className: classNames__default[\"default\"](['page-link', _defineProperty__default[\"default\"]({}, linkClassName, linkClassName !== null)]),\n href: getUrl(page + 1),\n onClick: onClickPage !== null ? function () {\n return onClickPage(page + 1);\n } : null\n }, messages.next) : /*#__PURE__*/React__default[\"default\"].createElement(\"span\", {\n className: classNames__default[\"default\"](['page-link', _defineProperty__default[\"default\"]({}, linkClassName, linkClassName !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(Label, null, messages.next))) : null));\n};\n\nPaginationMenu.propTypes = propTypes$v;\nPaginationMenu.defaultProps = defaultProps$v;\n\nvar styles$l = {\"container\":\"micromag-core-menus-tabs-container\"};\n\nvar propTypes$u = {\n items: core.PropTypes.menuItems,\n size: core.PropTypes.buttonSize,\n theme: core.PropTypes.buttonTheme,\n renderItemButton: PropTypes__default[\"default\"].func,\n buttonClassName: PropTypes__default[\"default\"].string,\n className: PropTypes__default[\"default\"].string,\n onClickItem: PropTypes__default[\"default\"].func\n};\nvar defaultProps$u = {\n items: [],\n size: null,\n theme: 'secondary',\n renderItemButton: null,\n buttonClassName: null,\n className: null,\n onClickItem: null\n};\n\nvar TabsMenu = function TabsMenu(_ref) {\n var items = _ref.items,\n size = _ref.size,\n theme = _ref.theme,\n renderItemButton = _ref.renderItemButton,\n buttonClassName = _ref.buttonClassName,\n className = _ref.className,\n onClickItem = _ref.onClickItem;\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$l.container, _defineProperty__default[\"default\"]({}, className, className)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(Buttons, {\n buttons: items,\n size: size,\n theme: theme,\n renderButton: renderItemButton,\n onClickButton: onClickItem,\n className: styles$l.buttons,\n buttonClassName: classNames__default[\"default\"]([styles$l.button, _defineProperty__default[\"default\"]({}, buttonClassName, buttonClassName !== null)])\n }));\n};\n\nTabsMenu.propTypes = propTypes$u;\nTabsMenu.defaultProps = defaultProps$u;\n\nvar styles$k = {\"container\":\"micromag-core-modals-container\",\"modals\":\"micromag-core-modals-modals\",\"hasModals\":\"micromag-core-modals-hasModals\"};\n\nvar propTypes$t = {\n modals: core.PropTypes.modals.isRequired,\n setModalsContainer: PropTypes__default[\"default\"].func.isRequired,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$t = {\n className: null\n};\n\nvar ModalsContainer = function ModalsContainer(_ref) {\n var modals = _ref.modals,\n setModalsContainer = _ref.setModalsContainer,\n className = _ref.className;\n var containerRef = React.useRef(null);\n React.useEffect(function () {\n setModalsContainer(containerRef.current);\n }, []);\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$k.container, _defineProperty__default[\"default\"]({}, className, className)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$k.modals, _defineProperty__default[\"default\"]({}, styles$k.hasModals, modals.length > 0)]),\n ref: containerRef\n }));\n};\n\nModalsContainer.propTypes = propTypes$t;\nModalsContainer.defaultProps = defaultProps$t;\nvar Modals = contexts.withModals(ModalsContainer);\n\n/* eslint-disable react/no-array-index-key, react/jsx-props-no-spreading */\nvar propTypes$s = {\n id: PropTypes__default[\"default\"].string,\n data: PropTypes__default[\"default\"].object,\n // eslint-disable-line react/forbid-prop-types\n container: PropTypes__default[\"default\"].object,\n // eslint-disable-line react/forbid-prop-types\n register: PropTypes__default[\"default\"].func,\n unregister: PropTypes__default[\"default\"].func,\n children: PropTypes__default[\"default\"].node\n};\nvar defaultProps$s = {\n id: null,\n data: null,\n container: null,\n register: null,\n unregister: null,\n children: null\n};\n\nvar ElementPortal = function ElementPortal(_ref) {\n var id = _ref.id,\n data = _ref.data,\n children = _ref.children,\n container = _ref.container,\n register = _ref.register,\n unregister = _ref.unregister;\n var finalId = React.useMemo(function () {\n return id || \"element-\".concat(new Date().getTime());\n }, [id]);\n React.useEffect(function () {\n if (register !== null) {\n register(finalId, data);\n }\n\n return function () {\n if (unregister !== null) {\n unregister(finalId);\n }\n };\n }, [finalId, data]);\n return container !== null ? /*#__PURE__*/ReactDOM__default[\"default\"].createPortal(children, container) : null;\n};\n\nElementPortal.propTypes = propTypes$s;\nElementPortal.defaultProps = defaultProps$s;\n\n/* eslint-disable react/no-array-index-key, react/jsx-props-no-spreading */\nvar propTypes$r = {\n id: PropTypes__default[\"default\"].string,\n data: PropTypes__default[\"default\"].object,\n // eslint-disable-line react/forbid-prop-types\n children: PropTypes__default[\"default\"].node\n};\nvar defaultProps$r = {\n id: null,\n data: null,\n children: null\n};\n\nvar ModalPortal = function ModalPortal(_ref) {\n var id = _ref.id,\n data = _ref.data,\n children = _ref.children;\n\n var _useModals = contexts.useModals(),\n container = _useModals.container,\n _useModals$register = _useModals.register,\n register = _useModals$register === void 0 ? null : _useModals$register,\n _useModals$unregister = _useModals.unregister,\n unregister = _useModals$unregister === void 0 ? null : _useModals$unregister;\n\n return /*#__PURE__*/React__default[\"default\"].createElement(ElementPortal, {\n id: id,\n data: data,\n container: container,\n register: register,\n unregister: unregister\n }, children);\n};\n\nModalPortal.propTypes = propTypes$r;\nModalPortal.defaultProps = defaultProps$r;\n\nvar styles$j = {\"container\":\"micromag-core-modals-modal-container\",\"center\":\"micromag-core-modals-modal-center\",\"inner\":\"micromag-core-modals-modal-inner\",\"top\":\"micromag-core-modals-modal-top\"};\n\nvar propTypes$q = {\n id: PropTypes__default[\"default\"].string,\n title: PropTypes__default[\"default\"].string,\n position: PropTypes__default[\"default\"].oneOf(['center', 'top']),\n children: PropTypes__default[\"default\"].node\n};\nvar defaultProps$q = {\n id: null,\n title: null,\n position: 'center',\n children: null\n};\n\nvar Modal = function Modal(_ref) {\n var id = _ref.id,\n children = _ref.children,\n position = _ref.position,\n title = _ref.title;\n var finalId = React.useMemo(function () {\n return id || utils.getDisplayName(children.type);\n }, [id, children.type]);\n var data = React.useMemo(function () {\n return {\n title: title\n };\n }, [title]);\n return /*#__PURE__*/React__default[\"default\"].createElement(ModalPortal, {\n id: finalId,\n data: data\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$j.container, _defineProperty__default[\"default\"]({}, styles$j[position], position !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$j.inner\n }, children)));\n};\n\nModal.propTypes = propTypes$q;\nModal.defaultProps = defaultProps$q;\n\nvar styles$i = {\"container\":\"micromag-core-modals-dialog-container\"};\n\nvar propTypes$p = {\n title: core.PropTypes.label,\n header: PropTypes__default[\"default\"].node,\n children: PropTypes__default[\"default\"].node,\n footer: PropTypes__default[\"default\"].node,\n buttons: core.PropTypes.buttons,\n // theme: PropTypes.oneOf([null, 'dark', 'light']),\n onClickClose: PropTypes__default[\"default\"].func,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$p = {\n title: null,\n header: null,\n children: null,\n footer: null,\n buttons: null,\n // theme: 'dark',\n onClickClose: null,\n className: null\n};\n\nvar ModalDialog = function ModalDialog(_ref) {\n var title = _ref.title,\n header = _ref.header,\n children = _ref.children,\n buttons = _ref.buttons,\n footer = _ref.footer,\n onClickClose = _ref.onClickClose,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](['modal-dialog', styles$i.container, _defineProperty__default[\"default\"]({}, className, className)]),\n role: \"dialog\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: \"modal-content\"\n }, header || /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](['modal-header', styles$i.header, {// 'bg-dark': theme === 'dark',\n // 'border-dark': theme === 'dark',\n // 'text-light': theme === 'dark',\n }])\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"h5\", {\n className: \"modal-title\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(Label, null, title)), /*#__PURE__*/React__default[\"default\"].createElement(\"button\", {\n type: \"button\",\n className: \"close text-light\",\n \"aria-label\": \"Close\",\n onClick: onClickClose\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"span\", {\n \"aria-hidden\": \"true\"\n }, \"\\xD7\"))), /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](['modal-body', styles$i.body, {// [`bg-${theme}`]: theme !== null,\n // 'text-light': theme === 'dark',\n }])\n }, children), footer !== null || buttons !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](['modal-footer', styles$i.footer])\n }, footer, buttons !== null ? /*#__PURE__*/React__default[\"default\"].createElement(Buttons, {\n buttons: buttons,\n className: styles$i.buttons\n }) : null) : null));\n};\n\nModalDialog.propTypes = propTypes$p;\nModalDialog.defaultProps = defaultProps$p;\n\nvar propTypes$o = {\n type: PropTypes__default[\"default\"].oneOfType([core.PropTypes.mediaTypes, PropTypes__default[\"default\"].array]),\n opened: PropTypes__default[\"default\"].bool,\n sources: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].string),\n onUploaded: PropTypes__default[\"default\"].func,\n onRequestClose: PropTypes__default[\"default\"].func\n};\nvar defaultProps$o = {\n type: null,\n opened: false,\n sources: ['webcam', 'facebook', 'instagram', 'dropbox', 'google-drive'],\n onUploaded: null,\n onRequestClose: null\n};\n\nvar UploadModal = function UploadModal(_ref) {\n var type = _ref.type,\n opened = _ref.opened,\n sources = _ref.sources,\n onUploaded = _ref.onUploaded,\n onRequestClose = _ref.onRequestClose;\n var onUpppyComplete = React.useCallback(function (response) {\n if (onUploaded !== null) {\n onUploaded(response);\n }\n }, [onUploaded]);\n var fileTypes = React.useMemo(function () {\n if (isArray__default[\"default\"](type)) {\n return type.map(function (t) {\n return ['image', 'video', 'audio'].indexOf(t) !== -1 ? \"\".concat(t, \"/*\") : null;\n }).filter(function (t) {\n return t !== null;\n });\n }\n\n return ['image', 'video', 'audio'].indexOf(type) !== -1 ? [\"\".concat(type, \"/*\")] : null;\n }, [type]);\n var uppy = contexts.useUppy({\n onComplete: onUpppyComplete,\n sources: sources,\n allowedFileTypes: fileTypes !== null && fileTypes.length > 0 ? fileTypes : null\n });\n React.useEffect(function () {\n if (uppy !== null && !opened) {\n uppy.reset();\n }\n }, [uppy, opened]);\n return uppy !== null ? /*#__PURE__*/React__default[\"default\"].createElement(react.DashboardModal, {\n uppy: uppy,\n open: opened,\n closeAfterFinish: true,\n onRequestClose: onRequestClose,\n plugins: sources\n }) : null;\n};\n\nUploadModal.propTypes = propTypes$o;\nUploadModal.defaultProps = defaultProps$o;\n\nvar styles$h = {\"container\":\"micromag-core-panels-container\"};\n\nvar propTypes$n = {\n panels: core.PropTypes.panels,\n setPanelsContainer: PropTypes__default[\"default\"].func,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$n = {\n panels: [],\n setPanelsContainer: null,\n className: null\n};\n\nvar PanelsContainer = function PanelsContainer(_ref) {\n var panels = _ref.panels,\n setPanelsContainer = _ref.setPanelsContainer,\n className = _ref.className;\n var containerRef = React.useRef(null);\n React.useEffect(function () {\n setPanelsContainer(containerRef.current);\n }, []);\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$h.container, _defineProperty__default[\"default\"]({}, className, className)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$h.panels, _defineProperty__default[\"default\"]({}, styles$h.hasPanels, panels.length > 0)]),\n ref: containerRef\n }));\n};\n\nPanelsContainer.propTypes = propTypes$n;\nPanelsContainer.defaultProps = defaultProps$n;\nvar Panels = contexts.withPanels(PanelsContainer);\n\n/* eslint-disable react/no-array-index-key, react/jsx-props-no-spreading */\nvar propTypes$m = {\n id: PropTypes__default[\"default\"].string,\n data: PropTypes__default[\"default\"].object,\n // eslint-disable-line react/forbid-prop-types\n children: PropTypes__default[\"default\"].node\n};\nvar defaultProps$m = {\n id: null,\n data: null,\n children: null\n};\n\nvar PanelPortal = function PanelPortal(_ref) {\n var id = _ref.id,\n data = _ref.data,\n children = _ref.children;\n\n var _usePanels = contexts.usePanels(),\n _usePanels$panels = _usePanels.panels,\n panels = _usePanels$panels === void 0 ? null : _usePanels$panels,\n container = _usePanels.container,\n _usePanels$register = _usePanels.register,\n register = _usePanels$register === void 0 ? null : _usePanels$register,\n _usePanels$unregister = _usePanels.unregister,\n unregister = _usePanels$unregister === void 0 ? null : _usePanels$unregister;\n\n if (panels === null) {\n return children;\n }\n\n return /*#__PURE__*/React__default[\"default\"].createElement(ElementPortal, {\n id: id,\n data: data,\n container: container,\n register: register,\n unregister: unregister\n }, children);\n};\n\nPanelPortal.propTypes = propTypes$m;\nPanelPortal.defaultProps = defaultProps$m;\n\nvar styles$g = {\"container\":\"micromag-core-panels-panel-container\"};\n\n/* eslint-disable react/no-array-index-key, react/jsx-props-no-spreading */\nvar propTypes$l = {\n id: PropTypes__default[\"default\"].string,\n title: PropTypes__default[\"default\"].string,\n children: PropTypes__default[\"default\"].node\n};\nvar defaultProps$l = {\n id: null,\n title: null,\n children: null\n};\n\nvar Panel = function Panel(_ref) {\n var id = _ref.id,\n children = _ref.children,\n title = _ref.title;\n var finalId = React.useMemo(function () {\n return id || utils.getDisplayName(children.type);\n }, [id, children.type]);\n var data = React.useMemo(function () {\n return {\n title: title\n };\n }, [title]);\n return /*#__PURE__*/React__default[\"default\"].createElement(PanelPortal, {\n id: finalId,\n data: data\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$g.container\n }, children));\n};\n\nPanel.propTypes = propTypes$l;\nPanel.defaultProps = defaultProps$l;\n\nvar styles$f = {\"container\":\"micromag-core-partials-collapsable-panel-container\",\"top\":\"micromag-core-partials-collapsable-panel-top\",\"button\":\"micromag-core-partials-collapsable-panel-button\",\"label\":\"micromag-core-partials-collapsable-panel-label\",\"content\":\"micromag-core-partials-collapsable-panel-content\",\"isOpened\":\"micromag-core-partials-collapsable-panel-isOpened\"};\n\nvar propTypes$k = {\n title: PropTypes__default[\"default\"].node,\n children: PropTypes__default[\"default\"].node,\n className: PropTypes__default[\"default\"].string,\n topClassName: PropTypes__default[\"default\"].string,\n contentClassName: PropTypes__default[\"default\"].string,\n openedClassName: PropTypes__default[\"default\"].string,\n buttonClassName: PropTypes__default[\"default\"].string\n};\nvar defaultProps$k = {\n title: null,\n children: null,\n className: null,\n topClassName: null,\n contentClassName: null,\n openedClassName: null,\n buttonClassName: null\n};\n\nvar CollapsablePanel = function CollapsablePanel(_ref) {\n var _ref2;\n\n var title = _ref.title,\n children = _ref.children,\n className = _ref.className,\n topClassName = _ref.topClassName,\n contentClassName = _ref.contentClassName,\n openedClassName = _ref.openedClassName,\n buttonClassName = _ref.buttonClassName;\n\n var _useState = React.useState(false),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n opened = _useState2[0],\n setOpened = _useState2[1];\n\n var onClick = React.useCallback(function () {\n return setOpened(!opened);\n }, [opened, setOpened]);\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$f.container, (_ref2 = {}, _defineProperty__default[\"default\"](_ref2, styles$f.isOpened, opened), _defineProperty__default[\"default\"](_ref2, openedClassName, opened && openedClassName !== null), _defineProperty__default[\"default\"](_ref2, className, className !== null), _ref2)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$f.top, _defineProperty__default[\"default\"]({}, topClassName, topClassName !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(Button$1, {\n withoutStyle: true,\n className: classNames__default[\"default\"]([styles$f.button, _defineProperty__default[\"default\"]({}, buttonClassName, buttonClassName !== null)]),\n icon: /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: opened ? freeSolidSvgIcons.faAngleUp : freeSolidSvgIcons.faAngleDown,\n className: styles$f.icon\n }),\n iconPosition: \"right\",\n labelClassName: styles$f.label,\n onClick: onClick\n }, title)), /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$f.content, _defineProperty__default[\"default\"]({}, contentClassName, contentClassName !== null)])\n }, children));\n};\n\nCollapsablePanel.propTypes = propTypes$k;\nCollapsablePanel.defaultProps = defaultProps$k;\n\n/* eslint-disable react/jsx-props-no-spreading */\nvar propTypes$j = {\n date: PropTypes__default[\"default\"].string,\n withTime: PropTypes__default[\"default\"].bool,\n timeSeparator: PropTypes__default[\"default\"].node\n};\nvar defaultProps$j = {\n date: null,\n withTime: false,\n timeSeparator: ', '\n};\n\nvar Date$1 = function Date(_ref) {\n var date = _ref.date,\n withTime = _ref.withTime,\n timeSeparator = _ref.timeSeparator;\n var dateObject = React.useMemo(function () {\n return dayjs__default[\"default\"](date).toDate();\n }, [date]);\n return /*#__PURE__*/React__default[\"default\"].createElement(React__default[\"default\"].Fragment, null, /*#__PURE__*/React__default[\"default\"].createElement(reactIntl.FormattedDate, {\n value: dateObject,\n year: \"numeric\",\n month: \"long\",\n day: \"2-digit\"\n }), withTime ? timeSeparator : null, withTime ? /*#__PURE__*/React__default[\"default\"].createElement(reactIntl.FormattedTime, {\n value: dateObject\n }) : null);\n};\n\nDate$1.propTypes = propTypes$j;\nDate$1.defaultProps = defaultProps$j;\n\n/* eslint-disable react/no-danger */\nvar propTypes$i = {\n throttleDelay: PropTypes__default[\"default\"].number,\n threshold: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].number),\n onEnter: PropTypes__default[\"default\"].func,\n onLeave: PropTypes__default[\"default\"].func,\n onChange: PropTypes__default[\"default\"].func,\n disabled: PropTypes__default[\"default\"].bool,\n children: PropTypes__default[\"default\"].node,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$i = {\n throttleDelay: null,\n threshold: undefined,\n onEnter: null,\n onLeave: null,\n onChange: null,\n disabled: false,\n children: null,\n className: null\n};\n\nvar Detector = function Detector(_ref) {\n var throttleDelay = _ref.throttleDelay,\n threshold = _ref.threshold,\n onEnter = _ref.onEnter,\n onLeave = _ref.onLeave,\n onChange = _ref.onChange,\n disabled = _ref.disabled,\n children = _ref.children,\n className = _ref.className;\n\n var _useIntersectionObser = hooks.useIntersectionObserver({\n threshold: threshold\n }),\n ref = _useIntersectionObser.ref,\n isIntersecting = _useIntersectionObser.entry.isIntersecting;\n\n var enteredRef = React.useRef(false);\n var triggerChange = React.useMemo(function () {\n var callback = function callback(intersecting) {\n var entered = enteredRef.current;\n\n if (onEnter !== null && intersecting && !entered) {\n onEnter();\n }\n\n if (onLeave !== null && !intersecting && entered) {\n onLeave();\n }\n\n if (onChange !== null) {\n onChange(intersecting);\n }\n\n if (intersecting && !entered) {\n enteredRef.current = true;\n } else if (!intersecting && entered) {\n enteredRef.current = false;\n }\n };\n\n return throttleDelay !== null ? throttle__default[\"default\"](callback, throttleDelay, {\n trailing: true,\n leading: true\n }) : callback;\n }, [throttleDelay, onEnter, onLeave, onChange]);\n React.useEffect(function () {\n if (disabled) {\n return function () {};\n }\n\n triggerChange(isIntersecting);\n return function () {\n if (throttleDelay !== null) {\n triggerChange.cancel();\n }\n };\n }, [throttleDelay, isIntersecting, disabled, triggerChange]);\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: className,\n ref: ref\n }, children);\n};\n\nDetector.propTypes = propTypes$i;\nDetector.defaultProps = defaultProps$i;\n\nvar styles$e = {\"container\":\"micromag-core-partials-placeholder-block-container\",\"box\":\"micromag-core-partials-placeholder-block-box\",\"outline\":\"micromag-core-partials-placeholder-block-outline\"};\n\nvar propTypes$h = {\n width: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].string]),\n height: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].string]),\n outline: PropTypes__default[\"default\"].bool,\n className: PropTypes__default[\"default\"].string,\n boxClassName: PropTypes__default[\"default\"].string,\n children: PropTypes__default[\"default\"].node\n};\nvar defaultProps$h = {\n width: '100%',\n height: '3em',\n outline: false,\n className: null,\n boxClassName: null,\n children: null\n};\n\nvar PlaceholderBlock = function PlaceholderBlock(_ref) {\n var _ref2;\n\n var width = _ref.width,\n height = _ref.height,\n outline = _ref.outline,\n className = _ref.className,\n boxClassName = _ref.boxClassName,\n children = _ref.children;\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$e.container, (_ref2 = {}, _defineProperty__default[\"default\"](_ref2, className, className !== null), _defineProperty__default[\"default\"](_ref2, styles$e.outline, outline), _ref2)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$e.box, _defineProperty__default[\"default\"]({}, boxClassName, boxClassName !== null)]),\n style: {\n width: width,\n height: height\n }\n }, children));\n};\n\nPlaceholderBlock.propTypes = propTypes$h;\nPlaceholderBlock.defaultProps = defaultProps$h;\n\n/* eslint-disable react/jsx-props-no-spreading */\n\nvar propTypes$g = {\n name: PropTypes__default[\"default\"].string.isRequired,\n components: PropTypes__default[\"default\"].object.isRequired,\n // eslint-disable-line\n props: PropTypes__default[\"default\"].object,\n // eslint-disable-line\n isPlaceholder: PropTypes__default[\"default\"].bool,\n className: PropTypes__default[\"default\"].string,\n placeholderProps: PropTypes__default[\"default\"].object // eslint-disable-line\n\n};\nvar defaultProps$g = {\n props: {},\n isPlaceholder: false,\n className: null,\n placeholderProps: null\n};\n\nvar ElementComponent = function ElementComponent(_ref) {\n var name = _ref.name,\n components = _ref.components,\n props = _ref.props,\n isPlaceholder = _ref.isPlaceholder,\n className = _ref.className,\n placeholderProps = _ref.placeholderProps;\n\n if (!name) {\n return 'Bad component name';\n }\n\n if (isPlaceholder) {\n // TODO: figure out what this did\n // const PlaceholderComponent = Placeholders[pascalCase(name)];\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderBlock, placeholderProps);\n }\n\n var RealComponent = components[utils.pascalCase(name)];\n\n if (!RealComponent) {\n return 'Bad component';\n }\n\n return /*#__PURE__*/React__default[\"default\"].createElement(RealComponent, Object.assign({}, props, {\n className: className\n }));\n};\n\nElementComponent.propTypes = propTypes$g;\nElementComponent.defaultProps = defaultProps$g;\n\nvar styles$d = {\"container\":\"micromag-core-partials-empty-container\",\"middle\":\"micromag-core-partials-empty-middle\",\"withoutBorder\":\"micromag-core-partials-empty-withoutBorder\",\"invertColor\":\"micromag-core-partials-empty-invertColor\"};\n\nvar propTypes$f = {\n children: PropTypes__default[\"default\"].node,\n withoutBorder: PropTypes__default[\"default\"].bool,\n light: PropTypes__default[\"default\"].bool,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$f = {\n children: null,\n withoutBorder: false,\n light: false,\n className: null\n};\n\nvar Empty = function Empty(_ref) {\n var _ref2;\n\n var children = _ref.children,\n withoutBorder = _ref.withoutBorder,\n light = _ref.light,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$d.container, (_ref2 = {}, _defineProperty__default[\"default\"](_ref2, styles$d.withoutBorder, withoutBorder), _defineProperty__default[\"default\"](_ref2, styles$d.light, light), _defineProperty__default[\"default\"](_ref2, className, className), _ref2)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$d.middle\n }, /*#__PURE__*/React__default[\"default\"].createElement(Label, null, children)));\n};\n\nEmpty.propTypes = propTypes$f;\nEmpty.defaultProps = defaultProps$f;\n\nvar propTypes$e = {\n fonts: core.PropTypes.fonts,\n formats: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].shape({\n name: PropTypes__default[\"default\"].string,\n format: PropTypes__default[\"default\"].string\n })]))\n};\nvar defaultProps$e = {\n fonts: [],\n formats: ['eot', 'woff2', 'woff', {\n name: 'otf',\n format: 'opentype'\n }, {\n name: 'ttf',\n format: 'truetype'\n }, 'svg']\n};\n\nvar FontFaces = function FontFaces(_ref) {\n var fonts = _ref.fonts,\n formats = _ref.formats;\n var fontFaces = (fonts || []).filter(function (it) {\n return isObject__default[\"default\"](it) && it.type === 'custom' && (it.media || null) !== null;\n }).map(function (_ref2) {\n var _ref2$name = _ref2.name,\n name = _ref2$name === void 0 ? null : _ref2$name,\n _ref2$media = _ref2.media,\n media = _ref2$media === void 0 ? null : _ref2$media;\n\n var _ref3 = media || {},\n _ref3$files = _ref3.files,\n files = _ref3$files === void 0 ? {} : _ref3$files;\n\n var urls = formats.reduce(function (currentUrls, format) {\n var finalFormat = isObject__default[\"default\"](format) ? format.format : format;\n var formatExtension = isObject__default[\"default\"](format) ? format.name : format;\n var file = files[\"webfonts.\".concat(formatExtension)] || files[formatExtension] || null;\n return file !== null ? [].concat(_toConsumableArray__default[\"default\"](currentUrls), [\"url(\\\"\".concat(file.url, \"?\\\") format(\\\"\").concat(finalFormat, \"\\\")\")]) : currentUrls;\n }, []);\n return urls.length > 0 && name !== null ? \"\\n @font-face {\\n font-family: \\\"\".concat(name, \"\\\";\\n src: \").concat(urls.join(','), \";\\n }\\n \") : null;\n }).filter(function (it) {\n return it !== null;\n });\n return fontFaces.length > 0 ? /*#__PURE__*/React__default[\"default\"].createElement(\"style\", {\n type: \"text/css\"\n }, fontFaces.join('\\n')) : null;\n};\n\nFontFaces.propTypes = propTypes$e;\nFontFaces.defaultProps = defaultProps$e;\n\nvar styles$c = {};\n\nvar propTypes$d = {\n thumbnail: PropTypes__default[\"default\"].node,\n thumbnailAlign: PropTypes__default[\"default\"].oneOf(['top', 'center', 'bottom']),\n children: PropTypes__default[\"default\"].node,\n title: core.PropTypes.label,\n className: PropTypes__default[\"default\"].string,\n thumbnailClassName: PropTypes__default[\"default\"].string,\n bodyClassName: PropTypes__default[\"default\"].string,\n titleClassName: PropTypes__default[\"default\"].string\n};\nvar defaultProps$d = {\n thumbnail: null,\n thumbnailAlign: 'top',\n children: null,\n title: null,\n className: null,\n thumbnailClassName: null,\n bodyClassName: null,\n titleClassName: null\n};\n\nvar Media = function Media(_ref) {\n var thumbnail = _ref.thumbnail,\n thumbnailAlign = _ref.thumbnailAlign,\n children = _ref.children,\n title = _ref.title,\n className = _ref.className,\n thumbnailClassName = _ref.thumbnailClassName,\n bodyClassName = _ref.bodyClassName,\n titleClassName = _ref.titleClassName;\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](['media', styles$c.container, _defineProperty__default[\"default\"]({}, className, className !== null)])\n }, typeof thumbnail === 'string' ? /*#__PURE__*/React__default[\"default\"].createElement(\"img\", {\n src: thumbnail,\n alt: title,\n className: classNames__default[\"default\"](['mr-3', styles$c.thumbnail, _defineProperty__default[\"default\"]({\n 'align-self-start': thumbnailAlign === 'top',\n 'align-self-center': thumbnailAlign === 'center',\n 'align-self-end': thumbnailAlign === 'bottom'\n }, thumbnailClassName, thumbnailClassName !== null)])\n }) : thumbnail, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](['media-body', styles$c.body, _defineProperty__default[\"default\"]({}, bodyClassName, bodyClassName !== null)])\n }, title !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"h5\", {\n className: classNames__default[\"default\"](['mt-0', styles$c.title, _defineProperty__default[\"default\"]({}, titleClassName, titleClassName !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(Label, null, title)) : null, children));\n};\n\nMedia.propTypes = propTypes$d;\nMedia.defaultProps = defaultProps$d;\n\n/**\n * Core\n */\n\nPropTypes__default[\"default\"].shape({\n listen: PropTypes__default[\"default\"].func.isRequired,\n push: PropTypes__default[\"default\"].func.isRequired\n});\nPropTypes__default[\"default\"].shape({\n pathname: PropTypes__default[\"default\"].string,\n search: PropTypes__default[\"default\"].string\n});\nPropTypes__default[\"default\"].shape({\n locale: PropTypes__default[\"default\"].string.isRequired,\n formatMessage: PropTypes__default[\"default\"].func.isRequired\n});\nvar defaultMessageContent = PropTypes__default[\"default\"].shape({\n type: PropTypes__default[\"default\"].number,\n value: PropTypes__default[\"default\"].string\n});\nvar defaultMessage = PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].arrayOf(defaultMessageContent)]);\nvar message = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string,\n defaultMessage: defaultMessage.isRequired,\n description: PropTypes__default[\"default\"].string\n});\nvar text = PropTypes__default[\"default\"].oneOfType([message, PropTypes__default[\"default\"].string]);\nvar label = PropTypes__default[\"default\"].oneOfType([message, PropTypes__default[\"default\"].node]);\nPropTypes__default[\"default\"].oneOf([401, 403, 404, 500]);\nPropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].shape({\n current: PropTypes__default[\"default\"].any // eslint-disable-line react/forbid-prop-types\n\n}), PropTypes__default[\"default\"].func]);\nvar target = PropTypes__default[\"default\"].oneOf(['_blank', '_self', '_parent']);\nvar interaction = PropTypes__default[\"default\"].oneOf(['tap', 'swipe']);\nPropTypes__default[\"default\"].arrayOf(interaction);\nPropTypes__default[\"default\"].objectOf(PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].array]));\n/**\n * Site\n */\n\nPropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].number,\n firstname: PropTypes__default[\"default\"].string,\n lastname: PropTypes__default[\"default\"].string,\n email: PropTypes__default[\"default\"].string,\n gender: PropTypes__default[\"default\"].string,\n birthdate: PropTypes__default[\"default\"].string\n});\nvar menuItem = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].string]),\n label: label,\n url: PropTypes__default[\"default\"].string,\n external: PropTypes__default[\"default\"].bool,\n active: PropTypes__default[\"default\"].bool\n});\nPropTypes__default[\"default\"].arrayOf(menuItem);\nvar breadcrumb = PropTypes__default[\"default\"].shape({\n label: label,\n url: PropTypes__default[\"default\"].string\n});\nPropTypes__default[\"default\"].arrayOf(breadcrumb);\nvar device = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string.isRequired\n});\nPropTypes__default[\"default\"].arrayOf(device);\nvar modal = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string.isRequired\n});\nPropTypes__default[\"default\"].arrayOf(modal);\nvar panel = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string.isRequired\n});\nPropTypes__default[\"default\"].arrayOf(panel);\nvar button = PropTypes__default[\"default\"].shape({\n label: label,\n onClick: PropTypes__default[\"default\"].func\n});\nPropTypes__default[\"default\"].arrayOf(button);\nvar bootstrapThemeStrings = ['primary', 'secondary', 'success', 'danger', 'warning', 'info', 'light', 'dark'];\nPropTypes__default[\"default\"].oneOf(bootstrapThemeStrings);\nPropTypes__default[\"default\"].oneOf([].concat(bootstrapThemeStrings, ['outline-primary', 'outline-secondary', 'outline-success', 'outline-danger', 'outline-warning', 'outline-info', 'outline-light', 'outline-dark', 'outline-link', null]));\nPropTypes__default[\"default\"].oneOf(['lg', 'sm', null]);\nPropTypes__default[\"default\"].oneOf(['lg', 'sm', null]);\nPropTypes__default[\"default\"].oneOf(['left', 'right']);\nvar component = PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].object, PropTypes__default[\"default\"].func]);\nPropTypes__default[\"default\"].objectOf(component);\n/**\n * Forms\n */\n\nvar errors = PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].string)]);\nPropTypes__default[\"default\"].objectOf(errors);\nvar selectOption = PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].shape({\n value: PropTypes__default[\"default\"].any,\n // eslint-disable-line\n label: label\n})]);\nPropTypes__default[\"default\"].arrayOf(selectOption);\nvar formField = PropTypes__default[\"default\"].shape({\n name: PropTypes__default[\"default\"].string,\n component: component\n});\nPropTypes__default[\"default\"].arrayOf(formField);\n/**\n * Medias\n */\n\nvar mediaMetadataShape = {\n filename: PropTypes__default[\"default\"].string,\n size: PropTypes__default[\"default\"].number,\n mime: PropTypes__default[\"default\"].string\n};\nvar mediaFile = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string,\n handle: PropTypes__default[\"default\"].string,\n type: PropTypes__default[\"default\"].string,\n mime: PropTypes__default[\"default\"].string,\n url: PropTypes__default[\"default\"].string\n});\nvar mediaShape = {\n id: PropTypes__default[\"default\"].string,\n type: PropTypes__default[\"default\"].string.isRequired,\n url: PropTypes__default[\"default\"].string,\n // .isRequired,\n thumbnail_url: PropTypes__default[\"default\"].string,\n name: PropTypes__default[\"default\"].string,\n metadata: PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({}, mediaMetadataShape)),\n files: PropTypes__default[\"default\"].objectOf(mediaFile)\n};\nvar media = PropTypes__default[\"default\"].shape(mediaShape);\nPropTypes__default[\"default\"].arrayOf(media);\nPropTypes__default[\"default\"].oneOf(['image', 'video', 'audio', 'closed-captions', 'font']);\nvar imageMedia = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaShape), {}, {\n type: PropTypes__default[\"default\"].oneOf(['image', 'video']),\n metadata: PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaMetadataShape), {}, {\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number\n }))\n}));\nPropTypes__default[\"default\"].arrayOf(imageMedia);\nvar fontMedia = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaShape), {}, {\n type: PropTypes__default[\"default\"].oneOf(['font']),\n metadata: PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({}, mediaMetadataShape))\n}));\nPropTypes__default[\"default\"].arrayOf(fontMedia);\nvar videoMedia = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaShape), {}, {\n type: PropTypes__default[\"default\"].oneOf(['video']),\n metadata: PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaMetadataShape), {}, {\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number,\n duration: PropTypes__default[\"default\"].number\n }))\n}));\nPropTypes__default[\"default\"].arrayOf(videoMedia);\nvar audioMedia = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaShape), {}, {\n type: PropTypes__default[\"default\"].oneOf(['audio']),\n metadata: PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaMetadataShape), {}, {\n duration: PropTypes__default[\"default\"].number\n }))\n}));\nPropTypes__default[\"default\"].arrayOf(audioMedia);\nvar closedCaptionsMedia = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaShape), {}, {\n type: PropTypes__default[\"default\"].oneOf(['closed-captions'])\n}));\n/**\n * Style\n */\n\nvar font = PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].shape({\n type: PropTypes__default[\"default\"].oneOf(['system', 'google', 'custom']),\n name: PropTypes__default[\"default\"].string,\n media: fontMedia\n})]);\nPropTypes__default[\"default\"].arrayOf(font);\nvar textAlign = PropTypes__default[\"default\"].oneOf(['left', 'right', 'center']);\nvar color = PropTypes__default[\"default\"].shape({\n color: PropTypes__default[\"default\"].string,\n alpha: PropTypes__default[\"default\"].number\n});\nvar textStyle = PropTypes__default[\"default\"].shape({\n fontFamily: font,\n fontSize: PropTypes__default[\"default\"].number,\n fontStyle: PropTypes__default[\"default\"].shape({\n bold: PropTypes__default[\"default\"].bool,\n italic: PropTypes__default[\"default\"].bool,\n underline: PropTypes__default[\"default\"].bool,\n upperCase: PropTypes__default[\"default\"].bool\n }),\n align: textAlign,\n color: color,\n letterSpacing: PropTypes__default[\"default\"].number,\n lineHeight: PropTypes__default[\"default\"].number\n});\nvar borderTypes = PropTypes__default[\"default\"].oneOf(['dotted', 'dashed', 'solid', 'double', 'groove', 'ridge', 'inset', 'outset', 'hidden']);\nPropTypes__default[\"default\"].shape({\n width: PropTypes__default[\"default\"].number,\n style: borderTypes,\n radius: PropTypes__default[\"default\"].number,\n color: color\n});\nPropTypes__default[\"default\"].shape({\n backgroundColor: color,\n borderRadius: PropTypes__default[\"default\"].number,\n borderWidth: PropTypes__default[\"default\"].number,\n borderColor: color,\n borderStyle: borderTypes\n});\nPropTypes__default[\"default\"].shape({\n top: PropTypes__default[\"default\"].number,\n bottom: PropTypes__default[\"default\"].number\n});\nPropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].shape({\n rows: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].number)]),\n columns: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].number)])\n}));\nvar objectFitSize = PropTypes__default[\"default\"].oneOf(['cover', 'contain', null]);\nPropTypes__default[\"default\"].shape({\n fit: objectFitSize,\n horizontalPosition: PropTypes__default[\"default\"].oneOf(['left', 'center', 'right']),\n verticalPosition: PropTypes__default[\"default\"].oneOf(['top', 'center', 'bottom'])\n});\n/**\n * Elements\n */\n\nvar textElement = PropTypes__default[\"default\"].shape({\n body: PropTypes__default[\"default\"].string,\n textStyle: textStyle\n});\nvar headingElement = textElement;\nPropTypes__default[\"default\"].shape({\n label: PropTypes__default[\"default\"].string,\n textStyle: textStyle\n});\nvar imageElement = PropTypes__default[\"default\"].shape({\n media: imageMedia\n});\nPropTypes__default[\"default\"].arrayOf(imageElement);\nPropTypes__default[\"default\"].shape({\n media: videoMedia,\n autoPlay: PropTypes__default[\"default\"].bool,\n loop: PropTypes__default[\"default\"].bool,\n closedCaptions: closedCaptionsMedia,\n withSeekBar: PropTypes__default[\"default\"].bool,\n withPlayPause: PropTypes__default[\"default\"].bool\n});\nPropTypes__default[\"default\"].shape({\n media: audioMedia,\n autoPlay: PropTypes__default[\"default\"].bool,\n loop: PropTypes__default[\"default\"].bool,\n closedCaptions: closedCaptionsMedia,\n withPlayPause: PropTypes__default[\"default\"].bool\n});\nPropTypes__default[\"default\"].shape({\n media: closedCaptionsMedia\n});\nvar backgroundElement = PropTypes__default[\"default\"].shape({\n color: color,\n image: imageMedia,\n video: videoMedia\n});\nvar imageElementWithCaption = PropTypes__default[\"default\"].shape({\n image: imageMedia,\n caption: textElement\n});\nPropTypes__default[\"default\"].arrayOf(imageElementWithCaption);\nvar stackDirection = PropTypes__default[\"default\"].oneOf(['horizontal', 'vertical']);\nvar stackAlign = PropTypes__default[\"default\"].oneOf(['start', 'center', 'end']);\nvar stackSpacing = PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].oneOf(['between', 'evenly', 'around'])]);\nPropTypes__default[\"default\"].shape({\n direction: stackDirection,\n align: stackAlign,\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number,\n spacing: stackSpacing,\n reverse: PropTypes__default[\"default\"].bool\n});\nPropTypes__default[\"default\"].shape({\n layout: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].string),\n spacing: PropTypes__default[\"default\"].number\n});\nvar geoPosition = PropTypes__default[\"default\"].shape({\n lat: PropTypes__default[\"default\"].number,\n lng: PropTypes__default[\"default\"].number\n});\nvar markerShape = {\n id: PropTypes__default[\"default\"].number,\n geoPosition: geoPosition,\n title: headingElement,\n subtitle: headingElement,\n description: textElement\n};\nvar marker = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({}, markerShape));\nPropTypes__default[\"default\"].arrayOf(marker);\nvar markerWithImage = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, markerShape), {}, {\n image: imageMedia\n}));\nPropTypes__default[\"default\"].arrayOf(markerWithImage);\nvar answerShape = {\n id: PropTypes__default[\"default\"].string,\n label: textElement\n};\nvar answer = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({}, answerShape));\nvar quizAnswer = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, answerShape), {}, {\n good: PropTypes__default[\"default\"].bool\n}));\nPropTypes__default[\"default\"].arrayOf(answer);\nPropTypes__default[\"default\"].arrayOf(quizAnswer);\nvar callToActionTypes = PropTypes__default[\"default\"].oneOf(['swipe-up', 'button']);\nPropTypes__default[\"default\"].shape({\n active: PropTypes__default[\"default\"].bool,\n type: callToActionTypes,\n url: PropTypes__default[\"default\"].string,\n label: textElement\n});\nvar speaker = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string,\n name: PropTypes__default[\"default\"].string,\n avatar: imageMedia,\n side: PropTypes__default[\"default\"].oneOf(['left', 'right']),\n color: color\n});\nvar speakers = PropTypes__default[\"default\"].arrayOf(speaker);\nvar conversationMessage = PropTypes__default[\"default\"].shape({\n speaker: PropTypes__default[\"default\"].string,\n message: PropTypes__default[\"default\"].string,\n image: imageMedia\n});\nvar conversationMessages = PropTypes__default[\"default\"].arrayOf(conversationMessage);\nPropTypes__default[\"default\"].shape({\n speakers: speakers,\n textStyle: textStyle,\n messages: conversationMessages\n});\n/**\n * Definitions\n */\n\nvar fieldShape = {\n name: PropTypes__default[\"default\"].string,\n type: PropTypes__default[\"default\"].string.isRequired,\n label: text\n};\nvar field = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, fieldShape), {}, {\n isSection: PropTypes__default[\"default\"].bool,\n fields: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].shape(fieldShape))\n}));\nvar fields = PropTypes__default[\"default\"].arrayOf(field);\nvar screenDefinition = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string.isRequired,\n type: PropTypes__default[\"default\"].oneOf(['screen']).isRequired,\n title: text.isRequired,\n layouts: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].string),\n fields: fields\n});\nPropTypes__default[\"default\"].arrayOf(screenDefinition);\nvar fieldDefinition = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string.isRequired,\n type: PropTypes__default[\"default\"].oneOf(['field']).isRequired,\n title: text.isRequired,\n fields: fields\n});\nPropTypes__default[\"default\"].arrayOf(fieldDefinition);\n/**\n * Components\n */\n\nvar storyComponentShape = {\n type: PropTypes__default[\"default\"].string.isRequired\n};\nvar storyComponent = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({}, storyComponentShape));\nPropTypes__default[\"default\"].arrayOf(storyComponent);\nvar screenComponent = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({}, storyComponentShape));\nvar screenComponents = PropTypes__default[\"default\"].arrayOf(screenComponent);\n\n/**\n * Theme\n */\n\nvar theme = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string,\n textStyles: PropTypes__default[\"default\"].objectOf(textStyle),\n // renamed to textstyles\n background: backgroundElement,\n colors: PropTypes__default[\"default\"].objectOf(color),\n components: screenComponents\n});\nPropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({\n logo: imageMedia\n}, theme));\n/**\n * Branding\n */\n// export const branding = PropTypes.shape({\n// logo: imageMedia,\n// primaryColor: color,\n// secondaryColor: color,\n// backgroundColor: color,\n// textStyle,\n// });\n\n/**\n * Metadata\n */\n\nvar metadata = PropTypes__default[\"default\"].shape({\n description: PropTypes__default[\"default\"].string,\n shareUrl: PropTypes__default[\"default\"].string,\n shareImage: imageMedia,\n favIcon: imageMedia\n});\n/**\n * Story\n */\n\nPropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string,\n theme: theme,\n components: screenComponents,\n metadata: metadata\n});\n/**\n * Render\n */\n\nvar deviceScreen = PropTypes__default[\"default\"].shape({\n name: PropTypes__default[\"default\"].string.isRequired,\n mediaQuery: PropTypes__default[\"default\"].string\n});\nPropTypes__default[\"default\"].arrayOf(deviceScreen);\nPropTypes__default[\"default\"].shape({\n screen: PropTypes__default[\"default\"].string,\n screens: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].string),\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number\n});\nPropTypes__default[\"default\"].oneOf(['view', 'placeholder', 'edit', 'preview', 'static', 'capture']);\n/**\n * Screens\n */\n\nPropTypes__default[\"default\"].shape({\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number\n});\nPropTypes__default[\"default\"].shape({\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number,\n url: PropTypes__default[\"default\"].string,\n target: target,\n iframe: PropTypes__default[\"default\"].string,\n image: imageMedia\n});\nPropTypes__default[\"default\"].shape({\n src: PropTypes__default[\"default\"].string,\n track: PropTypes__default[\"default\"].string,\n trackLng: PropTypes__default[\"default\"].number,\n controls: PropTypes__default[\"default\"].bool\n});\nvar slide = PropTypes__default[\"default\"].shape({\n image: imageMedia,\n text: PropTypes__default[\"default\"].string\n});\nPropTypes__default[\"default\"].arrayOf(slide); // export const imageStyle = PropTypes.shape({\n// alt: PropTypes.string,\n// fit: PropTypes.object,\n// });\n\nPropTypes__default[\"default\"].shape({});\n/**\n * Transitions\n */\n\nvar transitionName = PropTypes__default[\"default\"].oneOf(['fade', 'scale', 'slide']);\nvar transitionParams = {\n duration: PropTypes__default[\"default\"].number,\n easing: PropTypes__default[\"default\"].oneOf(['ease', 'ease-in', 'ease-out', 'ease-in-out', 'linear'])\n};\nvar transition = PropTypes__default[\"default\"].oneOfType([transitionName.isRequired, PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({\n name: transitionName.isRequired\n}, transitionParams))]);\nPropTypes__default[\"default\"].shape({\n \"in\": transition,\n out: transition\n});\n/**\n * Search\n */\n\nvar searchFilter = PropTypes__default[\"default\"].shape({\n type: PropTypes__default[\"default\"].string,\n value: PropTypes__default[\"default\"].oneOf([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].number])\n});\nPropTypes__default[\"default\"].arrayOf(searchFilter);\n/**\n * Payments\n */\n\nvar paymentItem = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].number]),\n date: PropTypes__default[\"default\"].string,\n type: PropTypes__default[\"default\"].string,\n invoice_link: PropTypes__default[\"default\"].string,\n amount: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].number])\n});\nPropTypes__default[\"default\"].arrayOf(paymentItem);\n/**\n * Page Metadada\n */\n\nvar pageMetadata = PropTypes__default[\"default\"].shape({\n canonical: PropTypes__default[\"default\"].string,\n description: PropTypes__default[\"default\"].string,\n keywords: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].array]),\n image: PropTypes__default[\"default\"].shape({\n url: PropTypes__default[\"default\"].string\n }),\n favicon: PropTypes__default[\"default\"].shape({\n url: PropTypes__default[\"default\"].string\n }),\n rssUrl: PropTypes__default[\"default\"].string,\n atomUrl: PropTypes__default[\"default\"].string,\n microformats: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].shape({}))\n});\n\n/* eslint-disable react/no-array-index-key */\nvar propTypes$c = {\n title: PropTypes__default[\"default\"].string,\n url: PropTypes__default[\"default\"].string,\n metadata: pageMetadata,\n fullTitle: PropTypes__default[\"default\"].string,\n suffix: PropTypes__default[\"default\"].string,\n children: PropTypes__default[\"default\"].node\n};\nvar defaultProps$c = {\n title: null,\n url: null,\n metadata: null,\n fullTitle: null,\n suffix: 'Micromag',\n children: null\n};\n\nvar Meta = function Meta(_ref) {\n var title = _ref.title,\n url = _ref.url,\n metadata = _ref.metadata,\n fullTitle = _ref.fullTitle,\n suffix = _ref.suffix,\n children = _ref.children;\n\n var _ref2 = metadata || {},\n _ref2$canonical = _ref2.canonical,\n canonical = _ref2$canonical === void 0 ? null : _ref2$canonical,\n _ref2$description = _ref2.description,\n description = _ref2$description === void 0 ? null : _ref2$description,\n _ref2$keywords = _ref2.keywords,\n keywords = _ref2$keywords === void 0 ? null : _ref2$keywords,\n _ref2$image = _ref2.image,\n image = _ref2$image === void 0 ? null : _ref2$image,\n _ref2$favicon = _ref2.favicon,\n favicon = _ref2$favicon === void 0 ? null : _ref2$favicon,\n _ref2$rssUrl = _ref2.rssUrl,\n rssUrl = _ref2$rssUrl === void 0 ? null : _ref2$rssUrl,\n _ref2$atomUrl = _ref2.atomUrl,\n atomUrl = _ref2$atomUrl === void 0 ? null : _ref2$atomUrl,\n _ref2$microformats = _ref2.microformats,\n microformats = _ref2$microformats === void 0 ? [] : _ref2$microformats,\n _ref2$language = _ref2.language,\n language = _ref2$language === void 0 ? null : _ref2$language;\n\n var realTitle = title !== null ? \"\".concat(title, \" | \").concat(suffix) : fullTitle;\n\n var _ref3 = image || {},\n _ref3$url = _ref3.url,\n imageUrl = _ref3$url === void 0 ? null : _ref3$url,\n _ref3$metadata = _ref3.metadata,\n imageMetadata = _ref3$metadata === void 0 ? {} : _ref3$metadata;\n\n var _ref4 = imageMetadata || {},\n _ref4$width = _ref4.width,\n imageWidth = _ref4$width === void 0 ? null : _ref4$width,\n _ref4$height = _ref4.height,\n imageHeight = _ref4$height === void 0 ? null : _ref4$height;\n\n var _ref5 = favicon || {},\n _ref5$url = _ref5.url,\n faviconUrl = _ref5$url === void 0 ? null : _ref5$url;\n\n return /*#__PURE__*/React__default[\"default\"].createElement(reactHelmet.Helmet, null, /*#__PURE__*/React__default[\"default\"].createElement(\"title\", null, realTitle !== null && realTitle.length > 0 ? realTitle : 'Micromag'), description !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n name: \"description\",\n content: description\n }) : null, language !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n name: \"language\",\n content: language\n }) : null, keywords !== null && isString__default[\"default\"](keywords) ? /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n name: \"keywords\",\n content: keywords\n }) : null, keywords !== null && isArray__default[\"default\"](keywords) ? /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n name: \"keywords\",\n content: keywords.join(',')\n }) : null, canonical !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"link\", {\n rel: \"canonical\",\n href: canonical\n }) : null, faviconUrl !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"link\", {\n rel: \"icon\",\n type: \"image/png\",\n href: faviconUrl\n }) : null, rssUrl !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"link\", {\n rel: \"alternate\",\n type: \"application/rss+xml\",\n href: rssUrl\n }) : null, atomUrl !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"link\", {\n rel: \"alternate\",\n type: \"application/atom+xml\",\n href: atomUrl\n }) : null, imageUrl !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n property: \"og:image\",\n content: imageUrl\n }) : null, imageUrl !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n property: \"og:image:url\",\n content: imageUrl\n }) : null, imageWidth !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n property: \"og:image:width\",\n content: imageWidth\n }) : null, imageHeight !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n property: \"og:image:height\",\n content: imageHeight\n }) : null, /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n property: \"og:title\",\n content: realTitle\n }), description !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n property: \"og:description\",\n content: description\n }) : null, url !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n property: \"og:url\",\n content: url\n }) : null, /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n name: \"twitter:card\",\n content: imageUrl !== null ? 'summary_large_image' : 'summary'\n }), /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n name: \"twitter:title\",\n content: realTitle\n }), description !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n name: \"twitter:description\",\n content: description\n }) : null, imageUrl !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n name: \"twitter:image\",\n content: imageUrl\n }) : null, (microformats || []).map(function (it) {\n return /*#__PURE__*/React__default[\"default\"].createElement(\"script\", {\n type: \"application/ld+json\",\n id: \"\".concat(it[\"@type\"], \"-\").concat(it.identifier),\n key: \"microformat-\".concat(it[\"@type\"], \"-\").concat(it.identifier)\n }, JSON.stringify(it));\n }), children);\n};\n\nMeta.propTypes = propTypes$c;\nMeta.defaultProps = defaultProps$c;\n\nvar styles$b = {\"container\":\"micromag-core-partials-slideshow-container\",\"item\":\"micromag-core-partials-slideshow-item\",\"items\":\"micromag-core-partials-slideshow-items\",\"prev\":\"micromag-core-partials-slideshow-prev\",\"current\":\"micromag-core-partials-slideshow-current\",\"next\":\"micromag-core-partials-slideshow-next\"};\n\nvar propTypes$b = {\n items: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].node),\n auto: PropTypes__default[\"default\"].bool,\n delay: PropTypes__default[\"default\"].number,\n width: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].number]),\n height: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].number]),\n className: PropTypes__default[\"default\"].string,\n children: PropTypes__default[\"default\"].node\n};\nvar defaultProps$b = {\n items: [],\n auto: true,\n delay: 5000,\n width: null,\n height: null,\n className: null,\n children: null\n};\n\nvar Slideshow = function Slideshow(_ref) {\n var items = _ref.items,\n auto = _ref.auto,\n delay = _ref.delay,\n width = _ref.width,\n height = _ref.height,\n className = _ref.className,\n children = _ref.children;\n\n var _useState = React.useState(0),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n index = _useState2[0],\n setIndex = _useState2[1];\n\n React.useEffect(function () {\n var id = null;\n\n if (auto) {\n id = setTimeout(function () {\n if (index < items.length - 1) {\n setIndex(function (i) {\n return i + 1;\n });\n } else {\n setIndex(0);\n }\n }, delay);\n }\n\n return function () {\n clearTimeout(id);\n };\n }, [index, items, auto, delay]);\n var style = {\n width: width,\n height: height\n };\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$b.container, _defineProperty__default[\"default\"]({}, className, className)]),\n style: style\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$b.items\n }, items.map(function (it, i) {\n var _ref3;\n\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n key: \"slide-\".concat(i + 1),\n className: classNames__default[\"default\"]([styles$b.item, (_ref3 = {}, _defineProperty__default[\"default\"](_ref3, styles$b.prev, i < index), _defineProperty__default[\"default\"](_ref3, styles$b.current, i === index), _defineProperty__default[\"default\"](_ref3, styles$b.next, i > index), _ref3)])\n }, it);\n })), children);\n};\n\nSlideshow.propTypes = propTypes$b;\nSlideshow.defaultProps = defaultProps$b;\n\nvar styles$a = {};\n\n/* eslint-disable react/prop-types */\nvar AdFrame = function AdFrame(_ref) {\n var width = _ref.width,\n height = _ref.height,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderBlock, {\n width: width,\n height: height,\n className: className\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: freeSolidSvgIcons.faAd,\n className: styles$a.icon\n }));\n};\n\n/* eslint-disable react/prop-types */\nvar AdImage = function AdImage(_ref) {\n var width = _ref.width,\n height = _ref.height,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderBlock, {\n width: width,\n height: height,\n className: className\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: freeSolidSvgIcons.faImage,\n className: styles$a.icon\n }));\n};\n\n/* eslint-disable react/destructuring-assignment, react/prop-types */\nvar Audio = function Audio(_ref) {\n var _ref$width = _ref.width,\n width = _ref$width === void 0 ? '100%' : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? '2em' : _ref$height,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderBlock, {\n width: width,\n height: height,\n className: className\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: freeSolidSvgIcons.faMusic,\n className: styles$a.icon\n }));\n};\n\nvar styles$9 = {\"container\":\"micromag-core-partials-placeholder-text-container\",\"line\":\"micromag-core-partials-placeholder-text-line\"};\n\nvar propTypes$a = {\n lines: PropTypes__default[\"default\"].number,\n lineMargin: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].string]),\n width: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].string]),\n height: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].string]),\n fontSize: PropTypes__default[\"default\"].number,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$a = {\n lines: 1,\n lineMargin: 1,\n width: '100%',\n height: null,\n fontSize: 16,\n className: null\n};\n\nvar PlaceholderText = function PlaceholderText(_ref) {\n var lines = _ref.lines,\n lineMargin = _ref.lineMargin,\n width = _ref.width,\n height = _ref.height,\n fontSize = _ref.fontSize,\n className = _ref.className;\n var lineHeight = height !== null && isNumber__default[\"default\"](height) ? \"\".concat(Math.round(height * fontSize), \"px\") : height;\n var oddWidth = isNumber__default[\"default\"](width) ? width * 0.9 : '90%';\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$9.container, _defineProperty__default[\"default\"]({}, className, className)])\n }, _toConsumableArray__default[\"default\"](Array(lines)).map(function (e, index) {\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n key: \"line-\".concat(index),\n className: styles$9.line,\n style: {\n width: index % 2 === 0 ? width : oddWidth,\n height: lineHeight,\n marginTop: lineMargin,\n marginBottom: lineMargin\n }\n });\n }));\n};\n\nPlaceholderText.propTypes = propTypes$a;\nPlaceholderText.defaultProps = defaultProps$a;\n\n/* eslint-disable react/destructuring-assignment, react/prop-types */\nvar Button = function Button(_ref) {\n var _ref$width = _ref.width,\n width = _ref$width === void 0 ? '75%' : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? '0.4em' : _ref$height,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderBlock, {\n outline: true,\n width: width,\n height: height,\n className: className\n }, /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderText, {\n line: 1,\n height: \"0.1em\"\n }));\n};\n\n/* eslint-disable react/prop-types */\nvar Image = function Image(_ref) {\n var width = _ref.width,\n height = _ref.height,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderBlock, {\n width: width,\n height: height,\n className: className\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: freeSolidSvgIcons.faImage,\n className: styles$a.icon\n }));\n};\n\n/* eslint-disable react/jsx-props-no-spreading, react/destructuring-assignment, react/prop-types */\nvar Line = function Line(props) {\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderText, Object.assign({}, props, {\n className: classNames__default[\"default\"]([props.className, styles$a.shortText]),\n height: 0.2,\n lines: 1\n }));\n};\n\nvar styles$8 = {\"container\":\"micromag-core-placeholders-map-container\",\"icon\":\"micromag-core-placeholders-map-icon\"};\n\nvar Map = function Map(props) {\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderBlock, Object.assign({}, props, {\n width: \"100%\",\n height: \"100%\",\n className: classNames__default[\"default\"]([styles$8.container, _defineProperty__default[\"default\"]({}, props.className, props.className !== null)])\n }), /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: props.withImages ? freeSolidSvgIcons.faImage : freeSolidSvgIcons.faMapMarkerAlt,\n className: styles$8.icon\n }), /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: props.withImages ? freeSolidSvgIcons.faImage : freeSolidSvgIcons.faMapMarkerAlt,\n className: styles$8.icon\n }), /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: props.withImages ? freeSolidSvgIcons.faImage : freeSolidSvgIcons.faMapMarkerAlt,\n className: styles$8.icon\n }), /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: props.withImages ? freeSolidSvgIcons.faImage : freeSolidSvgIcons.faMapMarkerAlt,\n className: styles$8.icon\n }));\n};\n\n/* eslint-disable react/jsx-props-no-spreading, react/destructuring-assignment, react/prop-types */\nvar MapPath = function MapPath(props) {\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderBlock, Object.assign({}, props, {\n width: \"100%\",\n height: \"70%\",\n className: classNames__default[\"default\"]([props.className, styles$a.mapPath])\n }), /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: freeSolidSvgIcons.faMapMarkedAlt,\n size: \"lg\",\n className: styles$a.icon\n }));\n};\n\n/* eslint-disable react/jsx-props-no-spreading, react/destructuring-assignment, react/prop-types */\nvar Quote = function Quote(props) {\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderText, Object.assign({}, props, {\n className: classNames__default[\"default\"]([props.className, styles$a.subtitle]),\n height: 0.5,\n lines: 6\n }));\n};\n\n/* eslint-disable react/jsx-props-no-spreading, react/destructuring-assignment, react/prop-types */\nvar ShortText = function ShortText(props) {\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderText, Object.assign({}, props, {\n className: classNames__default[\"default\"]([props.className, styles$a.shortText]),\n height: 0.2,\n lines: 2\n }));\n};\n\n/* eslint-disable react/jsx-props-no-spreading, react/destructuring-assignment, react/prop-types */\nvar Subtitle = function Subtitle(props) {\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderText, Object.assign({}, props, {\n className: classNames__default[\"default\"]([props.className, styles$a.subtitle]),\n height: 0.3,\n lines: 1\n }));\n};\n\n/* eslint-disable react/jsx-props-no-spreading, react/destructuring-assignment, react/prop-types */\n\nvar TextPlaceholder = function TextPlaceholder(props) {\n var _props$height = props.height,\n height = _props$height === void 0 ? 0.2 : _props$height,\n _props$lines = props.lines,\n lines = _props$lines === void 0 ? 4 : _props$lines,\n _props$lineMargin = props.lineMargin,\n lineMargin = _props$lineMargin === void 0 ? 2 : _props$lineMargin;\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderText, Object.assign({}, props, {\n height: height,\n lines: lines,\n lineMargin: lineMargin,\n className: classNames__default[\"default\"]([props.className, styles$a.text])\n }));\n};\n\n/* eslint-disable react/jsx-props-no-spreading, react/destructuring-assignment, react/prop-types */\nvar Timeline = function Timeline(props) {\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderText, Object.assign({}, props, {\n className: classNames__default[\"default\"]([props.className, styles$a.timeline])\n }));\n};\n\n/* eslint-disable react/jsx-props-no-spreading, react/destructuring-assignment, react/prop-types */\nvar Title = function Title(props) {\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderText, Object.assign({}, props, {\n className: classNames__default[\"default\"]([props.className, styles$a.title]),\n height: 0.5,\n lines: 2,\n lineMargin: 4\n }));\n};\n\n/* eslint-disable react/prop-types */\nvar Video = function Video(_ref) {\n var width = _ref.width,\n height = _ref.height,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderBlock, {\n width: width,\n height: height,\n className: className\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: freeSolidSvgIcons.faVideo,\n className: styles$a.icon\n }));\n};\n\nvar styles$7 = {\"container\":\"micromag-core-placeholders-video-360-container\",\"box\":\"micromag-core-placeholders-video-360-box\",\"icon\":\"micromag-core-placeholders-video-360-icon\",\"label\":\"micromag-core-placeholders-video-360-label\"};\n\nvar Video360 = function Video360(_ref) {\n var width = _ref.width,\n height = _ref.height,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderBlock, {\n width: width,\n height: height,\n className: classNames__default[\"default\"]([styles$7.container, _defineProperty__default[\"default\"]({}, className, className !== null)]),\n boxClassName: styles$7.box\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: freeSolidSvgIcons.faVideo,\n className: styles$7.icon\n }), /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$7.label\n }, \"360\"));\n};\n\n/* eslint-disable react/prop-types */\nvar VideoLoop = function VideoLoop(_ref) {\n var width = _ref.width,\n height = _ref.height,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderBlock, {\n width: width,\n height: height,\n className: className\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: freeSolidSvgIcons.faPlay,\n className: styles$a.icon\n }), /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: freeSolidSvgIcons.faRedo,\n className: styles$a.icon\n }));\n};\n\nvar styles$6 = {\"container\":\"micromag-core-screens-screen-placeholder-container\"};\n\n/* eslint-disable react/jsx-props-no-spreading */\nvar propTypes$9 = {\n screen: core.PropTypes.storyComponent.isRequired,\n renderContext: core.PropTypes.renderContext,\n active: PropTypes__default[\"default\"].bool,\n current: PropTypes__default[\"default\"].bool,\n component: PropTypes__default[\"default\"].node,\n components: core.PropTypes.components,\n className: PropTypes__default[\"default\"].string,\n onPrevious: PropTypes__default[\"default\"].func,\n onNext: PropTypes__default[\"default\"].func,\n onEnableInteraction: PropTypes__default[\"default\"].func,\n onDisableInteraction: PropTypes__default[\"default\"].func,\n getMediaRef: PropTypes__default[\"default\"].func\n};\nvar defaultProps$9 = {\n active: false,\n renderContext: null,\n current: false,\n component: null,\n components: null,\n className: null,\n onPrevious: null,\n onNext: null,\n onEnableInteraction: null,\n onDisableInteraction: null,\n getMediaRef: null\n};\n\nvar Screen = function Screen(_ref) {\n var screen = _ref.screen,\n renderContext = _ref.renderContext,\n active = _ref.active,\n current = _ref.current,\n components = _ref.components,\n component = _ref.component,\n className = _ref.className,\n onPrevious = _ref.onPrevious,\n onNext = _ref.onNext,\n onEnableInteraction = _ref.onEnableInteraction,\n onDisableInteraction = _ref.onDisableInteraction,\n getMediaRef = _ref.getMediaRef;\n var type = screen.type;\n var CustomScreenComponent = components !== null ? utils.getComponentFromName(type, components) || null : null;\n var ContextScreenComponent = contexts.useScreenComponent(type);\n var ScreenComponent = CustomScreenComponent || ContextScreenComponent;\n return /*#__PURE__*/React__default[\"default\"].createElement(contexts.ScreenProvider, {\n data: screen,\n renderContext: renderContext\n }, ScreenComponent !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: className\n }, /*#__PURE__*/React__default[\"default\"].createElement(ScreenComponent, Object.assign({}, screen, {\n active: active,\n current: current,\n onPrevious: onPrevious,\n onNext: onNext,\n onEnableInteraction: onEnableInteraction,\n onDisableInteraction: onDisableInteraction,\n getMediaRef: getMediaRef\n }))) : /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: className\n }, component));\n};\n\nScreen.propTypes = propTypes$9;\nScreen.defaultProps = defaultProps$9;\nvar Screen$1 = /*#__PURE__*/React__default[\"default\"].memo(Screen);\n\nvar propTypes$8 = {\n screen: core.PropTypes.component.isRequired,\n layout: PropTypes__default[\"default\"].string,\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$8 = {\n layout: undefined,\n width: null,\n height: null,\n className: null\n};\n\nvar ScreenPlaceholder = function ScreenPlaceholder(_ref) {\n var screen = _ref.screen,\n layout = _ref.layout,\n width = _ref.width,\n height = _ref.height,\n className = _ref.className;\n var screenSize = React.useMemo(function () {\n return {\n screen: 'mobile',\n screens: ['mobile'],\n width: width,\n height: height\n };\n }, [width, height]);\n return /*#__PURE__*/React__default[\"default\"].createElement(contexts.ScreenSizeProvider, {\n size: screenSize\n }, /*#__PURE__*/React__default[\"default\"].createElement(contexts.ScreenProvider, {\n data: screen,\n renderContext: \"placeholder\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(Screen$1, {\n screen: screen,\n layout: layout,\n className: classNames__default[\"default\"]([styles$6.container, _defineProperty__default[\"default\"]({}, className, className !== null)])\n })));\n};\n\nScreenPlaceholder.propTypes = propTypes$8;\nScreenPlaceholder.defaultProps = defaultProps$8;\nvar Placeholder = /*#__PURE__*/React__default[\"default\"].memo(ScreenPlaceholder);\n\nvar styles$5 = {\"container\":\"micromag-core-screens-preview-container\"};\n\nvar propTypes$7 = {\n screen: core.PropTypes.component.isRequired,\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$7 = {\n width: null,\n height: null,\n className: null\n};\n\nvar ScreenPreview = function ScreenPreview(_ref) {\n var screen = _ref.screen,\n width = _ref.width,\n height = _ref.height,\n className = _ref.className;\n var screenSize = React.useMemo(function () {\n return {\n screen: 'mobile',\n screens: ['mobile'],\n width: width,\n height: height\n };\n }, [width, height]);\n return /*#__PURE__*/React__default[\"default\"].createElement(contexts.ScreenSizeProvider, {\n size: screenSize\n }, /*#__PURE__*/React__default[\"default\"].createElement(contexts.ScreenProvider, {\n data: screen,\n renderContext: \"preview\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(Screen$1, {\n screen: screen,\n renderContext: \"preview\",\n className: classNames__default[\"default\"]([styles$5.container, _defineProperty__default[\"default\"]({}, className, className !== null)])\n })));\n};\n\nScreenPreview.propTypes = propTypes$7;\nScreenPreview.defaultProps = defaultProps$7;\nvar Preview = /*#__PURE__*/React__default[\"default\"].memo(ScreenPreview);\n\nvar styles$4 = {\"container\":\"micromag-core-placeholders-conversation-container\",\"icon\":\"micromag-core-placeholders-conversation-icon\",\"message\":\"micromag-core-placeholders-conversation-message\",\"placeholderMessage0\":\"micromag-core-placeholders-conversation-placeholderMessage0\",\"placeholderMessage1\":\"micromag-core-placeholders-conversation-placeholderMessage1\",\"placeholderMessage2\":\"micromag-core-placeholders-conversation-placeholderMessage2\",\"placeholderMessage3\":\"micromag-core-placeholders-conversation-placeholderMessage3\"};\n\nvar Conversation = function Conversation() {\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$4.container\n }, _toConsumableArray__default[\"default\"](Array(4)).map(function (e, idx) {\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n key: \"message-\".concat(idx + 1),\n className: classNames__default[\"default\"]([styles$4.message, styles$4[\"placeholderMessage\".concat(idx)]])\n });\n }), /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: freeSolidSvgIcons.faCommentDots,\n className: styles$4.icon\n }));\n};\n\n/* eslint-disable react/prop-types */\nvar InputText = function InputText(_ref) {\n var _ref$width = _ref.width,\n width = _ref$width === void 0 ? '75%' : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? '0.5em' : _ref$height,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderBlock, {\n outline: true,\n width: width,\n height: height,\n className: className\n });\n};\n\nvar styles$3 = {\"container\":\"micromag-core-placeholders-quiz-answer-container\",\"block\":\"micromag-core-placeholders-quiz-answer-block\",\"answer\":\"micromag-core-placeholders-quiz-answer-answer\",\"answerIcon\":\"micromag-core-placeholders-quiz-answer-answerIcon\",\"good\":\"micromag-core-placeholders-quiz-answer-good\"};\n\nvar Answer$1 = function Answer(_ref) {\n var _ref2;\n\n var _ref$width = _ref.width,\n width = _ref$width === void 0 ? '75%' : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? '0.3em' : _ref$height,\n className = _ref.className,\n _ref$good = _ref.good,\n good = _ref$good === void 0 ? true : _ref$good;\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$3.container, (_ref2 = {}, _defineProperty__default[\"default\"](_ref2, className, className !== null), _defineProperty__default[\"default\"](_ref2, styles$3.good, good), _ref2)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$3.answer\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n className: styles$3.answerIcon,\n icon: good ? freeSolidSvgIcons.faCheck : freeSolidSvgIcons.faTimes\n })), /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderBlock, {\n outline: true,\n width: width,\n height: height,\n className: styles$3.block\n }, /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderText, {\n line: 1,\n height: \"0.2em\"\n })));\n};\n\nvar styles$2 = {\"container\":\"micromag-core-placeholders-survey-answer-container\",\"block\":\"micromag-core-placeholders-survey-answer-block\",\"percent\":\"micromag-core-placeholders-survey-answer-percent\",\"percentIcon\":\"micromag-core-placeholders-survey-answer-percentIcon\"};\n\nvar Answer = function Answer(_ref) {\n var _ref$width = _ref.width,\n width = _ref$width === void 0 ? '75%' : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? '0.3em' : _ref$height,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$2.container, _defineProperty__default[\"default\"]({}, className, className !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderBlock, {\n outline: true,\n width: width,\n height: height,\n className: styles$2.block\n }, /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderText, {\n line: 1,\n height: \"0.2em\"\n })), /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$2.percent\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n className: styles$2.percentIcon,\n icon: freeSolidSvgIcons.faPercent\n })));\n};\n\nvar Placeholders = /*#__PURE__*/Object.freeze({\n __proto__: null,\n AdFrame: AdFrame,\n AdImage: AdImage,\n Audio: Audio,\n Button: Button,\n Conversation: Conversation,\n Image: Image,\n InputText: InputText,\n Line: Line,\n Map: Map,\n MapPath: MapPath,\n QuizAnswer: Answer$1,\n Quote: Quote,\n ShortText: ShortText,\n Subtitle: Subtitle,\n SurveyAnswer: Answer,\n Text: TextPlaceholder,\n Timeline: Timeline,\n Title: Title,\n Video: Video,\n Video360: Video360,\n VideoLoop: VideoLoop\n});\n\n/* eslint-disable react/jsx-props-no-spreading */\nvar propTypes$6 = {\n children: PropTypes__default[\"default\"].node,\n placeholder: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].node]),\n preview: PropTypes__default[\"default\"].node,\n empty: PropTypes__default[\"default\"].node,\n emptyLabel: core.PropTypes.label,\n isEmpty: PropTypes__default[\"default\"].bool,\n placeholderProps: PropTypes__default[\"default\"].object,\n // eslint-disable-line\n emptyClassName: PropTypes__default[\"default\"].string\n};\nvar defaultProps$6 = {\n children: null,\n placeholder: null,\n preview: null,\n empty: null,\n emptyLabel: null,\n isEmpty: false,\n placeholderProps: null,\n emptyClassName: null\n};\n\nvar ScreenElement = function ScreenElement(_ref) {\n var children = _ref.children,\n placeholder = _ref.placeholder,\n empty = _ref.empty,\n emptyLabel = _ref.emptyLabel,\n preview = _ref.preview,\n isEmpty = _ref.isEmpty,\n placeholderProps = _ref.placeholderProps,\n emptyClassName = _ref.emptyClassName;\n\n var _useScreenRenderConte = contexts.useScreenRenderContext(),\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isPreview = _useScreenRenderConte.isPreview;\n\n if (isPlaceholder) {\n var PlaceholderComponent = isString__default[\"default\"](placeholder) ? utils.getComponentFromName(placeholder, Placeholders) : null;\n return PlaceholderComponent !== null ? /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderComponent, placeholderProps) : placeholder;\n }\n\n if (isEdit && isEmpty) {\n return empty !== null ? empty : /*#__PURE__*/React__default[\"default\"].createElement(Empty, {\n className: emptyClassName\n }, emptyLabel);\n }\n\n if (isPreview && preview !== null) {\n return preview;\n }\n\n return children;\n};\n\nScreenElement.propTypes = propTypes$6;\nScreenElement.defaultProps = defaultProps$6;\n\nvar styles$1 = {\"container\":\"micromag-core-screens-container\",\"screen\":\"micromag-core-screens-screen\",\"visible\":\"micromag-core-screens-visible\"};\n\nvar propTypes$5 = {\n screens: core.PropTypes.storyComponents.isRequired,\n screen: PropTypes__default[\"default\"].string,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$5 = {\n screen: null,\n className: null\n};\n\nvar Screens = function Screens(_ref) {\n var screens = _ref.screens,\n screenId = _ref.screen,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$1.container, _defineProperty__default[\"default\"]({}, className, className)])\n }, screens.map(function (screen) {\n var id = screen.id;\n return /*#__PURE__*/React__default[\"default\"].createElement(Screen$1, {\n key: \"screen-\".concat(id),\n screen: screen,\n className: classNames__default[\"default\"]([styles$1.screen, _defineProperty__default[\"default\"]({}, styles$1.visible, screenId === id)])\n });\n }));\n};\n\nScreens.propTypes = propTypes$5;\nScreens.defaultProps = defaultProps$5;\n\nvar styles = {\"container\":\"micromag-core-transitions-transition-container\",\"fullscreen\":\"micromag-core-transitions-transition-fullscreen\"};\n\nvar propTypes$4 = {\n fullscreen: PropTypes__default[\"default\"].bool,\n from: PropTypes__default[\"default\"].objectOf(PropTypes__default[\"default\"].any),\n to: PropTypes__default[\"default\"].objectOf(PropTypes__default[\"default\"].any),\n playing: PropTypes__default[\"default\"].bool,\n direction: PropTypes__default[\"default\"].oneOf(['in', 'out']),\n delay: PropTypes__default[\"default\"].number,\n duration: PropTypes__default[\"default\"].number,\n easing: PropTypes__default[\"default\"].func,\n children: PropTypes__default[\"default\"].node,\n className: PropTypes__default[\"default\"].string,\n onStart: PropTypes__default[\"default\"].func,\n onComplete: PropTypes__default[\"default\"].func\n};\nvar defaultProps$4 = {\n fullscreen: false,\n from: null,\n to: null,\n playing: false,\n direction: null,\n delay: 0,\n duration: undefined,\n easing: undefined,\n children: null,\n className: null,\n onStart: null,\n onComplete: null\n};\n\nfunction Transition(_ref) {\n var _ref2;\n\n var fullscreen = _ref.fullscreen,\n from = _ref.from,\n to = _ref.to,\n playing = _ref.playing,\n direction = _ref.direction,\n delay = _ref.delay,\n duration = _ref.duration,\n easing = _ref.easing,\n children = _ref.children,\n className = _ref.className,\n onStart = _ref.onStart,\n onComplete = _ref.onComplete;\n\n var _useSpring = core$1.useSpring(function () {\n return {};\n }),\n _useSpring2 = _slicedToArray__default[\"default\"](_useSpring, 2),\n springProps = _useSpring2[0],\n setSpringProps = _useSpring2[1];\n\n React.useEffect(function () {\n var immediate = !playing && direction === 'in' || playing && direction === 'out';\n var finalPlaying = immediate || playing;\n var reset = playing && !immediate;\n var finalDuration = duration !== null ? duration : undefined;\n var props = {\n from: from,\n to: finalPlaying ? to : from,\n reset: reset,\n onStart: onStart,\n onRest: onComplete,\n config: {\n duration: immediate ? 0 : finalDuration\n }\n };\n var withDelay = delay > 0 && playing && direction !== 'out';\n var timeout = null;\n\n if (withDelay) {\n setSpringProps.start({\n to: from,\n immediate: true\n });\n timeout = setTimeout(function () {\n setSpringProps.start(props);\n }, delay);\n } else {\n setSpringProps.start(props);\n }\n\n return function () {\n if (timeout !== null) {\n clearTimeout(timeout);\n }\n };\n }, [playing, direction, delay, duration, easing, from, to, setSpringProps, onStart, onComplete]);\n return /*#__PURE__*/React__default[\"default\"].createElement(web.animated.div, {\n style: _objectSpread__default[\"default\"]({}, springProps),\n className: classNames__default[\"default\"]([styles.container, (_ref2 = {}, _defineProperty__default[\"default\"](_ref2, className, className !== null), _defineProperty__default[\"default\"](_ref2, styles.fullscreen, fullscreen), _ref2)])\n }, children);\n}\n\nTransition.propTypes = propTypes$4;\nTransition.defaultProps = defaultProps$4;\n\n/* eslint-disable react/jsx-props-no-spreading */\n\nfunction Fade(props) {\n var from = React.useMemo(function () {\n return {\n opacity: 0\n };\n }, []);\n var to = React.useMemo(function () {\n return {\n opacity: 1\n };\n }, []);\n return /*#__PURE__*/React__default[\"default\"].createElement(Transition, Object.assign({}, props, {\n from: from,\n to: to\n }));\n}\n\n/* eslint-disable react/jsx-props-no-spreading */\n\nfunction Scale(props) {\n var from = React.useMemo(function () {\n return {\n transform: 'scale(0)'\n };\n }, []);\n var to = React.useMemo(function () {\n return {\n transform: 'scale(1)'\n };\n }, []);\n return /*#__PURE__*/React__default[\"default\"].createElement(Transition, Object.assign({}, props, {\n from: from,\n to: to\n }));\n}\n\nvar TransitionComponents = {\n Fade: Fade,\n Scale: Scale\n};\n\nvar propTypes$3 = {\n fullscreen: PropTypes__default[\"default\"].bool,\n playing: PropTypes__default[\"default\"].bool,\n delay: PropTypes__default[\"default\"].number,\n transitions: core.PropTypes.transitions,\n disabled: PropTypes__default[\"default\"].bool,\n children: PropTypes__default[\"default\"].node\n};\nvar defaultProps$3 = {\n fullscreen: false,\n playing: false,\n delay: 0,\n transitions: null,\n disabled: false,\n children: null\n};\n\nfunction Transitions(_ref) {\n var fullscreen = _ref.fullscreen,\n playing = _ref.playing,\n delay = _ref.delay,\n transitions = _ref.transitions,\n disabled = _ref.disabled,\n children = _ref.children;\n\n var _useScreenSize = contexts.useScreenSize(),\n _useScreenSize$landsc = _useScreenSize.landscape,\n landscape = _useScreenSize$landsc === void 0 ? false : _useScreenSize$landsc;\n\n var finalPlaying = playing || landscape;\n var finalTransitions = {\n \"in\": null,\n out: null\n };\n var defaultTransitions = {\n \"in\": 'fade',\n out: 'fade'\n };\n var transitionsObject = transitions !== null ? transitions : defaultTransitions;\n Object.keys(transitionsObject).forEach(function (transitionKey) {\n var currentTransition = transitionsObject[transitionKey];\n finalTransitions[transitionKey] = typeof currentTransition === 'string' ? {\n name: currentTransition\n } : currentTransition;\n });\n var _finalTransitions$in = finalTransitions[\"in\"],\n transitionIn = _finalTransitions$in === void 0 ? null : _finalTransitions$in,\n _finalTransitions$out = finalTransitions.out,\n transitionOut = _finalTransitions$out === void 0 ? null : _finalTransitions$out;\n var finalTransitionIn = transitionIn !== null ? transitionIn : transitionOut;\n var finalTransitionOut = transitionOut !== null ? transitionOut : transitionIn;\n\n var _ref2 = finalTransitionIn || {},\n _ref2$name = _ref2.name,\n transitionInName = _ref2$name === void 0 ? null : _ref2$name;\n\n var _ref3 = finalTransitionOut || {},\n _ref3$name = _ref3.name,\n transitionOutName = _ref3$name === void 0 ? null : _ref3$name;\n\n var sameTransitionInOut = transitionInName === transitionOutName;\n var TransitionIn = finalTransitionIn !== null ? utils.getComponentFromName(transitionInName, TransitionComponents, null) : null;\n var TransitionOut = finalTransitionOut !== null && !sameTransitionInOut ? utils.getComponentFromName(transitionOutName, TransitionComponents, null) : null;\n var transitionInProps = finalTransitionIn !== null ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, finalTransitionIn), {}, {\n name: undefined,\n delay: delay\n }) : null;\n var transitionOutProps = finalTransitionOut !== null ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, finalTransitionOut), {}, {\n name: undefined,\n delay: delay\n }) : null;\n var renderTransitionOut = TransitionOut !== null && !disabled ? /*#__PURE__*/React__default[\"default\"].createElement(TransitionOut, Object.assign({\n fullscreen: fullscreen,\n playing: finalPlaying,\n direction: \"out\"\n }, transitionOutProps), children) : children;\n return TransitionIn !== null && !disabled ? /*#__PURE__*/React__default[\"default\"].createElement(TransitionIn, Object.assign({\n fullscreen: fullscreen,\n playing: finalPlaying,\n direction: !sameTransitionInOut ? 'in' : null\n }, transitionInProps), renderTransitionOut) : renderTransitionOut;\n}\n\nTransitions.propTypes = propTypes$3;\nTransitions.defaultProps = defaultProps$3;\n\nvar propTypes$2 = {\n transitions: core.PropTypes.transitions,\n stagger: PropTypes__default[\"default\"].number,\n playing: PropTypes__default[\"default\"].bool,\n disabled: PropTypes__default[\"default\"].bool,\n delay: PropTypes__default[\"default\"].number,\n fullscreen: PropTypes__default[\"default\"].bool,\n children: PropTypes__default[\"default\"].node\n};\nvar defaultProps$2 = {\n transitions: null,\n stagger: 0,\n playing: false,\n disabled: false,\n delay: 0,\n fullscreen: false,\n children: null\n};\n\nvar TransitionsStagger = function TransitionsStagger(_ref) {\n var transitions = _ref.transitions,\n stagger = _ref.stagger,\n playing = _ref.playing,\n disabled = _ref.disabled,\n delay = _ref.delay,\n fullscreen = _ref.fullscreen,\n children = _ref.children;\n var validIndex = 0;\n var elements = React__default[\"default\"].Children.map(children, function (child) {\n if (!child) {\n return null;\n }\n\n var _child$type = child.type,\n type = _child$type === void 0 ? null : _child$type;\n\n var _ref2 = type || {},\n _ref2$withoutTransiti = _ref2.withoutTransitionsWrapper,\n withoutTransitionsWrapper = _ref2$withoutTransiti === void 0 ? false : _ref2$withoutTransiti;\n\n if (disabled || withoutTransitionsWrapper) {\n return child;\n }\n\n var el = /*#__PURE__*/React__default[\"default\"].createElement(Transitions, {\n transitions: transitions,\n delay: delay + validIndex * stagger,\n playing: playing,\n fullscreen: fullscreen\n }, child);\n validIndex += 1;\n return el;\n });\n return elements;\n};\n\nTransitionsStagger.propTypes = propTypes$2;\nTransitionsStagger.defaultProps = defaultProps$2;\n\nvar propTypes$1 = {\n selector: PropTypes__default[\"default\"].string,\n highlightSelector: PropTypes__default[\"default\"].string,\n style: PropTypes__default[\"default\"].objectOf(PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].number]))\n};\nvar defaultProps$1 = {\n selector: null,\n highlightSelector: 'mark',\n style: null\n};\n\nvar HighlightStyle = function HighlightStyle(_ref) {\n var selector = _ref.selector,\n highlightSelector = _ref.highlightSelector,\n style = _ref.style;\n return style !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"style\", {\n type: \"text/css\"\n }, \"\".concat([selector, highlightSelector].filter(function (it) {\n return it !== null;\n }).join(' '), \"{\").concat(utils.convertStyleToString(style), \"}\")) : null;\n};\n\nHighlightStyle.propTypes = propTypes$1;\nHighlightStyle.defaultProps = defaultProps$1;\n\nvar propTypes = {\n selector: PropTypes__default[\"default\"].string,\n linkSelector: PropTypes__default[\"default\"].string,\n style: PropTypes__default[\"default\"].objectOf(PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].number]))\n};\nvar defaultProps = {\n selector: null,\n linkSelector: 'a',\n style: null\n};\n\nvar LinkStyle = function LinkStyle(_ref) {\n var selector = _ref.selector,\n linkSelector = _ref.linkSelector,\n style = _ref.style;\n return style !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"style\", {\n type: \"text/css\"\n }, \"\".concat([selector, linkSelector].filter(function (it) {\n return it !== null;\n }).join(' '), \"{\").concat(utils.convertStyleToString(style), \"}\")) : null;\n};\n\nLinkStyle.propTypes = propTypes;\nLinkStyle.defaultProps = defaultProps;\n\nexports.BackButton = BackButton;\nexports.Breadcrumb = Breadcrumb;\nexports.Button = Button$1;\nexports.Buttons = Buttons;\nexports.Card = Card;\nexports.CollapsablePanel = CollapsablePanel;\nexports.Date = Date$1;\nexports.Detector = Detector;\nexports.DropdownMenu = Dropdown;\nexports.Element = ElementComponent;\nexports.Empty = Empty;\nexports.FieldForm = FieldForm;\nexports.FontFaces = FontFaces;\nexports.Form = Form;\nexports.FormPanel = FormPanel;\nexports.HighlightStyle = HighlightStyle;\nexports.Label = Label;\nexports.Link = Link;\nexports.LinkStyle = LinkStyle;\nexports.Media = Media;\nexports.Menu = Menu;\nexports.Meta = Meta;\nexports.Modal = Modal;\nexports.ModalDialog = ModalDialog;\nexports.ModalPortal = ModalPortal;\nexports.Modals = Modals;\nexports.Navbar = Navbar;\nexports.Pagination = PaginationMenu;\nexports.Panel = Panel;\nexports.PanelPortal = PanelPortal;\nexports.Panels = Panels;\nexports.PlaceholderAdFrame = AdFrame;\nexports.PlaceholderAdImage = AdImage;\nexports.PlaceholderAudio = Audio;\nexports.PlaceholderButton = Button;\nexports.PlaceholderImage = Image;\nexports.PlaceholderLine = Line;\nexports.PlaceholderMap = Map;\nexports.PlaceholderMapPath = MapPath;\nexports.PlaceholderQuote = Quote;\nexports.PlaceholderShortText = ShortText;\nexports.PlaceholderSubtitle = Subtitle;\nexports.PlaceholderText = TextPlaceholder;\nexports.PlaceholderTimeline = Timeline;\nexports.PlaceholderTitle = Title;\nexports.PlaceholderVideo = Video;\nexports.PlaceholderVideo360 = Video360;\nexports.PlaceholderVideoLoop = VideoLoop;\nexports.Screen = Screen$1;\nexports.ScreenElement = ScreenElement;\nexports.ScreenPlaceholder = Placeholder;\nexports.ScreenPreview = Preview;\nexports.Screens = Screens;\nexports.Slideshow = Slideshow;\nexports.Spinner = Spinner;\nexports.Tabs = TabsMenu;\nexports.Transitions = Transitions;\nexports.TransitionsStagger = TransitionsStagger;\nexports.UploadModal = UploadModal;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar _objectSpread = require('@babel/runtime/helpers/objectSpread2');\nvar React = require('react');\nvar PropTypes = require('prop-types');\nvar isString = require('lodash/isString');\nvar core = require('@micromag/core');\nvar _defineProperty = require('@babel/runtime/helpers/defineProperty');\nvar _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');\nvar uniqBy = require('lodash/uniqBy');\nvar _slicedToArray = require('@babel/runtime/helpers/slicedToArray');\nvar isObject = require('lodash/isObject');\nvar fetch = require('@folklore/fetch');\nvar services = require('@folklore/services');\nvar utils = require('@micromag/core/utils');\nvar reactRouter = require('react-router');\nvar reactIntl = require('react-intl');\nvar tracking = require('@folklore/tracking');\nvar _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');\nvar uuid = require('uuid');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nfunction _interopNamespace(e) {\n if (e && e.__esModule) return e;\n var n = Object.create(null);\n if (e) {\n Object.keys(e).forEach(function (k) {\n if (k !== 'default') {\n var d = Object.getOwnPropertyDescriptor(e, k);\n Object.defineProperty(n, k, d.get ? d : {\n enumerable: true,\n get: function () { return e[k]; }\n });\n }\n });\n }\n n[\"default\"] = e;\n return Object.freeze(n);\n}\n\nvar _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);\nvar React__default = /*#__PURE__*/_interopDefaultLegacy(React);\nvar PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);\nvar isString__default = /*#__PURE__*/_interopDefaultLegacy(isString);\nvar _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);\nvar _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);\nvar uniqBy__default = /*#__PURE__*/_interopDefaultLegacy(uniqBy);\nvar _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);\nvar isObject__default = /*#__PURE__*/_interopDefaultLegacy(isObject);\nvar _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);\n\nvar MODALS_NAMESPACE = 'modals';\nvar FIELDS_NAMESPACE = 'fields';\nvar FORMS_NAMESPACE = 'forms';\nvar SCREENS_NAMESPACE = 'screens';\nvar ELEMENTS_NAMESPACE = 'elements';\nvar ComponentsContext = /*#__PURE__*/React__default[\"default\"].createContext(null);\n/**\n * Hooks\n */\n\nvar useComponentsManager = function useComponentsManager() {\n var namespace = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var manager = React.useContext(ComponentsContext);\n var finalManager = React.useMemo(function () {\n return namespace !== null ? new core.ComponentsManager(manager.getComponents(namespace)) : manager;\n }, [manager, namespace]);\n return finalManager;\n};\nvar useComponents = function useComponents() {\n var namespace = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var defaultComponents = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var manager = useComponentsManager();\n return manager.getComponents(namespace) || defaultComponents;\n};\nvar useComponent = function useComponent(name) {\n var defaultComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var namespace = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n if (!isString__default[\"default\"](name)) {\n return name || defaultComponent;\n }\n\n var manager = useComponentsManager(namespace);\n return React.useMemo(function () {\n return manager.getComponent(name) || defaultComponent;\n }, [manager, name, defaultComponent]);\n};\n/**\n * Fields hooks\n */\n\nvar useFieldsComponentsManager = function useFieldsComponentsManager() {\n return useComponentsManager(FIELDS_NAMESPACE);\n};\nvar useFieldsComponents = function useFieldsComponents() {\n var defaultComponents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return useComponents(FIELDS_NAMESPACE, defaultComponents);\n};\nvar useFieldComponent = function useFieldComponent(name) {\n var defaultComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return useComponent(name, defaultComponent, FIELDS_NAMESPACE);\n};\n/**\n * Screens hooks\n */\n\nvar useScreensComponentsManager = function useScreensComponentsManager() {\n return useComponentsManager(SCREENS_NAMESPACE);\n};\nvar useScreensComponents = function useScreensComponents() {\n var defaultComponents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return useComponents(SCREENS_NAMESPACE, defaultComponents);\n};\nvar useScreenComponent = function useScreenComponent(name) {\n var defaultComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return useComponent(name, defaultComponent, SCREENS_NAMESPACE);\n};\n/**\n * Forms hooks\n */\n\nvar useFormsComponentsManager = function useFormsComponentsManager() {\n return useComponentsManager(FORMS_NAMESPACE);\n};\nvar useFormsComponents = function useFormsComponents() {\n var defaultComponents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return useComponents(FORMS_NAMESPACE, defaultComponents);\n};\nvar useFormComponent = function useFormComponent(name) {\n var defaultComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return useComponent(name, defaultComponent, FORMS_NAMESPACE);\n};\n/**\n * Modals hooks\n */\n\nvar useModalsComponentsManager = function useModalsComponentsManager() {\n return useComponentsManager(MODALS_NAMESPACE);\n};\nvar useModalsComponents = function useModalsComponents() {\n var defaultComponents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return useComponents(MODALS_NAMESPACE, defaultComponents);\n};\nvar useModalComponent = function useModalComponent(name) {\n var defaultComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return useComponent(name, defaultComponent, MODALS_NAMESPACE);\n};\n/**\n * Elements hooks\n */\n\nvar useElementsComponentsManager = function useElementsComponentsManager() {\n return useComponentsManager(ELEMENTS_NAMESPACE);\n};\nvar useElementsComponents = function useElementsComponents() {\n var defaultComponents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return useComponents(ELEMENTS_NAMESPACE, defaultComponents);\n};\nvar useElementComponent = function useElementComponent(name) {\n var defaultComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return useComponent(name, defaultComponent, ELEMENTS_NAMESPACE);\n};\n/**\n * Provider\n */\n\nvar propTypes$i = {\n children: PropTypes__default[\"default\"].node.isRequired,\n namespace: PropTypes__default[\"default\"].string,\n manager: PropTypes__default[\"default\"].instanceOf(core.ComponentsManager),\n components: PropTypes__default[\"default\"].objectOf(PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].object, PropTypes__default[\"default\"].func]))\n};\nvar defaultProps$i = {\n namespace: null,\n components: {},\n manager: null\n};\nvar ComponentsProvider = function ComponentsProvider(_ref) {\n var components = _ref.components,\n manager = _ref.manager,\n namespace = _ref.namespace,\n children = _ref.children;\n var previousManager = useComponentsManager() || null;\n var finalManager = React.useMemo(function () {\n return new core.ComponentsManager(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, previousManager !== null ? previousManager.getComponents() : null), manager !== null ? manager.getComponents() : null), new core.ComponentsManager(components).addNamespace(namespace).getComponents()));\n }, [previousManager, manager, components, namespace]);\n return /*#__PURE__*/React__default[\"default\"].createElement(ComponentsContext.Provider, {\n value: finalManager\n }, children);\n};\nComponentsProvider.propTypes = propTypes$i;\nComponentsProvider.defaultProps = defaultProps$i;\n\nvar FieldsContext = /*#__PURE__*/React__default[\"default\"].createContext(null);\nvar useFieldsManager = function useFieldsManager() {\n return React.useContext(FieldsContext);\n};\nvar useFieldDefinition = function useFieldDefinition(id) {\n var manager = useFieldsManager();\n return manager.getDefinition(id);\n};\nvar propTypes$h = {\n fields: core.PropTypes.fieldDefinitions,\n manager: PropTypes__default[\"default\"].instanceOf(core.FieldsManager),\n children: PropTypes__default[\"default\"].node.isRequired\n};\nvar defaultProps$h = {\n fields: null,\n manager: null\n};\nvar FieldsProvider = function FieldsProvider(_ref) {\n var fields = _ref.fields,\n manager = _ref.manager,\n children = _ref.children;\n var previousManager = useFieldsManager() || null;\n var finalManager = React.useMemo(function () {\n var newFields = uniqBy__default[\"default\"]([].concat(_toConsumableArray__default[\"default\"](fields || []), _toConsumableArray__default[\"default\"](manager !== null ? manager.getDefinitions() : []), _toConsumableArray__default[\"default\"](previousManager !== null ? previousManager.getDefinitions() : [])), function (_ref2) {\n var id = _ref2.id;\n return id;\n }).reverse();\n return new core.FieldsManager(newFields);\n }, [previousManager, manager, fields]);\n var components = React.useMemo(function () {\n var newComponents = finalManager.getComponents();\n return Object.keys(newComponents).reduce(function (map, id) {\n var component = newComponents[id];\n return isString__default[\"default\"](component) ? map : _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, map), {}, _defineProperty__default[\"default\"]({}, id, component));\n }, {});\n }, [finalManager]);\n return /*#__PURE__*/React__default[\"default\"].createElement(FieldsContext.Provider, {\n value: finalManager\n }, /*#__PURE__*/React__default[\"default\"].createElement(ComponentsProvider, {\n namespace: FIELDS_NAMESPACE,\n components: components\n }, children));\n};\nFieldsProvider.propTypes = propTypes$h;\nFieldsProvider.defaultProps = defaultProps$h;\n\nvar ScreensContext = /*#__PURE__*/React__default[\"default\"].createContext(new core.ScreensManager());\nvar useScreensManager = function useScreensManager() {\n return React.useContext(ScreensContext);\n};\nvar propTypes$g = {\n screens: core.PropTypes.screenDefinitions,\n manager: PropTypes__default[\"default\"].instanceOf(core.ScreensManager),\n children: PropTypes__default[\"default\"].node.isRequired\n};\nvar defaultProps$g = {\n screens: null,\n manager: null\n};\nvar ScreensProvider = function ScreensProvider(_ref) {\n var screens = _ref.screens,\n manager = _ref.manager,\n children = _ref.children;\n var previousManager = useScreensManager();\n var finalManager = React.useMemo(function () {\n var newManager = manager !== null ? manager : new core.ScreensManager(screens);\n\n if ((previousManager || null) !== null) {\n return previousManager.merge(newManager);\n }\n\n return newManager;\n }, [manager, screens, previousManager]);\n var initialComponents = React.useMemo(function () {\n return finalManager.getComponents();\n }, [finalManager]);\n\n var _useState = React.useState(initialComponents),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n components = _useState2[0],\n setComponents = _useState2[1];\n\n React.useEffect(function () {\n var onChange = function onChange() {\n return setComponents(finalManager.getComponents());\n };\n\n finalManager.on('change', onChange);\n return function () {\n finalManager.off('change', onChange);\n };\n }, [finalManager, setComponents]);\n return /*#__PURE__*/React__default[\"default\"].createElement(ScreensContext.Provider, {\n value: finalManager\n }, /*#__PURE__*/React__default[\"default\"].createElement(ComponentsProvider, {\n namespace: SCREENS_NAMESPACE,\n components: components\n }, children));\n};\nScreensProvider.propTypes = propTypes$g;\nScreensProvider.defaultProps = defaultProps$g;\n\nvar StoryContext = /*#__PURE__*/React__default[\"default\"].createContext(null);\nvar useStoryContext = function useStoryContext() {\n return React.useContext(StoryContext);\n};\nvar useStory = function useStory() {\n var story = useStoryContext();\n return story;\n};\nvar propTypes$f = {\n story: PropTypes__default[\"default\"].oneOfType([core.PropTypes.story, core.PropTypes.theme]),\n children: PropTypes__default[\"default\"].node.isRequired\n};\nvar defaultProps$f = {\n story: null\n};\nvar StoryProvider = function StoryProvider(_ref) {\n var story = _ref.story,\n children = _ref.children;\n return /*#__PURE__*/React__default[\"default\"].createElement(StoryContext.Provider, {\n value: story\n }, children);\n};\nStoryProvider.propTypes = propTypes$f;\nStoryProvider.defaultProps = defaultProps$f;\n\nvar EditorContext = /*#__PURE__*/React__default[\"default\"].createContext(null);\nvar useEditor = function useEditor() {\n return React.useContext(EditorContext);\n};\nvar useGetColors = function useGetColors() {\n var _ref = useEditor() || {},\n _ref$getColors = _ref.getColors,\n getColors = _ref$getColors === void 0 ? function () {\n return [];\n } : _ref$getColors;\n\n return getColors;\n};\nvar propTypes$e = {\n children: PropTypes__default[\"default\"].node.isRequired\n};\nvar defaultProps$e = {};\nvar EditorProvider = function EditorProvider(_ref2) {\n var children = _ref2.children;\n var story = useStory();\n var screensManager = useScreensManager();\n var fieldsManager = useFieldsManager();\n var parser = React.useMemo(function () {\n return new core.ColorsParser({\n screensManager: screensManager,\n fieldsManager: fieldsManager\n });\n }, [screensManager, fieldsManager]);\n var parse = React.useCallback(function (currentStory) {\n return parser.parse(currentStory);\n }, [parser]);\n var getColors = React.useCallback(function () {\n return parse(story);\n }, [parse, story]);\n return /*#__PURE__*/React__default[\"default\"].createElement(EditorContext.Provider, {\n value: {\n getColors: getColors\n }\n }, children);\n};\nEditorProvider.propTypes = propTypes$e;\nEditorProvider.defaultProps = defaultProps$e;\n\n/* eslint-disable react/jsx-props-no-spreading */\nvar FieldContext = /*#__PURE__*/React__default[\"default\"].createContext(null);\nvar useFieldContext = function useFieldContext() {\n return React.useContext(FieldContext);\n};\nvar propTypes$d = {\n context: PropTypes__default[\"default\"].any,\n // eslint-disable-line react/forbid-prop-types\n children: PropTypes__default[\"default\"].node.isRequired\n};\nvar defaultProps$d = {\n context: null\n};\nvar FieldContextProvider = function FieldContextProvider(_ref) {\n var context = _ref.context,\n children = _ref.children;\n return /*#__PURE__*/React__default[\"default\"].createElement(FieldContext.Provider, {\n value: context\n }, children);\n};\nFieldContextProvider.propTypes = propTypes$d;\nFieldContextProvider.defaultProps = defaultProps$d;\n\n/* eslint-disable react/jsx-props-no-spreading */\nvar GoogleKeysContext = /*#__PURE__*/React__default[\"default\"].createContext({\n apiKey: null\n});\nvar useGoogleKeys = function useGoogleKeys() {\n return React.useContext(GoogleKeysContext);\n};\nvar propTypes$c = {\n children: PropTypes__default[\"default\"].node.isRequired,\n apiKey: PropTypes__default[\"default\"].string // .isRequired,\n\n};\nvar defaultProps$c = {\n apiKey: null\n};\nvar GoogleKeysProvider = function GoogleKeysProvider(_ref) {\n var children = _ref.children,\n apiKey = _ref.apiKey;\n\n var _useGoogleKeys = useGoogleKeys(),\n previousApiKey = _useGoogleKeys.apiKey;\n\n return /*#__PURE__*/React__default[\"default\"].createElement(GoogleKeysContext.Provider, {\n value: {\n apiKey: apiKey || previousApiKey\n }\n }, children);\n};\nGoogleKeysProvider.propTypes = propTypes$c;\nGoogleKeysProvider.defaultProps = defaultProps$c;\n\nvar FontsContext = /*#__PURE__*/React__default[\"default\"].createContext({\n systemFonts: null,\n googleFonts: null,\n customFonts: null\n});\nvar useGoogleFonts = function useGoogleFonts() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$setFonts = _ref.setFonts,\n setFonts = _ref$setFonts === void 0 ? null : _ref$setFonts;\n\n var _useGoogleKeys = useGoogleKeys(),\n apiKey = _useGoogleKeys.apiKey;\n\n var _useState = React.useState(null),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n googleFonts = _useState2[0],\n setGoogleFonts = _useState2[1];\n\n React.useEffect(function () {\n var canceled = false;\n\n if (apiKey !== null && !disabled) {\n fetch.getJSON(\"https://www.googleapis.com/webfonts/v1/webfonts?key=\".concat(apiKey, \"&sort=popularity\")).then(function (_ref2) {\n var _ref2$items = _ref2.items,\n items = _ref2$items === void 0 ? [] : _ref2$items;\n\n if (!canceled) {\n var newFonts = items.map(function (it) {\n return {\n type: 'google',\n name: it.family,\n variants: it.variants\n };\n });\n\n if (setFonts !== null) {\n setFonts(newFonts);\n } else {\n setGoogleFonts(newFonts);\n }\n }\n });\n }\n\n return function () {\n canceled = true;\n };\n }, [apiKey, disabled, setFonts, setGoogleFonts]);\n return googleFonts;\n};\nvar useFonts = function useFonts() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$withoutGoogleFo = _ref3.withoutGoogleFonts,\n withoutGoogleFonts = _ref3$withoutGoogleFo === void 0 ? false : _ref3$withoutGoogleFo;\n\n var _useContext = React.useContext(FontsContext),\n _useContext$setGoogle = _useContext.setGoogleFonts,\n setGoogleFonts = _useContext$setGoogle === void 0 ? null : _useContext$setGoogle,\n _useContext$systemFon = _useContext.systemFonts,\n systemFonts = _useContext$systemFon === void 0 ? null : _useContext$systemFon,\n _useContext$googleFon = _useContext.googleFonts,\n googleFonts = _useContext$googleFon === void 0 ? null : _useContext$googleFon,\n _useContext$customFon = _useContext.customFonts,\n customFonts = _useContext$customFon === void 0 ? null : _useContext$customFon;\n\n useGoogleFonts({\n disabled: withoutGoogleFonts || googleFonts !== null && googleFonts.length > 0,\n setFonts: setGoogleFonts\n });\n var fonts = React.useMemo(function () {\n return {\n systemFonts: systemFonts,\n googleFonts: googleFonts,\n customFonts: customFonts\n };\n }, [systemFonts, googleFonts, customFonts]);\n return fonts;\n};\nvar propTypes$b = {\n children: PropTypes__default[\"default\"].node.isRequired,\n systemFonts: core.PropTypes.fonts,\n customFonts: core.PropTypes.fonts\n};\nvar defaultProps$b = {\n systemFonts: ['Arial', 'Courier', 'Georgia', 'Times New Roman', 'Verdana'],\n customFonts: null\n};\nvar FontsProvider = function FontsProvider(_ref4) {\n var systemFonts = _ref4.systemFonts,\n customFonts = _ref4.customFonts,\n children = _ref4.children;\n\n var _useFonts = useFonts(),\n _useFonts$systemFonts = _useFonts.systemFonts,\n previousSystemFonts = _useFonts$systemFonts === void 0 ? null : _useFonts$systemFonts,\n _useFonts$googleFonts = _useFonts.googleFonts,\n previousGoogleFonts = _useFonts$googleFonts === void 0 ? null : _useFonts$googleFonts,\n previousCustomFonts = _useFonts.customFonts;\n\n var _useState3 = React.useState(null),\n _useState4 = _slicedToArray__default[\"default\"](_useState3, 2),\n googleFonts = _useState4[0],\n setGoogleFonts = _useState4[1];\n\n var fonts = React.useMemo(function () {\n return {\n systemFonts: uniqBy__default[\"default\"]([].concat(_toConsumableArray__default[\"default\"](previousSystemFonts || []), _toConsumableArray__default[\"default\"](systemFonts || [])), function (font) {\n return isObject__default[\"default\"](font) ? font.name : font;\n }),\n googleFonts: uniqBy__default[\"default\"]([].concat(_toConsumableArray__default[\"default\"](previousGoogleFonts || []), _toConsumableArray__default[\"default\"](googleFonts || [])), function (font) {\n return isObject__default[\"default\"](font) ? font.name : font;\n }),\n customFonts: uniqBy__default[\"default\"]([].concat(_toConsumableArray__default[\"default\"](previousCustomFonts || []), _toConsumableArray__default[\"default\"](customFonts || [])), function (font) {\n return isObject__default[\"default\"](font) ? font.name : font;\n }),\n setGoogleFonts: setGoogleFonts\n };\n }, [previousSystemFonts, previousGoogleFonts, previousCustomFonts, customFonts, systemFonts, googleFonts, setGoogleFonts]);\n return /*#__PURE__*/React__default[\"default\"].createElement(FontsContext.Provider, {\n value: fonts\n }, children);\n};\nFontsProvider.propTypes = propTypes$b;\nFontsProvider.defaultProps = defaultProps$b;\n\nvar GoogleApiClientContext = /*#__PURE__*/React__default[\"default\"].createContext(null);\nvar useGoogleApiClient = function useGoogleApiClient() {\n return React.useContext(GoogleApiClientContext);\n};\nvar withGoogleApiClient = function withGoogleApiClient(WrappedComponent) {\n var getDisplayName = function getDisplayName(_ref) {\n var _ref$displayName = _ref.displayName,\n displayName = _ref$displayName === void 0 ? null : _ref$displayName,\n _ref$name = _ref.name,\n name = _ref$name === void 0 ? null : _ref$name;\n return displayName || name || 'Component';\n };\n\n var WithGoogleApiClientComponent = function WithGoogleApiClientComponent(props) {\n return /*#__PURE__*/React__default[\"default\"].createElement(GoogleApiClientContext.Consumer, null, function (client) {\n return /*#__PURE__*/React__default[\"default\"].createElement(WrappedComponent, Object.assign({\n googleApiClient: client\n }, props));\n });\n };\n\n WithGoogleApiClientComponent.displayName = \"WithGoogleApiClient(\".concat(getDisplayName(WrappedComponent), \")\");\n return WithGoogleApiClientComponent;\n};\nvar propTypes$a = {\n children: PropTypes__default[\"default\"].node.isRequired\n};\nvar defaultProps$a = {};\nvar GoogleApiClientProvider = function GoogleApiClientProvider(_ref2) {\n var children = _ref2.children;\n\n var _useGoogleKeys = useGoogleKeys(),\n apiKey = _useGoogleKeys.apiKey;\n\n var _useState = React.useState(null),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n client = _useState2[0],\n setClient = _useState2[1];\n\n React.useEffect(function () {\n services.loadGoogleApi().then(function (gapi) {\n return gapi.client.init({\n apiKey: apiKey\n }).then(function () {\n return gapi;\n });\n }).then(function (gapi) {\n return setClient(gapi);\n });\n }, [apiKey, setClient]);\n return /*#__PURE__*/React__default[\"default\"].createElement(GoogleApiClientContext.Provider, {\n value: client\n }, children);\n};\nGoogleApiClientProvider.propTypes = propTypes$a;\nGoogleApiClientProvider.defaultProps = defaultProps$a;\n\nvar GoogleMapsClientContext = /*#__PURE__*/React__default[\"default\"].createContext(null);\nvar useGoogleMapsClient = function useGoogleMapsClient() {\n return React.useContext(GoogleMapsClientContext);\n};\nvar withGoogleMapsClient = function withGoogleMapsClient(WrappedComponent) {\n var getDisplayName = function getDisplayName(_ref) {\n var _ref$displayName = _ref.displayName,\n displayName = _ref$displayName === void 0 ? null : _ref$displayName,\n _ref$name = _ref.name,\n name = _ref$name === void 0 ? null : _ref$name;\n return displayName || name || 'Component';\n };\n\n var WithGoogleMapsClientComponent = function WithGoogleMapsClientComponent(props) {\n return /*#__PURE__*/React__default[\"default\"].createElement(GoogleMapsClientContext.Consumer, null, function (client) {\n return /*#__PURE__*/React__default[\"default\"].createElement(WrappedComponent, Object.assign({\n googleApiClient: client\n }, props));\n });\n };\n\n WithGoogleMapsClientComponent.displayName = \"WithGoogleMapsClient(\".concat(getDisplayName(WrappedComponent), \")\");\n return WithGoogleMapsClientComponent;\n};\nvar propTypes$9 = {\n children: PropTypes__default[\"default\"].node.isRequired,\n locale: PropTypes__default[\"default\"].string,\n libraries: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].string)\n};\nvar defaultProps$9 = {\n locale: 'fr',\n libraries: null\n};\nvar GoogleMapsClientProvider = function GoogleMapsClientProvider(_ref2) {\n var children = _ref2.children,\n locale = _ref2.locale,\n libraries = _ref2.libraries;\n\n var _useGoogleKeys = useGoogleKeys(),\n apiKey = _useGoogleKeys.apiKey;\n\n var exisitingClient = useGoogleMapsClient();\n\n var _useState = React.useState(exisitingClient),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n client = _useState2[0],\n setClient = _useState2[1];\n\n React.useEffect(function () {\n if (exisitingClient === null) {\n services.loadGoogleMaps({\n apiKey: apiKey,\n locale: locale,\n libraries: libraries\n }).then(function (newClient) {\n setClient(newClient);\n });\n }\n }, [apiKey, locale, libraries, setClient, exisitingClient]);\n return /*#__PURE__*/React__default[\"default\"].createElement(GoogleMapsClientContext.Provider, {\n value: client\n }, children);\n};\nGoogleMapsClientProvider.propTypes = propTypes$9;\nGoogleMapsClientProvider.defaultProps = defaultProps$9;\n\nvar ModalsContext = /*#__PURE__*/React__default[\"default\"].createContext({\n container: null\n});\nvar useModals = function useModals() {\n return React.useContext(ModalsContext) || {};\n};\nvar withModals = function withModals(WrappedComponent) {\n var WithModalsComponent = function WithModalsComponent(props) {\n return /*#__PURE__*/React__default[\"default\"].createElement(ModalsContext.Consumer, null, function (_ref) {\n var modals = _ref.modals,\n container = _ref.container,\n setContainer = _ref.setContainer,\n register = _ref.register,\n unregister = _ref.unregister;\n return /*#__PURE__*/React__default[\"default\"].createElement(WrappedComponent, Object.assign({\n modalsContainer: container,\n setModalsContainer: setContainer,\n modals: modals,\n registerModal: register,\n unregisterModal: unregister\n }, props));\n });\n };\n\n WithModalsComponent.displayName = \"WithModals(\".concat(utils.getDisplayName(WrappedComponent), \")\");\n return WithModalsComponent;\n};\nvar propTypes$8 = {\n children: PropTypes__default[\"default\"].node.isRequired,\n container: PropTypes__default[\"default\"].object // eslint-disable-line\n\n};\nvar defaultProps$8 = {\n container: null\n};\nvar ModalsProvider = function ModalsProvider(_ref2) {\n var children = _ref2.children,\n initialContainer = _ref2.container;\n\n var _useState = React.useState(initialContainer),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n container = _useState2[0],\n setContainer = _useState2[1];\n\n var _useState3 = React.useState([]),\n _useState4 = _slicedToArray__default[\"default\"](_useState3, 2),\n modals = _useState4[0],\n setModals = _useState4[1];\n\n var modalsRef = React.useRef(modals);\n var register = React.useCallback(function (id) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var currentModals = modalsRef.current;\n var newModals = [].concat(_toConsumableArray__default[\"default\"](currentModals), [_objectSpread__default[\"default\"]({\n id: id\n }, data)]);\n setModals(newModals);\n modalsRef.current = newModals;\n }, [modals, setModals]);\n var unregister = React.useCallback(function (id) {\n var currentModals = modalsRef.current;\n var foundIndex = currentModals.findIndex(function (_ref3) {\n var modalId = _ref3.id;\n return modalId === id;\n });\n\n if (foundIndex !== -1) {\n var newModals = currentModals.filter(function (_ref4) {\n var modalId = _ref4.id;\n return modalId !== id;\n });\n setModals(newModals);\n modalsRef.current = newModals;\n }\n }, [modals, setModals]);\n return /*#__PURE__*/React__default[\"default\"].createElement(ModalsContext.Provider, {\n value: {\n modals: modals,\n container: container,\n setContainer: setContainer,\n register: register,\n unregister: unregister\n }\n }, children);\n};\nModalsProvider.propTypes = propTypes$8;\nModalsProvider.defaultProps = defaultProps$8;\n\nvar PanelsContext = /*#__PURE__*/React__default[\"default\"].createContext({\n container: null\n});\nvar usePanels = function usePanels() {\n return React.useContext(PanelsContext) || {};\n};\nvar withPanels = function withPanels(WrappedComponent) {\n var WithPanelsComponent = function WithPanelsComponent(props) {\n return /*#__PURE__*/React__default[\"default\"].createElement(PanelsContext.Consumer, null, function (_ref) {\n var panels = _ref.panels,\n setContainer = _ref.setContainer,\n container = _ref.container,\n register = _ref.register,\n unregister = _ref.unregister;\n return /*#__PURE__*/React__default[\"default\"].createElement(WrappedComponent, Object.assign({\n panelsContainer: container,\n setPanelsContainer: setContainer,\n panels: panels,\n registerPanel: register,\n unregisterPanel: unregister\n }, props));\n });\n };\n\n WithPanelsComponent.displayName = \"WithPanels(\".concat(utils.getDisplayName(WrappedComponent), \")\");\n return WithPanelsComponent;\n};\nvar propTypes$7 = {\n children: PropTypes__default[\"default\"].node.isRequired,\n container: PropTypes__default[\"default\"].object // eslint-disable-line\n\n};\nvar defaultProps$7 = {\n container: null\n};\nvar PanelsProvider = function PanelsProvider(_ref2) {\n var children = _ref2.children,\n initialContainer = _ref2.container;\n\n var _useState = React.useState(initialContainer),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n container = _useState2[0],\n setContainer = _useState2[1];\n\n var _useState3 = React.useState([]),\n _useState4 = _slicedToArray__default[\"default\"](_useState3, 2),\n panels = _useState4[0],\n setPanels = _useState4[1];\n\n var panelsRef = React.useRef(panels);\n var register = React.useCallback(function (id) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var currentPanels = panelsRef.current;\n var newPanels = [].concat(_toConsumableArray__default[\"default\"](currentPanels), [_objectSpread__default[\"default\"]({\n id: id\n }, data)]);\n setPanels(newPanels);\n panelsRef.current = newPanels;\n }, [panels, setPanels]);\n var unregister = React.useCallback(function (id) {\n var currentPanels = panelsRef.current;\n var foundIndex = currentPanels.findIndex(function (_ref3) {\n var modalId = _ref3.id;\n return modalId === id;\n });\n\n if (foundIndex !== -1) {\n var newPanels = currentPanels.filter(function (_ref4) {\n var modalId = _ref4.id;\n return modalId !== id;\n });\n setPanels(newPanels);\n panelsRef.current = newPanels;\n }\n }, [panels, setPanels]);\n return /*#__PURE__*/React__default[\"default\"].createElement(PanelsContext.Provider, {\n value: {\n panels: panels,\n setContainer: setContainer,\n container: container,\n register: register,\n unregister: unregister\n }\n }, children);\n};\nPanelsProvider.propTypes = propTypes$7;\nPanelsProvider.defaultProps = defaultProps$7;\n\n/* eslint-disable react/jsx-props-no-spreading */\nvar RoutesContext = /*#__PURE__*/React__default[\"default\"].createContext(null);\nvar useRoutes = function useRoutes() {\n var _useContext = React.useContext(RoutesContext),\n routes = _useContext.routes;\n\n return routes;\n};\nvar useUrlGenerator = function useUrlGenerator() {\n var _useContext2 = React.useContext(RoutesContext),\n routes = _useContext2.routes,\n basePath = _useContext2.basePath;\n\n var urlGenerator = React.useCallback(function (key, data) {\n var url = reactRouter.generatePath(routes[key], data);\n return basePath !== null ? \"\".concat(basePath.replace(/\\/$/, ''), \"/\").concat(url.replace(/^\\//, '')) : url;\n }, [reactRouter.generatePath, routes, basePath]);\n return urlGenerator;\n};\nvar useRoutePush = function useRoutePush() {\n var url = useUrlGenerator();\n var history = reactRouter.useHistory();\n var push = React.useCallback(function (route, data) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n if (isString__default[\"default\"](route)) {\n history.push.apply(history, [url(route, data)].concat(args));\n } else {\n var _ref = route || {},\n _ref$pathname = _ref.pathname,\n pathname = _ref$pathname === void 0 ? null : _ref$pathname,\n _ref$search = _ref.search,\n search = _ref$search === void 0 ? null : _ref$search;\n\n history.push.apply(history, [{\n pathname: url(pathname, data),\n search: search\n }].concat(args));\n }\n }, [history, url]);\n return push;\n};\nvar useRouteBack = function useRouteBack() {\n var url = useUrlGenerator();\n var history = reactRouter.useHistory();\n var back = React.useCallback(function () {\n return history.goBack();\n }, [history, url]);\n return back;\n};\nvar propTypes$6 = {\n children: PropTypes__default[\"default\"].node.isRequired,\n routes: PropTypes__default[\"default\"].objectOf(PropTypes__default[\"default\"].string),\n // .isRequired,\n basePath: PropTypes__default[\"default\"].string\n};\nvar defaultProps$6 = {\n routes: null,\n basePath: null\n};\nvar RoutesProvider = function RoutesProvider(_ref2) {\n var routes = _ref2.routes,\n basePath = _ref2.basePath,\n children = _ref2.children;\n return /*#__PURE__*/React__default[\"default\"].createElement(RoutesContext.Provider, {\n value: {\n routes: routes,\n basePath: basePath\n }\n }, children);\n};\nRoutesProvider.propTypes = propTypes$6;\nRoutesProvider.defaultProps = defaultProps$6;\n\nvar ScreenContext = /*#__PURE__*/React__default[\"default\"].createContext({\n data: null,\n definition: null,\n renderContext: null\n});\nvar useScreen = function useScreen() {\n return React.useContext(ScreenContext);\n};\nvar useScreenDefinition = function useScreenDefinition() {\n var intl = reactIntl.useIntl();\n\n var _ref = useScreen() || {},\n definition = _ref.definition;\n\n var _ref2 = definition || {},\n fields = _ref2.fields;\n\n var finalFields = React.useMemo(function () {\n return [].concat(_toConsumableArray__default[\"default\"](fields), [utils.getScreenExtraField(intl)]);\n }, [fields]);\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, definition), {}, {\n fields: finalFields\n });\n};\nvar useScreenData = function useScreenData() {\n var _ref3 = useScreen() || {},\n data = _ref3.data;\n\n return data;\n};\nvar useScreenRenderContext = function useScreenRenderContext() {\n var _ref4 = useScreen() || {},\n _ref4$renderContext = _ref4.renderContext,\n renderContext = _ref4$renderContext === void 0 ? 'view' : _ref4$renderContext;\n\n var isPlaceholder = renderContext === 'placeholder';\n var isPreview = renderContext === 'preview';\n var isEdit = renderContext === 'edit';\n var isView = renderContext === 'view';\n var isStatic = renderContext === 'static';\n var isCapture = renderContext === 'capture';\n return {\n renderContext: renderContext,\n isPlaceholder: isPlaceholder,\n isPreview: isPreview,\n isEdit: isEdit,\n isView: isView || isStatic || isCapture,\n isStatic: isStatic,\n isCapture: isCapture\n };\n};\nvar propTypes$5 = {\n children: PropTypes__default[\"default\"].node.isRequired,\n data: core.PropTypes.screen,\n definition: core.PropTypes.screenDefinition,\n renderContext: core.PropTypes.renderContext\n};\nvar defaultProps$5 = {\n data: null,\n definition: null,\n renderContext: null\n};\nvar ScreenProvider = function ScreenProvider(_ref5) {\n var data = _ref5.data,\n definition = _ref5.definition,\n renderContext = _ref5.renderContext,\n children = _ref5.children;\n\n var _ref6 = useScreen() || {},\n _ref6$data = _ref6.data,\n previousData = _ref6$data === void 0 ? null : _ref6$data,\n _ref6$definition = _ref6.definition,\n previousDefinition = _ref6$definition === void 0 ? null : _ref6$definition,\n _ref6$renderContext = _ref6.renderContext,\n previousContext = _ref6$renderContext === void 0 ? null : _ref6$renderContext;\n\n var finalData = data || previousData || null;\n\n var _ref7 = finalData || {},\n _ref7$type = _ref7.type,\n type = _ref7$type === void 0 ? null : _ref7$type;\n\n var screensManager = useScreensManager();\n var contextDefinition = screensManager !== null ? screensManager.getDefinition(type) : null;\n var finalDefinition = definition || contextDefinition || previousDefinition;\n var finalRenderContext = renderContext || previousContext || 'view';\n var value = React.useMemo(function () {\n return {\n data: finalData,\n definition: finalDefinition,\n renderContext: finalRenderContext\n };\n }, [finalData, finalDefinition, finalRenderContext]);\n return /*#__PURE__*/React__default[\"default\"].createElement(ScreenContext.Provider, {\n value: value\n }, children);\n};\nScreenProvider.propTypes = propTypes$5;\nScreenProvider.defaultProps = defaultProps$5;\n\nvar ScreenSizeContext = /*#__PURE__*/React__default[\"default\"].createContext({\n screen: null,\n screens: [],\n width: 0,\n height: 0,\n landscape: false\n});\nvar useScreenSize = function useScreenSize() {\n return React.useContext(ScreenSizeContext);\n};\nvar propTypes$4 = {\n children: PropTypes__default[\"default\"].node.isRequired,\n size: core.PropTypes.screenSize\n};\nvar defaultProps$4 = {\n size: {}\n}; // Note: this is done to avoid excessive renders on the screens that use the context\n\nvar ScreenSizeProvider = function ScreenSizeProvider(_ref) {\n var size = _ref.size,\n children = _ref.children;\n\n var _useState = React.useState(size),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n currentSize = _useState2[0],\n setSize = _useState2[1];\n\n var prevWidth = currentSize.width,\n prevHeight = currentSize.height;\n var nextWidth = size.width,\n nextHeight = size.height;\n React.useEffect(function () {\n if (prevWidth !== nextWidth || prevHeight !== nextHeight) {\n setSize(size);\n }\n }, [setSize, nextWidth, nextHeight, prevWidth, prevHeight, size]);\n return /*#__PURE__*/React__default[\"default\"].createElement(ScreenSizeContext.Provider, {\n value: currentSize\n }, children);\n};\nScreenSizeProvider.propTypes = propTypes$4;\nScreenSizeProvider.defaultProps = defaultProps$4;\n\nvar useTracking = function useTracking() {\n return React.useContext(tracking.TrackingContext);\n};\nvar propTypes$3 = {\n children: PropTypes__default[\"default\"].node.isRequired,\n variables: core.PropTypes.trackingVariables\n};\nvar defaultProps$3 = {\n variables: null\n};\nvar TrackingProvider = function TrackingProvider(_ref) {\n var variables = _ref.variables,\n children = _ref.children;\n var contextTracking = useTracking() || null;\n var tracking$1 = React.useMemo(function () {\n return new core.Tracking({\n variables: _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, contextTracking !== null ? contextTracking.getVariables() : null), variables)\n });\n }, [contextTracking, variables]);\n return /*#__PURE__*/React__default[\"default\"].createElement(tracking.TrackingContainer, {\n tracking: tracking$1\n }, children);\n};\nTrackingProvider.propTypes = propTypes$3;\nTrackingProvider.defaultProps = defaultProps$3;\n\n/**\n * Locale loader\n */\n\nvar packageCache = null;\n\nvar useUppyCore = function useUppyCore() {\n // transport\n var _useState = React.useState({\n \"package\": packageCache\n }),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n loadedPackage = _useState2[0][\"package\"],\n setLoadedPackage = _useState2[1];\n\n React.useEffect(function () {\n var canceled = false;\n\n if (loadedPackage !== null) {\n return function () {\n canceled = true;\n };\n }\n\n Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/core')); }).then(function (_ref) {\n var Uppy = _ref.Uppy;\n packageCache = Uppy;\n\n if (!canceled) {\n setLoadedPackage({\n \"package\": Uppy\n });\n }\n });\n return function () {\n canceled = true;\n };\n }, [loadedPackage, setLoadedPackage]);\n return loadedPackage;\n};\n\n/**\n * Locale loader\n */\n\nvar packagesCache$2 = {};\nvar defaultPackagesMap$2 = {\n fr: function fr() {\n return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/locales/lib/fr_FR')); });\n },\n en: function en() {\n return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/locales/lib/en_US')); });\n }\n};\n\nvar useUppyLocale = function useUppyLocale(locale) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$packagesMap = _ref.packagesMap,\n packagesMap = _ref$packagesMap === void 0 ? defaultPackagesMap$2 : _ref$packagesMap;\n\n var _useState = React.useState({\n \"package\": packagesCache$2[locale] || null\n }),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n loadedPackage = _useState2[0][\"package\"],\n setLoadedPackage = _useState2[1];\n\n var packageLoader = packagesMap[locale] || null;\n React.useEffect(function () {\n var canceled = false;\n\n if (loadedPackage !== null || packageLoader === null) {\n return function () {\n canceled = true;\n };\n }\n\n packageLoader().then(function (_ref2) {\n var dep = _ref2[\"default\"];\n\n // packagesCache[locale] = dep;\n if (!canceled) {\n setLoadedPackage({\n \"package\": dep\n });\n }\n });\n return function () {\n canceled = true;\n };\n }, [packageLoader, loadedPackage, setLoadedPackage]);\n return loadedPackage;\n};\n\nvar _excluded$2 = [\"default\"];\n/**\n * Locale loader\n */\n\nvar packagesCache$1 = {};\nvar defaultPackagesMap$1 = {\n transloadit: null,\n // Disabled for compatibility reasons\n tus: function tus() {\n return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/tus')); });\n },\n xhr: function xhr() {\n return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/xhr-upload')); });\n }\n};\n\nvar useUppyTransport = function useUppyTransport(transport) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$packagesMap = _ref.packagesMap,\n packagesMap = _ref$packagesMap === void 0 ? defaultPackagesMap$1 : _ref$packagesMap;\n\n // transport\n var _useState = React.useState({\n \"package\": packagesCache$1[transport] || null\n }),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n loadedPackage = _useState2[0][\"package\"],\n setLoadedPackage = _useState2[1];\n\n var packageLoader = packagesMap[transport] || null;\n React.useEffect(function () {\n var canceled = false;\n\n if (loadedPackage !== null || packageLoader === null) {\n return function () {\n canceled = true;\n };\n }\n\n packageLoader().then(function (_ref2) {\n var pack = _ref2[\"default\"],\n others = _objectWithoutProperties__default[\"default\"](_ref2, _excluded$2);\n\n var dep = Object.keys(others).reduce(function (map, key) {\n map[key] = others[key]; // eslint-disable-line no-param-reassign\n\n return map;\n }, pack);\n packagesCache$1[transport] = dep;\n\n if (!canceled) {\n setLoadedPackage({\n \"package\": dep\n });\n }\n });\n return function () {\n canceled = true;\n };\n }, [packageLoader, loadedPackage, setLoadedPackage]);\n return loadedPackage;\n};\n\nvar _excluded$1 = [\"default\"];\n/**\n * Locale loader\n */\n\nvar packagesCache = {};\nvar defaultPackagesMap = {\n webcam: function webcam() {\n return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/webcam')); });\n },\n facebook: function facebook() {\n return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/facebook')); });\n },\n instagram: function instagram() {\n return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/instagram')); });\n },\n dropbox: function dropbox() {\n return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/dropbox')); });\n },\n 'google-drive': function googleDrive() {\n return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/google-drive')); });\n }\n};\n\nvar useUppySources = function useUppySources(sources) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$packagesMap = _ref.packagesMap,\n packagesMap = _ref$packagesMap === void 0 ? defaultPackagesMap : _ref$packagesMap;\n\n // transport\n var _useState = React.useState({\n packages: sources.reduce(function (map, source) {\n var sourcePackage = packagesCache[source] || null;\n\n if (sourcePackage === null) {\n return map;\n }\n\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, map), {}, _defineProperty__default[\"default\"]({}, source, sourcePackage));\n }, null)\n }),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n loadedPackages = _useState2[0].packages,\n setLoadedPackages = _useState2[1];\n\n var sourcesToLoad = React.useMemo(function () {\n if (loadedPackages === null) {\n return sources;\n }\n\n var sourcesLoaded = Object.keys(loadedPackages);\n return sources.filter(function (source) {\n return sourcesLoaded.indexOf(source) === -1;\n });\n }, [sources, loadedPackages]);\n React.useEffect(function () {\n var canceled = false;\n\n if (sourcesToLoad.length === 0) {\n return function () {\n canceled = true;\n };\n }\n\n Promise.all(sourcesToLoad.map(function (source) {\n return packagesMap[source] || null;\n }).filter(function (it) {\n return it !== null;\n }).map(function (promise) {\n return promise();\n })).then(function (packagesLoaded) {\n var newLoadedPackages = sourcesToLoad.reduce(function (map, source, index) {\n var _packagesLoaded$index = packagesLoaded[index],\n pack = _packagesLoaded$index[\"default\"],\n others = _objectWithoutProperties__default[\"default\"](_packagesLoaded$index, _excluded$1);\n\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, map), {}, _defineProperty__default[\"default\"]({}, source, Object.keys(others).reduce(function (otherMap, key) {\n otherMap[key] = others[key]; // eslint-disable-line no-param-reassign\n\n return otherMap;\n }, pack)));\n }, {});\n packagesCache = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, packagesCache), newLoadedPackages);\n\n if (!canceled) {\n setLoadedPackages({\n packages: newLoadedPackages\n });\n }\n });\n return function () {\n canceled = true;\n };\n }, [sourcesToLoad, packagesMap, loadedPackages, setLoadedPackages]);\n return sourcesToLoad.length === 0 ? loadedPackages : null;\n};\n\nvar convertToMedia = function convertToMedia(it) {\n // console.log('upload', it);\n var type = it.data.type.split('/')[0];\n var thumbnail = it.transloadit[\"\".concat(type, \"_thumbnail\")] || null;\n var original = it.transloadit[\"\".concat(type, \"_original\")] || null;\n return {\n handle: it.id,\n type: type,\n name: it.meta.name,\n mime: it.data.type,\n size: it.data.size,\n url: original !== null ? original.ssl_url || original.url : null,\n thumbnail_url: thumbnail !== null ? thumbnail.ssl_url || thumbnail.url : null,\n metadata: _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, original !== null ? original.meta || null : null), it.meta.user ? {\n user: it.meta.user\n } || null : null), {}, {\n filename: it.meta.filename,\n transloadit: it.transloadit.results || null\n })\n };\n};\n\nvar getTransloaditMediasFromResponse = function getTransloaditMediasFromResponse(response) {\n return response.successful.map(function (it) {\n var transloadit = response.transloadit.find(function (subIt) {\n return subIt.assembly_id === it.transloadit.assembly;\n }) || null;\n var results = transloadit !== null ? transloadit.results || null : null;\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, it), {}, {\n transloadit: results !== null ? Object.keys(results).reduce(function (map, resultKey) {\n var result = results[resultKey].find(function (itResult) {\n return itResult.name === it.name;\n });\n return result !== null ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, map), {}, _defineProperty__default[\"default\"]({}, resultKey, result)) : map;\n }, null) : null\n });\n }).filter(function (it) {\n return it.transloadit !== null;\n }).map(function (it) {\n return convertToMedia(it);\n });\n};\n\nvar _excluded = [\"sources\"],\n _excluded2 = [\"key\", \"templateId\", \"waitForEncoding\"];\nvar UppyContext = /*#__PURE__*/React__default[\"default\"].createContext(null);\nvar useUppy = function useUppy() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$onComplete = _ref.onComplete,\n onComplete = _ref$onComplete === void 0 ? null : _ref$onComplete,\n _ref$onFail = _ref.onFail,\n onFail = _ref$onFail === void 0 ? null : _ref$onFail,\n _ref$getFileName = _ref.getFileName,\n getFileName = _ref$getFileName === void 0 ? function (_ref2) {\n var _ref2$extension = _ref2.extension,\n extension = _ref2$extension === void 0 ? null : _ref2$extension;\n return \"\".concat(uuid.v1()).concat(extension !== null ? \".\".concat(extension) : '');\n } : _ref$getFileName,\n _ref$meta = _ref.meta,\n meta = _ref$meta === void 0 ? null : _ref$meta,\n _ref$maxNumberOfFiles = _ref.maxNumberOfFiles,\n maxNumberOfFiles = _ref$maxNumberOfFiles === void 0 ? 30 : _ref$maxNumberOfFiles,\n _ref$allowedFileTypes = _ref.allowedFileTypes,\n allowedFileTypes = _ref$allowedFileTypes === void 0 ? null : _ref$allowedFileTypes,\n _ref$autoProceed = _ref.autoProceed,\n autoProceed = _ref$autoProceed === void 0 ? false : _ref$autoProceed;\n\n var _ref3 = React.useContext(UppyContext) || null,\n buildUppy = _ref3.buildUppy,\n transport = _ref3.transport;\n\n var uppy = React.useMemo(function () {\n return buildUppy !== null ? buildUppy({\n meta: meta,\n restrictions: {\n maxNumberOfFiles: maxNumberOfFiles,\n allowedFileTypes: allowedFileTypes\n },\n autoProceed: autoProceed\n }) : null;\n }, [buildUppy, meta, maxNumberOfFiles, allowedFileTypes, autoProceed]);\n React.useEffect(function () {\n if (uppy === null) {\n return function () {};\n }\n\n var onUppyComplete = function onUppyComplete(response) {\n var _response$successful = response.successful,\n successful = _response$successful === void 0 ? [] : _response$successful,\n _response$failed = response.failed,\n failed = _response$failed === void 0 ? null : _response$failed;\n var finalSuccessful = transport === 'transloadit' ? getTransloaditMediasFromResponse(response) : successful;\n\n if (onComplete !== null) {\n onComplete(finalSuccessful);\n }\n\n if (onFail !== null) {\n onFail(failed);\n }\n };\n\n uppy.on('complete', onUppyComplete);\n return function () {\n uppy.off('complete', onUppyComplete);\n };\n }, [uppy, transport, onComplete]);\n React.useEffect(function () {\n if (uppy === null) {\n return function () {};\n }\n\n var onUpload = function onUpload(_ref4) {\n var _ref4$fileIDs = _ref4.fileIDs,\n ids = _ref4$fileIDs === void 0 ? [] : _ref4$fileIDs;\n ids.forEach(function (id) {\n var file = uppy.getFile(id);\n var newName = getFileName(file);\n\n if (newName !== null) {\n uppy.setFileMeta(id, {\n name: newName\n });\n }\n });\n };\n\n uppy.on('upload', onUpload);\n return function () {\n uppy.off('upload', onUpload);\n };\n }, [uppy]);\n React.useEffect(function () {\n return function () {\n if (uppy !== null) {\n uppy.close();\n }\n };\n }, [uppy]);\n return uppy;\n};\nvar propTypes$2 = {\n children: PropTypes__default[\"default\"].node.isRequired,\n transport: PropTypes__default[\"default\"].oneOf(['xhr', 'transloadit', 'tus']),\n locale: PropTypes__default[\"default\"].string,\n sources: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].oneOf(['webcam', 'facebook', 'instagram', 'dropbox', 'google-drive'])),\n transloadit: PropTypes__default[\"default\"].shape({\n key: PropTypes__default[\"default\"].string.isRequired,\n templateId: PropTypes__default[\"default\"].string,\n waitForEncoding: PropTypes__default[\"default\"].bool\n }),\n companion: PropTypes__default[\"default\"].shape({\n url: PropTypes__default[\"default\"].string.isRequired,\n allowedHosts: PropTypes__default[\"default\"].string.isRequired\n }),\n tus: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].shape({\n endpoint: PropTypes__default[\"default\"].string.isRequired\n })]),\n xhr: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].shape({\n endpoint: PropTypes__default[\"default\"].string.isRequired\n })])\n};\nvar defaultProps$2 = {\n transport: null,\n locale: null,\n sources: null,\n transloadit: null,\n companion: null,\n tus: null,\n xhr: null\n};\nvar UppyProvider = function UppyProvider(_ref5) {\n var children = _ref5.children,\n providedTransport = _ref5.transport,\n providedLocale = _ref5.locale,\n providedSources = _ref5.sources,\n providedTransloadit = _ref5.transloadit,\n providedCompanion = _ref5.companion,\n providedTus = _ref5.tus,\n providedXhr = _ref5.xhr;\n\n var _useIntl = reactIntl.useIntl(),\n intlLocale = _useIntl.locale;\n\n var _ref6 = React.useContext(UppyContext) || {},\n _ref6$transport = _ref6.transport,\n contextTransport = _ref6$transport === void 0 ? null : _ref6$transport,\n _ref6$locale = _ref6.locale,\n contextLocale = _ref6$locale === void 0 ? null : _ref6$locale,\n _ref6$sources = _ref6.sources,\n contextSources = _ref6$sources === void 0 ? null : _ref6$sources,\n _ref6$transloadit = _ref6.transloadit,\n contextTransloadit = _ref6$transloadit === void 0 ? null : _ref6$transloadit,\n _ref6$companion = _ref6.companion,\n contextCompanion = _ref6$companion === void 0 ? null : _ref6$companion,\n _ref6$tus = _ref6.tus,\n contextTus = _ref6$tus === void 0 ? null : _ref6$tus,\n _ref6$xhr = _ref6.xhr,\n contextXhr = _ref6$xhr === void 0 ? null : _ref6$xhr;\n\n var transport = providedTransport || contextTransport || 'xhr';\n var locale = providedLocale || contextLocale || intlLocale;\n var sources = providedSources || contextSources || ['webcam', 'facebook', 'instagram', 'dropbox', 'google-drive'];\n var transloadit = providedTransloadit || contextTransloadit;\n var companion = providedCompanion || contextCompanion;\n var tus = providedTus || contextTus;\n var xhr = providedXhr || contextXhr;\n var Uppy = useUppyCore();\n var uppyTransport = useUppyTransport(transport);\n var uppySources = useUppySources(sources);\n var uppyLocale = useUppyLocale(locale || intlLocale);\n var buildUppy = React.useMemo(function () {\n if (Uppy === null || uppyLocale === null || uppyTransport === null || uppySources === null) {\n return null;\n }\n\n return function () {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _ref7 = opts || {},\n _ref7$sources = _ref7.sources,\n customSources = _ref7$sources === void 0 ? sources : _ref7$sources,\n uppyOpts = _objectWithoutProperties__default[\"default\"](_ref7, _excluded);\n\n var newUppy = new Uppy(_objectSpread__default[\"default\"]({\n locale: uppyLocale\n }, uppyOpts));\n\n if (transport === 'transloadit') {\n var key = transloadit.key,\n templateId = transloadit.templateId,\n _transloadit$waitForE = transloadit.waitForEncoding,\n waitForEncoding = _transloadit$waitForE === void 0 ? true : _transloadit$waitForE,\n transloaditOpts = _objectWithoutProperties__default[\"default\"](transloadit, _excluded2);\n\n newUppy.use(uppyTransport, {\n params: _objectSpread__default[\"default\"]({\n auth: {\n key: key\n },\n template_id: templateId\n }, transloaditOpts),\n waitForEncoding: waitForEncoding\n });\n } else if (transport === 'tus') {\n newUppy.use(uppyTransport, _objectSpread__default[\"default\"]({\n endpoint: '/tus',\n resume: true,\n retryDelays: [0, 1000, 3000, 5000]\n }, tus));\n } else if (transport === 'xhr') {\n newUppy.use(uppyTransport, _objectSpread__default[\"default\"]({\n endpoint: isString__default[\"default\"](xhr) ? xhr : '/upload'\n }, isObject__default[\"default\"](xhr) ? xhr : null));\n }\n\n if (transport === 'transloadit' || companion !== null) {\n return customSources.reduce(function (currentUppy, sourceId) {\n var source = uppySources[sourceId] || null;\n\n if (source === null) {\n return currentUppy;\n }\n\n var _ref8 = companion || {\n url: uppyTransport.COMPANION || null,\n allowedHosts: uppyTransport.COMPANION_PATTERN || null\n },\n companionUrl = _ref8.url,\n companionAllowedHosts = _ref8.allowedHosts;\n\n return newUppy.use(source, {\n id: sourceId,\n companionUrl: companionUrl,\n companionAllowedHosts: companionAllowedHosts\n });\n }, newUppy);\n }\n\n return newUppy;\n };\n }, [Uppy, uppyLocale, uppyTransport, uppySources, transport, sources, transloadit, companion, tus, xhr]);\n return /*#__PURE__*/React__default[\"default\"].createElement(UppyContext.Provider, {\n value: {\n transport: transport,\n locale: locale,\n sources: sources,\n transloadit: transloadit,\n companion: companion,\n tus: tus,\n xhr: xhr,\n Uppy: Uppy,\n uppyTransport: uppyTransport,\n uppySources: uppySources,\n uppyLocale: uppyLocale,\n buildUppy: buildUppy\n }\n }, children);\n};\nUppyProvider.propTypes = propTypes$2;\nUppyProvider.defaultProps = defaultProps$2;\n\nvar defaultValue$1 = {\n userInteracted: false\n};\nvar UserInteractionContext = /*#__PURE__*/React__default[\"default\"].createContext(defaultValue$1);\nvar useUserInteracted = function useUserInteracted() {\n return React.useContext(UserInteractionContext).userInteracted;\n};\nvar propTypes$1 = {\n children: PropTypes__default[\"default\"].node.isRequired\n};\nvar defaultProps$1 = {};\nvar UserInteractionProvider = function UserInteractionProvider(_ref) {\n var children = _ref.children;\n\n var _useState = React.useState(false),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n userInteracted = _useState2[0],\n setUserInteracted = _useState2[1];\n\n React.useEffect(function () {\n if (userInteracted) {\n return function () {};\n }\n\n var setted = false;\n\n var set = function set() {\n if (!setted) {\n setUserInteracted(true);\n setted = true;\n }\n };\n\n document.addEventListener('mouseup', set);\n document.addEventListener('touchend', set);\n document.addEventListener('pointerup', set);\n return function () {\n document.removeEventListener('mouseup', set);\n document.removeEventListener('touchend', set);\n document.removeEventListener('pointerup', set);\n };\n }, [userInteracted, setUserInteracted]);\n return /*#__PURE__*/React__default[\"default\"].createElement(UserInteractionContext.Provider, {\n value: {\n userInteracted: userInteracted,\n setUserInteracted: setUserInteracted\n }\n }, children);\n};\nUserInteractionProvider.propTypes = propTypes$1;\nUserInteractionProvider.defaultProps = defaultProps$1;\n\nvar defaultValue = {\n menuVisible: false,\n menuSize: 0\n};\nvar ViewerContext = /*#__PURE__*/React__default[\"default\"].createContext(defaultValue);\nvar useViewer = function useViewer() {\n return React.useContext(ViewerContext);\n};\nvar propTypes = {\n children: PropTypes__default[\"default\"].node.isRequired,\n menuVisible: PropTypes__default[\"default\"].bool,\n menuSize: PropTypes__default[\"default\"].number\n};\n\nvar defaultProps = _objectSpread__default[\"default\"]({}, defaultValue);\n\nvar ViewerProvider = function ViewerProvider(_ref) {\n var children = _ref.children,\n menuVisible = _ref.menuVisible,\n menuSize = _ref.menuSize;\n var value = React.useMemo(function () {\n return {\n menuVisible: menuVisible,\n menuSize: menuSize\n };\n }, [menuVisible, menuSize]);\n return /*#__PURE__*/React__default[\"default\"].createElement(ViewerContext.Provider, {\n value: value\n }, children);\n};\nViewerProvider.propTypes = propTypes;\nViewerProvider.defaultProps = defaultProps;\n\nObject.defineProperty(exports, 'TrackingContext', {\n enumerable: true,\n get: function () { return tracking.TrackingContext; }\n});\nexports.ComponentsContext = ComponentsContext;\nexports.ComponentsProvider = ComponentsProvider;\nexports.ELEMENTS_NAMESPACE = ELEMENTS_NAMESPACE;\nexports.EditorContext = EditorContext;\nexports.EditorProvider = EditorProvider;\nexports.FIELDS_NAMESPACE = FIELDS_NAMESPACE;\nexports.FORMS_NAMESPACE = FORMS_NAMESPACE;\nexports.FieldContext = FieldContext;\nexports.FieldContextProvider = FieldContextProvider;\nexports.FieldsContext = FieldsContext;\nexports.FieldsProvider = FieldsProvider;\nexports.FontsContext = FontsContext;\nexports.FontsProvider = FontsProvider;\nexports.GoogleApiClientContext = GoogleApiClientContext;\nexports.GoogleApiClientProvider = GoogleApiClientProvider;\nexports.GoogleKeysContext = GoogleKeysContext;\nexports.GoogleKeysProvider = GoogleKeysProvider;\nexports.GoogleMapsClientContext = GoogleMapsClientContext;\nexports.GoogleMapsClientProvider = GoogleMapsClientProvider;\nexports.MODALS_NAMESPACE = MODALS_NAMESPACE;\nexports.ModalsContext = ModalsContext;\nexports.ModalsProvider = ModalsProvider;\nexports.PanelsContext = PanelsContext;\nexports.PanelsProvider = PanelsProvider;\nexports.RoutesContext = RoutesContext;\nexports.RoutesProvider = RoutesProvider;\nexports.SCREENS_NAMESPACE = SCREENS_NAMESPACE;\nexports.ScreenContext = ScreenContext;\nexports.ScreenProvider = ScreenProvider;\nexports.ScreenSizeContext = ScreenSizeContext;\nexports.ScreenSizeProvider = ScreenSizeProvider;\nexports.ScreensContext = ScreensContext;\nexports.ScreensProvider = ScreensProvider;\nexports.StoryContext = StoryContext;\nexports.StoryProvider = StoryProvider;\nexports.TrackingProvider = TrackingProvider;\nexports.UppyContext = UppyContext;\nexports.UppyProvider = UppyProvider;\nexports.UserInteractionContext = UserInteractionContext;\nexports.UserInteractionProvider = UserInteractionProvider;\nexports.ViewerContext = ViewerContext;\nexports.ViewerProvider = ViewerProvider;\nexports.useComponent = useComponent;\nexports.useComponents = useComponents;\nexports.useComponentsManager = useComponentsManager;\nexports.useEditor = useEditor;\nexports.useElementComponent = useElementComponent;\nexports.useElementsComponents = useElementsComponents;\nexports.useElementsComponentsManager = useElementsComponentsManager;\nexports.useFieldComponent = useFieldComponent;\nexports.useFieldContext = useFieldContext;\nexports.useFieldDefinition = useFieldDefinition;\nexports.useFieldsComponents = useFieldsComponents;\nexports.useFieldsComponentsManager = useFieldsComponentsManager;\nexports.useFieldsManager = useFieldsManager;\nexports.useFonts = useFonts;\nexports.useFormComponent = useFormComponent;\nexports.useFormsComponents = useFormsComponents;\nexports.useFormsComponentsManager = useFormsComponentsManager;\nexports.useGetColors = useGetColors;\nexports.useGoogleApiClient = useGoogleApiClient;\nexports.useGoogleFonts = useGoogleFonts;\nexports.useGoogleKeys = useGoogleKeys;\nexports.useGoogleMapsClient = useGoogleMapsClient;\nexports.useModalComponent = useModalComponent;\nexports.useModals = useModals;\nexports.useModalsComponents = useModalsComponents;\nexports.useModalsComponentsManager = useModalsComponentsManager;\nexports.usePanels = usePanels;\nexports.useRouteBack = useRouteBack;\nexports.useRoutePush = useRoutePush;\nexports.useRoutes = useRoutes;\nexports.useScreen = useScreen;\nexports.useScreenComponent = useScreenComponent;\nexports.useScreenData = useScreenData;\nexports.useScreenDefinition = useScreenDefinition;\nexports.useScreenRenderContext = useScreenRenderContext;\nexports.useScreenSize = useScreenSize;\nexports.useScreensComponents = useScreensComponents;\nexports.useScreensComponentsManager = useScreensComponentsManager;\nexports.useScreensManager = useScreensManager;\nexports.useStory = useStory;\nexports.useStoryContext = useStoryContext;\nexports.useTracking = useTracking;\nexports.useUppy = useUppy;\nexports.useUrlGenerator = useUrlGenerator;\nexports.useUserInteracted = useUserInteracted;\nexports.useViewer = useViewer;\nexports.withGoogleApiClient = withGoogleApiClient;\nexports.withGoogleMapsClient = withGoogleMapsClient;\nexports.withModals = withModals;\nexports.withPanels = withPanels;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar react = require('react');\nvar _objectSpread = require('@babel/runtime/helpers/objectSpread2');\nvar reactIntl = require('react-intl');\nvar isString = require('lodash/isString');\nvar dayjs = require('dayjs');\nvar core = require('@micromag/core');\nvar utils = require('@micromag/core/utils');\nvar _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');\nvar forms = require('@folklore/forms');\nvar _defineProperty = require('@babel/runtime/helpers/defineProperty');\nvar classNames = require('classnames');\nvar _slicedToArray = require('@babel/runtime/helpers/slicedToArray');\nvar screenfull = require('screenfull');\nvar _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');\nvar isObject = require('lodash/isObject');\nvar contexts = require('@micromag/core/contexts');\nvar cssMediaquery = require('css-mediaquery');\nvar core$1 = require('@react-spring/core');\nvar react$1 = require('@use-gesture/react');\nvar clamp = require('lodash/clamp');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nfunction _interopNamespace(e) {\n if (e && e.__esModule) return e;\n var n = Object.create(null);\n if (e) {\n Object.keys(e).forEach(function (k) {\n if (k !== 'default') {\n var d = Object.getOwnPropertyDescriptor(e, k);\n Object.defineProperty(n, k, d.get ? d : {\n enumerable: true,\n get: function () { return e[k]; }\n });\n }\n });\n }\n n[\"default\"] = e;\n return Object.freeze(n);\n}\n\nvar _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);\nvar isString__default = /*#__PURE__*/_interopDefaultLegacy(isString);\nvar dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);\nvar _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);\nvar _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);\nvar classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);\nvar _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);\nvar screenfull__default = /*#__PURE__*/_interopDefaultLegacy(screenfull);\nvar _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);\nvar isObject__default = /*#__PURE__*/_interopDefaultLegacy(isObject);\nvar clamp__default = /*#__PURE__*/_interopDefaultLegacy(clamp);\n\nvar useAnimationFrame = function useAnimationFrame(onFrame) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled;\n\n var requestRef = react.useRef(null);\n var startTimeRef = react.useRef(null);\n\n var callback = function callback(time) {\n if (!startTimeRef.current) {\n startTimeRef.current = time;\n }\n\n var progress = time - startTimeRef.current;\n onFrame(progress);\n requestRef.current = requestAnimationFrame(callback);\n };\n\n react.useEffect(function () {\n if (!disabled) {\n requestRef.current = requestAnimationFrame(callback);\n }\n\n return function () {\n if (requestRef.current !== null) {\n cancelAnimationFrame(requestRef.current);\n }\n };\n }, [disabled]);\n};\n\nvar useFormattedDate = function useFormattedDate() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$format = _ref.format,\n format = _ref$format === void 0 ? null : _ref$format,\n _ref$showToday = _ref.showToday,\n showToday = _ref$showToday === void 0 ? true : _ref$showToday;\n\n var intl = reactIntl.useIntl();\n var today = dayjs__default[\"default\"]();\n return react.useCallback(function (date) {\n var dateToFormat = isString__default[\"default\"](date) ? dayjs__default[\"default\"](date) : date;\n\n if (showToday && dateToFormat.format('YYYY-MM-DD') === today.format('YYYY-MM-DD')) {\n return intl.formatMessage({\n id: \"v4Qtl9\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Today\"\n }]\n });\n }\n\n return intl.formatDate(dayjs__default[\"default\"](date).toDate(), _objectSpread__default[\"default\"]({\n year: 'numeric',\n month: 'long',\n day: '2-digit'\n }, format));\n }, [today, showToday, format]);\n};\nvar useFormattedTime = function useFormattedTime() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$format = _ref2.format,\n format = _ref2$format === void 0 ? null : _ref2$format,\n _ref2$showNow = _ref2.showNow,\n showNow = _ref2$showNow === void 0 ? true : _ref2$showNow,\n _ref2$timeGap = _ref2.timeGap,\n timeGap = _ref2$timeGap === void 0 ? 2 : _ref2$timeGap;\n\n var intl = reactIntl.useIntl();\n var now = dayjs__default[\"default\"]();\n return react.useCallback(function (date) {\n var dateToFormat = isString__default[\"default\"](date) ? dayjs__default[\"default\"](date) : date;\n\n if (showNow && dateToFormat.format('YYYY-MM-DD') === now.format('YYYY-MM-DD') && dateToFormat.hour() === now.hour() && dateToFormat.minute() > now.minute() - timeGap && dateToFormat.minute() < now.minute() + timeGap) {\n return intl.formatMessage({\n id: \"3na7F8\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Now\"\n }]\n });\n }\n\n return intl.formatTime(dateToFormat.toDate(), _objectSpread__default[\"default\"]({\n hour: 'numeric',\n minute: 'numeric'\n }, format));\n }, [now, showNow, timeGap, format]);\n};\n\nvar eventsManager$1 = typeof document !== 'undefined' ? new core.EventsManager(document) : null;\nvar useDocumentEvent = utils.createUseEvent(eventsManager$1);\n\nvar _excluded$1 = [\"fields\", \"injectInFields\"],\n _excluded2 = [\"fields\"];\n\nvar useForm = function useForm() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$fields = _ref.fields,\n providedFields = _ref$fields === void 0 ? [] : _ref$fields,\n _ref$injectInFields = _ref.injectInFields,\n injectInFields = _ref$injectInFields === void 0 ? false : _ref$injectInFields,\n opts = _objectWithoutProperties__default[\"default\"](_ref, _excluded$1);\n\n var fieldsNames = react.useMemo(function () {\n return providedFields.length > 0 ? providedFields.map(function (_ref2) {\n var name = _ref2.name;\n return name;\n }) : [];\n }, [providedFields]);\n\n var _useBaseForm = forms.useForm(_objectSpread__default[\"default\"]({\n fields: fieldsNames\n }, opts)),\n fields = _useBaseForm.fields,\n form = _objectWithoutProperties__default[\"default\"](_useBaseForm, _excluded2);\n\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, form), {}, {\n fields: injectInFields ? providedFields.map(function (it) {\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, it), fields[it.name] || null);\n }) : providedFields\n });\n};\n\nvar useFormTransition = function useFormTransition() {\n var paths = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var styles = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var lastPageRef = react.useRef(paths || []);\n var direction = react.useMemo(function () {\n var currentPartsCount = paths.length;\n\n if (lastPageRef.current) {\n var previousPartsCount = lastPageRef.current.length;\n lastPageRef.current = paths || [];\n return currentPartsCount > previousPartsCount ? 'right' : 'left';\n }\n\n return null;\n }, [paths]);\n var name = react.useMemo(function () {\n var _classNames, _classNames2, _classNames3;\n\n return {\n enter: classNames__default[\"default\"]((_classNames = {}, _defineProperty__default[\"default\"](_classNames, styles.enterRight, direction === 'right'), _defineProperty__default[\"default\"](_classNames, styles.enterLeft, direction === 'left'), _defineProperty__default[\"default\"](_classNames, styles.enterTop, direction === 'top'), _defineProperty__default[\"default\"](_classNames, styles.enterBottom, direction === 'bottom'), _classNames)) || 'none',\n enterActive: classNames__default[\"default\"]((_classNames2 = {}, _defineProperty__default[\"default\"](_classNames2, styles.enterActiveHorizontal, direction === 'left' || direction === 'right'), _defineProperty__default[\"default\"](_classNames2, styles.enterActiveVertical, direction === 'top' || direction === 'bottom'), _classNames2)) || 'none',\n leave: styles.leave || 'none',\n leaveActive: classNames__default[\"default\"]((_classNames3 = {}, _defineProperty__default[\"default\"](_classNames3, styles.leaveActiveRight, direction === 'right'), _defineProperty__default[\"default\"](_classNames3, styles.leaveActiveLeft, direction === 'left'), _defineProperty__default[\"default\"](_classNames3, styles.leaveActiveTop, direction === 'top'), _defineProperty__default[\"default\"](_classNames3, styles.leaveActiveBottom, direction === 'bottom'), _classNames3)) || 'none'\n };\n }, [direction]);\n return {\n direction: direction,\n name: name,\n timeout: direction === 'left' || direction === 'right' ? 300 : 10\n };\n};\n\nvar useFullscreen = function useFullscreen(element) {\n var enabled = screenfull__default[\"default\"].isEnabled;\n\n var _useState = react.useState(false),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n active = _useState2[0],\n setActive = _useState2[1];\n\n var fullscreen = react.useCallback(function () {\n if (screenfull__default[\"default\"].isEnabled) {\n if (typeof element !== 'undefined' && element !== null) {\n screenfull__default[\"default\"].request(element);\n } else {\n screenfull__default[\"default\"].request();\n }\n }\n }, [element]);\n var unFullscreen = react.useCallback(function () {\n if (screenfull__default[\"default\"].isEnabled) {\n screenfull__default[\"default\"].exit();\n }\n }, []);\n var toggle = react.useCallback(function () {\n if (!active) {\n fullscreen();\n } else {\n unFullscreen();\n }\n }, [active, fullscreen, unFullscreen]);\n react.useEffect(function () {\n var onChange = function onChange() {\n setActive(screenfull__default[\"default\"].isFullscreen);\n };\n\n if (screenfull__default[\"default\"].isEnabled) {\n screenfull__default[\"default\"].on('change', onChange);\n }\n\n return function () {\n if (screenfull__default[\"default\"].isEnabled) {\n screenfull__default[\"default\"].off('change', onChange);\n }\n };\n }, []);\n return {\n toggle: toggle,\n fullscreen: fullscreen,\n unFullscreen: unFullscreen,\n active: active,\n enabled: enabled\n };\n};\n\nvar buildThresholdArray = function buildThresholdArray() {\n return [0, 1.0];\n};\n\nvar observersCache = new Map();\n\nvar getOptionsKey = function getOptionsKey(_ref) {\n var _ref$root = _ref.root,\n root = _ref$root === void 0 ? null : _ref$root,\n rootMargin = _ref.rootMargin,\n _ref$threshold = _ref.threshold,\n threshold = _ref$threshold === void 0 ? null : _ref$threshold;\n return \"root_\".concat(root, \"_rootMargin_\").concat(rootMargin || null, \"_threshold_\").concat(threshold);\n};\n\nvar createObserver = function createObserver(Observer) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var subscribers = [];\n\n var addSubscriber = function addSubscriber(element, callback) {\n var currentSubscriber = subscribers.find(function (it) {\n return it.element === element;\n }) || null;\n\n if (currentSubscriber !== null) {\n return subscribers.map(function (it) {\n return it.element === element && it.callbacks.indexOf(callback) === -1 ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, it), {}, {\n callbacks: [].concat(_toConsumableArray__default[\"default\"](it.callbacks), [callback])\n }) : it;\n }).filter(function (it) {\n return it.callbacks.length > 0;\n });\n }\n\n return [].concat(_toConsumableArray__default[\"default\"](subscribers), [{\n element: element,\n callbacks: [callback]\n }]);\n };\n\n var removeSubscriber = function removeSubscriber(element, callback) {\n return subscribers.map(function (it) {\n return it.element === element ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, it), {}, {\n callbacks: it.callbacks.filter(function (subCallback) {\n return subCallback !== callback;\n })\n }) : it;\n }).filter(function (it) {\n return it.callbacks.length > 0;\n });\n };\n\n var onUpdate = function onUpdate(entries) {\n entries.forEach(function (entry) {\n subscribers.forEach(function (_ref2) {\n var element = _ref2.element,\n callbacks = _ref2.callbacks;\n\n if (element === entry.target) {\n callbacks.forEach(function (callback) {\n callback(entry);\n });\n }\n });\n });\n };\n\n var observer = new Observer(onUpdate, options);\n\n var unsubscribe = function unsubscribe(element) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n subscribers = removeSubscriber(element, callback);\n\n if (typeof observer.unobserve === 'undefined') {\n observer.disconnect();\n subscribers.forEach(function (subscriber) {\n observer.observe(subscriber.element);\n });\n return;\n }\n\n var currentSubscriber = subscribers.find(function (it) {\n return it.element === element;\n }) || null;\n\n if (currentSubscriber === null) {\n observer.unobserve(element);\n }\n };\n\n var subscribe = function subscribe(element, callback) {\n var currentSubscriber = subscribers.find(function (it) {\n return it.element === element;\n }) || null;\n subscribers = addSubscriber(element, callback);\n\n if (currentSubscriber === null) {\n observer.observe(element);\n }\n };\n\n return {\n subscribe: subscribe,\n unsubscribe: unsubscribe,\n observer: observer\n };\n};\n\nvar getObserver = function getObserver(Observer) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var observerKey = getOptionsKey(options);\n\n if (!observersCache.has(Observer)) {\n observersCache.set(Observer, {});\n }\n\n var observers = observersCache.get(Observer);\n\n if (typeof observers[observerKey] === 'undefined') {\n observers[observerKey] = createObserver(Observer, options);\n observersCache.set(Observer, observers);\n }\n\n return observers[observerKey];\n};\nvar useObserver = function useObserver(Observer) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var initialEntry = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _opts$root = opts.root,\n root = _opts$root === void 0 ? null : _opts$root,\n _opts$rootMargin = opts.rootMargin,\n rootMargin = _opts$rootMargin === void 0 ? null : _opts$rootMargin,\n _opts$threshold = opts.threshold,\n threshold = _opts$threshold === void 0 ? null : _opts$threshold,\n _opts$disabled = opts.disabled,\n disabled = _opts$disabled === void 0 ? false : _opts$disabled;\n\n var _useState = react.useState(initialEntry),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n entry = _useState2[0],\n setEntry = _useState2[1];\n\n var nodeRef = react.useRef(null);\n var currentElement = react.useRef(null);\n var elementChanged = nodeRef.current !== currentElement.current;\n react.useEffect(function () {\n var nodeElement = nodeRef.current;\n\n var callback = function callback(newEntry) {\n return setEntry(newEntry);\n };\n\n var unsubscribe = null;\n\n if (nodeElement !== null) {\n var newOpts = {};\n\n if (root !== null) {\n newOpts.root = root;\n }\n\n if (rootMargin !== null) {\n newOpts.rootMargin = rootMargin;\n }\n\n if (threshold !== null) {\n newOpts.threshold = threshold;\n }\n\n var _getObserver = getObserver(Observer, newOpts),\n subscribe = _getObserver.subscribe,\n localUnsubscribe = _getObserver.unsubscribe;\n\n unsubscribe = localUnsubscribe;\n subscribe(nodeElement, callback);\n }\n\n currentElement.current = nodeElement;\n return function () {\n if (unsubscribe !== null) {\n unsubscribe(nodeElement, callback);\n }\n };\n }, [Observer, elementChanged, disabled, root, rootMargin, threshold]);\n return {\n ref: nodeRef,\n entry: entry\n };\n};\n/**\n * Intersection Observer\n */\n\nvar thresholdArray = buildThresholdArray();\nvar intersectionObserverInitialEntry = {\n target: null,\n time: null,\n isVisible: false,\n isIntersecting: false,\n intersectionRatio: 0,\n intersectionRect: null,\n boundingClientRect: null,\n rootBounds: null\n};\nvar useIntersectionObserver = function useIntersectionObserver() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$root = _ref3.root,\n root = _ref3$root === void 0 ? null : _ref3$root,\n _ref3$rootMargin = _ref3.rootMargin,\n rootMargin = _ref3$rootMargin === void 0 ? '0px' : _ref3$rootMargin,\n _ref3$threshold = _ref3.threshold,\n threshold = _ref3$threshold === void 0 ? thresholdArray : _ref3$threshold,\n _ref3$disabled = _ref3.disabled,\n disabled = _ref3$disabled === void 0 ? false : _ref3$disabled;\n\n return useObserver(typeof window !== 'undefined' ? IntersectionObserver : null, {\n root: root,\n rootMargin: rootMargin,\n threshold: threshold,\n disabled: disabled\n }, intersectionObserverInitialEntry);\n};\n/**\n * Resize Observer\n */\n\nvar resizeObserverInitialEntry = {\n target: null,\n contentRect: null,\n contentBoxSize: null,\n borderBoxSize: null\n};\nvar useResizeObserver = function useResizeObserver() {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$disabled = _ref4.disabled,\n disabled = _ref4$disabled === void 0 ? false : _ref4$disabled;\n\n return useObserver(typeof window !== 'undefined' ? ResizeObserver : null, {\n disabled: disabled\n }, resizeObserverInitialEntry);\n};\n\nvar useIsVisible = function useIsVisible() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n rootMargin = _ref.rootMargin,\n _ref$threshold = _ref.threshold,\n threshold = _ref$threshold === void 0 ? 1 : _ref$threshold,\n _ref$persist = _ref.persist,\n persist = _ref$persist === void 0 ? false : _ref$persist;\n\n var _useIntersectionObser = useIntersectionObserver({\n rootMargin: rootMargin,\n threshold: threshold\n }),\n ref = _useIntersectionObser.ref,\n isIntersecting = _useIntersectionObser.entry.isIntersecting;\n\n var wasIntersecting = react.useRef(isIntersecting);\n\n if (isIntersecting && !wasIntersecting.current) {\n wasIntersecting.current = isIntersecting;\n }\n\n var isVisible = !persist && isIntersecting || persist && wasIntersecting.current;\n return {\n ref: ref,\n visible: isVisible\n };\n};\n\nvar fontsMap = {\n loading: [],\n active: []\n};\n\nvar isFontLoading = function isFontLoading(name) {\n return fontsMap.loading.indexOf(name) !== -1;\n};\n\nvar isFontActive = function isFontActive(name) {\n return fontsMap.active.indexOf(name) !== -1;\n};\n\nvar addFontLoading = function addFontLoading(name) {\n fontsMap.active = fontsMap.active.filter(function (it) {\n return it !== name;\n });\n fontsMap.loading = [].concat(_toConsumableArray__default[\"default\"](fontsMap.loading), [name]);\n};\n\nvar removeFontLoading = function removeFontLoading(name) {\n fontsMap.loading = fontsMap.loading.filter(function (it) {\n return it !== name;\n });\n};\n\nvar addFontActive = function addFontActive(name) {\n fontsMap.loading = fontsMap.loading.filter(function (it) {\n return it !== name;\n });\n fontsMap.active = [].concat(_toConsumableArray__default[\"default\"](fontsMap.active), [name]);\n};\n\nvar useLoadedFonts = function useLoadedFonts(fonts) {\n var _useState = react.useState(false),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n loaded = _useState2[0],\n setLoaded = _useState2[1];\n\n react.useEffect(function () {\n var config = fonts.reduce(function (newConfig, font) {\n var _ref = isObject__default[\"default\"](font) ? font : {\n type: 'system',\n name: font\n },\n type = _ref.type,\n name = _ref.name;\n\n if ((type === 'google' || type === 'custom') && !isFontLoading(name) && !isFontActive(name)) {\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, newConfig), {}, _defineProperty__default[\"default\"]({}, type, {\n families: [].concat(_toConsumableArray__default[\"default\"](newConfig !== null ? (newConfig[type] || {}).families || [] : []), [name])\n }));\n }\n\n return newConfig;\n }, null);\n var hasConfig = config !== null;\n\n if (hasConfig && typeof window !== 'undefined') {\n Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('webfontloader')); }).then(function (_ref2) {\n var WebFont = _ref2[\"default\"];\n return WebFont.load(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, config), {}, {\n timeout: 3000,\n active: function active() {\n return setLoaded(true);\n },\n fontloading: function fontloading(name) {\n return addFontLoading(name);\n },\n fontactive: function fontactive(name) {\n return addFontActive(name);\n },\n fontinactive: function fontinactive(name) {\n return removeFontLoading(name);\n }\n }));\n });\n } else {\n setLoaded(true);\n }\n }, [fonts, setLoaded]);\n return {\n loaded: loaded\n };\n};\n\nvar isTouchEvent = function isTouchEvent(event) {\n return 'touches' in event;\n};\n\nvar preventDefault = function preventDefault(event) {\n if (!isTouchEvent(event)) return false;\n\n if (event.touches.length < 2 && event.preventDefault) {\n event.preventDefault();\n }\n\n return false;\n};\n\nvar preventClickDefault = function preventClickDefault(e) {\n if (e.preventDefault) {\n e.preventDefault();\n }\n\n if (e.stopPropagation) {\n e.stopPropagation();\n }\n};\n\nvar useLongPress = function useLongPress() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$onLongPress = _ref.onLongPress,\n onLongPress = _ref$onLongPress === void 0 ? null : _ref$onLongPress,\n _ref$onClick = _ref.onClick,\n onClick = _ref$onClick === void 0 ? null : _ref$onClick,\n _ref$shouldPreventDef = _ref.shouldPreventDefault,\n shouldPreventDefault = _ref$shouldPreventDef === void 0 ? true : _ref$shouldPreventDef,\n _ref$delay = _ref.delay,\n delay = _ref$delay === void 0 ? 350 : _ref$delay;\n\n var _useState = react.useState(false),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n longPressTriggered = _useState2[0],\n setLongPressTriggered = _useState2[1];\n\n var timeout = react.useRef(null);\n var target = react.useRef(null);\n var start = react.useCallback(function (event) {\n if (event.target !== null) {\n target.current = event.target;\n }\n\n timeout.current = setTimeout(function () {\n if (shouldPreventDefault && target.current !== null) {\n target.current.addEventListener('touchend', preventDefault, {\n passive: false\n });\n target.current.addEventListener('click', preventClickDefault, {\n passive: false\n });\n }\n\n if (onLongPress !== null) {\n onLongPress(event);\n }\n\n setLongPressTriggered(true);\n timeout.current = null;\n }, delay);\n }, [onLongPress, delay, shouldPreventDefault]);\n var clear = react.useCallback(function (event) {\n var shouldTriggerClick = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (timeout.current !== null) {\n clearTimeout(timeout.current);\n } else if (shouldPreventDefault && target.current !== null) {\n preventDefault(event);\n target.current.removeEventListener('touchend', preventDefault);\n setTimeout(function () {\n target.current.removeEventListener('click', preventClickDefault);\n }, 10);\n }\n\n if (shouldTriggerClick && !longPressTriggered && onClick !== null) {\n onClick();\n }\n\n setLongPressTriggered(false);\n }, [shouldPreventDefault, onClick, longPressTriggered]);\n return {\n onMouseDown: function onMouseDown(e) {\n return start(e);\n },\n onTouchStart: function onTouchStart(e) {\n return start(e);\n },\n onMouseUp: function onMouseUp(e) {\n return clear(e);\n },\n onMouseLeave: function onMouseLeave(e) {\n return clear(e, false);\n },\n onTouchEnd: function onTouchEnd(e) {\n return clear(e);\n }\n };\n};\n\nvar progressSteps = [0.1, 0.25, 0.5, 0.75, 0.9];\n\nvar useMediaApi = function useMediaApi() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$url = _ref.url,\n url = _ref$url === void 0 ? null : _ref$url,\n _ref$initialMuted = _ref.initialMuted,\n initialMuted = _ref$initialMuted === void 0 ? false : _ref$initialMuted,\n _ref$onTimeUpdate = _ref.onTimeUpdate,\n onTimeUpdate = _ref$onTimeUpdate === void 0 ? null : _ref$onTimeUpdate,\n _ref$onProgressStep = _ref.onProgressStep,\n onProgressStep = _ref$onProgressStep === void 0 ? null : _ref$onProgressStep,\n _ref$onDurationChange = _ref.onDurationChanged,\n onDurationChanged = _ref$onDurationChange === void 0 ? null : _ref$onDurationChange,\n _ref$onVolumeChanged = _ref.onVolumeChanged,\n onVolumeChanged = _ref$onVolumeChanged === void 0 ? null : _ref$onVolumeChanged,\n _ref$onPlay = _ref.onPlay,\n onPlay = _ref$onPlay === void 0 ? null : _ref$onPlay,\n _ref$onPause = _ref.onPause,\n onPause = _ref$onPause === void 0 ? null : _ref$onPause,\n _ref$onEnded = _ref.onEnded,\n onEnded = _ref$onEnded === void 0 ? null : _ref$onEnded,\n _ref$onSeeked = _ref.onSeeked,\n onSeeked = _ref$onSeeked === void 0 ? null : _ref$onSeeked,\n _ref$onLoadStart = _ref.onLoadStart,\n onLoadStart = _ref$onLoadStart === void 0 ? null : _ref$onLoadStart,\n _ref$onCanPlayThough = _ref.onCanPlayThough,\n onCanPlayThough = _ref$onCanPlayThough === void 0 ? null : _ref$onCanPlayThough,\n _ref$onCanPlay = _ref.onCanPlay,\n onCanPlay = _ref$onCanPlay === void 0 ? null : _ref$onCanPlay,\n _ref$onLoadedData = _ref.onLoadedData,\n onLoadedData = _ref$onLoadedData === void 0 ? null : _ref$onLoadedData,\n _ref$onLoadedMetadata = _ref.onLoadedMetadata,\n onLoadedMetadata = _ref$onLoadedMetadata === void 0 ? null : _ref$onLoadedMetadata;\n\n var ref = react.useRef(null);\n\n var _useState = react.useState(initialMuted),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n muted = _useState2[0],\n setMuted = _useState2[1];\n\n var _useState3 = react.useState(null),\n _useState4 = _slicedToArray__default[\"default\"](_useState3, 2),\n currentTime = _useState4[0],\n setCurrentTime = _useState4[1];\n\n var _useState5 = react.useState(null),\n _useState6 = _slicedToArray__default[\"default\"](_useState5, 2),\n duration = _useState6[0],\n setDuration = _useState6[1];\n\n var _useState7 = react.useState(false),\n _useState8 = _slicedToArray__default[\"default\"](_useState7, 2),\n playing = _useState8[0],\n setPlaying = _useState8[1];\n\n var _useState9 = react.useState(false),\n _useState10 = _slicedToArray__default[\"default\"](_useState9, 2),\n ready = _useState10[0],\n setReady = _useState10[1];\n\n var _useState11 = react.useState(false),\n _useState12 = _slicedToArray__default[\"default\"](_useState11, 2),\n dataReady = _useState12[0],\n setDataReady = _useState12[1];\n\n var _useState13 = react.useState(true),\n _useState14 = _slicedToArray__default[\"default\"](_useState13, 2),\n initialPlay = _useState14[0],\n setInitialPlay = _useState14[1];\n\n var progressStepsReached = react.useRef({});\n var paused = !playing; // Exposed methods\n\n var play = react.useCallback(function () {\n var media = ref.current;\n\n if (media !== null) {\n media.play();\n }\n }, []);\n var pause = react.useCallback(function () {\n var media = ref.current;\n\n if (media !== null) {\n media.pause();\n }\n }, []);\n var togglePlay = react.useCallback(function () {\n var media = ref.current;\n\n if (media !== null) {\n if (playing) {\n media.pause();\n } else {\n media.play();\n }\n }\n }, [playing]);\n var stop = react.useCallback(function () {\n var media = ref.current;\n\n if (media !== null) {\n media.pause();\n media.currentTime = 0;\n }\n }, []);\n var seek = react.useCallback(function (time) {\n var media = ref.current;\n\n if (media !== null) {\n media.currentTime = time;\n }\n }, []);\n var mute = react.useCallback(function () {\n var media = ref.current;\n\n if (media !== null) {\n media.muted = true;\n }\n }, []);\n var unMute = react.useCallback(function () {\n var media = ref.current;\n\n if (media !== null) {\n media.muted = false;\n }\n }, []);\n var toggleMute = react.useCallback(function () {\n var media = ref.current;\n\n if (media !== null) {\n media.muted = !muted;\n }\n }, [muted]); // Media events callbacks\n\n var onCustomPlay = react.useCallback(function () {\n if (onPlay !== null) {\n onPlay({\n initial: initialPlay\n });\n }\n\n if (initialPlay) {\n setInitialPlay(false);\n }\n\n setPlaying(true);\n }, [initialPlay, setPlaying, onPlay]);\n var onCustomPause = react.useCallback(function () {\n var media = ref.current;\n setPlaying(false);\n\n if (onPause !== null) {\n onPause({\n midway: media.currentTime > 0 && media.currentTime < media.duration\n });\n }\n }, [setPlaying, onPause]);\n var onCustomEnded = react.useCallback(function () {\n var media = ref.current;\n media.currentTime = 0;\n\n if (onEnded !== null) {\n onEnded();\n }\n\n setInitialPlay(true);\n }, [setInitialPlay, onEnded]);\n var onCustomTimeUpdate = react.useCallback(function () {\n var media = ref.current;\n setCurrentTime(media.currentTime);\n\n if (onTimeUpdate !== null) {\n onTimeUpdate(media.currentTime);\n }\n\n var progress = media.currentTime / media.duration;\n var currentSteps = progressStepsReached.current;\n var stepsToTrack = progressSteps.filter(function (step) {\n return progress > step && typeof currentSteps[step] === 'undefined';\n });\n stepsToTrack.forEach(function (step) {\n if (onProgressStep !== null) {\n onProgressStep(step);\n }\n\n currentSteps[step] = true;\n });\n }, [setCurrentTime, onTimeUpdate, onProgressStep]);\n var onCustomDurationChange = react.useCallback(function () {\n var media = ref.current;\n setDuration(media.duration);\n\n if (onDurationChanged !== null) {\n onDurationChanged(media.duration);\n }\n }, [setDuration, onDurationChanged]);\n var onCustomSeeked = react.useCallback(function () {\n var media = ref.current;\n\n if (onSeeked !== null) {\n onSeeked(media.currentTime);\n }\n }, [onSeeked]);\n var onCustomVolumeChange = react.useCallback(function () {\n var media = ref.current;\n setMuted(media.muted);\n\n if (onVolumeChanged !== null) {\n onVolumeChanged(media.muted, media.volume);\n }\n }, [setMuted, onVolumeChanged]);\n var onCustomLoadStart = react.useCallback(function () {\n if (onLoadStart !== null) {\n onLoadStart();\n }\n }, [setReady, onLoadStart]);\n var onCustomCanPlayThrough = react.useCallback(function () {\n setReady(true);\n\n if (onCanPlayThough !== null) {\n onCanPlayThough();\n }\n }, [setReady, onCanPlayThough]);\n var onCustomCanPlay = react.useCallback(function () {\n setReady(true);\n\n if (onCanPlay !== null) {\n onCanPlay();\n }\n }, [setReady, onCanPlay]);\n var onCustomLoadedMetadata = react.useCallback(function () {\n setReady(true);\n\n if (onLoadedMetadata !== null) {\n onLoadedMetadata();\n }\n }, [setReady, onLoadedMetadata]);\n var onCustomLoadedData = react.useCallback(function () {\n setDataReady(true);\n\n if (onLoadedData !== null) {\n onLoadedData();\n }\n }, [setDataReady, onLoadedData]);\n react.useEffect(function () {\n var _ref$current = ref.current,\n media = _ref$current === void 0 ? null : _ref$current;\n\n if (media !== null) {\n media.addEventListener('timeupdate', onCustomTimeUpdate);\n media.addEventListener('durationchange', onCustomDurationChange);\n media.addEventListener('volumechange', onCustomVolumeChange);\n media.addEventListener('play', onCustomPlay);\n media.addEventListener('pause', onCustomPause);\n media.addEventListener('ended', onCustomEnded);\n media.addEventListener('seeked', onCustomSeeked);\n media.addEventListener('loadstart', onCustomLoadStart);\n media.addEventListener('canplaythrough', onCustomCanPlayThrough);\n media.addEventListener('canplay', onCustomCanPlay);\n media.addEventListener('loadedmetadata', onCustomLoadedMetadata);\n media.addEventListener('loadeddata', onCustomLoadedData);\n }\n\n if (media !== null && media.readyState > 1) {\n setDataReady(true);\n } else {\n setDataReady(false);\n }\n\n if (media !== null && media.readyState > 3) {\n setReady(true);\n } else {\n setReady(false);\n }\n\n return function () {\n if (media !== null) {\n media.removeEventListener('timeupdate', onCustomTimeUpdate);\n media.removeEventListener('durationchange', onCustomDurationChange);\n media.removeEventListener('volumechange', onCustomVolumeChange);\n media.removeEventListener('play', onCustomPlay);\n media.removeEventListener('pause', onCustomPause);\n media.removeEventListener('ended', onCustomEnded);\n media.removeEventListener('seeked', onCustomSeeked);\n media.removeEventListener('loadstart', onCustomLoadStart);\n media.removeEventListener('canplaythrough', onCustomCanPlayThrough);\n media.removeEventListener('canplay', onCustomCanPlay);\n media.removeEventListener('loadedmetadata', onCustomLoadedMetadata);\n }\n };\n }, [url]);\n return {\n ref: ref,\n play: play,\n pause: pause,\n togglePlay: togglePlay,\n stop: stop,\n seek: seek,\n mute: mute,\n unMute: unMute,\n toggleMute: toggleMute,\n muted: muted,\n currentTime: currentTime,\n duration: duration,\n playing: playing,\n paused: paused,\n ready: ready,\n dataReady: dataReady\n };\n};\n\nvar useMediasParser = function useMediasParser() {\n var screensManager = contexts.useScreensManager();\n var fieldsManager = contexts.useFieldsManager(); // Convert medias object to path\n\n var parser = react.useMemo(function () {\n return new core.MediasParser({\n screensManager: screensManager,\n fieldsManager: fieldsManager\n });\n }, [screensManager, fieldsManager]);\n var toPath = react.useCallback(function (story) {\n return parser.toPath(story);\n }, [parser]);\n var fromPath = react.useCallback(function (story) {\n return parser.fromPath(story);\n }, [parser]);\n return {\n toPath: toPath,\n fromPath: fromPath,\n parser: parser\n };\n};\n\nvar useParsedStory = function useParsedStory(story) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$withTheme = _ref.withTheme,\n withTheme = _ref$withTheme === void 0 ? true : _ref$withTheme,\n _ref$withMedias = _ref.withMedias,\n withMedias = _ref$withMedias === void 0 ? true : _ref$withMedias,\n _ref$withFonts = _ref.withFonts,\n withFonts = _ref$withFonts === void 0 ? true : _ref$withFonts;\n\n var screensManager = contexts.useScreensManager();\n var fieldsManager = contexts.useFieldsManager();\n var parser = react.useMemo(function () {\n return new core.StoryParser({\n screensManager: screensManager,\n fieldsManager: fieldsManager\n });\n }, [screensManager, fieldsManager]);\n var newStory = react.useMemo(function () {\n if (disabled) {\n return story;\n }\n\n return parser.parse(story, {\n withMedias: withMedias,\n withTheme: withTheme,\n withFonts: withFonts\n });\n }, [parser, disabled, withMedias, withTheme, withFonts, story]);\n return newStory;\n};\n\nvar _excluded = [\"width\", \"height\"];\n\nvar useScreenSize = function useScreenSize(_ref) {\n var _ref$width = _ref.width,\n width = _ref$width === void 0 ? null : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? null : _ref$height,\n _ref$landscape = _ref.landscape,\n landscape = _ref$landscape === void 0 ? false : _ref$landscape,\n _ref$menuOverScreen = _ref.menuOverScreen,\n menuOverScreen = _ref$menuOverScreen === void 0 ? false : _ref$menuOverScreen,\n _ref$screens = _ref.screens,\n screens = _ref$screens === void 0 ? [] : _ref$screens,\n _ref$mediaType = _ref.mediaType,\n mediaType = _ref$mediaType === void 0 ? 'screen' : _ref$mediaType,\n _ref$media = _ref.media,\n providedMedia = _ref$media === void 0 ? null : _ref$media;\n // Get media\n var media = react.useMemo(function () {\n return providedMedia !== null ? providedMedia : {\n type: mediaType,\n width: \"\".concat(width, \"px\"),\n height: \"\".concat(height, \"px\")\n };\n }, [providedMedia, mediaType, width, height]); // Get matching screens\n\n var matchingScreens = react.useMemo(function () {\n return _toConsumableArray__default[\"default\"](screens).reverse().filter(function (_ref2) {\n var _ref2$mediaQuery = _ref2.mediaQuery,\n mediaQuery = _ref2$mediaQuery === void 0 ? null : _ref2$mediaQuery;\n return mediaQuery === null || cssMediaquery.match(mediaQuery, media);\n });\n }, [screens, media]);\n return {\n screen: matchingScreens.length > 0 ? matchingScreens[0].name : null,\n screens: _toConsumableArray__default[\"default\"](matchingScreens).reverse().map(function (_ref3) {\n var name = _ref3.name;\n return name;\n }),\n width: width,\n height: height,\n landscape: landscape,\n menuOverScreen: menuOverScreen\n };\n};\n\nvar useScreenSizeFromElement = function useScreenSizeFromElement() {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$width = _ref4.width,\n width = _ref4$width === void 0 ? null : _ref4$width,\n _ref4$height = _ref4.height,\n height = _ref4$height === void 0 ? null : _ref4$height,\n opts = _objectWithoutProperties__default[\"default\"](_ref4, _excluded);\n\n var _useResizeObserver = useResizeObserver(),\n ref = _useResizeObserver.ref,\n contentRect = _useResizeObserver.entry.contentRect;\n\n var _ref5 = contentRect || {},\n _ref5$width = _ref5.width,\n calculatedWidth = _ref5$width === void 0 ? 0 : _ref5$width,\n _ref5$height = _ref5.height,\n calculatedHeight = _ref5$height === void 0 ? 0 : _ref5$height;\n\n var fullWidth = width !== null ? width : calculatedWidth;\n var fullHeight = height !== null ? height : calculatedHeight;\n var landscape = fullHeight > 0 && fullWidth > fullHeight;\n\n var _ref6 = opts || {},\n _ref6$withoutMaxSize = _ref6.withoutMaxSize,\n withoutMaxSize = _ref6$withoutMaxSize === void 0 ? false : _ref6$withoutMaxSize,\n _ref6$desktopHeightTh = _ref6.desktopHeightThreshold,\n desktopHeightThreshold = _ref6$desktopHeightTh === void 0 ? 600 : _ref6$desktopHeightTh,\n _ref6$desktopHeightRa = _ref6.desktopHeightRatio,\n desktopHeightRatio = _ref6$desktopHeightRa === void 0 ? 3 / 4 : _ref6$desktopHeightRa,\n _ref6$screenRatio = _ref6.screenRatio,\n screenRatio = _ref6$screenRatio === void 0 ? 2 / 3 : _ref6$screenRatio;\n\n var landscapeWithMaxSize = landscape && !withoutMaxSize;\n var finalWidth = fullWidth;\n var finalHeight = fullHeight;\n var menuOverScreen = !landscape;\n\n if (landscapeWithMaxSize) {\n if (fullHeight < desktopHeightThreshold) {\n menuOverScreen = true;\n } else {\n finalHeight = Math.round(fullHeight * desktopHeightRatio);\n }\n\n finalWidth = Math.round(finalHeight * screenRatio);\n }\n\n if (finalWidth % 2 === 1) {\n finalWidth -= 1;\n }\n\n if (finalHeight % 2 === 1) {\n finalHeight -= 1;\n }\n\n var screenSize = useScreenSize(_objectSpread__default[\"default\"]({\n width: finalWidth,\n height: finalHeight,\n landscape: landscape,\n menuOverScreen: menuOverScreen\n }, opts));\n return {\n ref: ref,\n screenSize: screenSize\n };\n};\n\nvar getWindowSize = function getWindowSize() {\n return {\n width: typeof window !== 'undefined' ? window.innerWidth : null,\n height: typeof window !== 'undefined' ? window.innerHæeight : null\n };\n};\n\nvar useScreenSizeFromWindow = function useScreenSizeFromWindow(opts) {\n var _useState = react.useState(getWindowSize()),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n windowSize = _useState2[0],\n setWindowSize = _useState2[1];\n\n react.useEffect(function () {\n var onResize = function onResize() {\n return setWindowSize(getWindowSize());\n };\n\n if (typeof window !== 'undefined') {\n window.addEventListener('resize', onResize);\n }\n\n return function () {\n if (typeof window !== 'undefined') {\n window.removeEventListener('resize', onResize);\n }\n };\n }, [setWindowSize]);\n return useScreenSize(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, opts), windowSize));\n};\n\nvar useSwipe = function useSwipe() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$width = _ref.width,\n width = _ref$width === void 0 ? null : _ref$width,\n _ref$items = _ref.items,\n items = _ref$items === void 0 ? [] : _ref$items,\n _ref$withSpring = _ref.withSpring,\n withSpring = _ref$withSpring === void 0 ? true : _ref$withSpring,\n _ref$swipeWidthThresh = _ref.swipeWidthThreshold,\n swipeWidthThreshold = _ref$swipeWidthThresh === void 0 ? 3 : _ref$swipeWidthThresh,\n _ref$animateScale = _ref.animateScale,\n animateScale = _ref$animateScale === void 0 ? false : _ref$animateScale,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$lockAxis = _ref.lockAxis,\n lockAxis = _ref$lockAxis === void 0 ? false : _ref$lockAxis,\n _ref$onSwipeStart = _ref.onSwipeStart,\n onSwipeStart = _ref$onSwipeStart === void 0 ? null : _ref$onSwipeStart,\n _ref$onSwipeEnd = _ref.onSwipeEnd,\n onSwipeEnd = _ref$onSwipeEnd === void 0 ? null : _ref$onSwipeEnd,\n _ref$onSwipeCancel = _ref.onSwipeCancel,\n onSwipeCancel = _ref$onSwipeCancel === void 0 ? null : _ref$onSwipeCancel,\n _ref$onTap = _ref.onTap,\n onTap = _ref$onTap === void 0 ? null : _ref$onTap;\n\n var swipingIndex = react.useRef(null);\n var index = react.useRef(0);\n var lockedAxis = react.useRef(null);\n var hasWidth = width !== null;\n var windowWidth = typeof window !== 'undefined' && !hasWidth ? window.innerWidth : null;\n var currentWidth = hasWidth ? width : windowWidth;\n var count = items.length;\n var getItem = react.useCallback(function () {\n var x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var idx = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var scale = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n return {\n x: x,\n zIndex: idx,\n scale: scale\n };\n });\n var getItems = react.useCallback(function () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$down = _ref2.down,\n down = _ref2$down === void 0 ? false : _ref2$down,\n _ref2$mx = _ref2.mx,\n mx = _ref2$mx === void 0 ? 0 : _ref2$mx;\n\n return items.map(function (item, i) {\n var x = disabled ? 0 : (i - index.current) * currentWidth + (down ? mx : 0);\n var scale = !animateScale || disabled || !down ? 1 : 1 - Math.abs(mx) / currentWidth / 2;\n return getItem(x, i, scale);\n });\n }, [disabled, items, index, currentWidth, animateScale]); // Initial items state\n\n var _useSprings = core$1.useSprings(items.length, function (i) {\n return {\n x: disabled ? 0 : i * currentWidth,\n y: 0,\n zIndex: i,\n config: _objectSpread__default[\"default\"]({}, !withSpring ? {\n duration: 1\n } : null)\n };\n }),\n _useSprings2 = _slicedToArray__default[\"default\"](_useSprings, 2),\n itemsWithProps = _useSprings2[0],\n set = _useSprings2[1];\n\n var bind = react$1.useDrag(function (_ref3) {\n var down = _ref3.down,\n _ref3$movement = _slicedToArray__default[\"default\"](_ref3.movement, 2),\n mx = _ref3$movement[0],\n my = _ref3$movement[1],\n _ref3$direction = _slicedToArray__default[\"default\"](_ref3.direction, 1),\n xDir = _ref3$direction[0],\n cancel = _ref3.cancel,\n tap = _ref3.tap;\n\n if (disabled) {\n cancel();\n return;\n }\n\n if (!down && swipingIndex.current === index.current) {\n lockedAxis.current = null;\n\n if (onSwipeCancel !== null) {\n onSwipeCancel(index.current);\n }\n } // Block first and last moves\n\n /*\n if (down && index.current === items.length - 1 && xDir < 0) {\n cancel();\n return;\n }\n if (down && index.current === 0 && xDir > 0) {\n cancel();\n return;\n }\n */\n\n\n var movementX = !lockAxis || lockedAxis.current === 'x' ? mx : 0;\n var movementY = !lockAxis || lockedAxis.current === 'y' ? my : 0;\n\n if (down) {\n // Snap to next slide\n if (Math.abs(movementX) > currentWidth / swipeWidthThreshold) {\n index.current = clamp__default[\"default\"](index.current + (xDir > 0 ? -1 : 1), 0, count - 1);\n lockedAxis.current = null;\n cancel();\n\n if (onSwipeEnd !== null) {\n onSwipeEnd(index.current);\n }\n\n return;\n }\n }\n\n set(getItems({\n down: down,\n mx: movementX,\n my: movementY\n })); // saving current swiping index in a ref in order to have a section called only once when swipe just started or a tap was detected\n\n if (swipingIndex.current !== index.current) {\n if (down && !tap) {\n if (onSwipeStart !== null) {\n onSwipeStart(index.current);\n }\n }\n\n if (!down && tap) {\n if (onTap !== null) {\n onTap();\n }\n }\n } // lock swiping on axis from initial 3 pixels distance (Y axis requires to swipe down)\n\n\n if (lockAxis && down && lockedAxis.current === null) {\n var distanceX = Math.abs(mx);\n var distanceY = Math.abs(my);\n\n if (distanceX !== distanceY && (distanceY > 2 || distanceX > 2)) {\n lockedAxis.current = distanceY > distanceX ? 'y' : 'x';\n }\n }\n\n swipingIndex.current = down && !tap ? index.current : null;\n }, {\n filterTaps: true\n });\n var reset = react.useCallback(function () {\n set(getItems());\n }, [disabled, items, index, currentWidth]);\n var setIndex = react.useCallback(function (idx) {\n index.current = idx;\n reset();\n }, [reset]); // Reset on resize or others\n\n react.useEffect(function () {\n set(getItems());\n }, [items, width, set, disabled]);\n return {\n items: itemsWithProps,\n bind: bind,\n index: index.current,\n setIndex: setIndex\n };\n};\n\nvar useThemeParser = function useThemeParser() {\n var screensManager = contexts.useScreensManager();\n var parser = react.useMemo(function () {\n return new core.ThemeParser({\n screensManager: screensManager\n });\n }, [screensManager]);\n var parse = react.useCallback(function (story) {\n return parser.parse(story);\n }, [parser]);\n return parse;\n};\n\nvar getScreenOptions = function getScreenOptions(screenContext, opts) {\n var _ref = screenContext || {},\n _ref$data = _ref.data,\n ctxData = _ref$data === void 0 ? null : _ref$data;\n\n var _ref2 = ctxData || {},\n _ref2$id = _ref2.id,\n ctxScreenId = _ref2$id === void 0 ? null : _ref2$id,\n ctxScreenType = _ref2.type;\n\n var _ref3 = opts || {},\n _ref3$screenId = _ref3.screenId,\n optsScreenId = _ref3$screenId === void 0 ? null : _ref3$screenId,\n _ref3$screenType = _ref3.screenType,\n optsScreenType = _ref3$screenType === void 0 ? null : _ref3$screenType;\n\n var screenId = ctxScreenId !== null ? ctxScreenId : optsScreenId;\n var screenType = ctxScreenType !== null ? ctxScreenType : optsScreenType;\n return {\n screenId: screenId,\n screenType: screenType\n };\n};\n\nvar hasTracking = function hasTracking(tracking) {\n return typeof tracking !== 'undefined';\n};\n\nvar useTrackScreenView = function useTrackScreenView() {\n var tracking = contexts.useTracking();\n\n if (!hasTracking(tracking)) {\n return function () {};\n }\n\n return react.useCallback(function () {\n var screen = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var index = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (screen !== null && index !== null) {\n tracking.trackScreenView(screen, index);\n }\n }, []);\n};\nvar useTrackScreenEvent = function useTrackScreenEvent() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var tracking = contexts.useTracking();\n\n if (!hasTracking(tracking)) {\n return function () {};\n }\n\n var screenContext = contexts.useScreen();\n\n if (screenContext.renderContext !== 'view') {\n return function () {};\n }\n\n return react.useCallback(function () {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var opts = arguments.length > 2 ? arguments[2] : undefined;\n\n if (type !== null && action !== null) {\n tracking.trackEvent(\"screen_\".concat(type), action, label, _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, opts), getScreenOptions(screenContext, opts)));\n }\n }, [screenContext]);\n};\nvar useTrackScreenMedia = function useTrackScreenMedia() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var tracking = contexts.useTracking();\n\n if (!hasTracking(tracking)) {\n return function () {};\n }\n\n var screenContext = contexts.useScreen();\n\n if (screenContext.renderContext !== 'view') {\n return function () {};\n }\n\n return react.useCallback(function () {\n var media = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var opts = arguments.length > 2 ? arguments[2] : undefined;\n\n if (type !== null && media !== null && action !== null) {\n tracking.trackMedia(\"screen_\".concat(type), media, action, _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, opts), getScreenOptions(screenContext, opts)));\n }\n }, [screenContext]);\n};\nvar useTrackEvent = function useTrackEvent() {\n var tracking = contexts.useTracking();\n\n if (!hasTracking(tracking)) {\n return function () {};\n }\n\n return react.useCallback(function () {\n var category = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var label = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var opts = arguments.length > 3 ? arguments[3] : undefined;\n\n if (category !== null && action !== null) {\n tracking.trackEvent(category, action, label, opts);\n }\n }, []);\n};\nvar useTrackMedia = function useTrackMedia() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var tracking = contexts.useTracking();\n\n if (!hasTracking(tracking)) {\n return function () {};\n }\n\n return react.useCallback(function () {\n var media = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var opts = arguments.length > 2 ? arguments[2] : undefined;\n\n if (type !== null && media !== null && action !== null) {\n tracking.trackMedia(type, media, action, opts);\n }\n }, []);\n};\n\nvar eventsManager = typeof window !== 'undefined' ? new core.EventsManager(window) : null;\nvar useWindowEvent = utils.createUseEvent(eventsManager);\n\nexports.getObserver = getObserver;\nexports.useAnimationFrame = useAnimationFrame;\nexports.useDocumentEvent = useDocumentEvent;\nexports.useForm = useForm;\nexports.useFormTransition = useFormTransition;\nexports.useFormattedDate = useFormattedDate;\nexports.useFormattedTime = useFormattedTime;\nexports.useFullscreen = useFullscreen;\nexports.useIntersectionObserver = useIntersectionObserver;\nexports.useIsVisible = useIsVisible;\nexports.useLoadedFonts = useLoadedFonts;\nexports.useLongPress = useLongPress;\nexports.useMediaApi = useMediaApi;\nexports.useMediasParser = useMediasParser;\nexports.useObserver = useObserver;\nexports.useParsedStory = useParsedStory;\nexports.useResizeObserver = useResizeObserver;\nexports.useScreenSizeFromElement = useScreenSizeFromElement;\nexports.useScreenSizeFromWindow = useScreenSizeFromWindow;\nexports.useSwipe = useSwipe;\nexports.useThemeParser = useThemeParser;\nexports.useTrackEvent = useTrackEvent;\nexports.useTrackMedia = useTrackMedia;\nexports.useTrackScreenEvent = useTrackScreenEvent;\nexports.useTrackScreenMedia = useTrackScreenMedia;\nexports.useTrackScreenView = useTrackScreenView;\nexports.useWindowEvent = useWindowEvent;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar _objectSpread = require('@babel/runtime/helpers/objectSpread2');\nvar PropTypes$1 = require('prop-types');\nvar snakeCase = require('snake-case');\nvar _defineProperty = require('@babel/runtime/helpers/defineProperty');\nvar _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');\nvar _classCallCheck = require('@babel/runtime/helpers/classCallCheck');\nvar _createClass = require('@babel/runtime/helpers/createClass');\nvar isArray = require('lodash/isArray');\nvar isObject = require('lodash/isObject');\nvar uniqWith = require('lodash/uniqWith');\nvar sortBy = require('lodash/sortBy');\nvar _inherits = require('@babel/runtime/helpers/inherits');\nvar _createSuper = require('@babel/runtime/helpers/createSuper');\nvar EventEmitter = require('wolfy87-eventemitter');\nrequire('lodash/isNumber');\nrequire('param-case');\nrequire('react');\nvar isString = require('lodash/isString');\nrequire('tinycolor2');\nvar changeCase = require('change-case');\nvar _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');\nvar _slicedToArray = require('@babel/runtime/helpers/slicedToArray');\nrequire('slugify');\nvar uniqBy = require('lodash/uniqBy');\nvar _typeof = require('@babel/runtime/helpers/typeof');\nvar uniq = require('lodash/uniq');\nvar tracking = require('@folklore/tracking');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);\nvar PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes$1);\nvar _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);\nvar _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);\nvar _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);\nvar _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);\nvar isArray__default = /*#__PURE__*/_interopDefaultLegacy(isArray);\nvar isObject__default = /*#__PURE__*/_interopDefaultLegacy(isObject);\nvar uniqWith__default = /*#__PURE__*/_interopDefaultLegacy(uniqWith);\nvar sortBy__default = /*#__PURE__*/_interopDefaultLegacy(sortBy);\nvar _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);\nvar _createSuper__default = /*#__PURE__*/_interopDefaultLegacy(_createSuper);\nvar EventEmitter__default = /*#__PURE__*/_interopDefaultLegacy(EventEmitter);\nvar isString__default = /*#__PURE__*/_interopDefaultLegacy(isString);\nvar _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);\nvar _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);\nvar uniqBy__default = /*#__PURE__*/_interopDefaultLegacy(uniqBy);\nvar _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);\nvar uniq__default = /*#__PURE__*/_interopDefaultLegacy(uniq);\n\n/**\n * Core\n */\n\nvar history = PropTypes__default[\"default\"].shape({\n listen: PropTypes__default[\"default\"].func.isRequired,\n push: PropTypes__default[\"default\"].func.isRequired\n});\nvar location = PropTypes__default[\"default\"].shape({\n pathname: PropTypes__default[\"default\"].string,\n search: PropTypes__default[\"default\"].string\n});\nvar intl = PropTypes__default[\"default\"].shape({\n locale: PropTypes__default[\"default\"].string.isRequired,\n formatMessage: PropTypes__default[\"default\"].func.isRequired\n});\nvar defaultMessageContent = PropTypes__default[\"default\"].shape({\n type: PropTypes__default[\"default\"].number,\n value: PropTypes__default[\"default\"].string\n});\nvar defaultMessage = PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].arrayOf(defaultMessageContent)]);\nvar message = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string,\n defaultMessage: defaultMessage.isRequired,\n description: PropTypes__default[\"default\"].string\n});\nvar text = PropTypes__default[\"default\"].oneOfType([message, PropTypes__default[\"default\"].string]);\nvar label = PropTypes__default[\"default\"].oneOfType([message, PropTypes__default[\"default\"].node]);\nvar statusCode = PropTypes__default[\"default\"].oneOf([401, 403, 404, 500]);\nvar ref = PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].shape({\n current: PropTypes__default[\"default\"].any // eslint-disable-line react/forbid-prop-types\n\n}), PropTypes__default[\"default\"].func]);\nvar target = PropTypes__default[\"default\"].oneOf(['_blank', '_self', '_parent']);\nvar interaction = PropTypes__default[\"default\"].oneOf(['tap', 'swipe']);\nvar interactions = PropTypes__default[\"default\"].arrayOf(interaction);\nvar trackingVariables = PropTypes__default[\"default\"].objectOf(PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].array]));\n/**\n * Site\n */\n\nvar user = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].number,\n firstname: PropTypes__default[\"default\"].string,\n lastname: PropTypes__default[\"default\"].string,\n email: PropTypes__default[\"default\"].string,\n gender: PropTypes__default[\"default\"].string,\n birthdate: PropTypes__default[\"default\"].string\n});\nvar menuItem = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].string]),\n label: label,\n url: PropTypes__default[\"default\"].string,\n external: PropTypes__default[\"default\"].bool,\n active: PropTypes__default[\"default\"].bool\n});\nvar menuItems = PropTypes__default[\"default\"].arrayOf(menuItem);\nvar breadcrumb = PropTypes__default[\"default\"].shape({\n label: label,\n url: PropTypes__default[\"default\"].string\n});\nvar breadcrumbs = PropTypes__default[\"default\"].arrayOf(breadcrumb);\nvar device = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string.isRequired\n});\nvar devices = PropTypes__default[\"default\"].arrayOf(device);\nvar modal = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string.isRequired\n});\nvar modals = PropTypes__default[\"default\"].arrayOf(modal);\nvar panel = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string.isRequired\n});\nvar panels = PropTypes__default[\"default\"].arrayOf(panel);\nvar button = PropTypes__default[\"default\"].shape({\n label: label,\n onClick: PropTypes__default[\"default\"].func\n});\nvar buttons = PropTypes__default[\"default\"].arrayOf(button);\nvar bootstrapThemeStrings = ['primary', 'secondary', 'success', 'danger', 'warning', 'info', 'light', 'dark'];\nvar bootstrapThemes = PropTypes__default[\"default\"].oneOf(bootstrapThemeStrings);\nvar buttonTheme = PropTypes__default[\"default\"].oneOf([].concat(bootstrapThemeStrings, ['outline-primary', 'outline-secondary', 'outline-success', 'outline-danger', 'outline-warning', 'outline-info', 'outline-light', 'outline-dark', 'outline-link', null]));\nvar buttonSize = PropTypes__default[\"default\"].oneOf(['lg', 'sm', null]);\nvar formControlSize = PropTypes__default[\"default\"].oneOf(['lg', 'sm', null]);\nvar dropdownAlign = PropTypes__default[\"default\"].oneOf(['left', 'right']);\nvar componentNames = function componentNames(Components) {\n return PropTypes__default[\"default\"].oneOf(Object.keys(Components).map(function (it) {\n return snakeCase.snakeCase(it);\n }));\n};\nvar component = PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].object, PropTypes__default[\"default\"].func]);\nvar components = PropTypes__default[\"default\"].objectOf(component);\n/**\n * Forms\n */\n\nvar errors = PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].string)]);\nvar formErrors = PropTypes__default[\"default\"].objectOf(errors);\nvar selectOption = PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].shape({\n value: PropTypes__default[\"default\"].any,\n // eslint-disable-line\n label: label\n})]);\nvar selectOptions = PropTypes__default[\"default\"].arrayOf(selectOption);\nvar formField = PropTypes__default[\"default\"].shape({\n name: PropTypes__default[\"default\"].string,\n component: component\n});\nvar formFields = PropTypes__default[\"default\"].arrayOf(formField);\n/**\n * Medias\n */\n\nvar mediaMetadataShape = {\n filename: PropTypes__default[\"default\"].string,\n size: PropTypes__default[\"default\"].number,\n mime: PropTypes__default[\"default\"].string\n};\nvar mediaFile = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string,\n handle: PropTypes__default[\"default\"].string,\n type: PropTypes__default[\"default\"].string,\n mime: PropTypes__default[\"default\"].string,\n url: PropTypes__default[\"default\"].string\n});\nvar mediaShape = {\n id: PropTypes__default[\"default\"].string,\n type: PropTypes__default[\"default\"].string.isRequired,\n url: PropTypes__default[\"default\"].string,\n // .isRequired,\n thumbnail_url: PropTypes__default[\"default\"].string,\n name: PropTypes__default[\"default\"].string,\n metadata: PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({}, mediaMetadataShape)),\n files: PropTypes__default[\"default\"].objectOf(mediaFile)\n};\nvar media = PropTypes__default[\"default\"].shape(mediaShape);\nvar medias = PropTypes__default[\"default\"].arrayOf(media);\nvar mediaTypes = PropTypes__default[\"default\"].oneOf(['image', 'video', 'audio', 'closed-captions', 'font']);\nvar imageMedia = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaShape), {}, {\n type: PropTypes__default[\"default\"].oneOf(['image', 'video']),\n metadata: PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaMetadataShape), {}, {\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number\n }))\n}));\nvar imageMedias = PropTypes__default[\"default\"].arrayOf(imageMedia);\nvar fontMedia = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaShape), {}, {\n type: PropTypes__default[\"default\"].oneOf(['font']),\n metadata: PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({}, mediaMetadataShape))\n}));\nvar fontMedias = PropTypes__default[\"default\"].arrayOf(fontMedia);\nvar videoMedia = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaShape), {}, {\n type: PropTypes__default[\"default\"].oneOf(['video']),\n metadata: PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaMetadataShape), {}, {\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number,\n duration: PropTypes__default[\"default\"].number\n }))\n}));\nvar videoMedias = PropTypes__default[\"default\"].arrayOf(videoMedia);\nvar audioMedia = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaShape), {}, {\n type: PropTypes__default[\"default\"].oneOf(['audio']),\n metadata: PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaMetadataShape), {}, {\n duration: PropTypes__default[\"default\"].number\n }))\n}));\nvar audioMedias = PropTypes__default[\"default\"].arrayOf(audioMedia);\nvar closedCaptionsMedia = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaShape), {}, {\n type: PropTypes__default[\"default\"].oneOf(['closed-captions'])\n}));\n/**\n * Style\n */\n\nvar font = PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].shape({\n type: PropTypes__default[\"default\"].oneOf(['system', 'google', 'custom']),\n name: PropTypes__default[\"default\"].string,\n media: fontMedia\n})]);\nvar fonts = PropTypes__default[\"default\"].arrayOf(font);\nvar textAlign = PropTypes__default[\"default\"].oneOf(['left', 'right', 'center']);\nvar color = PropTypes__default[\"default\"].shape({\n color: PropTypes__default[\"default\"].string,\n alpha: PropTypes__default[\"default\"].number\n});\nvar textStyle = PropTypes__default[\"default\"].shape({\n fontFamily: font,\n fontSize: PropTypes__default[\"default\"].number,\n fontStyle: PropTypes__default[\"default\"].shape({\n bold: PropTypes__default[\"default\"].bool,\n italic: PropTypes__default[\"default\"].bool,\n underline: PropTypes__default[\"default\"].bool,\n upperCase: PropTypes__default[\"default\"].bool\n }),\n align: textAlign,\n color: color,\n letterSpacing: PropTypes__default[\"default\"].number,\n lineHeight: PropTypes__default[\"default\"].number\n});\nvar borderTypes = PropTypes__default[\"default\"].oneOf(['dotted', 'dashed', 'solid', 'double', 'groove', 'ridge', 'inset', 'outset', 'hidden']);\nvar borderStyle = PropTypes__default[\"default\"].shape({\n width: PropTypes__default[\"default\"].number,\n style: borderTypes,\n radius: PropTypes__default[\"default\"].number,\n color: color\n});\nvar buttonStyle = PropTypes__default[\"default\"].shape({\n backgroundColor: color,\n borderRadius: PropTypes__default[\"default\"].number,\n borderWidth: PropTypes__default[\"default\"].number,\n borderColor: color,\n borderStyle: borderTypes\n});\nvar margin = PropTypes__default[\"default\"].shape({\n top: PropTypes__default[\"default\"].number,\n bottom: PropTypes__default[\"default\"].number\n});\nvar gridLayout = PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].shape({\n rows: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].number)]),\n columns: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].number)])\n}));\nvar objectFitSize = PropTypes__default[\"default\"].oneOf(['cover', 'contain', null]);\nvar objectFit = PropTypes__default[\"default\"].shape({\n fit: objectFitSize,\n horizontalPosition: PropTypes__default[\"default\"].oneOf(['left', 'center', 'right']),\n verticalPosition: PropTypes__default[\"default\"].oneOf(['top', 'center', 'bottom'])\n});\n/**\n * Elements\n */\n\nvar textElement = PropTypes__default[\"default\"].shape({\n body: PropTypes__default[\"default\"].string,\n textStyle: textStyle\n});\nvar headingElement = textElement;\nvar inputElement = PropTypes__default[\"default\"].shape({\n label: PropTypes__default[\"default\"].string,\n textStyle: textStyle\n});\nvar imageElement = PropTypes__default[\"default\"].shape({\n media: imageMedia\n});\nvar imageElements = PropTypes__default[\"default\"].arrayOf(imageElement);\nvar videoElement = PropTypes__default[\"default\"].shape({\n media: videoMedia,\n autoPlay: PropTypes__default[\"default\"].bool,\n loop: PropTypes__default[\"default\"].bool,\n closedCaptions: closedCaptionsMedia,\n withSeekBar: PropTypes__default[\"default\"].bool,\n withPlayPause: PropTypes__default[\"default\"].bool\n});\nvar audioElement = PropTypes__default[\"default\"].shape({\n media: audioMedia,\n autoPlay: PropTypes__default[\"default\"].bool,\n loop: PropTypes__default[\"default\"].bool,\n closedCaptions: closedCaptionsMedia,\n withPlayPause: PropTypes__default[\"default\"].bool\n});\nvar closedCaptionsElement = PropTypes__default[\"default\"].shape({\n media: closedCaptionsMedia\n});\nvar backgroundElement = PropTypes__default[\"default\"].shape({\n color: color,\n image: imageMedia,\n video: videoMedia\n});\nvar imageElementWithCaption = PropTypes__default[\"default\"].shape({\n image: imageMedia,\n caption: textElement\n});\nvar imageElementsWithCaption = PropTypes__default[\"default\"].arrayOf(imageElementWithCaption);\nvar stackDirection = PropTypes__default[\"default\"].oneOf(['horizontal', 'vertical']);\nvar stackAlign = PropTypes__default[\"default\"].oneOf(['start', 'center', 'end']);\nvar stackSpacing = PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].oneOf(['between', 'evenly', 'around'])]);\nvar stackElement = PropTypes__default[\"default\"].shape({\n direction: stackDirection,\n align: stackAlign,\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number,\n spacing: stackSpacing,\n reverse: PropTypes__default[\"default\"].bool\n});\nvar gridElement = PropTypes__default[\"default\"].shape({\n layout: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].string),\n spacing: PropTypes__default[\"default\"].number\n});\nvar geoPosition = PropTypes__default[\"default\"].shape({\n lat: PropTypes__default[\"default\"].number,\n lng: PropTypes__default[\"default\"].number\n});\nvar markerShape = {\n id: PropTypes__default[\"default\"].number,\n geoPosition: geoPosition,\n title: headingElement,\n subtitle: headingElement,\n description: textElement\n};\nvar marker = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({}, markerShape));\nvar markers = PropTypes__default[\"default\"].arrayOf(marker);\nvar markerWithImage = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, markerShape), {}, {\n image: imageMedia\n}));\nvar markersWithImage = PropTypes__default[\"default\"].arrayOf(markerWithImage);\nvar answerShape = {\n id: PropTypes__default[\"default\"].string,\n label: textElement\n};\nvar answer = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({}, answerShape));\nvar quizAnswer = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, answerShape), {}, {\n good: PropTypes__default[\"default\"].bool\n}));\nvar answers = PropTypes__default[\"default\"].arrayOf(answer);\nvar quizAnswers = PropTypes__default[\"default\"].arrayOf(quizAnswer);\nvar callToActionTypes = PropTypes__default[\"default\"].oneOf(['swipe-up', 'button']);\nvar callToAction = PropTypes__default[\"default\"].shape({\n active: PropTypes__default[\"default\"].bool,\n type: callToActionTypes,\n url: PropTypes__default[\"default\"].string,\n label: textElement\n});\nvar speaker = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string,\n name: PropTypes__default[\"default\"].string,\n avatar: imageMedia,\n side: PropTypes__default[\"default\"].oneOf(['left', 'right']),\n color: color\n});\nvar speakers = PropTypes__default[\"default\"].arrayOf(speaker);\nvar conversationMessage = PropTypes__default[\"default\"].shape({\n speaker: PropTypes__default[\"default\"].string,\n message: PropTypes__default[\"default\"].string,\n image: imageMedia\n});\nvar conversationMessages = PropTypes__default[\"default\"].arrayOf(conversationMessage);\nvar conversation = PropTypes__default[\"default\"].shape({\n speakers: speakers,\n textStyle: textStyle,\n messages: conversationMessages\n});\n/**\n * Definitions\n */\n\nvar fieldShape = {\n name: PropTypes__default[\"default\"].string,\n type: PropTypes__default[\"default\"].string.isRequired,\n label: text\n};\nvar field = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, fieldShape), {}, {\n isSection: PropTypes__default[\"default\"].bool,\n fields: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].shape(fieldShape))\n}));\nvar fields = PropTypes__default[\"default\"].arrayOf(field);\nvar screenDefinition = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string.isRequired,\n type: PropTypes__default[\"default\"].oneOf(['screen']).isRequired,\n title: text.isRequired,\n layouts: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].string),\n fields: fields\n});\nvar screenDefinitions = PropTypes__default[\"default\"].arrayOf(screenDefinition);\nvar fieldDefinition = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string.isRequired,\n type: PropTypes__default[\"default\"].oneOf(['field']).isRequired,\n title: text.isRequired,\n fields: fields\n});\nvar fieldDefinitions = PropTypes__default[\"default\"].arrayOf(fieldDefinition);\n/**\n * Components\n */\n\nvar storyComponentShape = {\n type: PropTypes__default[\"default\"].string.isRequired\n};\nvar storyComponent = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({}, storyComponentShape));\nvar storyComponents = PropTypes__default[\"default\"].arrayOf(storyComponent);\nvar screenComponent = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({}, storyComponentShape));\nvar screenComponents = PropTypes__default[\"default\"].arrayOf(screenComponent);\nvar screen = screenComponent; // @NOTE should be removed\n\n/**\n * Theme\n */\n\nvar theme = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string,\n textStyles: PropTypes__default[\"default\"].objectOf(textStyle),\n // renamed to textstyles\n background: backgroundElement,\n colors: PropTypes__default[\"default\"].objectOf(color),\n components: screenComponents\n});\nvar viewerTheme = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({\n logo: imageMedia\n}, theme));\n/**\n * Branding\n */\n// export const branding = PropTypes.shape({\n// logo: imageMedia,\n// primaryColor: color,\n// secondaryColor: color,\n// backgroundColor: color,\n// textStyle,\n// });\n\n/**\n * Metadata\n */\n\nvar metadata = PropTypes__default[\"default\"].shape({\n description: PropTypes__default[\"default\"].string,\n shareUrl: PropTypes__default[\"default\"].string,\n shareImage: imageMedia,\n favIcon: imageMedia\n});\n/**\n * Story\n */\n\nvar story = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string,\n theme: theme,\n components: screenComponents,\n metadata: metadata\n});\n/**\n * Render\n */\n\nvar deviceScreen = PropTypes__default[\"default\"].shape({\n name: PropTypes__default[\"default\"].string.isRequired,\n mediaQuery: PropTypes__default[\"default\"].string\n});\nvar deviceScreens = PropTypes__default[\"default\"].arrayOf(deviceScreen);\nvar screenSize = PropTypes__default[\"default\"].shape({\n screen: PropTypes__default[\"default\"].string,\n screens: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].string),\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number\n});\nvar renderContext = PropTypes__default[\"default\"].oneOf(['view', 'placeholder', 'edit', 'preview', 'static', 'capture']);\n/**\n * Screens\n */\n\nvar adFormats = PropTypes__default[\"default\"].shape({\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number\n});\nvar adFormat = PropTypes__default[\"default\"].shape({\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number,\n url: PropTypes__default[\"default\"].string,\n target: target,\n iframe: PropTypes__default[\"default\"].string,\n image: imageMedia\n});\nvar audioComponent = PropTypes__default[\"default\"].shape({\n src: PropTypes__default[\"default\"].string,\n track: PropTypes__default[\"default\"].string,\n trackLng: PropTypes__default[\"default\"].number,\n controls: PropTypes__default[\"default\"].bool\n});\nvar slide = PropTypes__default[\"default\"].shape({\n image: imageMedia,\n text: PropTypes__default[\"default\"].string\n});\nvar slides = PropTypes__default[\"default\"].arrayOf(slide); // export const imageStyle = PropTypes.shape({\n// alt: PropTypes.string,\n// fit: PropTypes.object,\n// });\n\nvar containerStyle = PropTypes__default[\"default\"].shape({});\n/**\n * Transitions\n */\n\nvar transitionName = PropTypes__default[\"default\"].oneOf(['fade', 'scale', 'slide']);\nvar transitionParams = {\n duration: PropTypes__default[\"default\"].number,\n easing: PropTypes__default[\"default\"].oneOf(['ease', 'ease-in', 'ease-out', 'ease-in-out', 'linear'])\n};\nvar transition = PropTypes__default[\"default\"].oneOfType([transitionName.isRequired, PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({\n name: transitionName.isRequired\n}, transitionParams))]);\nvar transitions = PropTypes__default[\"default\"].shape({\n \"in\": transition,\n out: transition\n});\n/**\n * Search\n */\n\nvar searchFilter = PropTypes__default[\"default\"].shape({\n type: PropTypes__default[\"default\"].string,\n value: PropTypes__default[\"default\"].oneOf([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].number])\n});\nvar searchFilters = PropTypes__default[\"default\"].arrayOf(searchFilter);\n/**\n * Payments\n */\n\nvar paymentItem = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].number]),\n date: PropTypes__default[\"default\"].string,\n type: PropTypes__default[\"default\"].string,\n invoice_link: PropTypes__default[\"default\"].string,\n amount: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].number])\n});\nvar paymentItems = PropTypes__default[\"default\"].arrayOf(paymentItem);\n/**\n * Page Metadada\n */\n\nvar pageMetadata = PropTypes__default[\"default\"].shape({\n canonical: PropTypes__default[\"default\"].string,\n description: PropTypes__default[\"default\"].string,\n keywords: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].array]),\n image: PropTypes__default[\"default\"].shape({\n url: PropTypes__default[\"default\"].string\n }),\n favicon: PropTypes__default[\"default\"].shape({\n url: PropTypes__default[\"default\"].string\n }),\n rssUrl: PropTypes__default[\"default\"].string,\n atomUrl: PropTypes__default[\"default\"].string,\n microformats: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].shape({}))\n});\n\nvar PropTypes = /*#__PURE__*/Object.freeze({\n __proto__: null,\n history: history,\n location: location,\n intl: intl,\n defaultMessageContent: defaultMessageContent,\n defaultMessage: defaultMessage,\n message: message,\n text: text,\n label: label,\n statusCode: statusCode,\n ref: ref,\n target: target,\n interaction: interaction,\n interactions: interactions,\n trackingVariables: trackingVariables,\n user: user,\n menuItem: menuItem,\n menuItems: menuItems,\n breadcrumb: breadcrumb,\n breadcrumbs: breadcrumbs,\n device: device,\n devices: devices,\n modal: modal,\n modals: modals,\n panel: panel,\n panels: panels,\n button: button,\n buttons: buttons,\n bootstrapThemes: bootstrapThemes,\n buttonTheme: buttonTheme,\n buttonSize: buttonSize,\n formControlSize: formControlSize,\n dropdownAlign: dropdownAlign,\n componentNames: componentNames,\n component: component,\n components: components,\n errors: errors,\n formErrors: formErrors,\n selectOption: selectOption,\n selectOptions: selectOptions,\n formField: formField,\n formFields: formFields,\n mediaFile: mediaFile,\n media: media,\n medias: medias,\n mediaTypes: mediaTypes,\n imageMedia: imageMedia,\n imageMedias: imageMedias,\n fontMedia: fontMedia,\n fontMedias: fontMedias,\n videoMedia: videoMedia,\n videoMedias: videoMedias,\n audioMedia: audioMedia,\n audioMedias: audioMedias,\n closedCaptionsMedia: closedCaptionsMedia,\n font: font,\n fonts: fonts,\n textAlign: textAlign,\n color: color,\n textStyle: textStyle,\n borderTypes: borderTypes,\n borderStyle: borderStyle,\n buttonStyle: buttonStyle,\n margin: margin,\n gridLayout: gridLayout,\n objectFitSize: objectFitSize,\n objectFit: objectFit,\n textElement: textElement,\n headingElement: headingElement,\n inputElement: inputElement,\n imageElement: imageElement,\n imageElements: imageElements,\n videoElement: videoElement,\n audioElement: audioElement,\n closedCaptionsElement: closedCaptionsElement,\n backgroundElement: backgroundElement,\n imageElementWithCaption: imageElementWithCaption,\n imageElementsWithCaption: imageElementsWithCaption,\n stackDirection: stackDirection,\n stackAlign: stackAlign,\n stackSpacing: stackSpacing,\n stackElement: stackElement,\n gridElement: gridElement,\n geoPosition: geoPosition,\n marker: marker,\n markers: markers,\n markerWithImage: markerWithImage,\n markersWithImage: markersWithImage,\n answerShape: answerShape,\n answer: answer,\n quizAnswer: quizAnswer,\n answers: answers,\n quizAnswers: quizAnswers,\n callToActionTypes: callToActionTypes,\n callToAction: callToAction,\n speaker: speaker,\n speakers: speakers,\n conversationMessage: conversationMessage,\n conversationMessages: conversationMessages,\n conversation: conversation,\n field: field,\n fields: fields,\n screenDefinition: screenDefinition,\n screenDefinitions: screenDefinitions,\n fieldDefinition: fieldDefinition,\n fieldDefinitions: fieldDefinitions,\n storyComponent: storyComponent,\n storyComponents: storyComponents,\n screenComponent: screenComponent,\n screenComponents: screenComponents,\n screen: screen,\n theme: theme,\n viewerTheme: viewerTheme,\n metadata: metadata,\n story: story,\n deviceScreen: deviceScreen,\n deviceScreens: deviceScreens,\n screenSize: screenSize,\n renderContext: renderContext,\n adFormats: adFormats,\n adFormat: adFormat,\n audioComponent: audioComponent,\n slide: slide,\n slides: slides,\n containerStyle: containerStyle,\n transitionName: transitionName,\n transition: transition,\n transitions: transitions,\n searchFilter: searchFilter,\n searchFilters: searchFilters,\n paymentItem: paymentItem,\n paymentItems: paymentItems,\n pageMetadata: pageMetadata\n});\n\nvar sortedColors = function sortedColors(colors) {\n return sortBy__default[\"default\"](colors, ['color', 'alpha']);\n};\n\nvar uniqueColors = function uniqueColors(colors) {\n return uniqWith__default[\"default\"](colors, function (colorA, colorB) {\n return colorA.alpha === colorB.alpha && colorA.color === colorB.color;\n });\n};\n\nvar ColorsParser = /*#__PURE__*/function () {\n function ColorsParser(_ref) {\n var fieldsManager = _ref.fieldsManager,\n screensManager = _ref.screensManager;\n\n _classCallCheck__default[\"default\"](this, ColorsParser);\n\n this.fieldsManager = fieldsManager;\n this.screensManager = screensManager;\n } // Convert medias object to path\n\n\n _createClass__default[\"default\"](ColorsParser, [{\n key: \"parse\",\n value: function parse(story) {\n var _this = this;\n\n if (story === null) {\n return story;\n }\n\n var _ref2 = story || {},\n _ref2$theme = _ref2.theme,\n theme = _ref2$theme === void 0 ? null : _ref2$theme,\n _ref2$components = _ref2.components,\n components = _ref2$components === void 0 ? [] : _ref2$components;\n\n var _components$reduce = components.reduce(function (_ref3, screen) {\n var _ref3$colors = _ref3.colors,\n currentColors = _ref3$colors === void 0 ? null : _ref3$colors;\n var type = screen.type;\n\n var _ref4 = _this.screensManager.getDefinition(type) || {},\n _ref4$fields = _ref4.fields,\n fields = _ref4$fields === void 0 ? [] : _ref4$fields;\n\n var fieldsPattern = _this.getColorFieldPatterns(fields);\n\n var _ColorsParser$getColo = ColorsParser.getColorsFromPath(screen, fieldsPattern),\n newColors = _ColorsParser$getColo.colors;\n\n return {\n colors: [].concat(_toConsumableArray__default[\"default\"](currentColors), _toConsumableArray__default[\"default\"](newColors))\n };\n }, {\n colors: []\n }),\n colors = _components$reduce.colors;\n\n if (theme !== null) {\n var themeColors = this.parse(theme);\n return colors !== null || themeColors !== null ? uniqueColors([].concat(_toConsumableArray__default[\"default\"](sortedColors(themeColors || [])), _toConsumableArray__default[\"default\"](sortedColors(colors || [])))) : [];\n }\n\n return colors !== null ? sortedColors(uniqueColors(colors || [])) : [];\n }\n }, {\n key: \"getColorFieldPatterns\",\n value: function getColorFieldPatterns(fields) {\n var _this2 = this;\n\n var namePrefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return fields.reduce(function (patterns, field) {\n var _field$name = field.name,\n name = _field$name === void 0 ? null : _field$name,\n _field$type = field.type,\n type = _field$type === void 0 ? null : _field$type;\n var path = [namePrefix, name].filter(function (it) {\n return it !== null;\n }).join('\\\\.');\n\n var fieldDefinition = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, type !== null ? _this2.fieldsManager.getDefinition(type) : null), field); // also check settings fields\n\n\n var _fieldDefinition$fiel = fieldDefinition.fields,\n subFields = _fieldDefinition$fiel === void 0 ? [] : _fieldDefinition$fiel,\n _fieldDefinition$item = fieldDefinition.itemsField,\n itemsField = _fieldDefinition$item === void 0 ? null : _fieldDefinition$item,\n _fieldDefinition$sett = fieldDefinition.settings,\n settings = _fieldDefinition$sett === void 0 ? [] : _fieldDefinition$sett;\n return [].concat(_toConsumableArray__default[\"default\"](patterns), _toConsumableArray__default[\"default\"](ColorsParser.fieldIsColor(fieldDefinition) ? [new RegExp(\"^\".concat(path, \"$\"))] : []), _toConsumableArray__default[\"default\"](_this2.getColorFieldPatterns(subFields, path)), _toConsumableArray__default[\"default\"](_this2.getColorFieldPatterns(settings, path)), _toConsumableArray__default[\"default\"](itemsField !== null ? _this2.getColorFieldPatterns([itemsField], \"\".concat(path, \"\\\\.[0-9]+\")) : []));\n }, []);\n }\n }], [{\n key: \"fieldIsColor\",\n value: function fieldIsColor(_ref5) {\n var _ref5$id = _ref5.id,\n id = _ref5$id === void 0 ? null : _ref5$id;\n return id === 'color';\n }\n }, {\n key: \"getColorsFromPath\",\n value: function getColorsFromPath(data, patterns) {\n var colors = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var keyPrefix = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var dataIsArray = isArray__default[\"default\"](data);\n var keys = dataIsArray ? _toConsumableArray__default[\"default\"](data.keys()) : Object.keys(data);\n return keys.reduce(function (_ref6, key) {\n var currentData = _ref6.data,\n _ref6$colors = _ref6.colors,\n currentColors = _ref6$colors === void 0 ? null : _ref6$colors;\n var path = [keyPrefix, key].filter(function (it) {\n return it !== null;\n }).join('.');\n var patternMatch = patterns.reduce(function (found, pattern) {\n return found || pattern.test(path);\n }, false);\n var value = data[key];\n var color = null;\n var newValue = null;\n var subColors = null;\n\n if (patternMatch && isObject__default[\"default\"](value)) {\n if (value.color && value.color.length === 4) {\n var innerColor = value.color.split('').map(function (hex, i) {\n return i > 0 ? hex + hex : hex;\n }).join('').toUpperCase();\n color = {\n alpha: value.alpha || 1,\n color: innerColor\n };\n } else if (value.color) {\n color = {\n alpha: value.alpha,\n color: value.color.toUpperCase()\n };\n }\n } else if (isObject__default[\"default\"](value) || isArray__default[\"default\"](value)) {\n var subReturn = ColorsParser.getColorsFromPath(value, patterns, colors, path);\n newValue = subReturn.data;\n subColors = subReturn.colors;\n } else {\n newValue = value;\n }\n\n return {\n data: dataIsArray ? [].concat(_toConsumableArray__default[\"default\"](currentData || []), [newValue]) : _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, currentData), {}, _defineProperty__default[\"default\"]({}, key, newValue)),\n colors: color !== null ? [].concat(_toConsumableArray__default[\"default\"](currentColors || []), _toConsumableArray__default[\"default\"](subColors || []), [color]) : [].concat(_toConsumableArray__default[\"default\"](currentColors || []), _toConsumableArray__default[\"default\"](subColors || []))\n };\n }, {\n data: null,\n colors: colors\n });\n }\n }]);\n\n return ColorsParser;\n}();\n\nvar getComponentFromName = function getComponentFromName() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var components = arguments.length > 1 ? arguments[1] : undefined;\n var defaultComponent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n if (components === null || name === null) {\n return defaultComponent;\n }\n\n var pascalName = changeCase.pascalCase(name);\n return components[pascalName] || components[name] || defaultComponent;\n};\n\nvar ComponentsManager = /*#__PURE__*/function (_EventEmitter) {\n _inherits__default[\"default\"](ComponentsManager, _EventEmitter);\n\n var _super = _createSuper__default[\"default\"](ComponentsManager);\n\n function ComponentsManager() {\n var _this;\n\n var components = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck__default[\"default\"](this, ComponentsManager);\n\n _this = _super.call(this);\n _this.components = components;\n return _this;\n }\n\n _createClass__default[\"default\"](ComponentsManager, [{\n key: \"addComponent\",\n value: function addComponent(name, component) {\n var namespace = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n return this.addComponents(_defineProperty__default[\"default\"]({}, name, component), namespace);\n }\n }, {\n key: \"addComponents\",\n value: function addComponents(components) {\n var namespace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var newComponents = namespace !== null ? Object.keys(components).reduce(function (componentsMaps, name) {\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, componentsMaps), {}, _defineProperty__default[\"default\"]({}, \"\".concat(namespace, \".\").concat(name), components[name]));\n }, {}) : components;\n this.components = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, this.components), newComponents);\n this.emit('change');\n return this;\n }\n }, {\n key: \"merge\",\n value: function merge(manager) {\n var namespace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return this.addComponents(manager.getComponents(), namespace);\n }\n }, {\n key: \"addNamespace\",\n value: function addNamespace(namespace) {\n var _this2 = this;\n\n if (namespace === null) {\n return this;\n }\n\n this.components = Object.keys(this.components).reduce(function (componentsMap, name) {\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, componentsMap), {}, _defineProperty__default[\"default\"]({}, \"\".concat(namespace, \".\").concat(name), _this2.components[name]));\n }, {});\n return this;\n }\n }, {\n key: \"getComponent\",\n value: function getComponent(name) {\n var namespace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var components = this.getComponents(namespace);\n return getComponentFromName(name, components);\n }\n }, {\n key: \"getComponents\",\n value: function getComponents() {\n var _this3 = this;\n\n var namespace = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n return namespace !== null ? Object.keys(this.components || {}).reduce(function (componentsMap, name) {\n var pattern = new RegExp(\"^\".concat(namespace, \"\\\\.(.*)$\"));\n var matches = pattern.exec(name);\n return matches !== null ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, componentsMap), {}, _defineProperty__default[\"default\"]({}, matches[1], _this3.components[name])) : componentsMap;\n }, null) : this.components;\n }\n }, {\n key: \"hasComponent\",\n value: function hasComponent(name) {\n var namespace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return this.components !== null && typeof this.components[namespace !== null ? \"\".concat(namespace, \".\").concat(name) : name] !== 'undefined';\n }\n }]);\n\n return ComponentsManager;\n}(EventEmitter__default[\"default\"]);\n\nvar DefinitionsManager = /*#__PURE__*/function (_EventEmitter) {\n _inherits__default[\"default\"](DefinitionsManager, _EventEmitter);\n\n var _super = _createSuper__default[\"default\"](DefinitionsManager);\n\n function DefinitionsManager() {\n var _this;\n\n var definitions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n _classCallCheck__default[\"default\"](this, DefinitionsManager);\n\n _this = _super.call(this);\n _this.definitions = definitions || [];\n return _this;\n }\n\n _createClass__default[\"default\"](DefinitionsManager, [{\n key: \"addDefinition\",\n value: function addDefinition(definition) {\n this.addDefinitions(isArray__default[\"default\"](definition) ? definition : [definition]);\n return this;\n }\n }, {\n key: \"addDefinitions\",\n value: function addDefinitions(definitions) {\n this.definitions = uniqBy__default[\"default\"]([].concat(_toConsumableArray__default[\"default\"](definitions), _toConsumableArray__default[\"default\"](this.definitions)), function (it) {\n return it.id;\n });\n this.emit('change');\n return this;\n }\n }, {\n key: \"merge\",\n value: function merge(manager) {\n return this.addDefinitions(manager.getDefinitions());\n }\n }, {\n key: \"getDefinition\",\n value: function getDefinition(id) {\n if (id === null) {\n return null;\n }\n\n return this.definitions.find(function (it) {\n return it.id === id;\n }) || null;\n }\n }, {\n key: \"getDefinitions\",\n value: function getDefinitions() {\n return this.definitions;\n }\n }, {\n key: \"hasDefinition\",\n value: function hasDefinition(id) {\n return this.getDefinition(id) !== null;\n }\n }, {\n key: \"getComponent\",\n value: function getComponent(id) {\n var _ref = this.getDefinition(id) || {},\n _ref$component = _ref.component,\n component = _ref$component === void 0 ? null : _ref$component;\n\n return component;\n }\n }, {\n key: \"getComponents\",\n value: function getComponents() {\n return this.definitions.reduce(function (allComponents, _ref2) {\n var id = _ref2.id,\n _ref2$component = _ref2.component,\n component = _ref2$component === void 0 ? null : _ref2$component;\n return component !== null ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, allComponents), {}, _defineProperty__default[\"default\"]({}, id, component)) : allComponents;\n }, {});\n }\n }]);\n\n return DefinitionsManager;\n}(EventEmitter__default[\"default\"]);\n\nvar EventsManager = /*#__PURE__*/function (_EventEmitter) {\n _inherits__default[\"default\"](EventsManager, _EventEmitter);\n\n var _super = _createSuper__default[\"default\"](EventsManager);\n\n function EventsManager(element) {\n var _this;\n\n _classCallCheck__default[\"default\"](this, EventsManager);\n\n _this = _super.call(this);\n _this.element = element;\n _this.events = {};\n _this.listeners = {};\n return _this;\n }\n\n _createClass__default[\"default\"](EventsManager, [{\n key: \"subscribe\",\n value: function subscribe(event, callback) {\n this.on(event, callback);\n this.events = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, this.events), {}, _defineProperty__default[\"default\"]({}, event, [].concat(_toConsumableArray__default[\"default\"](this.events[event] || []), [callback])));\n\n if (this.events[event].length === 1) {\n this.addEventListener(event);\n }\n }\n }, {\n key: \"unsubscribe\",\n value: function unsubscribe(event, callback) {\n var _this2 = this;\n\n this.off(event, callback);\n this.events = Object.keys(this.events).reduce(function (newEvents, eventName) {\n if (eventName !== event) {\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, newEvents), {}, _defineProperty__default[\"default\"]({}, eventName, _this2.events[eventName]));\n }\n\n var newListeners = _this2.events[eventName].filter(function (listener) {\n return listener !== callback;\n });\n\n return newListeners.length > 0 ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, newEvents), {}, _defineProperty__default[\"default\"]({}, eventName, newListeners)) : newEvents;\n }, {});\n\n if (typeof this.events[event] === 'undefined') {\n this.removeEventListener(event);\n }\n }\n }, {\n key: \"addEventListener\",\n value: function addEventListener(event) {\n var _this3 = this;\n\n if (typeof this.listeners[event] === 'undefined') {\n this.listeners[event] = 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 _this3.emit.apply(_this3, [event].concat(args));\n };\n }\n\n this.element.addEventListener(event, this.listeners[event]);\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(event) {\n this.element.removeEventListener(event, this.listeners[event]);\n }\n }]);\n\n return EventsManager;\n}(EventEmitter__default[\"default\"]);\n\nvar FieldsManager = /*#__PURE__*/function (_DefinitionsManager) {\n _inherits__default[\"default\"](FieldsManager, _DefinitionsManager);\n\n var _super = _createSuper__default[\"default\"](FieldsManager);\n\n function FieldsManager() {\n _classCallCheck__default[\"default\"](this, FieldsManager);\n\n return _super.apply(this, arguments);\n }\n\n return _createClass__default[\"default\"](FieldsManager);\n}(DefinitionsManager);\n\nvar _excluded$2 = [\"medias\"];\n\nvar MediasParser = /*#__PURE__*/function () {\n function MediasParser(_ref) {\n var fieldsManager = _ref.fieldsManager,\n screensManager = _ref.screensManager;\n\n _classCallCheck__default[\"default\"](this, MediasParser);\n\n this.fieldsManager = fieldsManager;\n this.screensManager = screensManager;\n this.fieldsPatternCache = {};\n }\n\n _createClass__default[\"default\"](MediasParser, [{\n key: \"getFieldsPatternByScreen\",\n value: function getFieldsPatternByScreen(type) {\n if (typeof this.fieldsPatternCache[type] === 'undefined') {\n var _ref2 = this.screensManager.getDefinition(type) || {},\n _ref2$fields = _ref2.fields,\n fields = _ref2$fields === void 0 ? [] : _ref2$fields;\n\n this.fieldsPatternCache[type] = this.getMediaFieldsPattern(fields);\n }\n\n return this.fieldsPatternCache[type];\n } // Convert medias object to path\n\n }, {\n key: \"toPath\",\n value: function toPath(story) {\n var _this = this;\n\n if (story === null) {\n return story;\n }\n\n var _ref3 = story || {},\n _ref3$theme = _ref3.theme,\n theme = _ref3$theme === void 0 ? null : _ref3$theme,\n _ref3$components = _ref3.components,\n components = _ref3$components === void 0 ? [] : _ref3$components;\n\n var _components$reduce = components.reduce(function (_ref4, screen) {\n var previousComponents = _ref4.components,\n currentMedias = _ref4.medias;\n var type = screen.type;\n\n var fieldsPattern = _this.getFieldsPatternByScreen(type);\n\n var _MediasParser$replace = MediasParser.replaceMediasWithPaths(screen, fieldsPattern),\n newScreen = _MediasParser$replace.data,\n newMedias = _MediasParser$replace.medias;\n\n return {\n components: [].concat(_toConsumableArray__default[\"default\"](previousComponents), [newScreen]),\n medias: _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, currentMedias), newMedias)\n };\n }, {\n components: [],\n medias: null\n }),\n newComponents = _components$reduce.components,\n medias = _components$reduce.medias;\n\n if (theme !== null) {\n var _this$toPath = this.toPath(theme),\n themeMedias = _this$toPath.medias,\n newTheme = _objectWithoutProperties__default[\"default\"](_this$toPath, _excluded$2);\n\n return medias !== null || themeMedias !== null ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, story), {}, {\n theme: newTheme,\n components: newComponents,\n medias: _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, themeMedias), medias)\n }) : story;\n }\n\n return medias !== null ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, story), {}, {\n components: newComponents,\n medias: medias\n }) : story;\n } // Convert path to medias object\n\n }, {\n key: \"fromPath\",\n value: function fromPath(story) {\n var defaultMedias = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (story === null) {\n return story;\n }\n\n var _ref5 = story || {},\n _ref5$theme = _ref5.theme,\n theme = _ref5$theme === void 0 ? null : _ref5$theme,\n _ref5$components = _ref5.components,\n components = _ref5$components === void 0 ? [] : _ref5$components,\n _ref5$medias = _ref5.medias,\n medias = _ref5$medias === void 0 ? defaultMedias : _ref5$medias;\n\n if (medias === null && theme === null) {\n return story;\n } // Replace path with medias objects\n // const newComponents =\n // medias !== null\n // ? components.map((screen) => {\n // const { type } = screen;\n // const fieldsPattern = this.getFieldsPatternByScreen(type);\n // return MediasParser.replacePathsWithMedias(screen, medias, fieldsPattern);\n // })\n // : components;\n // Faster parsing with data only\n\n\n var componentsPattern = MediasParser.getMediaPatternsFromData(components);\n var newComponents = medias !== null && componentsPattern.length > 0 ? MediasParser.replacePathsWithMedias(components, medias, componentsPattern) : components; // Replace path with medias object in theme\n\n if (theme !== null) {\n var newTheme = this.fromPath(theme, medias);\n return newTheme !== theme || newComponents !== components ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, story), {}, {\n theme: newTheme,\n components: newComponents\n }) : story;\n }\n\n return newComponents !== components ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, story), {}, {\n components: newComponents\n }) : story;\n }\n }, {\n key: \"getMediaFieldsPattern\",\n value: function getMediaFieldsPattern(fields) {\n var _this2 = this;\n\n var namePrefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return fields.reduce(function (patterns, field) {\n var _field$name = field.name,\n name = _field$name === void 0 ? null : _field$name,\n _field$type = field.type,\n type = _field$type === void 0 ? null : _field$type;\n var path = [namePrefix, name].filter(function (it) {\n return it !== null;\n }).join('\\\\.');\n\n var fieldDefinition = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, type !== null ? _this2.fieldsManager.getDefinition(type) : null), field); // also check settings fields\n\n\n var _fieldDefinition$fiel = fieldDefinition.fields,\n subFields = _fieldDefinition$fiel === void 0 ? [] : _fieldDefinition$fiel,\n _fieldDefinition$item = fieldDefinition.itemsField,\n itemsField = _fieldDefinition$item === void 0 ? null : _fieldDefinition$item,\n _fieldDefinition$sett = fieldDefinition.settings,\n settings = _fieldDefinition$sett === void 0 ? [] : _fieldDefinition$sett;\n return [].concat(_toConsumableArray__default[\"default\"](patterns), _toConsumableArray__default[\"default\"](MediasParser.fieldIsMedia(fieldDefinition) ? [new RegExp(\"^\".concat(path, \"$\"))] : []), _toConsumableArray__default[\"default\"](MediasParser.fieldIsFontFamily(fieldDefinition) ? [new RegExp(\"^\".concat(path, \"\\\\.media$\"))] : []), _toConsumableArray__default[\"default\"](_this2.getMediaFieldsPattern(subFields, path)), _toConsumableArray__default[\"default\"](_this2.getMediaFieldsPattern(settings, path)), _toConsumableArray__default[\"default\"](itemsField !== null ? _this2.getMediaFieldsPattern([itemsField], \"\".concat(path, \"\\\\.[0-9]+\")) : []));\n }, []);\n }\n }], [{\n key: \"fieldIsMedia\",\n value: function fieldIsMedia(_ref6) {\n var _ref6$media = _ref6.media,\n media = _ref6$media === void 0 ? false : _ref6$media;\n return media;\n }\n }, {\n key: \"fieldIsFontFamily\",\n value: function fieldIsFontFamily(_ref7) {\n var _ref7$id = _ref7.id,\n id = _ref7$id === void 0 ? null : _ref7$id;\n return id === 'font-family';\n }\n }, {\n key: \"replacePathsWithMedias\",\n value: function replacePathsWithMedias(data, medias, patterns) {\n var keyPrefix = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var dataIsArray = isArray__default[\"default\"](data);\n return MediasParser.keys(data).reduce(function (newData, key) {\n var path = [keyPrefix, key].filter(function (it) {\n return it !== null;\n }).join('.');\n var patternMatch = patterns.reduce(function (found, pattern) {\n return found || pattern.test(path);\n }, false);\n var value = data[key];\n var newValue;\n\n if (patternMatch) {\n newValue = isObject__default[\"default\"](value) ? value : medias[value] || null;\n } else {\n newValue = isObject__default[\"default\"](value) || isArray__default[\"default\"](value) ? MediasParser.replacePathsWithMedias(value, medias, patterns, path) : value;\n }\n\n return dataIsArray ? [].concat(_toConsumableArray__default[\"default\"](newData), [newValue]) : _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, newData), {}, _defineProperty__default[\"default\"]({}, key, newValue));\n }, dataIsArray ? [] : {});\n }\n }, {\n key: \"getMediaPath\",\n value: function getMediaPath(_ref8) {\n var _ref8$id = _ref8.id,\n id = _ref8$id === void 0 ? null : _ref8$id;\n return id !== null ? \"media://\".concat(id) : null;\n }\n }, {\n key: \"replaceMediasWithPaths\",\n value: function replaceMediasWithPaths(data, patterns) {\n var medias = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var keyPrefix = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var dataIsArray = isArray__default[\"default\"](data);\n return MediasParser.keys(data).reduce(function (_ref9, key) {\n var currentData = _ref9.data,\n currentMedias = _ref9.medias;\n var path = [keyPrefix, key].filter(function (it) {\n return it !== null;\n }).join('.');\n var patternMatch = patterns.reduce(function (found, pattern) {\n return found || pattern.test(path);\n }, false);\n var value = data[key];\n var newValue;\n var media = null;\n var subMedias = null;\n\n if (patternMatch && isObject__default[\"default\"](value)) {\n var mediaPath = MediasParser.getMediaPath(value);\n newValue = mediaPath !== null ? mediaPath : value;\n media = mediaPath !== null ? value : null;\n } else if (isObject__default[\"default\"](value) || isArray__default[\"default\"](value)) {\n var subReturn = MediasParser.replaceMediasWithPaths(value, patterns, medias, path);\n newValue = subReturn.data;\n subMedias = subReturn.medias;\n } else {\n newValue = value;\n }\n\n return {\n data: dataIsArray ? [].concat(_toConsumableArray__default[\"default\"](currentData || []), [newValue]) : _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, currentData), {}, _defineProperty__default[\"default\"]({}, key, newValue)),\n medias: media !== null ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, currentMedias), subMedias), {}, _defineProperty__default[\"default\"]({}, newValue, media)) : _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, currentMedias), subMedias)\n };\n }, {\n data: null,\n medias: medias\n });\n }\n }, {\n key: \"getMediaPatternsFromData\",\n value: function getMediaPatternsFromData(obj) {\n var dotObj = MediasParser.dot(obj);\n return Object.keys(dotObj).filter(function (key) {\n return isString__default[\"default\"](dotObj[key]) && dotObj[key].match(/^media:\\/\\/([^/]+)$/) !== null;\n }).map(function (it) {\n return new RegExp(\"^\".concat(it, \"$\"));\n });\n }\n }, {\n key: \"dot\",\n value: function dot(obj) {\n return MediasParser.keys(obj).reduce(function (acc, key) {\n if (_typeof__default[\"default\"](obj[key]) !== 'object' || !obj[key]) {\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, acc), {}, _defineProperty__default[\"default\"]({}, key, obj[key]));\n }\n\n var flattenedChild = MediasParser.dot(obj[key]);\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, acc), MediasParser.keys(flattenedChild).reduce(function (childAcc, childKey) {\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, childAcc), {}, _defineProperty__default[\"default\"]({}, \"\".concat(key, \".\").concat(childKey), flattenedChild[childKey]));\n }, {}));\n }, {});\n }\n }, {\n key: \"keys\",\n value: function keys(obj) {\n return isArray__default[\"default\"](obj) ? _toConsumableArray__default[\"default\"](obj.keys()) : Object.keys(obj);\n }\n }]);\n\n return MediasParser;\n}();\n\nvar ScreensManager = /*#__PURE__*/function (_DefinitionsManager) {\n _inherits__default[\"default\"](ScreensManager, _DefinitionsManager);\n\n var _super = _createSuper__default[\"default\"](ScreensManager);\n\n function ScreensManager() {\n _classCallCheck__default[\"default\"](this, ScreensManager);\n\n return _super.apply(this, arguments);\n }\n\n _createClass__default[\"default\"](ScreensManager, [{\n key: \"getFields\",\n value: function getFields(id) {\n var _ref = this.getDefinition(id) || {},\n _ref$fields = _ref.fields,\n fields = _ref$fields === void 0 ? null : _ref$fields;\n\n return fields;\n }\n }, {\n key: \"getLayouts\",\n value: function getLayouts(id) {\n var _ref2 = this.getDefinition(id) || {},\n _ref2$layouts = _ref2.layouts,\n layouts = _ref2$layouts === void 0 ? null : _ref2$layouts;\n\n return layouts;\n }\n }]);\n\n return ScreensManager;\n}(DefinitionsManager);\n\nvar ThemeParser = /*#__PURE__*/function () {\n function ThemeParser(_ref) {\n var screensManager = _ref.screensManager;\n\n _classCallCheck__default[\"default\"](this, ThemeParser);\n\n this.screensManager = screensManager;\n this.definitionCache = {};\n }\n\n _createClass__default[\"default\"](ThemeParser, [{\n key: \"getDefinitionByScreen\",\n value: function getDefinitionByScreen(type, themeComponents) {\n if (typeof this.definitionCache[type] === 'undefined') {\n var definition = this.screensManager.getDefinition(type) || {};\n var themeScreen = themeComponents.find(function (it) {\n return it.type === type;\n }) || null;\n this.definitionCache[type] = {\n definition: definition,\n themeScreen: themeScreen\n };\n }\n\n return this.definitionCache[type];\n }\n }, {\n key: \"parse\",\n value: function parse(story) {\n var _this = this;\n\n if (story === null) {\n return story;\n }\n\n var _ref2 = story || {},\n _ref2$theme = _ref2.theme,\n theme = _ref2$theme === void 0 ? null : _ref2$theme,\n _ref2$components = _ref2.components,\n components = _ref2$components === void 0 ? null : _ref2$components;\n\n if (theme === null || components === null) {\n return story;\n }\n\n var _theme$components = theme.components,\n themeComponents = _theme$components === void 0 ? [] : _theme$components,\n _theme$background = theme.background,\n themeBackground = _theme$background === void 0 ? null : _theme$background,\n _theme$colors = theme.colors,\n themeColors = _theme$colors === void 0 ? {} : _theme$colors,\n _theme$textStyles = theme.textStyles,\n themeTextStyles = _theme$textStyles === void 0 ? null : _theme$textStyles;\n var newComponents = components.reduce(function (currentComponents, screen, index) {\n var type = screen.type;\n\n var _this$getDefinitionBy = _this.getDefinitionByScreen(type, themeComponents),\n definition = _this$getDefinitionBy.definition,\n themeScreen = _this$getDefinitionBy.themeScreen;\n\n var newScreen = _this.parseScreen(definition, screen, themeScreen, themeBackground, themeColors, themeTextStyles); // Only switch screen if it has changed\n\n\n return newScreen !== screen || themeScreen !== null ? [].concat(_toConsumableArray__default[\"default\"](currentComponents.slice(0, index)), [_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, themeScreen), newScreen)], _toConsumableArray__default[\"default\"](currentComponents.slice(index + 1))) : currentComponents;\n }, components);\n return newComponents !== components ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, story), {}, {\n components: newComponents\n }) : story;\n }\n }, {\n key: \"parseScreen\",\n value: function parseScreen(definition, value, themeValue, themeBackground, themeColors, themeTextSyle) {\n var _this2 = this;\n\n var _definition$fields = definition.fields,\n fields = _definition$fields === void 0 ? [] : _definition$fields;\n var newThemeValue = themeValue === null && themeBackground !== null ? {} : themeValue;\n\n if (themeBackground !== null && typeof newThemeValue.background !== 'undefined') {\n newThemeValue.background = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, themeBackground), newThemeValue.background);\n } else if (themeBackground !== null) {\n newThemeValue.background = themeBackground;\n }\n\n var newScreenValue = Object.keys(value).reduce(function (currentValue, key) {\n var fieldDefinition = fields.find(function (it) {\n return it.name === key;\n }) || {};\n var fieldValue = value[key];\n var fieldThemeValue = newThemeValue !== null ? newThemeValue[key] || null : null;\n\n var newFieldValue = _this2.parseField(key, fieldDefinition, fieldValue, fieldThemeValue, themeColors, themeTextSyle); // Only switch field if it has changed\n\n\n return newFieldValue !== fieldValue ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, currentValue), {}, _defineProperty__default[\"default\"]({}, key, newFieldValue)) : currentValue;\n }, value);\n return newThemeValue !== null ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, newThemeValue), newScreenValue) : newScreenValue;\n } // eslint-disable-next-line class-methods-use-this\n\n }, {\n key: \"parseField\",\n value: function parseField(key, definition, value, themeValue, themeColors, themeTextStyles) {\n var _definition$theme = definition.theme,\n fieldTheme = _definition$theme === void 0 ? {} : _definition$theme; // @TODO very sloow\n\n if (isArray__default[\"default\"](value)) {\n var newFieldValue = value.map(function (innerField) {\n return innerField !== null ? Object.keys(innerField).reduce(function (newInnerField, innerFieldName) {\n var _ref3 = fieldTheme[innerFieldName] || {},\n _ref3$textStyle = _ref3.textStyle,\n innerFieldTextStyle = _ref3$textStyle === void 0 ? null : _ref3$textStyle,\n _ref3$color = _ref3.color,\n innerFieldColor = _ref3$color === void 0 ? null : _ref3$color; // Early return\n\n\n if (!isObject__default[\"default\"](innerField[innerFieldName])) {\n return newInnerField;\n } // Color\n\n\n var colorValue = innerFieldColor !== null ? {\n color: innerFieldColor !== null && themeColors !== null ? themeColors[innerFieldColor] || null : null\n } : null; // Text style\n\n var textStyleValue = innerFieldTextStyle !== null ? {\n textStyle: _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, innerFieldTextStyle !== null && themeTextStyles !== null ? themeTextStyles[innerFieldTextStyle] || null : null), innerField[innerFieldName].textStyle || null)\n } : null;\n\n if (colorValue === null && textStyleValue === null) {\n return newInnerField;\n }\n\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, newInnerField), {}, _defineProperty__default[\"default\"]({}, innerFieldName, _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, colorValue), innerField[innerFieldName]), textStyleValue)));\n }, innerField) : innerField;\n });\n return newFieldValue;\n }\n\n if (isObject__default[\"default\"](value) && !isArray__default[\"default\"](value)) {\n var _ref4 = fieldTheme || {},\n _ref4$textStyle = _ref4.textStyle,\n fieldTextStyleName = _ref4$textStyle === void 0 ? null : _ref4$textStyle,\n _ref4$color = _ref4.color,\n fieldColorName = _ref4$color === void 0 ? null : _ref4$color; // Color\n\n\n var fieldColor = fieldColorName !== null && themeColors !== null ? themeColors[fieldColorName] || null : null;\n var colorValue = fieldColor !== null ? {\n color: fieldColor\n } : null; // Text style\n\n var fieldTextStyle = fieldTextStyleName !== null && themeTextStyles !== null ? themeTextStyles[fieldTextStyleName] || null : null;\n var fieldThemeComponentTextStyle = themeValue !== null ? themeValue.textStyle || null : null;\n var textStyleValue = fieldTextStyle !== null || fieldThemeComponentTextStyle !== null ? {\n textStyle: _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, fieldTextStyle), fieldThemeComponentTextStyle), value.textStyle || null)\n } : null; // Only change value if something is overrided\n\n return colorValue !== null || themeValue !== null || textStyleValue !== null ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, colorValue), themeValue), value), textStyleValue) : value;\n }\n\n return value;\n }\n }]);\n\n return ThemeParser;\n}();\n\nvar _excluded$1 = [\"fonts\"];\n\nvar FontsParser = /*#__PURE__*/function () {\n function FontsParser(_ref) {\n var fieldsManager = _ref.fieldsManager,\n screensManager = _ref.screensManager;\n\n _classCallCheck__default[\"default\"](this, FontsParser);\n\n this.fieldsManager = fieldsManager;\n this.screensManager = screensManager;\n this.fieldsPatternCache = {};\n }\n\n _createClass__default[\"default\"](FontsParser, [{\n key: \"getFieldsPatternByScreen\",\n value: function getFieldsPatternByScreen(type) {\n if (typeof this.fieldsPatternCache[type] === 'undefined') {\n var _ref2 = this.screensManager.getDefinition(type) || {},\n _ref2$fields = _ref2.fields,\n fields = _ref2$fields === void 0 ? [] : _ref2$fields;\n\n this.fieldsPatternCache[type] = this.getFieldsPattern(fields);\n }\n\n return this.fieldsPatternCache[type];\n } // Extract fonts\n\n }, {\n key: \"parse\",\n value: function parse(story) {\n var _this = this;\n\n if (story === null) {\n return story;\n } // Extract fonts from screen\n\n\n var _ref3 = story || {},\n _ref3$theme = _ref3.theme,\n theme = _ref3$theme === void 0 ? null : _ref3$theme,\n _ref3$components = _ref3.components,\n components = _ref3$components === void 0 ? [] : _ref3$components;\n\n var fonts = uniq__default[\"default\"](components.reduce(function (currentFonts, screen) {\n var type = screen.type;\n\n var fieldsPattern = _this.getFieldsPatternByScreen(type);\n\n var newFonts = FontsParser.extractFontsWithPaths(screen, fieldsPattern);\n return newFonts.length > 0 ? [].concat(_toConsumableArray__default[\"default\"](currentFonts), _toConsumableArray__default[\"default\"](newFonts)) : currentFonts;\n }, []), 'name'); // Extract fonts from theme\n\n if (theme !== null) {\n var _this$parse = this.parse(theme),\n _this$parse$fonts = _this$parse.fonts,\n themeFonts = _this$parse$fonts === void 0 ? [] : _this$parse$fonts,\n newTheme = _objectWithoutProperties__default[\"default\"](_this$parse, _excluded$1);\n\n return fonts.length > 0 || themeFonts.length > 0 ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, story), {}, {\n theme: newTheme,\n fonts: uniq__default[\"default\"]([].concat(_toConsumableArray__default[\"default\"](themeFonts), _toConsumableArray__default[\"default\"](fonts)), 'name')\n }) : story;\n }\n\n return fonts.length > 0 ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, story), {}, {\n fonts: fonts\n }) : story;\n }\n }, {\n key: \"getFieldsPattern\",\n value: function getFieldsPattern(fields) {\n var _this2 = this;\n\n var namePrefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return fields.reduce(function (patterns, field) {\n var _field$name = field.name,\n name = _field$name === void 0 ? null : _field$name,\n _field$type = field.type,\n type = _field$type === void 0 ? null : _field$type;\n var path = [namePrefix, name].filter(function (it) {\n return it !== null;\n }).join('\\\\.');\n\n var fieldDefinition = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, type !== null ? _this2.fieldsManager.getDefinition(type) : null), field); // also check settings fields\n\n\n var _fieldDefinition$fiel = fieldDefinition.fields,\n subFields = _fieldDefinition$fiel === void 0 ? [] : _fieldDefinition$fiel,\n _fieldDefinition$item = fieldDefinition.itemsField,\n itemsField = _fieldDefinition$item === void 0 ? null : _fieldDefinition$item,\n _fieldDefinition$sett = fieldDefinition.settings,\n settings = _fieldDefinition$sett === void 0 ? [] : _fieldDefinition$sett;\n return [].concat(_toConsumableArray__default[\"default\"](patterns), _toConsumableArray__default[\"default\"](FontsParser.fieldIsFontFamily(fieldDefinition) ? [new RegExp(\"^\".concat(path, \"$\"))] : []), _toConsumableArray__default[\"default\"](_this2.getFieldsPattern(subFields, path)), _toConsumableArray__default[\"default\"](_this2.getFieldsPattern(settings, path)), _toConsumableArray__default[\"default\"](itemsField !== null ? _this2.getFieldsPattern([itemsField], \"\".concat(path, \"\\\\.[0-9]+\")) : []));\n }, []);\n }\n }], [{\n key: \"fieldIsFontFamily\",\n value: function fieldIsFontFamily(_ref4) {\n var _ref4$id = _ref4.id,\n id = _ref4$id === void 0 ? null : _ref4$id;\n return id === 'font-family';\n }\n }, {\n key: \"valueIsFont\",\n value: function valueIsFont(_ref5) {\n var _ref5$type = _ref5.type,\n type = _ref5$type === void 0 ? null : _ref5$type;\n return type === 'custom' || type === 'google';\n }\n }, {\n key: \"extractFontsWithPaths\",\n value: function extractFontsWithPaths(data, patterns) {\n var keyPrefix = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var dataIsArray = isArray__default[\"default\"](data);\n var keys = dataIsArray ? _toConsumableArray__default[\"default\"](data.keys()) : Object.keys(data);\n return keys.reduce(function (currentFonts, key) {\n var path = [keyPrefix, key].filter(function (it) {\n return it !== null;\n }).join('.');\n var patternMatch = patterns.reduce(function (found, pattern) {\n return found || pattern.test(path);\n }, false);\n var value = data[key];\n var font = null;\n var subFonts = null;\n\n if (patternMatch && isObject__default[\"default\"](value) && FontsParser.valueIsFont(value)) {\n font = value;\n } else if (isObject__default[\"default\"](value) || isArray__default[\"default\"](value)) {\n subFonts = FontsParser.extractFontsWithPaths(value, patterns, path);\n }\n\n return subFonts !== null || font !== null ? [].concat(_toConsumableArray__default[\"default\"](currentFonts), _toConsumableArray__default[\"default\"](subFonts || []), _toConsumableArray__default[\"default\"](font !== null ? [font] : [])) : currentFonts;\n }, []);\n }\n }]);\n\n return FontsParser;\n}();\n\nvar StoryParser = /*#__PURE__*/function () {\n function StoryParser(_ref) {\n var screensManager = _ref.screensManager,\n fieldsManager = _ref.fieldsManager;\n\n _classCallCheck__default[\"default\"](this, StoryParser);\n\n this.themeParser = new ThemeParser({\n screensManager: screensManager\n });\n this.mediasParser = new MediasParser({\n screensManager: screensManager,\n fieldsManager: fieldsManager\n });\n this.fontsParser = new FontsParser({\n screensManager: screensManager,\n fieldsManager: fieldsManager\n });\n }\n\n _createClass__default[\"default\"](StoryParser, [{\n key: \"parse\",\n value: function parse(story) {\n var _this = this;\n\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref2$withTheme = _ref2.withTheme,\n withTheme = _ref2$withTheme === void 0 ? true : _ref2$withTheme,\n _ref2$withMedias = _ref2.withMedias,\n withMedias = _ref2$withMedias === void 0 ? true : _ref2$withMedias,\n _ref2$withFonts = _ref2.withFonts,\n withFonts = _ref2$withFonts === void 0 ? true : _ref2$withFonts;\n\n if (story === null) {\n return story;\n }\n\n var parsers = [[withMedias, function (newStory) {\n return _this.mediasParser.fromPath(newStory);\n }], [withTheme, function (newStory) {\n return _this.themeParser.parse(newStory);\n }], [withFonts, function (newStory) {\n return _this.fontsParser.parse(newStory);\n }]];\n return parsers.reduce(function (parsedStory, _ref3) {\n var _ref4 = _slicedToArray__default[\"default\"](_ref3, 2),\n enabled = _ref4[0],\n parse = _ref4[1];\n\n return enabled ? parse(parsedStory) : parsedStory;\n }, story);\n }\n }]);\n\n return StoryParser;\n}();\n\nvar _excluded = [\"value\"],\n _excluded2 = [\"value\", \"currentTime\"];\n\nvar Tracking = /*#__PURE__*/function (_BaseTracking) {\n _inherits__default[\"default\"](Tracking, _BaseTracking);\n\n var _super = _createSuper__default[\"default\"](Tracking);\n\n function Tracking() {\n var _this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck__default[\"default\"](this, Tracking);\n\n _this = _super.call(this, opts);\n var _this$options$variabl = _this.options.variables,\n variables = _this$options$variabl === void 0 ? null : _this$options$variabl;\n _this.variables = null;\n _this.screensViewed = [];\n\n if (variables !== null) {\n _this.setVariables(variables);\n }\n\n return _this;\n }\n\n _createClass__default[\"default\"](Tracking, [{\n key: \"setVariables\",\n value: function setVariables(variables) {\n this.variables = variables;\n\n if (variables !== null) {\n this.push(variables);\n }\n }\n }, {\n key: \"getVariables\",\n value: function getVariables() {\n return this.variables;\n }\n }, {\n key: \"trackScreenView\",\n value: function trackScreenView(screen, screenIndex) {\n var _ref = this.variables || {},\n _ref$screensCount = _ref.screensCount,\n screensCount = _ref$screensCount === void 0 ? null : _ref$screensCount;\n\n var _ref2 = screen || {},\n _ref2$id = _ref2.id,\n screenId = _ref2$id === void 0 ? null : _ref2$id,\n _ref2$type = _ref2.type,\n screenType = _ref2$type === void 0 ? null : _ref2$type,\n _ref2$metadata = _ref2.metadata,\n metadata = _ref2$metadata === void 0 ? {} : _ref2$metadata;\n\n var _ref3 = metadata || {},\n screenTitle = _ref3.title;\n\n if (this.screensViewed.indexOf(screenId || index) !== -1) {\n this.screensViewed = [].concat(_toConsumableArray__default[\"default\"](this.screensViewed), [screenId || index]);\n }\n\n var data = {\n event: 'screenView',\n screenId: screenId,\n screenType: screenType,\n screenIndex: screenIndex,\n screenTitle: screenTitle,\n screenProgress: screensCount !== null && screenIndex !== null ? (screenIndex + 1) / screensCount : null,\n screensViewed: this.screensViewed,\n screensViewedProgress: screensCount !== null ? this.screensViewed.length / screensCount : null\n };\n this.push(data);\n }\n }, {\n key: \"trackEvent\",\n value: function trackEvent(category, action, label) {\n var _ref4 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {},\n _ref4$value = _ref4.value,\n value = _ref4$value === void 0 ? null : _ref4$value,\n opts = _objectWithoutProperties__default[\"default\"](_ref4, _excluded);\n\n var data = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, opts), {}, {\n event: 'eventInteraction',\n eventCategory: category,\n eventAction: action,\n eventLabel: label,\n eventValue: value\n });\n\n this.push(data);\n }\n }, {\n key: \"trackMedia\",\n value: function trackMedia(type, media, action) {\n var _ref5 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {},\n _ref5$value = _ref5.value,\n value = _ref5$value === void 0 ? null : _ref5$value,\n _ref5$currentTime = _ref5.currentTime,\n optsCurrentTime = _ref5$currentTime === void 0 ? null : _ref5$currentTime,\n opts = _objectWithoutProperties__default[\"default\"](_ref5, _excluded2);\n\n var _ref6 = media || {},\n _ref6$id = _ref6.id,\n mediaId = _ref6$id === void 0 ? null : _ref6$id,\n _ref6$name = _ref6.name,\n name = _ref6$name === void 0 ? null : _ref6$name,\n _ref6$duration = _ref6.duration,\n rootDuration = _ref6$duration === void 0 ? null : _ref6$duration,\n _ref6$currentTime = _ref6.currentTime,\n currentTime = _ref6$currentTime === void 0 ? optsCurrentTime : _ref6$currentTime,\n _ref6$metadata = _ref6.metadata,\n metadata = _ref6$metadata === void 0 ? {} : _ref6$metadata;\n\n var _ref7 = metadata || {},\n _ref7$duration = _ref7.duration,\n duration = _ref7$duration === void 0 ? rootDuration : _ref7$duration;\n\n var label = name;\n\n var data = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, opts), {}, {\n event: 'eventInteraction',\n eventCategory: type,\n eventAction: action,\n eventLabel: label,\n eventValue: value,\n mediaId: mediaId,\n mediaCurrentTime: currentTime !== null ? Math.round(currentTime) : null,\n mediaProgress: currentTime !== null && duration !== null && duration > 0 ? Math.round(currentTime / duration * 100) : null\n });\n\n this.push(data);\n }\n }]);\n\n return Tracking;\n}(tracking.Tracking);\n\nexports.ColorsParser = ColorsParser;\nexports.ComponentsManager = ComponentsManager;\nexports.DefinitionsManager = DefinitionsManager;\nexports.EventsManager = EventsManager;\nexports.FieldsManager = FieldsManager;\nexports.FontsParser = FontsParser;\nexports.MediasParser = MediasParser;\nexports.PropTypes = PropTypes;\nexports.ScreensManager = ScreensManager;\nexports.StoryParser = StoryParser;\nexports.ThemeParser = ThemeParser;\nexports.Tracking = Tracking;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar isNumber = require('lodash/isNumber');\nvar paramCase = require('param-case');\nvar isObject = require('lodash/isObject');\nvar react = require('react');\nvar isString = require('lodash/isString');\nvar tinycolor = require('tinycolor2');\nvar changeCase = require('change-case');\nvar _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');\nvar _objectSpread = require('@babel/runtime/helpers/objectSpread2');\nvar isArray = require('lodash/isArray');\nvar _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');\nvar _defineProperty = require('@babel/runtime/helpers/defineProperty');\nvar _slicedToArray = require('@babel/runtime/helpers/slicedToArray');\nvar slugify = require('slugify');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar isNumber__default = /*#__PURE__*/_interopDefaultLegacy(isNumber);\nvar isObject__default = /*#__PURE__*/_interopDefaultLegacy(isObject);\nvar isString__default = /*#__PURE__*/_interopDefaultLegacy(isString);\nvar tinycolor__default = /*#__PURE__*/_interopDefaultLegacy(tinycolor);\nvar _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);\nvar _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);\nvar isArray__default = /*#__PURE__*/_interopDefaultLegacy(isArray);\nvar _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);\nvar _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);\nvar _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);\nvar slugify__default = /*#__PURE__*/_interopDefaultLegacy(slugify);\n\nvar convertStyleToString = function convertStyleToString(style) {\n return style !== null ? Object.keys(style).map(function (key) {\n return \"\".concat(paramCase.paramCase(key), \":\").concat(isNumber__default[\"default\"](style[key]) ? \"\".concat(style[key], \"px\") : style[key], \";\");\n }).join('\\n') : '';\n};\n\nvar createNullableOnChange = function createNullableOnChange() {\n var onChange = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n return function (newValue) {\n var nullableValue = newValue;\n\n if (isObject__default[\"default\"](newValue)) {\n var allNull = Object.keys(newValue).reduce(function (acc, key) {\n return acc && newValue[key] === null;\n }, true);\n\n if (allNull) {\n nullableValue = null;\n }\n }\n\n if (onChange !== null) {\n onChange(nullableValue);\n }\n };\n};\n\nvar createUseEvent = function createUseEvent(eventsManager) {\n return function (event, callback) {\n var enabled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n react.useEffect(function () {\n if (enabled && eventsManager !== null) {\n eventsManager.subscribe(event, callback);\n }\n\n return function () {\n if (enabled && eventsManager !== null) {\n eventsManager.unsubscribe(event, callback);\n }\n };\n }, [eventsManager, event, callback, enabled]);\n };\n};\n\nvar getColorAsString = function getColorAsString() {\n var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var overideAlpha = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (value === null) {\n return null;\n }\n\n var _ref = isString__default[\"default\"](value) ? {\n color: value\n } : value,\n _ref$color = _ref.color,\n color = _ref$color === void 0 ? null : _ref$color,\n _ref$alpha = _ref.alpha,\n alpha = _ref$alpha === void 0 ? null : _ref$alpha;\n\n return alpha !== null || overideAlpha !== null ? tinycolor__default[\"default\"](color).setAlpha(overideAlpha !== null ? overideAlpha : alpha).toRgbString() : color;\n};\n\nvar getComponentFromName = function getComponentFromName() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var components = arguments.length > 1 ? arguments[1] : undefined;\n var defaultComponent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n if (components === null || name === null) {\n return defaultComponent;\n }\n\n var pascalName = changeCase.pascalCase(name);\n return components[pascalName] || components[name] || defaultComponent;\n};\n\nvar deviceScreens = [{\n name: 'mobile'\n}, {\n name: 'small',\n mediaQuery: 'only screen and (min-width: 500px)'\n}, {\n name: 'medium',\n mediaQuery: 'only screen and (min-width: 790px)'\n}, {\n name: 'large',\n mediaQuery: 'only screen and (min-width: 1000px)'\n}, {\n name: 'very-large',\n mediaQuery: 'only screen and (min-width: 1600px)'\n}]; // eslint-disable-next-line import/prefer-default-export\n\nvar getDeviceScreens = function getDeviceScreens() {\n return deviceScreens;\n};\n\nvar getDisplayName = function getDisplayName(_ref) {\n var _ref$displayName = _ref.displayName,\n displayName = _ref$displayName === void 0 ? null : _ref$displayName,\n _ref$name = _ref.name,\n name = _ref$name === void 0 ? null : _ref$name;\n return displayName || name || 'Component';\n};\n\nvar getFieldByName = function getFieldByName(fields, name) {\n return fields.reduce(function (foundField, it) {\n if (foundField !== null) {\n return foundField;\n }\n\n var _it$name = it.name,\n fieldName = _it$name === void 0 ? null : _it$name,\n _it$fields = it.fields,\n subFields = _it$fields === void 0 ? [] : _it$fields;\n\n if (name !== null && fieldName === name) {\n return it;\n }\n\n return getFieldByName(subFields, name);\n }, null);\n};\n\nvar getFieldFromPath = function getFieldFromPath(path, fields, fieldManager) {\n return (isArray__default[\"default\"](path) ? path : [path]).reduce(function (foundField, key) {\n if (foundField === null) {\n return null;\n }\n\n var _foundField$type = foundField.type,\n type = _foundField$type === void 0 ? null : _foundField$type,\n _foundField$fields = foundField.fields,\n fieldFields = _foundField$fields === void 0 ? null : _foundField$fields,\n _foundField$field = foundField.field,\n field = _foundField$field === void 0 ? null : _foundField$field;\n var finalType = field !== null ? field.type || type : type;\n\n var _ref = finalType !== null ? fieldManager.getDefinition(finalType) : foundField,\n _ref$fields = _ref.fields,\n subFields = _ref$fields === void 0 ? null : _ref$fields,\n _ref$settings = _ref.settings,\n settings = _ref$settings === void 0 ? null : _ref$settings,\n _ref$itemsField = _ref.itemsField,\n itemsField = _ref$itemsField === void 0 ? null : _ref$itemsField;\n\n if (itemsField !== null && key.match(/^[0-9]+$/)) {\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, itemsField), {}, {\n name: path.join('/'),\n listItems: true\n });\n }\n\n return getFieldByName([].concat(_toConsumableArray__default[\"default\"](fieldFields || []), _toConsumableArray__default[\"default\"](subFields || []), _toConsumableArray__default[\"default\"](settings || [])), key);\n }, {\n fields: fields\n });\n};\n\nvar getFileName = function getFileName() {\n var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n if (url === null || typeof url.match === 'undefined') {\n return null;\n }\n\n return url.match(/([^/]+)(\\?.*)?$/)[1] || url;\n};\n\nvar getFontFamily = function getFontFamily(value) {\n if (value == null) {\n return null;\n }\n\n var _ref = isObject__default[\"default\"](value) ? value : {\n name: value\n },\n name = _ref.name,\n _ref$fallback = _ref.fallback,\n fallback = _ref$fallback === void 0 ? null : _ref$fallback;\n\n return [name, fallback].filter(function (it) {\n return it !== null;\n }).map(function (it) {\n return \"\\\"\".concat(it, \"\\\"\");\n }).join(', ');\n};\n\nvar getGridLayoutName = function getGridLayoutName(layout) {\n return layout.map(function (it) {\n return \"\".concat(it.rows, \"_\").concat(it.columns.join('_'));\n }).join('|');\n};\n\nvar getRemainder = function getRemainder(number) {\n var remainder = number - Math.floor(number);\n return remainder.toFixed(4);\n};\n\nvar largestRemainderRound = function largestRemainderRound(numbers, desiredTotal) {\n if (!isArray__default[\"default\"](numbers) || numbers.length < 1) return numbers;\n var result = numbers.map(function (number, index) {\n return {\n floor: Math.floor(number) || 0,\n remainder: getRemainder(number),\n index: index\n };\n }).sort(function (a, b) {\n return b.remainder - a.remainder;\n });\n var lowerSum = result.reduce(function (sum, current) {\n return sum + current.floor;\n }, 0);\n var delta = desiredTotal - lowerSum;\n\n for (var i = 0; i < delta; i += 1) {\n if (result[i]) {\n result[i].floor += 1;\n }\n }\n\n return result.sort(function (a, b) {\n return a.index - b.index;\n }).map(function (res) {\n return res.floor;\n });\n};\n\nvar _excluded = [\"image\", \"video\", \"media\"];\n\nvar getLayersFromBackground = function getLayersFromBackground() {\n var background = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n if (background === null) {\n return [];\n }\n\n return (isArray__default[\"default\"](background) ? background : [background]).reduce(function (layers, _ref) {\n var _ref$image = _ref.image,\n image = _ref$image === void 0 ? null : _ref$image,\n _ref$video = _ref.video,\n video = _ref$video === void 0 ? null : _ref$video,\n _ref$media = _ref.media,\n media = _ref$media === void 0 ? null : _ref$media,\n data = _objectWithoutProperties__default[\"default\"](_ref, _excluded);\n\n if (image !== null && video !== null) {\n return [].concat(_toConsumableArray__default[\"default\"](layers), [_objectSpread__default[\"default\"]({\n media: image\n }, data), _objectSpread__default[\"default\"]({\n media: video\n }, data)]);\n }\n\n return [].concat(_toConsumableArray__default[\"default\"](layers), [_objectSpread__default[\"default\"]({\n media: media || image || video\n }, data)]);\n }, []);\n};\n\nvar getMediaFilesAsArray = function getMediaFilesAsArray(files) {\n return files !== null && isArray__default[\"default\"](files) ? files : Object.keys(files || {}).reduce(function (newFiles, key) {\n return [].concat(_toConsumableArray__default[\"default\"](newFiles), [_objectSpread__default[\"default\"]({\n handle: key\n }, files[key])]);\n }, []);\n};\n\n// eslint-disable-next-line import/prefer-default-export\nvar getOptimalImageUrl = function getOptimalImageUrl() {\n var media = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var containerWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var containerHeight = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var maxDiff = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 800;\n\n var _ref = media || {},\n _ref$sizes = _ref.sizes,\n sizes = _ref$sizes === void 0 ? null : _ref$sizes,\n _ref$url = _ref.url,\n defaultUrl = _ref$url === void 0 ? null : _ref$url,\n _ref$metadata = _ref.metadata;\n\n _ref$metadata = _ref$metadata === void 0 ? {} : _ref$metadata;\n var imgWidth = _ref$metadata.width,\n imgHeight = _ref$metadata.height;\n\n if (sizes === null || containerWidth === null && containerHeight === null) {\n return defaultUrl;\n }\n\n var finalSizes = _objectSpread__default[\"default\"]({\n original: {\n url: defaultUrl,\n width: imgWidth,\n height: imgHeight\n }\n }, sizes);\n\n var _Object$keys$reduce = Object.keys(finalSizes).reduce(function (acc, key) {\n var currentDiff = acc.diff,\n currentIsLarger = acc.isLarger,\n currentSize = acc.size;\n var _finalSizes$key = finalSizes[key],\n url = _finalSizes$key.url,\n _finalSizes$key$width = _finalSizes$key.width,\n width = _finalSizes$key$width === void 0 ? null : _finalSizes$key$width,\n _finalSizes$key$heigh = _finalSizes$key.height,\n height = _finalSizes$key$heigh === void 0 ? null : _finalSizes$key$heigh;\n var diffWidth = width !== null && containerWidth !== null ? width - containerWidth : null;\n var diffHeight = height !== null && containerHeight !== null ? height - containerHeight : null;\n var isLarger = (diffWidth === null || diffWidth >= 0) && (diffHeight === null || diffHeight >= 0);\n var diff = [diffWidth, diffHeight].reduce(function (total, value) {\n return value !== null ? (total || 0) + Math.abs(value) : total;\n }, null);\n\n if (diff === null) {\n diff = Infinity;\n }\n\n var size = (width || 0) + (height || 0);\n var sizeIsLarger = size > currentSize;\n\n if ( // Difference is lower and image is larger\n diff < currentDiff && isLarger || // Difference is lower and current is not larger or diff is greater than max\n diff < currentDiff && (!currentIsLarger && sizeIsLarger || currentDiff > maxDiff) || // Image is larger and diff is smaller than max\n diff <= maxDiff && !currentIsLarger && isLarger || // Image is larger than previous\n diff <= maxDiff && !currentIsLarger && !isLarger && sizeIsLarger) {\n return {\n key: key,\n url: url,\n diff: diff,\n isLarger: isLarger\n };\n }\n\n return acc;\n }, {\n key: null,\n url: defaultUrl,\n diff: Infinity,\n isLarger: false,\n size: 0\n }),\n finalUrl = _Object$keys$reduce.url;\n\n return finalUrl;\n};\n\nvar getSecondsFromTime = function getSecondsFromTime(time) {\n var t = time.split(':');\n\n try {\n var s = t[2].split(',');\n\n if (s.length === 1) {\n s = t[2].split('.');\n }\n\n return parseFloat(t[0], 10) * 3600 + parseFloat(t[1], 10) * 60 + parseFloat(s[0], 10) + parseFloat(s[1], 10) / 1000;\n } catch (e) {\n return 0;\n }\n};\n\nvar getScreenExtraField = function getScreenExtraField(intl) {\n return {\n name: 'parameters',\n type: 'parameters',\n label: intl.formatMessage({\n id: \"8A8cuq\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Parameters\"\n }]\n })\n };\n};\n\nvar getStyleFromColor = function getStyleFromColor() {\n var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var property = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'backgroundColor';\n var overideAlpha = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var color = getColorAsString(value, overideAlpha);\n return color !== null ? _defineProperty__default[\"default\"]({}, property, color) : null;\n};\n\nvar getStyleFromBorder = function getStyleFromBorder(value) {\n if (value == null) {\n return null;\n }\n\n var _value$width = value.width,\n width = _value$width === void 0 ? null : _value$width,\n _value$style = value.style,\n borderStyle = _value$style === void 0 ? null : _value$style,\n _value$color = value.color,\n color = _value$color === void 0 ? null : _value$color;\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, width !== null ? {\n borderWidth: width\n } : null), borderStyle !== null ? {\n borderStyle: borderStyle\n } : null), getStyleFromColor(color, 'borderColor'));\n};\n\nvar getStyleFromButton = function getStyleFromButton(value) {\n if (value === null) {\n return null;\n }\n\n var _value$backgroundColo = value.backgroundColor,\n backgroundColor = _value$backgroundColo === void 0 ? null : _value$backgroundColo,\n _value$borderRadius = value.borderRadius,\n borderRadius = _value$borderRadius === void 0 ? null : _value$borderRadius,\n _value$borderWidth = value.borderWidth,\n borderWidth = _value$borderWidth === void 0 ? null : _value$borderWidth,\n _value$borderStyle = value.borderStyle,\n borderStyle = _value$borderStyle === void 0 ? null : _value$borderStyle,\n _value$borderColor = value.borderColor,\n borderColor = _value$borderColor === void 0 ? null : _value$borderColor;\n var border = {\n width: borderWidth,\n style: borderStyle,\n color: borderColor\n };\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, getStyleFromColor(backgroundColor, 'backgroundColor')), borderRadius !== null ? {\n borderRadius: borderRadius\n } : null), getStyleFromBorder(border));\n};\n\nvar getStyleFromContainer = function getStyleFromContainer(value) {\n if (value == null) {\n return null;\n }\n\n var _value$size = value.size,\n size = _value$size === void 0 ? {} : _value$size,\n _value$backgroundColo = value.backgroundColor,\n backgroundColor = _value$backgroundColo === void 0 ? null : _value$backgroundColo;\n var _size$width = size.width,\n width = _size$width === void 0 ? null : _size$width,\n _size$height = size.height,\n height = _size$height === void 0 ? null : _size$height;\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, width ? {\n width: \"\".concat(width, \"%\")\n } : null), height ? {\n height: \"\".concat(height, \"%\")\n } : null), getStyleFromColor(backgroundColor, 'backgroundColor'));\n};\n\nvar getStyleFromHighlight = function getStyleFromHighlight(value) {\n if (value == null) {\n return null;\n }\n\n var _value$textColor = value.textColor,\n textColor = _value$textColor === void 0 ? null : _value$textColor,\n _value$color = value.color,\n color = _value$color === void 0 ? null : _value$color;\n var colorString = color !== null ? getColorAsString(color) : null;\n var boxShadow = colorString !== null ? \"0.05em 0px 0px \".concat(colorString, \", -0.05em 0px 0px \").concat(colorString) : null;\n return color !== null || textColor !== null ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, color !== null ? getStyleFromColor(color, 'backgroundColor') : null), textColor !== null ? getStyleFromColor(textColor, 'color') : null), color !== null ? {\n boxShadow: boxShadow,\n mozBoxShadow: boxShadow,\n msBoxShadow: boxShadow,\n webkitBoxShadow: boxShadow\n } : null) : null;\n};\n\nvar getStyleFromImage = function getStyleFromImage(value) {\n if (value == null) {\n return null;\n }\n\n var _value$fit = value.fit,\n fit = _value$fit === void 0 ? {} : _value$fit,\n _value$backgroundColo = value.backgroundColor,\n backgroundColor = _value$backgroundColo === void 0 ? null : _value$backgroundColo;\n var _fit$size = fit.size,\n size = _fit$size === void 0 ? null : _fit$size,\n _fit$position = fit.position,\n position = _fit$position === void 0 ? {} : _fit$position;\n var _position$axisAlign = position.axisAlign,\n axisAlign = _position$axisAlign === void 0 ? null : _position$axisAlign,\n _position$crossAlign = position.crossAlign,\n crossAlign = _position$crossAlign === void 0 ? null : _position$crossAlign;\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, size !== null ? {\n objectFit: size\n } : null), axisAlign !== null && crossAlign !== null ? {\n objectPosition: \"\".concat(axisAlign, \" \").concat(crossAlign)\n } : null), getStyleFromColor(backgroundColor, 'backgroundColor'));\n};\n\nvar getStyleFromLink = function getStyleFromLink(value) {\n if (value == null) {\n return null;\n }\n\n var _value$color = value.color,\n color = _value$color === void 0 ? null : _value$color,\n fontStyle = value.fontStyle;\n\n var _ref = fontStyle || {},\n _ref$italic = _ref.italic,\n italic = _ref$italic === void 0 ? false : _ref$italic,\n _ref$bold = _ref.bold,\n bold = _ref$bold === void 0 ? false : _ref$bold,\n _ref$underline = _ref.underline,\n underline = _ref$underline === void 0 ? false : _ref$underline;\n\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, color !== null ? getStyleFromColor(color, 'color') : null), italic ? {\n fontStyle: 'italic'\n } : null), bold ? {\n fontWeight: 'bold'\n } : null), underline ? {\n textDecoration: 'underline'\n } : null);\n};\n\nvar getStyleFromText = function getStyleFromText(value) {\n if (value == null) {\n return null;\n }\n\n var _value$fontFamily = value.fontFamily,\n fontFamily = _value$fontFamily === void 0 ? null : _value$fontFamily,\n _value$fontSize = value.fontSize,\n fontSize = _value$fontSize === void 0 ? null : _value$fontSize,\n _value$fontStyle = value.fontStyle,\n fontStyle = _value$fontStyle === void 0 ? null : _value$fontStyle,\n _value$lineHeight = value.lineHeight,\n lineHeight = _value$lineHeight === void 0 ? null : _value$lineHeight,\n _value$letterSpacing = value.letterSpacing,\n letterSpacing = _value$letterSpacing === void 0 ? null : _value$letterSpacing,\n _value$align = value.align,\n textAlign = _value$align === void 0 ? null : _value$align,\n _value$color = value.color,\n color = _value$color === void 0 ? null : _value$color;\n\n var _ref = fontStyle || {},\n _ref$italic = _ref.italic,\n italic = _ref$italic === void 0 ? false : _ref$italic,\n _ref$bold = _ref.bold,\n bold = _ref$bold === void 0 ? false : _ref$bold,\n _ref$underline = _ref.underline,\n underline = _ref$underline === void 0 ? false : _ref$underline,\n textTransform = _ref.transform,\n _ref$outline = _ref.outline,\n outline = _ref$outline === void 0 ? false : _ref$outline;\n\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({\n fontFamily: getFontFamily(fontFamily)\n }, fontSize !== null ? {\n fontSize: fontSize\n } : null), italic ? {\n fontStyle: 'italic'\n } : null), bold ? {\n fontWeight: 'bold'\n } : null), underline ? {\n textDecoration: 'underline'\n } : null), textTransform !== null ? {\n textTransform: textTransform\n } : null), textAlign !== null ? {\n textAlign: textAlign\n } : null), lineHeight !== null ? {\n lineHeight: lineHeight\n } : null), letterSpacing !== null ? {\n letterSpacing: letterSpacing\n } : null), getStyleFromColor(color, 'color')), outline ? {\n WebkitTextStroke: \"2px \".concat(getColorAsString(color, 'color')),\n color: 'transparent'\n } : null);\n};\n\nvar getStyleFromMargin = function getStyleFromMargin(value) {\n if (value == null) {\n return null;\n }\n\n var _value$top = value.top,\n marginTop = _value$top === void 0 ? null : _value$top,\n _value$bottom = value.bottom,\n marginBottom = _value$bottom === void 0 ? null : _value$bottom;\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, marginTop !== null ? {\n marginTop: marginTop\n } : null), marginBottom !== null ? {\n marginBottom: marginBottom\n } : null);\n};\n\nvar getLayoutParts = function getLayoutParts() {\n var layout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n var _ref = layout !== null && layout.indexOf('-') !== false ? layout.split('-') : [layout, null, null],\n _ref2 = _slicedToArray__default[\"default\"](_ref, 3),\n horizontal = _ref2[0],\n vertical = _ref2[1],\n suffix = _ref2[2];\n\n return {\n horizontal: horizontal,\n vertical: vertical,\n suffix: suffix\n };\n};\n\nvar isMessage = function isMessage(message) {\n return isObject__default[\"default\"](message) && typeof message.defaultMessage !== 'undefined';\n};\n\nvar isIos = function isIos() {\n return ['iPad Simulator', 'iPhone Simulator', 'iPod Simulator', 'iPad', 'iPhone', 'iPod'].includes(navigator.platform) || // iPad on iOS 13 detection\n navigator.userAgent.includes('Mac') && 'ontouchend' in document;\n};\n\nvar isImageFilled = function isImageFilled(image) {\n var _ref = image || {},\n _ref$media = _ref.media,\n media = _ref$media === void 0 ? null : _ref$media;\n\n return media !== null;\n};\n\nvar isTextFilled$1 = function isTextFilled(text) {\n var _ref = text || {},\n _ref$label = _ref.label,\n label = _ref$label === void 0 ? null : _ref$label;\n\n var _ref2 = label || {},\n _ref2$length = _ref2.length,\n length = _ref2$length === void 0 ? 0 : _ref2$length;\n\n return typeof length === 'number' && length > 0;\n};\n\nvar isTextFilled = function isTextFilled(text) {\n var _ref = text || {},\n _ref$body = _ref.body,\n body = _ref$body === void 0 ? null : _ref$body;\n\n var _ref2 = body || {},\n _ref2$length = _ref2.length,\n length = _ref2$length === void 0 ? 0 : _ref2$length;\n\n return typeof length === 'number' && length > 0;\n};\n\nvar isValidUrl = function isValidUrl(string) {\n var url;\n\n try {\n url = new URL(string);\n } catch (_) {\n return false;\n }\n\n return url.protocol === 'http:' || url.protocol === 'https:';\n};\n\nvar createSchemaId = function createSchemaId(id) {\n return \"https://schemas.micromag.ca/0.1/\".concat(id, \".json\");\n};\n\nvar schemaId = function schemaId(str) {\n return createSchemaId(str.join('/'));\n};\n\nvar setValue = function setValue(value, keyParts, fieldValue) {\n var key = keyParts.shift();\n var isArray = key.match(/^[0-9]+$/) !== null;\n\n if (value !== null || fieldValue !== null) {\n if (isArray) {\n var index = parseInt(key, 10);\n var newArrayValue = fieldValue !== null ? [].concat(_toConsumableArray__default[\"default\"](value.slice(0, index)), [keyParts.length > 0 ? setValue(value !== null ? value[index] || null : null, keyParts, fieldValue) : fieldValue], _toConsumableArray__default[\"default\"](value.slice(index + 1))) : [].concat(_toConsumableArray__default[\"default\"](value.slice(0, index)), _toConsumableArray__default[\"default\"](value.slice(index + 1)));\n return newArrayValue.length > 0 ? newArrayValue : null;\n }\n\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, value), {}, _defineProperty__default[\"default\"]({}, key, keyParts.length > 0 ? setValue(value !== null ? value[key] || null : null, keyParts, fieldValue) : fieldValue));\n }\n\n return null;\n};\n\nvar slug = function slug(str) {\n var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var toSlug;\n\n if (separator === '-') {\n toSlug = changeCase.paramCase(str);\n } else {\n toSlug = changeCase.snakeCase(str);\n }\n\n return slugify__default[\"default\"](toSlug, {\n lower: true\n });\n};\n\nvar unique = function unique(arrArg) {\n return arrArg !== null ? arrArg.filter(function (elem, pos, arr) {\n return arr.indexOf(elem) === pos;\n }) : [];\n};\n\nvar validateFields = function validateFields(fields, value) {\n return fields.reduce(function (acc, field) {\n if (acc === true) {\n if (field.type === 'fields' && field.fields) {\n return validateFields(field.fields, value);\n }\n\n var val = value && value[field.name] ? value[field.name] : false;\n return !(field.required && !val);\n }\n\n return acc;\n }, true);\n};\n\nObject.defineProperty(exports, 'pascalCase', {\n enumerable: true,\n get: function () { return changeCase.pascalCase; }\n});\nObject.defineProperty(exports, 'snakeCase', {\n enumerable: true,\n get: function () { return changeCase.snakeCase; }\n});\nexports.convertStyleToString = convertStyleToString;\nexports.createNullableOnChange = createNullableOnChange;\nexports.createUseEvent = createUseEvent;\nexports.getColorAsString = getColorAsString;\nexports.getComponentFromName = getComponentFromName;\nexports.getDeviceScreens = getDeviceScreens;\nexports.getDisplayName = getDisplayName;\nexports.getFieldByName = getFieldByName;\nexports.getFieldFromPath = getFieldFromPath;\nexports.getFileName = getFileName;\nexports.getFontFamilyFromFont = getFontFamily;\nexports.getGridLayoutName = getGridLayoutName;\nexports.getLargestRemainderRound = largestRemainderRound;\nexports.getLayersFromBackground = getLayersFromBackground;\nexports.getLayoutParts = getLayoutParts;\nexports.getMediaFilesAsArray = getMediaFilesAsArray;\nexports.getOptimalImageUrl = getOptimalImageUrl;\nexports.getScreenExtraField = getScreenExtraField;\nexports.getSecondsFromTime = getSecondsFromTime;\nexports.getStyleFromBorder = getStyleFromBorder;\nexports.getStyleFromButton = getStyleFromButton;\nexports.getStyleFromColor = getStyleFromColor;\nexports.getStyleFromContainer = getStyleFromContainer;\nexports.getStyleFromHighlight = getStyleFromHighlight;\nexports.getStyleFromImage = getStyleFromImage;\nexports.getStyleFromLink = getStyleFromLink;\nexports.getStyleFromMargin = getStyleFromMargin;\nexports.getStyleFromText = getStyleFromText;\nexports.isImageFilled = isImageFilled;\nexports.isIos = isIos;\nexports.isLabelFilled = isTextFilled$1;\nexports.isMessage = isMessage;\nexports.isTextFilled = isTextFilled;\nexports.isValidUrl = isValidUrl;\nexports.schemaId = schemaId;\nexports.setFieldValue = setValue;\nexports.slug = slug;\nexports.unique = unique;\nexports.validateFields = validateFields;\n","'use strict';\n\nvar core = require('@micromag/core');\nvar reactIntl = require('react-intl');\nvar _objectSpread = require('@babel/runtime/helpers/objectSpread2');\nvar _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');\nvar uuid = require('uuid');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);\nvar _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);\n\nvar audio = {\n id: 'audio',\n component: 'audio',\n media: true\n};\n\nvar audioElement = {\n id: 'audio-element',\n fields: [{\n name: 'media',\n type: 'audio'\n }],\n settings: [{\n name: 'autoPlay',\n type: 'toggle',\n label: reactIntl.defineMessage({\n id: \"pJgYyE\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"AutoPlay\"\n }]\n })\n }, {\n name: 'loop',\n type: 'toggle',\n label: reactIntl.defineMessage({\n id: \"F2SD/0\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Loop\"\n }]\n })\n }, {\n name: 'withPlayPause',\n type: 'toggle',\n label: reactIntl.defineMessage({\n id: \"8EI08h\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"With play/pause button\"\n }]\n })\n }, {\n name: 'closedCaptions',\n type: 'closed-captions',\n label: reactIntl.defineMessage({\n id: \"4H2n5r\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Closed captions\"\n }]\n })\n }]\n};\n\nvar answer = {\n id: 'answer',\n component: 'field-with-form',\n labelPath: 'label.body',\n fields: [{\n name: 'label',\n type: 'text-element',\n label: reactIntl.defineMessage({\n id: \"OJi+eg\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Label\"\n }]\n })\n }, {\n name: 'buttonStyle',\n type: 'button-style',\n className: 'mt-4'\n }, {\n name: 'resultStyle',\n type: 'graph-bar-style',\n isList: true,\n label: reactIntl.defineMessage({\n id: \"6Q4tcn\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Result style\"\n }]\n })\n }]\n};\n\nvar answers = {\n id: 'answers',\n component: 'items',\n noItemLabel: reactIntl.defineMessage({\n id: \"A+a0kL\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"No answer...\"\n }]\n }),\n addItemLabel: reactIntl.defineMessage({\n id: \"lGh/NP\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Add an answer\"\n }]\n }),\n itemsField: {\n type: 'answer',\n breadcrumbLabel: reactIntl.defineMessage({\n id: \"Xdsq3k\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Answer\"\n }]\n })\n }\n};\n\nvar background = {\n id: 'background',\n isList: true,\n fields: [{\n name: 'color',\n type: 'color',\n label: reactIntl.defineMessage({\n id: \"aarOkd\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Color\"\n }]\n }),\n breadcrumbLabel: reactIntl.defineMessage({\n id: \"JDPMlG\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background color\"\n }]\n })\n }, {\n name: 'image',\n type: 'image',\n label: reactIntl.defineMessage({\n id: \"xT/onn\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n }),\n breadcrumbLabel: reactIntl.defineMessage({\n id: \"ySApyR\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background image\"\n }]\n })\n }, {\n name: 'video',\n type: 'video',\n label: reactIntl.defineMessage({\n id: \"vERejo\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Video\"\n }]\n }),\n breadcrumbLabel: reactIntl.defineMessage({\n id: \"/MeuM1\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background video\"\n }]\n })\n }],\n settings: [{\n type: 'fields',\n isList: true,\n fields: [{\n name: 'fit',\n type: 'fit',\n label: reactIntl.defineMessage({\n id: \"amEvH1\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Fit\"\n }]\n })\n }, {\n name: 'repeat',\n type: 'toggle',\n label: reactIntl.defineMessage({\n id: \"WlNxMj\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Repeat\"\n }]\n })\n }]\n }]\n};\n\nvar borderRadius = {\n id: 'border-radius',\n component: 'border-radius'\n};\n\nvar borderStyle = {\n id: 'border-style',\n component: 'border-style'\n};\n\nvar borderWidth = {\n id: 'border-width',\n component: 'border-width'\n};\n\nvar buttonStyle = {\n id: 'button-style',\n fields: [{\n type: 'fields',\n label: reactIntl.defineMessage({\n id: \"JnCf7K\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Button style\"\n }]\n }),\n isList: true,\n fields: [{\n name: 'backgroundColor',\n label: reactIntl.defineMessage({\n id: \"vzW/wd\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background color\"\n }]\n }),\n type: 'color'\n }, {\n name: 'borderRadius',\n type: 'number',\n isHorizontal: true,\n dataList: [0, 2, 4, 6, 8, 10],\n label: reactIntl.defineMessage({\n id: \"7j/LQ6\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Rounded corners\"\n }]\n })\n }]\n }, {\n type: 'fields',\n label: reactIntl.defineMessage({\n id: \"vA+9dU\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Border\"\n }]\n }),\n isList: true,\n fields: [{\n name: 'borderWidth',\n type: 'number',\n isHorizontal: true,\n dataList: [0, 1, 2, 3, 4, 5],\n label: reactIntl.defineMessage({\n id: \"4HlSsf\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Size\"\n }]\n })\n }, {\n name: 'borderColor',\n type: 'color',\n label: reactIntl.defineMessage({\n id: \"+VD/9p\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Color\"\n }]\n })\n }, {\n name: 'borderStyle',\n type: 'border-style',\n isHorizontal: true\n }]\n }]\n};\n\nvar buttonElement = {\n id: 'button-element',\n component: 'text-element',\n inline: true,\n settings: [{\n name: 'textStyle',\n type: 'text-style'\n }, {\n name: 'buttonStyle',\n type: 'button-style',\n className: 'mt-4'\n }]\n};\n\nvar callToAction = {\n id: 'call-to-action',\n isList: true,\n component: 'call-to-action',\n fields: [{\n name: 'active',\n type: 'toggle',\n isHorizontal: true,\n label: reactIntl.defineMessage({\n id: \"52tY6n\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Call to Action\"\n }]\n })\n }, {\n name: 'type',\n type: 'radios',\n options: [{\n value: 'swipe-up',\n label: reactIntl.defineMessage({\n id: \"jvvJbk\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Swipe up\"\n }]\n })\n }, {\n value: 'button',\n label: reactIntl.defineMessage({\n id: \"fxfV+l\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Button\"\n }]\n })\n }],\n firstOptionAsDefault: true,\n isHorizontal: true,\n label: reactIntl.defineMessage({\n id: \"ZvKOEb\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Type\"\n }]\n })\n }, {\n name: 'url',\n type: 'url',\n // isHorizontal: true,\n label: reactIntl.defineMessage({\n id: \"TXkHah\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Link\"\n }]\n })\n }, {\n name: 'label',\n type: 'text-element',\n textOnly: true,\n label: reactIntl.defineMessage({\n id: \"D/N9gA\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Label\"\n }]\n })\n }]\n};\n\nvar checkboxes = {\n id: 'checkboxes',\n component: 'checkboxes'\n};\n\nvar closedCaptions = {\n id: 'closed-captions',\n component: 'closed-captions'\n};\n\nvar color = {\n id: 'color',\n component: 'color'\n};\n\nvar conversation = {\n id: 'conversation',\n component: 'conversation',\n fields: [{\n name: 'speakers',\n type: 'speakers',\n label: reactIntl.defineMessage({\n id: \"JC9Qlf\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Speakers\"\n }]\n })\n }, {\n name: 'messages',\n type: 'messages',\n label: reactIntl.defineMessage({\n id: \"f68O+0\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Messages\"\n }]\n })\n }],\n settings: [{\n name: 'messageStyle',\n type: 'text-style',\n label: reactIntl.defineMessage({\n id: \"k81FRn\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Message style\"\n }]\n })\n }, {\n name: 'speakerStyle',\n type: 'text-style',\n className: 'mt-4',\n label: reactIntl.defineMessage({\n id: \"9PfjeE\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Speaker style\"\n }]\n })\n }]\n};\n\nvar email = {\n id: 'email',\n component: 'text',\n type: 'email'\n};\n\nvar entries = {\n id: 'entries',\n component: 'items',\n noItemLabel: reactIntl.defineMessage({\n id: \"iHV3W3\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"No entry...\"\n }]\n }),\n addItemLabel: reactIntl.defineMessage({\n id: \"l/Y6or\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Add an entry\"\n }]\n }),\n itemsField: {\n type: 'entry',\n breadcrumbLabel: reactIntl.defineMessage({\n id: \"wsNfYo\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Entry\"\n }]\n })\n }\n};\n\nvar entriesWithImage = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, entries), {}, {\n id: 'entries-with-image',\n itemsField: {\n type: 'entry-with-image',\n breadcrumbLabel: reactIntl.defineMessage({\n id: \"wsNfYo\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Entry\"\n }]\n })\n }\n});\n\nvar entriesWithVisual = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, entries), {}, {\n id: 'entries-with-visual',\n itemsField: {\n type: 'entry-with-visual',\n breadcrumbLabel: reactIntl.defineMessage({\n id: \"wsNfYo\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Entry\"\n }]\n })\n }\n});\n\nvar entry = {\n id: 'entry',\n component: 'field-with-form',\n labelPath: 'title.body',\n fields: [{\n name: 'title',\n type: 'heading-element',\n label: reactIntl.defineMessage({\n id: \"+AEVbJ\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'description',\n type: 'text-element',\n label: reactIntl.defineMessage({\n id: \"ZCe0r4\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n })\n }]\n};\n\nvar entryWithImage = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, entry), {}, {\n id: 'entry-with-image',\n fields: [].concat(_toConsumableArray__default[\"default\"](entry.fields), [{\n name: 'image',\n type: 'image',\n label: reactIntl.defineMessage({\n id: \"xT/onn\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }])\n});\n\nvar entryWithVisual = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, entry), {}, {\n id: 'entry-with-visual',\n fields: [].concat(_toConsumableArray__default[\"default\"](entry.fields), [{\n name: 'image',\n type: 'visual',\n label: reactIntl.defineMessage({\n id: \"xT/onn\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }])\n});\n\nvar fieldWithForm = {\n id: 'field-with-form',\n component: 'field-with-form'\n};\n\nvar fields$1 = {\n id: 'fields',\n component: 'fields'\n};\n\nvar fit = {\n id: 'fit',\n component: 'fit'\n};\n\nvar font = {\n id: 'font',\n component: 'font',\n media: true\n};\n\nvar fonts = {\n id: 'fonts',\n component: 'fonts',\n itemsField: {\n type: 'font'\n }\n};\n\nvar fontFamily = {\n id: 'font-family',\n component: 'font-family'\n};\n\nvar fontSize = {\n id: 'font-size',\n component: 'font-size'\n};\n\nvar geoPosition = {\n id: 'geo-position',\n component: 'geo-position'\n};\n\nvar graphBarStyle = {\n id: 'graph-bar-style',\n isList: true,\n fields: [{\n name: 'barColor',\n type: 'color',\n label: reactIntl.defineMessage({\n id: \"qjL/eA\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Bar\"\n }]\n })\n }, {\n name: 'textColor',\n type: 'color',\n label: reactIntl.defineMessage({\n id: \"ZMS1Wv\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Text\"\n }]\n })\n }]\n};\n\nvar textElement = {\n id: 'text-element',\n component: 'text-element',\n settings: [{\n name: 'textStyle',\n type: 'text-style'\n }]\n};\n\nvar headingElement = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, textElement), {}, {\n id: 'heading-element',\n size: 'lg',\n inline: true\n});\n\nvar imageWithCaption = {\n id: 'image-with-caption',\n component: 'field-with-form',\n labelPath: 'caption.body',\n thumbnailPath: 'media.thumbnail_url',\n fields: [{\n name: 'media',\n type: 'image',\n label: reactIntl.defineMessage({\n id: \"xT/onn\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }, {\n name: 'caption',\n type: 'text-element',\n label: reactIntl.defineMessage({\n id: \"p85qJD\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Caption\"\n }]\n })\n }]\n};\n\nvar image = {\n id: 'image',\n component: 'image',\n media: true\n};\n\nvar imagesWithCaption = {\n id: 'images-with-caption',\n component: 'items',\n noItemLabel: reactIntl.defineMessage({\n id: \"dFMzBu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"No image...\"\n }]\n }),\n addItemLabel: reactIntl.defineMessage({\n id: \"QSmRdP\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Add an image\"\n }]\n }),\n itemsField: {\n type: 'image-with-caption',\n breadcrumbLabel: reactIntl.defineMessage({\n id: \"S3gGiD\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }\n};\n\nvar images = {\n id: 'images',\n component: 'images',\n itemsField: {\n type: 'image',\n breadcrumbLabel: reactIntl.defineMessage({\n id: \"/UoxuB\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }\n};\n\nvar inputElement = {\n id: 'input-element',\n component: 'input-element',\n settings: [{\n name: 'textStyle',\n type: 'text-style'\n }, {\n name: 'buttonStyle',\n type: 'button-style',\n className: 'mt-4'\n }]\n};\n\nvar items = {\n id: 'items',\n component: 'items'\n};\n\nvar itemTextStyle = {\n id: 'item-text-style',\n component: 'field-with-form',\n fields: [{\n name: 'style',\n type: 'text-style'\n }]\n};\n\nvar letterSpacing = {\n id: 'letter-spacing',\n component: 'number-with-icon',\n icon: {\n icon: [48, 48, [], 'f067', 'M12 14h5l-7-7-7 7h5v20h-5l7 7 7-7h-5v-20zm8-4v4h24v-4h-24zm0 28h24v-4h-24v4zm0-12h24v-4h-24v4z'],\n iconName: 'letter-spacing',\n prefix: 'fas'\n },\n iconRotation: -90,\n dataList: [-2, -1.5, -1, -0.5, 0, 0.5, 1, 1.5, 2],\n \"float\": true\n};\n\nvar lineHeight = {\n id: 'line-height',\n component: 'number-with-icon',\n icon: {\n icon: [48, 48, [], 'f067', 'M12 14h5l-7-7-7 7h5v20h-5l7 7 7-7h-5v-20zm8-4v4h24v-4h-24zm0 28h24v-4h-24v4zm0-12h24v-4h-24v4z'],\n iconName: 'line-height',\n prefix: 'fas'\n },\n dataList: [1, 1.1, 1.2, 1.3, 1.4, 1.5, 2],\n \"float\": true\n};\n\nvar marker = {\n id: 'marker',\n component: 'field-with-form',\n labelPath: 'title.body',\n fields: [{\n name: 'title',\n type: 'heading-element',\n label: reactIntl.defineMessage({\n id: \"+AEVbJ\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'description',\n type: 'text-element',\n label: reactIntl.defineMessage({\n id: \"ZCe0r4\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n })\n }, {\n name: 'geoPosition',\n type: 'geo-position',\n label: reactIntl.defineMessage({\n id: \"u3ok54\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Position\"\n }]\n })\n }]\n};\n\nvar markerWithImage = {\n id: 'marker-with-image',\n component: 'field-with-form',\n labelPath: 'title.body',\n fields: [{\n name: 'title',\n type: 'heading-element',\n label: reactIntl.defineMessage({\n id: \"+AEVbJ\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'description',\n type: 'text-element',\n label: reactIntl.defineMessage({\n id: \"ZCe0r4\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n })\n }, {\n name: 'image',\n type: 'image',\n label: reactIntl.defineMessage({\n id: \"xT/onn\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }, {\n name: 'geoPosition',\n type: 'geo-position',\n label: reactIntl.defineMessage({\n id: \"u3ok54\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Position\"\n }]\n })\n }]\n};\n\nvar markers = {\n id: 'markers',\n component: 'items',\n noItemLabel: reactIntl.defineMessage({\n id: \"rdFCsN\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"No marker...\"\n }]\n }),\n addItemLabel: reactIntl.defineMessage({\n id: \"8oczXQ\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Add a marker\"\n }]\n }),\n itemsField: {\n type: 'marker',\n breadcrumbLabel: reactIntl.defineMessage({\n id: \"t7FVa4\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Marker\"\n }]\n })\n }\n};\n\nvar markersWithImage = {\n id: 'markers-with-image',\n component: 'items',\n noItemLabel: reactIntl.defineMessage({\n id: \"rdFCsN\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"No marker...\"\n }]\n }),\n addItemLabel: reactIntl.defineMessage({\n id: \"8oczXQ\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Add a marker\"\n }]\n }),\n itemsField: {\n type: 'marker-with-image',\n breadcrumbLabel: reactIntl.defineMessage({\n id: \"4cCMV4\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Marker\"\n }]\n })\n }\n};\n\nvar mapZoom = {\n id: 'map-zoom',\n component: 'number',\n min: 0,\n max: 20\n};\n\nvar message = {\n id: 'message',\n component: 'message',\n labelPath: 'message',\n thumbnailPath: 'avatar.thumbnail_url',\n fields: [{\n name: 'speaker',\n type: 'select',\n label: reactIntl.defineMessage({\n id: \"muPX/j\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Speaker\"\n }]\n })\n }, {\n name: 'message',\n type: 'text',\n label: reactIntl.defineMessage({\n id: \"4R/bdr\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Message\"\n }]\n })\n }, {\n name: 'image',\n type: 'image',\n label: reactIntl.defineMessage({\n id: \"xT/onn\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }]\n};\n\nvar messages = {\n id: 'messages',\n component: 'items',\n noItemLabel: reactIntl.defineMessage({\n id: \"HTd98/\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"No message...\"\n }]\n }),\n addItemLabel: reactIntl.defineMessage({\n id: \"xCj1gI\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Add a message\"\n }]\n }),\n itemsField: {\n type: 'message',\n breadcrumbLabel: reactIntl.defineMessage({\n id: \"7cGi3J\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Message\"\n }]\n })\n }\n};\n\nvar metadata = {\n id: 'metadata',\n component: 'field-with-form',\n noValueLabel: reactIntl.defineMessage({\n id: \"K1BxIr\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Edit metadata...\"\n }]\n }),\n fields: [{\n name: 'title',\n type: 'text',\n label: reactIntl.defineMessage({\n id: \"+AEVbJ\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'description',\n type: 'text',\n label: reactIntl.defineMessage({\n id: \"ZCe0r4\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n })\n }]\n};\n\nvar number = {\n id: 'number',\n component: 'number'\n};\n\nvar password = {\n id: 'password',\n component: 'text',\n type: 'password'\n};\n\nvar parameters = {\n id: 'parameters',\n isList: true,\n fields: [{\n name: 'metadata',\n type: 'metadata',\n label: reactIntl.defineMessage({\n id: \"nc8LF0\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Metadata\"\n }]\n })\n }]\n};\n\nvar quizAnswer = {\n id: 'quiz-answer',\n component: 'field-with-form',\n labelPath: 'label.body',\n fields: [{\n name: 'label',\n type: 'text-element',\n textOnly: true,\n label: reactIntl.defineMessage({\n id: \"OJi+eg\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Label\"\n }]\n })\n }, {\n name: 'good',\n type: 'toggle',\n label: reactIntl.defineMessage({\n id: \"3NghmM\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Good answer\"\n }]\n })\n }, {\n name: 'buttonStyle',\n type: 'button-style',\n className: 'mt-4'\n }]\n};\n\nvar quizAnswers = {\n id: 'quiz-answers',\n component: 'items',\n noItemLabel: reactIntl.defineMessage({\n id: \"A+a0kL\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"No answer...\"\n }]\n }),\n addItemLabel: reactIntl.defineMessage({\n id: \"lGh/NP\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Add an answer\"\n }]\n }),\n itemsField: {\n type: 'quiz-answer',\n breadcrumbLabel: reactIntl.defineMessage({\n id: \"Bv/pu7\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Answer\"\n }]\n })\n }\n};\n\nvar radios = {\n id: 'radios',\n component: 'radios'\n};\n\nvar screenLayout = {\n id: 'screen-layout',\n component: 'screen-layout'\n};\n\nvar select = {\n id: 'select',\n component: 'select-advanced'\n};\n\nvar speaker = {\n id: 'speaker',\n component: 'field-with-form',\n labelPath: 'name',\n thumbnailPath: 'avatar.thumbnail_url',\n fields: [{\n name: 'name',\n type: 'text',\n label: reactIntl.defineMessage({\n id: \"UUv8FR\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Name\"\n }]\n })\n }, {\n name: 'avatar',\n type: 'image',\n label: reactIntl.defineMessage({\n id: \"hqOIl4\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Avatar\"\n }]\n })\n }, {\n name: 'side',\n type: 'radios',\n options: [{\n value: 'left',\n label: reactIntl.defineMessage({\n id: \"O2JVA+\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Left\"\n }]\n })\n }, {\n value: 'right',\n label: reactIntl.defineMessage({\n id: \"ptJkUl\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Right\"\n }]\n })\n }],\n label: reactIntl.defineMessage({\n id: \"6ak5YN\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Side\"\n }]\n })\n }, {\n name: 'color',\n type: 'color',\n label: reactIntl.defineMessage({\n id: \"aarOkd\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Color\"\n }]\n })\n }]\n};\n\nvar speakers = {\n id: 'speakers',\n component: 'items',\n getDefaultValue: function getDefaultValue() {\n return {\n id: uuid.v1(),\n side: 'left'\n };\n },\n noItemLabel: reactIntl.defineMessage({\n id: \"+nhSvj\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"No speaker...\"\n }]\n }),\n addItemLabel: reactIntl.defineMessage({\n id: \"opcGwP\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Add a speaker\"\n }]\n }),\n itemsField: {\n type: 'speaker',\n breadcrumbLabel: reactIntl.defineMessage({\n id: \"9Nk11Y\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Speaker\"\n }]\n })\n }\n};\n\nvar textStyle = {\n id: 'text-style',\n fields: [{\n type: 'fields',\n label: reactIntl.defineMessage({\n id: \"Wr9olU\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Typography\"\n }]\n }),\n isList: true,\n fields: [{\n name: 'fontFamily',\n type: 'font-family',\n label: reactIntl.defineMessage({\n id: \"ET527E\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Font family\"\n }]\n })\n }, {\n name: 'color',\n type: 'color',\n label: reactIntl.defineMessage({\n id: \"aarOkd\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Color\"\n }]\n })\n }, {\n name: 'fontSize',\n type: 'font-size',\n label: reactIntl.defineMessage({\n id: \"tYGev7\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Font size\"\n }]\n })\n }, {\n component: 'font-style-with-align',\n fontStyleName: 'fontStyle',\n alignName: 'align'\n }]\n }, {\n type: 'fields',\n name: 'highlight',\n label: reactIntl.defineMessage({\n id: \"HWpflq\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Highlight\"\n }]\n }),\n isList: true,\n fields: [{\n name: 'color',\n type: 'color',\n label: reactIntl.defineMessage({\n id: \"aarOkd\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Color\"\n }]\n })\n }, {\n name: 'textColor',\n type: 'color',\n label: reactIntl.defineMessage({\n id: \"DU1qdc\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Text color\"\n }]\n })\n }]\n }, {\n type: 'fields',\n name: 'link',\n label: reactIntl.defineMessage({\n id: \"ICXTfR\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Links\"\n }]\n }),\n isList: true,\n fields: [{\n name: 'color',\n type: 'color',\n label: reactIntl.defineMessage({\n id: \"aarOkd\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Color\"\n }]\n })\n }, {\n name: 'fontStyle',\n component: 'font-style',\n isHorizontal: true,\n label: reactIntl.defineMessage({\n id: \"6MxaVf\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Style\"\n }]\n })\n }]\n }, {\n type: 'fields',\n label: reactIntl.defineMessage({\n id: \"y7xsPe\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Advanced settings\"\n }]\n }),\n isList: true,\n fields: [{\n name: 'lineHeight',\n type: 'line-height',\n label: reactIntl.defineMessage({\n id: \"31zuCS\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Line height\"\n }]\n })\n }, {\n name: 'letterSpacing',\n type: 'letter-spacing',\n label: reactIntl.defineMessage({\n id: \"Z5jrDS\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Letter spacing\"\n }]\n })\n }, {\n component: 'font-style-transform',\n name: 'fontStyle',\n transformName: 'transform',\n label: reactIntl.defineMessage({\n id: \"GMCLhn\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Case\"\n }]\n })\n }]\n }]\n};\n\nvar text = {\n id: 'text',\n component: 'text'\n};\n\nvar toggle = {\n id: 'toggle',\n component: 'toggle'\n};\n\nvar tokens = {\n id: 'tokens',\n component: 'tokens'\n};\n\nvar url = {\n id: 'url',\n component: 'url'\n};\n\nvar video = {\n id: 'video',\n component: 'video',\n media: true\n};\n\nvar videoElement = {\n id: 'video-element',\n fields: [{\n name: 'media',\n type: 'video'\n }],\n settings: [{\n name: 'autoPlay',\n type: 'toggle',\n label: reactIntl.defineMessage({\n id: \"pJgYyE\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"AutoPlay\"\n }]\n })\n }, {\n name: 'loop',\n type: 'toggle',\n label: reactIntl.defineMessage({\n id: \"F2SD/0\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Loop\"\n }]\n })\n }, {\n name: 'withPlayPause',\n type: 'toggle',\n label: reactIntl.defineMessage({\n id: \"8EI08h\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"With play/pause button\"\n }]\n })\n }, {\n name: 'withSeekBar',\n type: 'toggle',\n label: reactIntl.defineMessage({\n id: \"T0pi1u\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"With seek bar\"\n }]\n })\n }, {\n name: 'closedCaptions',\n type: 'closed-captions',\n label: reactIntl.defineMessage({\n id: \"4H2n5r\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Closed captions\"\n }]\n })\n }]\n};\n\nvar visual = {\n id: 'visual',\n component: 'visual',\n media: true\n};\n\nvar visualWithCaption = {\n id: 'visual-with-caption',\n component: 'field-with-form',\n labelPath: 'caption.body',\n thumbnailPath: 'media.thumbnail_url',\n fields: [{\n name: 'media',\n type: 'visual',\n label: reactIntl.defineMessage({\n id: \"xT/onn\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }, {\n name: 'caption',\n type: 'text-element',\n label: reactIntl.defineMessage({\n id: \"p85qJD\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Caption\"\n }]\n })\n }]\n};\n\nvar visualsWithCaption = {\n id: 'visuals-with-caption',\n component: 'items',\n noItemLabel: reactIntl.defineMessage({\n id: \"dFMzBu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"No image...\"\n }]\n }),\n addItemLabel: reactIntl.defineMessage({\n id: \"QSmRdP\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Add an image\"\n }]\n }),\n itemsField: {\n type: 'visual-with-caption',\n breadcrumbLabel: reactIntl.defineMessage({\n id: \"S3gGiD\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }\n};\n\nvar visuals = {\n id: 'visuals',\n component: 'visuals',\n itemsField: {\n type: 'visual',\n breadcrumbLabel: reactIntl.defineMessage({\n id: \"/UoxuB\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }\n};\n\nvar fields = /*#__PURE__*/Object.freeze({\n __proto__: null,\n audio: audio,\n audioElement: audioElement,\n answer: answer,\n answers: answers,\n background: background,\n borderRadius: borderRadius,\n borderStyle: borderStyle,\n borderWidth: borderWidth,\n buttonStyle: buttonStyle,\n buttonElement: buttonElement,\n callToAction: callToAction,\n checkboxes: checkboxes,\n closedCaptions: closedCaptions,\n color: color,\n conversation: conversation,\n email: email,\n entriesWithImage: entriesWithImage,\n entriesWithVisual: entriesWithVisual,\n entries: entries,\n entryWithImage: entryWithImage,\n entryWithVisual: entryWithVisual,\n entry: entry,\n fieldWithForm: fieldWithForm,\n fields: fields$1,\n fit: fit,\n font: font,\n fonts: fonts,\n fontFamily: fontFamily,\n fontSize: fontSize,\n geoPosition: geoPosition,\n graphBarStyle: graphBarStyle,\n headingElement: headingElement,\n imageWithCaption: imageWithCaption,\n image: image,\n imagesWithCaption: imagesWithCaption,\n images: images,\n inputElement: inputElement,\n items: items,\n itemTextStyle: itemTextStyle,\n letterSpacing: letterSpacing,\n lineHeight: lineHeight,\n marker: marker,\n markerWithImage: markerWithImage,\n markers: markers,\n markersWithImage: markersWithImage,\n mapZoom: mapZoom,\n message: message,\n messages: messages,\n metadata: metadata,\n number: number,\n password: password,\n parameters: parameters,\n quizAnswer: quizAnswer,\n quizAnswers: quizAnswers,\n radios: radios,\n screenLayout: screenLayout,\n select: select,\n speaker: speaker,\n speakers: speakers,\n textElement: textElement,\n textStyle: textStyle,\n text: text,\n toggle: toggle,\n tokens: tokens,\n url: url,\n video: video,\n videoElement: videoElement,\n visual: visual,\n visualWithCaption: visualWithCaption,\n visualsWithCaption: visualsWithCaption,\n visuals: visuals\n});\n\nvar allFields = Object.keys(fields).map(function (name) {\n return fields[name];\n});\nvar manager$1 = new core.FieldsManager(allFields);\n\nvar manager = new core.FieldsManager();\nmanager.merge(manager$1);\n\nmodule.exports = manager;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar _objectSpread = require('@babel/runtime/helpers/objectSpread2');\nvar _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');\nvar _classCallCheck = require('@babel/runtime/helpers/classCallCheck');\nvar _createClass = require('@babel/runtime/helpers/createClass');\nvar React = require('react');\nvar PropTypes = require('prop-types');\nvar reactIntl = require('react-intl');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);\nvar _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);\nvar _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);\nvar _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);\nvar React__default = /*#__PURE__*/_interopDefaultLegacy(React);\nvar PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);\n\nvar IntlManager = /*#__PURE__*/function () {\n function IntlManager() {\n _classCallCheck__default[\"default\"](this, IntlManager);\n\n this.locales = [];\n }\n\n _createClass__default[\"default\"](IntlManager, [{\n key: \"addLocale\",\n value: function addLocale(locale, messages) {\n var replace = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var currentLocale = this.getLocale(locale);\n this.locales = [].concat(_toConsumableArray__default[\"default\"](currentLocale !== null ? this.locales.filter(function (it) {\n return it.locale !== locale;\n }) : this.locales), [{\n locale: locale,\n messages: currentLocale !== null && !replace ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, currentLocale.messages), messages) : messages\n }]);\n }\n }, {\n key: \"getLocale\",\n value: function getLocale(locale) {\n return this.locales.find(function (it) {\n return it.locale === locale;\n }) || null;\n }\n }, {\n key: \"hasLocale\",\n value: function hasLocale(locale) {\n return this.getLocale(locale) !== null;\n }\n }, {\n key: \"getMessages\",\n value: function getMessages(locale) {\n var localeObj = this.locales.find(function (it) {\n return it.locale === locale;\n }) || null;\n\n if (localeObj === null) {\n return null;\n }\n\n return localeObj.messages;\n }\n }]);\n\n return IntlManager;\n}();\n\nvar intlManager = new IntlManager();\n\nvar defaultLocales = ['en', 'fr'];\nvar LocalesContext = /*#__PURE__*/React__default[\"default\"].createContext(defaultLocales);\nvar useLocales = function useLocales() {\n return React.useContext(LocalesContext);\n};\nvar useOtherLocales = function useOtherLocales() {\n var locales = useLocales();\n\n var _useContext = React.useContext(reactIntl.IntlContext),\n locale = _useContext.locale;\n\n var otherLocales = React.useMemo(function () {\n return locales.filter(function (it) {\n return it !== locale;\n });\n }, [locales, locale]);\n return otherLocales;\n};\nvar propTypes = {\n intlManager: PropTypes__default[\"default\"].instanceOf(IntlManager),\n locale: PropTypes__default[\"default\"].string,\n locales: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].string),\n extraMessages: PropTypes__default[\"default\"].objectOf(PropTypes__default[\"default\"].string),\n children: PropTypes__default[\"default\"].node\n};\nvar defaultProps = {\n intlManager: intlManager,\n locale: null,\n locales: null,\n extraMessages: null,\n children: null\n};\nvar IntlProvider = function IntlProvider(_ref) {\n var intlManager = _ref.intlManager,\n locale = _ref.locale,\n locales = _ref.locales,\n children = _ref.children,\n extraMessages = _ref.extraMessages;\n var previousLocales = useLocales();\n\n var _ref2 = React.useContext(reactIntl.IntlContext) || {},\n _ref2$locale = _ref2.locale,\n previousLocale = _ref2$locale === void 0 ? null : _ref2$locale,\n _ref2$messages = _ref2.messages,\n previousMessages = _ref2$messages === void 0 ? null : _ref2$messages;\n\n var messages = React.useMemo(function () {\n var currentMessages = intlManager.getMessages(locale);\n\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, currentMessages), extraMessages), previousLocale === locale ? previousMessages : null);\n }, [locale, previousLocale, previousMessages, extraMessages]);\n return /*#__PURE__*/React__default[\"default\"].createElement(reactIntl.IntlProvider, {\n locale: locale,\n messages: messages\n }, /*#__PURE__*/React__default[\"default\"].createElement(LocalesContext.Provider, {\n value: locales || previousLocales\n }, children));\n};\nIntlProvider.propTypes = propTypes;\nIntlProvider.defaultProps = defaultProps;\n\nexports.IntlManager = IntlManager;\nexports.IntlProvider = IntlProvider;\nexports.LocalesContext = LocalesContext;\nexports[\"default\"] = intlManager;\nexports.useLocales = useLocales;\nexports.useOtherLocales = useOtherLocales;\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { useUserInteracted } from '@micromag/core/contexts';\nimport { useResizeObserver, useMediaApi } from '@micromag/core/hooks';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useRef, useEffect, useCallback, useState } from 'react';\nimport { useSpring } from '@react-spring/core';\nimport { animated } from '@react-spring/web';\nimport { useGesture } from '@use-gesture/react';\nimport 'whatwg-fetch';\n\nvar styles$1 = {\"container\":\"micromag-element-audio-audio-wave-container\",\"button\":\"micromag-element-audio-audio-wave-button\",\"canvasBackground\":\"micromag-element-audio-audio-wave-canvasBackground\",\"canvasProgress\":\"micromag-element-audio-audio-wave-canvasProgress\"};\n\nvar propTypes$1 = {\n currentTime: PropTypes.number,\n duration: PropTypes.number,\n playing: PropTypes.bool,\n sampleWidth: PropTypes.number,\n sampleMargin: PropTypes.number,\n minSampleHeight: PropTypes.number,\n backgroundColor: PropTypes.string,\n progressColor: PropTypes.string,\n audioLevels: PropTypes.arrayOf(PropTypes.number),\n className: PropTypes.string,\n onSeek: PropTypes.func,\n onResume: PropTypes.func,\n onReady: PropTypes.func\n};\nvar defaultProps$1 = {\n currentTime: null,\n duration: null,\n playing: false,\n sampleWidth: 3,\n sampleMargin: 1,\n minSampleHeight: 2,\n backgroundColor: 'white',\n progressColor: 'lightblue',\n audioLevels: null,\n className: null,\n onSeek: null,\n onResume: null,\n onReady: null\n};\n\nfunction AudioWave(_ref) {\n var currentTime = _ref.currentTime,\n duration = _ref.duration,\n playing = _ref.playing,\n sampleWidth = _ref.sampleWidth,\n sampleMargin = _ref.sampleMargin,\n minSampleHeight = _ref.minSampleHeight,\n backgroundColor = _ref.backgroundColor,\n progressColor = _ref.progressColor,\n audioLevels = _ref.audioLevels,\n className = _ref.className,\n onSeek = _ref.onSeek,\n onResume = _ref.onResume,\n onReady = _ref.onReady;\n var canvasBackgroundRef = useRef(null);\n var canvasProgressRef = useRef(null);\n\n var _useResizeObserver = useResizeObserver(),\n elRef = _useResizeObserver.ref,\n elContentRect = _useResizeObserver.entry.contentRect;\n\n var _ref2 = elContentRect || {},\n _ref2$width = _ref2.width,\n elWidth = _ref2$width === void 0 ? null : _ref2$width,\n elHeight = _ref2.height; // Linear animation for progress bar\n\n\n var _useSpring = useSpring(function () {\n return {\n x: 0,\n config: {\n duration: 0\n }\n };\n }),\n _useSpring2 = _slicedToArray(_useSpring, 2),\n springProps = _useSpring2[0],\n setSpringProps = _useSpring2[1];\n\n useEffect(function () {\n if (currentTime === null || duration === null) {\n return;\n }\n\n var progress = currentTime / duration;\n setSpringProps.start({\n reset: true,\n immediate: !playing,\n from: {\n x: progress\n },\n to: {\n x: playing ? 1 : progress\n },\n config: {\n duration: (duration - currentTime) * 1000\n }\n });\n }, [playing, duration, currentTime, setSpringProps]); // draw canvas\n\n useEffect(function () {\n if (audioLevels === null || audioLevels.length === 0 || elRef.current === null) {\n return;\n }\n\n var sampleOuterWidth = sampleWidth + sampleMargin * 2;\n var samplesCount = Math.floor(elWidth / sampleOuterWidth); // const amplitudes = [];\n // get samples\n\n var levelsBySamples = audioLevels.length / samplesCount;\n\n var amplitudes = _toConsumableArray(Array(samplesCount).keys()).reduce(function (newAmplitudes, index) {\n var levelStartIndex = index * levelsBySamples;\n var levelEndIndex = levelStartIndex + levelsBySamples;\n var newValues = [];\n\n for (var i = Math.floor(levelStartIndex); i < Math.round(levelEndIndex); i += 1) {\n newValues.push(audioLevels[i]);\n }\n\n return levelsBySamples >= 1 ? [].concat(_toConsumableArray(newAmplitudes), [newValues.reduce(function (total, value) {\n return total + value;\n }, 0) / newValues.length]) : [].concat(_toConsumableArray(newAmplitudes), newValues);\n }, []); // for (let sampleI = 0; sampleI < samplesCount; sampleI += levelsBySamples) {\n // // if (levelsBySamples >= 1) {\n // // const sampleSize = Math.floor(levelsBySamples);\n // // const sampleStart = sampleSize * sampleI;\n // // let sum = 0;\n // // for (let sampleSizeI = 0; sampleSizeI < sampleSize; sampleSizeI += 1) {\n // // sum += Math.abs(audioLevels[sampleStart + sampleSizeI]);\n // // }\n // // amplitudes.push(sum / sampleSize);\n // // } else {\n // console.log(sampleI);\n // amplitudes.push(Math.abs(audioLevels[Math.floor(sampleI)]));\n // // for (let sampleSizeI = 0; sampleSizeI < sampleSize; sampleSizeI += 1) {\n // // console.log(sampleI, sampleSize);\n // // amplitudes.push(Math.abs(audioLevels[sampleI % sampleSize]));\n // // }\n // // }\n // }\n\n\n var minAmplitude = Math.min.apply(Math, _toConsumableArray(amplitudes));\n var maxAmplitude = Math.max.apply(Math, _toConsumableArray(amplitudes));\n var delta = maxAmplitude - minAmplitude;\n var normalizedAmplitudes = amplitudes.map(function (n) {\n return (n - minAmplitude) / delta;\n }); // draw samples\n\n var canvasBg = canvasBackgroundRef.current;\n var canvasProgress = canvasProgressRef.current;\n var scale = typeof window !== 'undefined' ? window.devicePixelRatio : 1;\n canvasBg.width = canvasProgress.width = Math.floor(elWidth * scale);\n canvasBg.height = canvasProgress.height = Math.floor(elHeight * scale);\n var ctxBG = canvasBg.getContext('2d');\n var ctxProgress = canvasProgress.getContext('2d');\n ctxBG.scale(scale, scale);\n ctxProgress.scale(scale, scale);\n ctxBG.clearRect(0, 0, elWidth, elHeight);\n ctxProgress.clearRect(0, 0, elWidth, elHeight);\n ctxBG.fillStyle = backgroundColor;\n ctxProgress.fillStyle = progressColor;\n var offsetLeft = (elWidth - samplesCount * sampleOuterWidth) / 2;\n normalizedAmplitudes.forEach(function (amplitude, amplitudeI) {\n var sampleHeight = Math.max(minSampleHeight, amplitude * elHeight);\n var sampleX = sampleOuterWidth * amplitudeI + offsetLeft + sampleMargin;\n var sampleY = elHeight / 2 - sampleHeight / 2;\n ctxBG.fillRect(Math.round(sampleX), Math.round(sampleY), sampleWidth, Math.round(sampleHeight));\n ctxProgress.fillRect(Math.round(sampleX), Math.round(sampleY), sampleWidth, Math.round(sampleHeight));\n });\n\n if (onReady !== null) {\n onReady();\n }\n }, [audioLevels, sampleWidth, sampleMargin, minSampleHeight, elWidth, elHeight, backgroundColor, progressColor, onReady]); // User events\n\n var seekFromX = useCallback(function (x) {\n var elX = elRef.current.getBoundingClientRect().left;\n var progress = Math.max(0, Math.min(1, (x - elX) / elWidth));\n\n if (onSeek !== null && duration !== null) {\n onSeek(progress * duration);\n }\n\n if (!playing) {\n onResume();\n }\n }, [duration, playing, onSeek, onResume]);\n var bind = useGesture({\n onDrag: function onDrag(_ref3) {\n var _ref3$xy = _slicedToArray(_ref3.xy, 1),\n x = _ref3$xy[0],\n elapsedTime = _ref3.elapsedTime,\n active = _ref3.active;\n\n if (!active && elapsedTime > 300) {\n return;\n }\n\n seekFromX(x);\n }\n }, {\n drag: {\n axis: 'x',\n filterTaps: true\n }\n });\n return /*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: classNames([styles$1.container, _defineProperty({}, className, className !== null)]),\n ref: elRef\n }, bind()), /*#__PURE__*/React.createElement(\"canvas\", {\n ref: canvasBackgroundRef,\n className: styles$1.canvasBackground\n }), /*#__PURE__*/React.createElement(animated.canvas, {\n ref: canvasProgressRef,\n className: styles$1.canvasProgress,\n style: {\n clipPath: springProps.x.to(function (x) {\n return \"polygon(0 0, \".concat(x * 100, \"% 0, \").concat(x * 100, \"% 100%, 0 100%)\");\n })\n }\n }));\n}\n\nAudioWave.propTypes = propTypes$1;\nAudioWave.defaultProps = defaultProps$1;\n\nvar styles = {\"container\":\"micromag-element-audio-container\",\"wave\":\"micromag-element-audio-wave\"};\n\nvar _excluded = [\"ref\"];\nvar propTypes = {\n media: PropTypes$1.audioMedia,\n apiRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: PropTypes.any\n })]),\n initialMuted: PropTypes.oneOf(['auto', true, false]),\n autoPlay: PropTypes.bool,\n loop: PropTypes.bool,\n waveFake: PropTypes.bool,\n waveProps: PropTypes.shape({\n sampleWidth: PropTypes.number,\n sampleMargin: PropTypes.number,\n minSampleHeight: PropTypes.number\n }),\n reduceBufferFactor: PropTypes.number,\n className: PropTypes.string,\n onReady: PropTypes.func,\n onPlay: PropTypes.func,\n onPause: PropTypes.func,\n onEnded: PropTypes.func,\n onSeeked: PropTypes.func,\n onTimeUpdate: PropTypes.func,\n onProgressStep: PropTypes.func,\n onDurationChanged: PropTypes.func,\n onVolumeChanged: PropTypes.func\n};\nvar defaultProps = {\n media: null,\n apiRef: null,\n initialMuted: 'auto',\n autoPlay: false,\n loop: false,\n waveFake: false,\n waveProps: null,\n reduceBufferFactor: 100,\n className: null,\n onReady: null,\n onPlay: null,\n onPause: null,\n onEnded: null,\n onSeeked: null,\n onTimeUpdate: null,\n onProgressStep: null,\n onDurationChanged: null,\n onVolumeChanged: null\n};\n\nvar Audio = function Audio(_ref) {\n var media = _ref.media,\n apiRef = _ref.apiRef,\n initialMuted = _ref.initialMuted,\n autoPlay = _ref.autoPlay,\n loop = _ref.loop,\n waveFake = _ref.waveFake,\n waveProps = _ref.waveProps,\n reduceBufferFactor = _ref.reduceBufferFactor,\n className = _ref.className,\n onReady = _ref.onReady,\n onPlay = _ref.onPlay,\n onPause = _ref.onPause,\n onEnded = _ref.onEnded,\n onSeeked = _ref.onSeeked,\n onTimeUpdate = _ref.onTimeUpdate,\n onProgressStep = _ref.onProgressStep,\n onDurationChanged = _ref.onDurationChanged,\n onVolumeChanged = _ref.onVolumeChanged;\n\n var _ref2 = media || {},\n _ref2$url = _ref2.url,\n url = _ref2$url === void 0 ? null : _ref2$url,\n _ref2$metadata = _ref2.metadata,\n metadata = _ref2$metadata === void 0 ? null : _ref2$metadata;\n\n var _ref3 = metadata || {},\n _ref3$waveform = _ref3.waveform,\n waveform = _ref3$waveform === void 0 ? null : _ref3$waveform;\n\n var userInteracted = useUserInteracted();\n var finalInitialMuted = initialMuted === true || initialMuted === 'auto' && autoPlay && !userInteracted;\n\n var _useMediaApi = useMediaApi({\n url: url,\n initialMuted: finalInitialMuted,\n onPlay: onPlay,\n onPause: onPause,\n onEnded: onEnded,\n onSeeked: onSeeked,\n onTimeUpdate: onTimeUpdate,\n onProgressStep: onProgressStep,\n onDurationChanged: onDurationChanged,\n onVolumeChanged: onVolumeChanged\n }),\n ref = _useMediaApi.ref,\n api = _objectWithoutProperties(_useMediaApi, _excluded);\n\n if (apiRef !== null) {\n apiRef.current = api;\n apiRef.current.mediaRef = ref;\n }\n\n var currentTime = api.currentTime,\n duration = api.duration,\n playing = api.playing,\n seek = api.seek,\n audioReady = api.ready,\n play = api.play,\n pause = api.pause,\n muted = api.muted,\n unMute = api.unMute;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n audioLevels = _useState2[0],\n setAudioLevels = _useState2[1];\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n blobUrl = _useState4[0],\n setBlobUrl = _useState4[1];\n\n useEffect(function () {\n var canceled = false;\n var AudioContext = typeof window !== 'undefined' ? window.AudioContext || window.webkitAudioContext : null;\n\n if (waveform !== null) {\n setAudioLevels(waveform.map(function (it) {\n return (it + 256 / 2) / 256;\n }));\n } else if (url !== null && waveFake) {\n var fakeLength = 1000;\n setAudioLevels(_toConsumableArray(new Array(fakeLength)).map(function () {\n return Math.random();\n }));\n } else if (url !== null && AudioContext !== null) {\n fetch(url, {\n mode: 'cors'\n }).then(function (response) {\n if (canceled) {\n throw new Error('Audio loading canceled');\n }\n\n return response.arrayBuffer();\n }).then(function (arrayBuffer) {\n if (canceled) {\n throw new Error('Audio loading canceled');\n }\n\n setBlobUrl(URL.createObjectURL(new Blob([arrayBuffer])));\n var audioCtx = new AudioContext();\n return audioCtx.decodeAudioData(arrayBuffer);\n }).then(function (buffer) {\n var channelsCount = buffer.numberOfChannels;\n\n if (channelsCount > 0) {\n var leftChannelData = buffer.getChannelData(0);\n setAudioLevels(leftChannelData.reduce(function (newArray, level, levelIndex) {\n // if (levelIndex % reduceBufferFactor === 0) {\n // console.log(level, (level + 1) / 2);\n newArray[newArray.length] = Math.abs(level); // }\n\n return newArray;\n }, []));\n }\n })[\"catch\"](function (e) {\n throw e;\n });\n }\n\n return function () {\n if (url === null) {\n canceled = true;\n }\n };\n }, [url, waveform, setAudioLevels, setBlobUrl, reduceBufferFactor, waveFake]);\n var ready = waveFake || audioReady && blobUrl !== null;\n useEffect(function () {\n if (ready && onReady !== null) {\n onReady();\n }\n }, [ready, onReady]);\n useEffect(function () {\n if (autoPlay) {\n play();\n\n if (initialMuted === 'auto' && muted && userInteracted) {\n unMute();\n }\n } else {\n pause();\n }\n }, [autoPlay]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, _defineProperty({}, className, className !== null)])\n }, /*#__PURE__*/React.createElement(\"audio\", {\n key: url,\n ref: ref,\n src: waveFake ? url : blobUrl,\n autoPlay: autoPlay,\n muted: muted,\n loop: loop,\n crossOrigin: \"anonymous\",\n preload: \"none\"\n }), /*#__PURE__*/React.createElement(AudioWave, Object.assign({\n className: styles.wave,\n media: media,\n currentTime: currentTime\n }, waveProps, {\n duration: duration,\n playing: playing,\n onSeek: seek,\n onResume: play,\n audioLevels: audioLevels\n })));\n};\n\nAudio.propTypes = propTypes;\nAudio.defaultProps = defaultProps;\nvar Audio$1 = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(Audio, Object.assign({\n apiRef: ref\n }, props));\n});\n\nexport { AudioWave, Audio$1 as default };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport 'whatwg-fetch';\nimport React, { useState, useEffect, useCallback } from 'react';\nimport PropTypes$1 from 'prop-types';\nimport classNames from 'classnames';\nimport parseSRT from 'parse-srt';\nimport fetch from 'node-fetch';\nimport { PropTypes } from '@micromag/core';\nimport { getSecondsFromTime } from '@micromag/core/utils';\n\nvar styles = {\"container\":\"micromag-element-closed-captions-container\",\"captions\":\"micromag-element-closed-captions-captions\"};\n\nvar propTypes = {\n media: PropTypes.closedCaptionsMedia,\n currentTime: PropTypes$1.number,\n // in seconds\n timeOffset: PropTypes$1.string,\n // in srt time format (10:00:01,034)\n className: PropTypes$1.string\n};\nvar defaultProps = {\n media: null,\n currentTime: 0,\n timeOffset: null,\n className: null\n};\n\nvar ClosedCaptions = function ClosedCaptions(_ref) {\n var currentTime = _ref.currentTime,\n timeOffset = _ref.timeOffset,\n media = _ref.media,\n className = _ref.className;\n\n var _ref2 = media || {},\n _ref2$url = _ref2.url,\n url = _ref2$url === void 0 ? null : _ref2$url;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n lines = _useState2[0],\n setLines = _useState2[1];\n\n var _useState3 = useState(-1),\n _useState4 = _slicedToArray(_useState3, 2),\n lineIndex = _useState4[0],\n setLineIndex = _useState4[1];\n\n var startOffset = timeOffset !== null ? timeOffset.split(/[\\t ]*-->[\\t ]*/) : null;\n var startSeconds = startOffset !== null && startOffset.length ? getSecondsFromTime(startOffset[0]) : 0;\n useEffect(function () {\n if (url === null) {\n return;\n }\n\n fetch(url, {\n mode: 'cors'\n }).then(function (response) {\n return response.text();\n }).then(function (srt) {\n return parseSRT(srt);\n }).then(function (parsed) {\n setLines(parsed);\n })[\"catch\"](function (e) {\n console.error(e);\n });\n }, [url, fetch, setLines]);\n var getLineIndexFromTime = useCallback(function (t) {\n var currentLineIndex = lines.findIndex(function (line) {\n return t >= line.start - startSeconds && t <= line.end - startSeconds;\n });\n return currentLineIndex;\n }, [lines, startSeconds]);\n useEffect(function () {\n if (lines.length > 0) {\n var nextLineIndex = getLineIndexFromTime(currentTime);\n\n if (nextLineIndex !== lineIndex) {\n setLineIndex(nextLineIndex);\n }\n }\n }, [currentTime, lines, getLineIndexFromTime, setLineIndex]);\n var line = lineIndex !== -1 ? lines[lineIndex] : null;\n var active = line !== null;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, _defineProperty({}, className, className !== null)])\n }, active ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.captions,\n dangerouslySetInnerHTML: active ? {\n __html: line.text\n } : null\n }) : null);\n};\n\nClosedCaptions.propTypes = propTypes;\nClosedCaptions.defaultProps = defaultProps;\n\nexport { ClosedCaptions as default };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport React, { useEffect, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { useIntl } from 'react-intl';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faPause, faPlay, faVolumeUp } from '@fortawesome/free-solid-svg-icons';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport { useSpring } from '@react-spring/core';\nimport { animated } from '@react-spring/web';\n\nvar styles$1 = {\"container\":\"micromag-element-media-controls-seek-bar-container\",\"button\":\"micromag-element-media-controls-seek-bar-button\",\"progress\":\"micromag-element-media-controls-seek-bar-progress\"};\n\nvar propTypes$1 = {\n currentTime: PropTypes.number,\n duration: PropTypes.number,\n playing: PropTypes.bool,\n backgroundColor: PropTypes.string,\n progressColor: PropTypes.string,\n className: PropTypes.string,\n onSeek: PropTypes.func,\n focusable: PropTypes.bool\n};\nvar defaultProps$1 = {\n currentTime: null,\n duration: null,\n playing: false,\n backgroundColor: 'white',\n progressColor: 'lightblue',\n className: null,\n onSeek: null,\n focusable: true\n};\n\nvar SeekBar = function SeekBar(_ref) {\n var currentTime = _ref.currentTime,\n duration = _ref.duration,\n playing = _ref.playing,\n backgroundColor = _ref.backgroundColor,\n progressColor = _ref.progressColor,\n className = _ref.className,\n onSeek = _ref.onSeek,\n focusable = _ref.focusable;\n var intl = useIntl(); // exact same spring than SeekBar\n\n var _useSpring = useSpring(function () {\n return {\n x: 0,\n config: {\n duration: 0\n }\n };\n }),\n _useSpring2 = _slicedToArray(_useSpring, 2),\n springProps = _useSpring2[0],\n setSpringProps = _useSpring2[1];\n\n useEffect(function () {\n if (currentTime === null || duration === null) {\n return;\n }\n\n var progress = currentTime / duration;\n setSpringProps.start({\n reset: true,\n immediate: !playing,\n from: {\n x: progress\n },\n to: {\n x: playing ? 1 : progress\n },\n config: {\n duration: (duration - currentTime) * 1000\n }\n });\n }, [playing, duration, currentTime, setSpringProps]); // User events\n\n var onSeekClick = useCallback(function (e) {\n if (onSeek !== null && duration !== null) {\n var currentTargetRect = e.currentTarget.getBoundingClientRect();\n var seekProgress = (e.pageX - currentTargetRect.left) / currentTargetRect.width;\n onSeek(seekProgress * duration);\n }\n }, [duration]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles$1.container, _defineProperty({}, className, className !== null)]),\n style: {\n backgroundColor: backgroundColor\n }\n }, /*#__PURE__*/React.createElement(animated.div, {\n className: styles$1.progress,\n style: {\n transform: springProps.x.to(function (x) {\n return \"scaleX(\".concat(x);\n }),\n backgroundColor: progressColor\n }\n }), /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: styles$1.button,\n onClick: onSeekClick,\n title: intl.formatMessage({\n id: \"G1Gyjn\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Seek\"\n }]\n }),\n \"aria-label\": intl.formatMessage({\n id: \"G1Gyjn\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Seek\"\n }]\n }),\n tabIndex: focusable ? '0' : '-1'\n }));\n};\n\nSeekBar.propTypes = propTypes$1;\nSeekBar.defaultProps = defaultProps$1;\n\nvar styles = {\"container\":\"micromag-element-media-controls-container\",\"muteButton\":\"micromag-element-media-controls-muteButton\",\"playPauseButton\":\"micromag-element-media-controls-playPauseButton\",\"toggles\":\"micromag-element-media-controls-toggles\",\"seekBar\":\"micromag-element-media-controls-seekBar\",\"icon\":\"micromag-element-media-controls-icon\",\"playing\":\"micromag-element-media-controls-playing\",\"muted\":\"micromag-element-media-controls-muted\",\"withPlayPause\":\"micromag-element-media-controls-withPlayPause\"};\n\nvar propTypes = {\n playing: PropTypes.bool,\n muted: PropTypes.bool,\n currentTime: PropTypes.number,\n duration: PropTypes.number,\n onTogglePlay: PropTypes.func,\n onToggleMute: PropTypes.func,\n onSeek: PropTypes.func,\n withSeekBar: PropTypes.bool,\n withPlayPause: PropTypes.bool,\n className: PropTypes.string,\n focusable: PropTypes.bool\n};\nvar defaultProps = {\n playing: false,\n muted: false,\n currentTime: 0,\n duration: 0,\n onTogglePlay: null,\n onToggleMute: null,\n onSeek: null,\n withSeekBar: false,\n withPlayPause: false,\n className: null,\n focusable: true\n};\n\nvar MediaControls = function MediaControls(_ref) {\n var _ref2;\n\n var playing = _ref.playing,\n muted = _ref.muted,\n currentTime = _ref.currentTime,\n duration = _ref.duration,\n onTogglePlay = _ref.onTogglePlay,\n onToggleMute = _ref.onToggleMute,\n onSeek = _ref.onSeek,\n withSeekBar = _ref.withSeekBar,\n withPlayPause = _ref.withPlayPause,\n className = _ref.className,\n focusable = _ref.focusable;\n var intl = useIntl();\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref2 = {}, _defineProperty(_ref2, className, className !== null), _defineProperty(_ref2, styles.playing, playing), _defineProperty(_ref2, styles.muted, muted), _defineProperty(_ref2, styles.withPlayPause, withPlayPause), _ref2)])\n }, withSeekBar ? /*#__PURE__*/React.createElement(SeekBar, {\n className: styles.seekBar,\n currentTime: currentTime,\n duration: duration,\n playing: playing,\n onSeek: onSeek,\n focusable: focusable\n }) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.toggles\n }, /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: styles.playPauseButton,\n onClick: onTogglePlay,\n title: intl.formatMessage({\n id: \"ahSpiH\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Play\"\n }]\n }),\n \"aria-label\": intl.formatMessage({\n id: \"ahSpiH\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Play\"\n }]\n }),\n tabIndex: focusable ? '0' : '-1'\n }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {\n className: styles.icon,\n icon: playing ? faPause : faPlay\n })), /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: styles.muteButton,\n onClick: onToggleMute,\n title: intl.formatMessage({\n id: \"vzg8Es\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Mute\"\n }]\n }),\n \"aria-label\": intl.formatMessage({\n id: \"vzg8Es\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Mute\"\n }]\n }),\n tabIndex: focusable ? '0' : '-1'\n }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {\n className: styles.icon,\n icon: faVolumeUp\n }))));\n};\n\nMediaControls.propTypes = propTypes;\nMediaControls.defaultProps = defaultProps;\n\nexport { SeekBar, MediaControls as default };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';\nimport { PropTypes } from '@micromag/core';\nimport { useUserInteracted } from '@micromag/core/contexts';\nimport { useMediaApi } from '@micromag/core/hooks';\nimport { getMediaFilesAsArray } from '@micromag/core/utils';\nimport classNames from 'classnames';\nimport PropTypes$1 from 'prop-types';\nimport React, { useMemo, useEffect, useRef } from 'react';\n\nvar styles = {\"container\":\"micromag-element-video-container\",\"withSize\":\"micromag-element-video-withSize\",\"video\":\"micromag-element-video-video\"};\n\nvar _excluded = [\"ref\"];\nvar propTypes = {\n media: PropTypes.videoMedia,\n width: PropTypes$1.number,\n height: PropTypes$1.number,\n apiRef: PropTypes$1.oneOfType([PropTypes$1.func, PropTypes$1.shape({\n current: PropTypes$1.any\n })]),\n initialMuted: PropTypes$1.oneOf(['auto', true, false]),\n autoPlay: PropTypes$1.bool,\n loop: PropTypes$1.bool,\n playsInline: PropTypes$1.bool,\n preload: PropTypes$1.oneOf(['auto', 'metadata', 'none', null]),\n withoutCors: PropTypes$1.bool,\n className: PropTypes$1.string,\n onReady: PropTypes$1.func,\n onPlay: PropTypes$1.func,\n onPause: PropTypes$1.func,\n onEnded: PropTypes$1.func,\n onSeeked: PropTypes$1.func,\n onTimeUpdate: PropTypes$1.func,\n onProgressStep: PropTypes$1.func,\n onDurationChanged: PropTypes$1.func,\n onVolumeChanged: PropTypes$1.func,\n focusable: PropTypes$1.bool,\n supportedMimes: PropTypes$1.arrayOf(PropTypes$1.string) // onPosterLoaded: PropTypes.func,\n\n};\nvar defaultProps = {\n media: null,\n width: null,\n height: null,\n apiRef: null,\n initialMuted: 'auto',\n autoPlay: false,\n loop: false,\n playsInline: true,\n preload: 'auto',\n withoutCors: false,\n className: null,\n onReady: null,\n onPlay: null,\n onPause: null,\n onEnded: null,\n onSeeked: null,\n onTimeUpdate: null,\n onProgressStep: null,\n onDurationChanged: null,\n onVolumeChanged: null,\n focusable: true,\n supportedMimes: ['video/mp4', 'video/webm', 'video/ogg'] // onPosterLoaded: null,\n\n};\n\nvar Video = function Video(_ref) {\n var _ref6;\n\n var media = _ref.media,\n width = _ref.width,\n height = _ref.height,\n apiRef = _ref.apiRef,\n initialMuted = _ref.initialMuted,\n autoPlay = _ref.autoPlay,\n loop = _ref.loop,\n playsInline = _ref.playsInline,\n preload = _ref.preload,\n withoutCors = _ref.withoutCors,\n className = _ref.className,\n onReady = _ref.onReady,\n onPlay = _ref.onPlay,\n onPause = _ref.onPause,\n onEnded = _ref.onEnded,\n onSeeked = _ref.onSeeked,\n onTimeUpdate = _ref.onTimeUpdate,\n onProgressStep = _ref.onProgressStep,\n onDurationChanged = _ref.onDurationChanged,\n onVolumeChanged = _ref.onVolumeChanged,\n focusable = _ref.focusable,\n supportedMimes = _ref.supportedMimes;\n\n var _ref2 = media || {},\n _ref2$url = _ref2.url,\n mediaUrl = _ref2$url === void 0 ? null : _ref2$url,\n _ref2$files = _ref2.files,\n files = _ref2$files === void 0 ? null : _ref2$files,\n _ref2$metadata = _ref2.metadata,\n metadata = _ref2$metadata === void 0 ? null : _ref2$metadata;\n\n var _ref3 = metadata || {},\n _ref3$description = _ref3.description,\n description = _ref3$description === void 0 ? null : _ref3$description,\n _ref3$mime = _ref3.mime,\n mediaMime = _ref3$mime === void 0 ? null : _ref3$mime;\n\n var filesArray = useMemo(function () {\n return getMediaFilesAsArray(files);\n }, [files]); // Get source files with supported mimes\n\n var sourceFiles = useMemo(function () {\n if (filesArray.length === 0) {\n return null;\n }\n\n var supportVideo = document.createElement('video');\n var finalSupportedMimes = supportedMimes.filter(function (mime) {\n return supportVideo.canPlayType(mime) !== '';\n });\n return finalSupportedMimes.length > 0 ? filesArray.filter(function (file) {\n var _file$mime = file.mime,\n mime = _file$mime === void 0 ? \"video/\".concat(file.id === 'h264' ? 'mp4' : file.id) : _file$mime;\n return finalSupportedMimes.indexOf(mime) !== -1;\n }, null) : null;\n }, [filesArray, supportedMimes]); // @NOTE: Media is an animated image and doesn't have source files in video formats\n\n var _ref4 = filesArray.find(function (_ref5) {\n var handle = _ref5.handle;\n return handle === 'original';\n }) || {},\n _ref4$type = _ref4.type,\n originalType = _ref4$type === void 0 ? null : _ref4$type,\n _ref4$mime = _ref4.mime,\n originalMime = _ref4$mime === void 0 ? mediaMime : _ref4$mime;\n\n var originalFileIsImage = originalType === 'image' || originalMime !== null && originalMime.indexOf('image/') === 0;\n var isImageWithoutSourceFile = originalFileIsImage && (sourceFiles === null || sourceFiles.length === 0);\n var userInteracted = useUserInteracted();\n var finalInitialMuted = initialMuted === true || initialMuted === 'auto' && autoPlay && !userInteracted;\n\n var _useMediaApi = useMediaApi({\n url: mediaUrl,\n initialMuted: finalInitialMuted,\n onPlay: onPlay,\n onPause: onPause,\n onEnded: onEnded,\n onSeeked: onSeeked,\n onTimeUpdate: onTimeUpdate,\n onProgressStep: onProgressStep,\n onDurationChanged: onDurationChanged,\n onVolumeChanged: onVolumeChanged\n }),\n ref = _useMediaApi.ref,\n api = _objectWithoutProperties(_useMediaApi, _excluded);\n\n if (apiRef !== null) {\n apiRef.current = api;\n apiRef.current.mediaRef = ref;\n }\n\n var playing = api.playing,\n muted = api.muted,\n dataReady = api.dataReady,\n play = api.play,\n pause = api.pause,\n unMute = api.unMute;\n useEffect(function () {\n if (dataReady && onReady !== null) {\n onReady();\n }\n }, [dataReady, onReady]);\n var withSize = width !== null && height !== null; // const { thumbnail_url: thumbnailUrl = null } = media || {};\n // useEffect(() => {\n // if (thumbnailUrl !== null) {\n // const img = new Image();\n // img.src = thumbnailUrl;\n // img.onload = () => {\n // if (onPosterLoaded) {\n // onPosterLoaded();\n // }\n // };\n // }\n // }, [thumbnailUrl]);\n\n useEffect(function () {\n if (autoPlay) {\n play();\n\n if (initialMuted === 'auto' && muted && userInteracted) {\n unMute();\n }\n } else {\n pause();\n }\n }, [autoPlay]); // Ensure load if preload value change over time\n\n var firstPreloadRef = useRef(preload);\n var hasLoadedRef = useRef(preload !== 'none' && preload !== 'metadata');\n useEffect(function () {\n var _ref$current = ref.current,\n videoElement = _ref$current === void 0 ? null : _ref$current;\n var canLoad = preload !== 'none' && preload !== 'metadata';\n var preloadHasChanged = firstPreloadRef.current !== preload;\n\n if (canLoad && preloadHasChanged && !hasLoadedRef.current && videoElement !== null && typeof videoElement.load !== 'undefined') {\n hasLoadedRef.current = true;\n videoElement.load();\n }\n }, [preload]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref6 = {}, _defineProperty(_ref6, className, className !== null), _defineProperty(_ref6, styles.paused, !playing), _defineProperty(_ref6, styles.withSize, withSize), _ref6)]),\n style: withSize ? {\n width: width,\n height: height\n } : null\n }, isImageWithoutSourceFile ? /*#__PURE__*/React.createElement(\"img\", {\n src: mediaUrl,\n alt: description,\n className: styles.video\n }) : /*#__PURE__*/React.createElement(\"video\", {\n key: mediaUrl,\n ref: ref,\n src: sourceFiles === null ? mediaUrl : null,\n autoPlay: autoPlay,\n loop: loop,\n muted: muted // poster={thumbnailUrl}\n ,\n preload: preload,\n playsInline: playsInline,\n crossOrigin: withoutCors ? 'anonymous' : null,\n tabIndex: focusable ? '0' : '-1',\n className: styles.video\n }, (sourceFiles || []).map(function (_ref7) {\n var sourceUrl = _ref7.url,\n sourceMime = _ref7.mime;\n return /*#__PURE__*/React.createElement(\"source\", {\n key: \"\".concat(sourceUrl, \"-\").concat(sourceMime),\n src: sourceUrl,\n type: sourceMime\n });\n })));\n};\n\nVideo.propTypes = propTypes;\nVideo.defaultProps = defaultProps;\nvar Video$1 = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(Video, Object.assign({\n apiRef: ref\n }, props));\n});\n\nexport { Video$1 as default };\n","import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport React, { useRef, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { getStyleFromColor, getOptimalImageUrl, getLayersFromBackground } from '@micromag/core/utils';\nimport { getSizeWithinBounds } from '@folklore/size';\nimport Video from '@micromag/element-video';\n\nvar styles = {\"container\":\"micromag-element-background-container\",\"layer\":\"micromag-element-background-layer\",\"layers\":\"micromag-element-background-layers\",\"video\":\"micromag-element-background-video\",\"videoContainer\":\"micromag-element-background-videoContainer\",\"right\":\"micromag-element-background-right\",\"background\":\"micromag-element-background-background\",\"bottom\":\"micromag-element-background-bottom\"};\n\nvar propTypes$1 = {\n width: PropTypes.number,\n height: PropTypes.number,\n fit: PropTypes.oneOf(['contain', 'cover']),\n horizontalAlign: PropTypes.string,\n verticalAlign: PropTypes.string,\n repeat: PropTypes.bool,\n color: PropTypes$1.color,\n media: PropTypes.oneOfType([PropTypes$1.imageMedia, PropTypes$1.videoMedia]),\n className: PropTypes.string,\n playing: PropTypes.bool,\n children: PropTypes.node,\n loadingMode: PropTypes.string,\n shouldLoad: PropTypes.bool\n};\nvar defaultProps$1 = {\n width: null,\n height: null,\n fit: null,\n horizontalAlign: 'center',\n verticalAlign: 'center',\n repeat: false,\n color: null,\n media: null,\n className: null,\n playing: false,\n children: null,\n loadingMode: 'lazy',\n shouldLoad: true\n};\n\nvar Background = function Background(_ref) {\n var width = _ref.width,\n height = _ref.height,\n fit = _ref.fit,\n horizontalAlign = _ref.horizontalAlign,\n verticalAlign = _ref.verticalAlign,\n repeat = _ref.repeat,\n color = _ref.color,\n media = _ref.media,\n className = _ref.className,\n playing = _ref.playing,\n children = _ref.children,\n loadingMode = _ref.loadingMode,\n shouldLoad = _ref.shouldLoad;\n\n var _ref2 = media || {},\n _ref2$type = _ref2.type,\n mediaType = _ref2$type === void 0 ? null : _ref2$type,\n _ref2$metadata = _ref2.metadata,\n mediaMetadata = _ref2$metadata === void 0 ? null : _ref2$metadata,\n mediaThumbnailUrl = _ref2.thumbnail_url;\n\n var _ref3 = mediaMetadata || {},\n _ref3$width = _ref3.width,\n mediaWidth = _ref3$width === void 0 ? 0 : _ref3$width,\n _ref3$height = _ref3.height,\n mediaHeight = _ref3$height === void 0 ? 0 : _ref3$height;\n\n var isVideo = mediaType === 'video';\n var isImage = mediaType === 'image'; // Lazy load\n\n var newShouldLoad = shouldLoad || loadingMode !== 'lazy';\n var wasLoadedRef = useRef(newShouldLoad);\n\n if (newShouldLoad && !wasLoadedRef.current) {\n wasLoadedRef.current = newShouldLoad;\n }\n\n var finalShouldLoad = wasLoadedRef.current; // color\n\n var containerStyle = _objectSpread({\n width: width,\n height: height\n }, getStyleFromColor(color)); // image\n\n\n if (media !== null && (isImage || isVideo && !playing)) {\n var finalUrl = getOptimalImageUrl(isVideo ? {\n url: mediaThumbnailUrl\n } : media, width, height);\n containerStyle.backgroundImage = finalUrl !== null && finalShouldLoad ? \"url(\\\"\".concat(finalUrl, \"\\\")\") : null;\n containerStyle.backgroundRepeat = repeat ? 'repeat' : 'no-repeat';\n containerStyle.backgroundPosition = [horizontalAlign, verticalAlign].join(' ');\n\n if (fit !== null) {\n containerStyle.backgroundSize = fit;\n } else if (!repeat) {\n containerStyle.backgroundSize = 'cover';\n }\n } // video\n\n\n var videoContainerStyle = {};\n\n if (isVideo && playing) {\n if (width > 0 && height > 0) {\n var _getSizeWithinBounds = getSizeWithinBounds(mediaWidth, mediaHeight, width, height, {\n cover: fit === 'cover' || fit === null\n }),\n _getSizeWithinBounds$ = _getSizeWithinBounds.width,\n videoWidth = _getSizeWithinBounds$ === void 0 ? 0 : _getSizeWithinBounds$,\n _getSizeWithinBounds$2 = _getSizeWithinBounds.height,\n videoHeight = _getSizeWithinBounds$2 === void 0 ? 0 : _getSizeWithinBounds$2;\n\n videoContainerStyle.width = videoWidth;\n videoContainerStyle.height = videoHeight;\n videoContainerStyle.left = -(videoWidth - width) / 2;\n videoContainerStyle.top = -(videoHeight - height) / 2;\n } else {\n videoContainerStyle.objectFit = 'cover';\n }\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, _defineProperty({}, className, className !== null)]),\n style: containerStyle\n }, isVideo && playing ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.videoContainer,\n style: videoContainerStyle\n }, /*#__PURE__*/React.createElement(Video, {\n className: styles.video,\n media: media,\n autoPlay: playing,\n initialMuted: true,\n loop: true,\n preload: finalShouldLoad ? 'auto' : 'metadata'\n })) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.content\n }, children));\n};\n\nBackground.propTypes = propTypes$1;\nBackground.defaultProps = defaultProps$1;\n\nvar _excluded = [\"horizontalAlign\", \"verticalAlign\"];\nvar propTypes = {\n width: PropTypes.number,\n height: PropTypes.number,\n background: PropTypes.oneOfType([PropTypes$1.backgroundElement, PropTypes.arrayOf(PropTypes$1.backgroundElement)]),\n playing: PropTypes.bool,\n children: PropTypes.node,\n className: PropTypes.string,\n loadingMode: PropTypes.string,\n shouldLoad: PropTypes.bool\n};\nvar defaultProps = {\n width: null,\n height: null,\n background: [],\n playing: false,\n children: null,\n className: null,\n loadingMode: 'lazy',\n shouldLoad: true\n};\n\nvar BackgroundLayers = function BackgroundLayers(_ref) {\n var width = _ref.width,\n height = _ref.height,\n background = _ref.background,\n playing = _ref.playing,\n children = _ref.children,\n className = _ref.className,\n loadingMode = _ref.loadingMode,\n shouldLoad = _ref.shouldLoad;\n var hasSize = width > 0 && height > 0;\n var layers = useMemo(function () {\n return getLayersFromBackground(background);\n }, [background]);\n var maxZIndex = layers.length; // color\n\n var containerStyle = _objectSpread({}, hasSize ? {\n width: width,\n height: height\n } : null);\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, _defineProperty({}, className, className !== null)]),\n style: containerStyle\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.layers\n }, layers.map(function (_ref3, index) {\n var _ref4;\n\n var _ref3$horizontalAlign = _ref3.horizontalAlign,\n horizontalAlign = _ref3$horizontalAlign === void 0 ? undefined : _ref3$horizontalAlign,\n _ref3$verticalAlign = _ref3.verticalAlign,\n verticalAlign = _ref3$verticalAlign === void 0 ? undefined : _ref3$verticalAlign,\n layer = _objectWithoutProperties(_ref3, _excluded);\n\n return /*#__PURE__*/React.createElement(\"div\", {\n key: \"background-\".concat(index),\n className: classNames([styles.layer, (_ref4 = {}, _defineProperty(_ref4, styles.bottom, verticalAlign === 'bottom'), _defineProperty(_ref4, styles.right, horizontalAlign === 'right'), _ref4)]),\n style: {\n zIndex: maxZIndex - index\n }\n }, /*#__PURE__*/React.createElement(Background, Object.assign({\n width: width,\n height: height,\n className: styles.background,\n playing: playing,\n horizontalAlign: horizontalAlign,\n verticalAlign: verticalAlign,\n loadingMode: loadingMode,\n shouldLoad: shouldLoad\n }, layer)));\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.content\n }, children));\n};\n\nBackgroundLayers.propTypes = propTypes;\nBackgroundLayers.defaultProps = defaultProps;\n\nexport { Background, BackgroundLayers, BackgroundLayers as default };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nvar styles = {\"container\":\"micromag-element-container-container\"};\n\nvar propTypes = {\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired,\n className: PropTypes.string,\n children: PropTypes.node\n};\nvar defaultProps = {\n className: null,\n children: null\n};\n\nfunction Container(_ref) {\n var width = _ref.width,\n height = _ref.height,\n className = _ref.className,\n children = _ref.children;\n var hasSize = width > 0 && height > 0;\n var containerStyle = hasSize ? {\n width: width,\n height: height\n } : null;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, _defineProperty({}, className, className !== null)]),\n style: containerStyle\n }, children);\n}\n\nContainer.propTypes = propTypes;\nContainer.defaultProps = defaultProps;\n\nexport { Container as default };\n","import React, { useContext, useMemo } from 'react';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport classNames from 'classnames';\nimport isNumber from 'lodash/isNumber';\nimport isString from 'lodash/isString';\nimport PropTypes from 'prop-types';\n\n/* eslint-disable react/jsx-props-no-spreading */\nvar StackContext = /*#__PURE__*/React.createContext({\n direction: 'horizontal'\n});\nvar useStack = function useStack() {\n return useContext(StackContext);\n};\nvar useStackDirection = function useStackDirection() {\n var _useContext = useContext(StackContext),\n direction = _useContext.direction;\n\n return direction;\n};\nvar propTypes$4 = {\n children: PropTypes.node.isRequired,\n direction: PropTypes.oneOf(['vertical', 'horizontal'])\n};\nvar defaultProps$4 = {\n direction: 'vertical'\n}; // Note: this is done to avoid excessive renders on the screens that use the context\n\nfunction StackProvider(_ref) {\n var direction = _ref.direction,\n children = _ref.children;\n var value = useMemo(function () {\n return {\n direction: direction\n };\n }, [direction]);\n return /*#__PURE__*/React.createElement(StackContext.Provider, {\n value: value\n }, children);\n}\nStackProvider.propTypes = propTypes$4;\nStackProvider.defaultProps = defaultProps$4;\n\nvar styles$1 = {\"container\":\"micromag-element-stack-spacer-container\",\"hasSize\":\"micromag-element-stack-spacer-hasSize\"};\n\nvar propTypes$3 = {\n size: PropTypes.number,\n minSize: PropTypes.number,\n maxSize: PropTypes.number,\n className: PropTypes.string\n};\nvar defaultProps$3 = {\n size: null,\n minSize: null,\n maxSize: null,\n className: null\n};\n\nfunction Spacer(_ref) {\n var _ref2;\n\n var size = _ref.size,\n minSize = _ref.minSize,\n maxSize = _ref.maxSize,\n className = _ref.className;\n var direction = useStackDirection();\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles$1.container, (_ref2 = {}, _defineProperty(_ref2, styles$1.hasSize, size !== null), _defineProperty(_ref2, className, className !== null), _ref2)]),\n style: {\n width: direction === 'horizontal' ? size : null,\n minWidth: direction === 'horizontal' ? minSize : null,\n maxWidth: direction === 'horizontal' ? maxSize : null,\n height: direction === 'vertical' ? size : null,\n minHeight: direction === 'vertical' ? minSize : null,\n maxHeight: direction === 'vertical' ? maxSize : null\n }\n });\n}\n\nSpacer.propTypes = propTypes$3;\nSpacer.defaultProps = defaultProps$3;\nSpacer.withoutTransitionsWrapper = true;\n\nvar styles = {\"container\":\"micromag-element-stack-container\"};\n\nvar propTypes$2 = {\n direction: PropTypes$1.stackDirection,\n align: PropTypes$1.stackAlign,\n spacing: PropTypes$1.stackSpacing,\n reverse: PropTypes.bool,\n size: PropTypes.number,\n minSize: PropTypes.number,\n maxSize: PropTypes.number,\n className: PropTypes.string,\n children: PropTypes.node\n};\nvar defaultProps$2 = {\n direction: 'horizontal',\n align: 'center',\n spacing: null,\n reverse: false,\n size: null,\n minSize: null,\n maxSize: null,\n className: null,\n children: null\n};\n\nfunction Stack(_ref) {\n var direction = _ref.direction,\n align = _ref.align,\n spacing = _ref.spacing,\n reverse = _ref.reverse,\n size = _ref.size,\n minSize = _ref.minSize,\n maxSize = _ref.maxSize,\n className = _ref.className,\n children = _ref.children;\n var flexDirection = (direction === 'vertical' ? 'column' : 'row') + (reverse ? '-reverse' : '');\n var alignItems = align === 'center' ? align : \"flex-\".concat(align);\n var justifyContent = isString(spacing) ? \"space-\".concat(spacing) : null;\n var space = isNumber(spacing) ? spacing : null;\n var lastIndex = children !== null && children.length ? children.length - 1 : null;\n return /*#__PURE__*/React.createElement(StackProvider, {\n direction: direction\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, _defineProperty({}, className, className !== null)]),\n style: {\n flexDirection: flexDirection,\n alignItems: alignItems,\n justifyContent: justifyContent,\n width: direction === 'horizontal' ? size : null,\n minWidth: direction === 'horizontal' ? minSize : null,\n maxWidth: direction === 'horizontal' ? maxSize : null,\n height: direction === 'vertical' ? size : null,\n minHeight: direction === 'vertical' ? minSize : null,\n maxHeight: direction === 'vertical' ? maxSize : null\n }\n }, React.Children.toArray(children).reduce(function (allChildren, child, index) {\n return child.type !== Spacer && space !== null && index < lastIndex ? [].concat(_toConsumableArray(allChildren), [child, /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer-\".concat(index),\n size: space\n })]) : [].concat(_toConsumableArray(allChildren), [child]);\n }, [])));\n}\n\nStack.propTypes = propTypes$2;\nStack.defaultProps = defaultProps$2;\n\n/* eslint-disable react/jsx-props-no-spreading */\nvar propTypes$1 = {};\nvar defaultProps$1 = {};\n\nfunction HStack(props) {\n return /*#__PURE__*/React.createElement(Stack, Object.assign({}, props, {\n direction: \"horizontal\"\n }));\n}\n\nHStack.propTypes = propTypes$1;\nHStack.defaultProps = defaultProps$1;\n\n/* eslint-disable react/jsx-props-no-spreading */\nvar propTypes = {};\nvar defaultProps = {};\n\nfunction VStack(props) {\n return /*#__PURE__*/React.createElement(Stack, Object.assign({}, props, {\n direction: \"vertical\"\n }));\n}\n\nVStack.propTypes = propTypes;\nVStack.defaultProps = defaultProps;\n\nexport { HStack, Spacer, StackProvider, VStack, Stack as default, useStack, useStackDirection };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { StackProvider } from '@micromag/element-stack';\nexport { Spacer } from '@micromag/element-stack';\n\nvar styles = {\"container\":\"micromag-element-layout-container\",\"fullscreen\":\"micromag-element-layout-fullscreen\",\"horizontal\":\"micromag-element-layout-horizontal\"};\n\nvar propTypes = {\n width: PropTypes.number,\n height: PropTypes.number,\n horizontalAlign: PropTypes.oneOf(['left', 'center', 'right']),\n verticalAlign: PropTypes.oneOf(['top', 'middle', 'bottom']),\n distribution: PropTypes.oneOf(['between', 'around', null]),\n fullscreen: PropTypes.bool,\n className: PropTypes.string,\n children: PropTypes.node,\n style: PropTypes.object // eslint-disable-line\n\n};\nvar defaultProps = {\n width: null,\n height: null,\n horizontalAlign: 'left',\n verticalAlign: 'top',\n distribution: null,\n fullscreen: false,\n className: null,\n children: null,\n style: null\n};\n\nvar Layout = function Layout(_ref) {\n var _ref2;\n\n var width = _ref.width,\n height = _ref.height,\n horizontalAlign = _ref.horizontalAlign,\n verticalAlign = _ref.verticalAlign,\n distribution = _ref.distribution,\n fullscreen = _ref.fullscreen,\n className = _ref.className,\n children = _ref.children,\n style = _ref.style;\n var justifyContent = null;\n\n if (distribution !== null) {\n justifyContent = \"space-\".concat(distribution);\n } else if (verticalAlign === 'middle') {\n justifyContent = 'center';\n } else if (verticalAlign === 'bottom') {\n justifyContent = 'flex-end';\n }\n\n var alignItems = null;\n\n if (horizontalAlign === 'center') {\n alignItems = 'center';\n } else if (horizontalAlign === 'right') {\n alignItems = 'flex-end';\n }\n\n var finalStyle = _objectSpread({\n width: width,\n height: height,\n justifyContent: justifyContent,\n alignItems: alignItems\n }, style);\n\n return /*#__PURE__*/React.createElement(StackProvider, {\n direction: \"vertical\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref2 = {}, _defineProperty(_ref2, styles.fullscreen, fullscreen), _defineProperty(_ref2, className, className !== null), _ref2)]),\n style: finalStyle\n }, children));\n};\n\nLayout.propTypes = propTypes;\nLayout.defaultProps = defaultProps;\n\nexport { Layout as default };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { LinkStyle, HighlightStyle } from '@micromag/core/components';\nimport { getStyleFromLink, getStyleFromHighlight, getStyleFromText, getStyleFromMargin } from '@micromag/core/utils';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useMemo } from 'react';\nimport { v1 } from 'uuid';\n\nvar styles = {\"container\":\"micromag-element-text-container\",\"showEmpty\":\"micromag-element-text-showEmpty\",\"withLineClamp\":\"micromag-element-text-withLineClamp\"};\n\nvar propTypes = {\n body: PropTypes.string,\n textStyle: PropTypes$1.textStyle,\n linksStyle: PropTypes$1.textStyle,\n margin: PropTypes$1.margin,\n lineClamp: PropTypes.number,\n showEmpty: PropTypes.bool,\n className: PropTypes.string,\n emptyClassName: PropTypes.string,\n inline: PropTypes.bool\n};\nvar defaultProps = {\n body: null,\n textStyle: null,\n linksStyle: null,\n margin: null,\n lineClamp: null,\n showEmpty: false,\n className: null,\n emptyClassName: null,\n inline: false\n};\n\nvar Text = function Text(_ref) {\n var _ref3;\n\n var body = _ref.body,\n textStyle = _ref.textStyle,\n linksStyle = _ref.linksStyle,\n margin = _ref.margin,\n lineClamp = _ref.lineClamp,\n showEmpty = _ref.showEmpty,\n className = _ref.className,\n emptyClassName = _ref.emptyClassName,\n inline = _ref.inline;\n\n var _ref2 = textStyle || {},\n _ref2$link = _ref2.link,\n linkStyle = _ref2$link === void 0 ? null : _ref2$link,\n _ref2$highlight = _ref2.highlight,\n highlightStyle = _ref2$highlight === void 0 ? null : _ref2$highlight;\n\n var finalStyle = {};\n var finalLinkStyle = linkStyle !== null ? getStyleFromLink(linkStyle) : null;\n var finalHighlightStyle = highlightStyle !== null ? getStyleFromHighlight(highlightStyle) : null;\n\n if (textStyle !== null) {\n finalStyle = _objectSpread(_objectSpread({}, finalStyle), getStyleFromText(textStyle));\n }\n\n if (lineClamp !== null) {\n finalStyle.WebkitLineClamp = lineClamp;\n }\n\n if (margin !== null) {\n finalStyle = _objectSpread(_objectSpread({}, finalStyle), getStyleFromMargin(margin));\n }\n\n if (linksStyle !== null) {\n finalLinkStyle = _objectSpread(_objectSpread({}, finalLinkStyle), getStyleFromText(linksStyle));\n }\n\n var needsId = finalLinkStyle !== null || highlightStyle !== null;\n var id = useMemo(function () {\n return needsId ? \"text-component-\".concat(v1()) : null;\n }, [needsId]);\n var tagProps = {\n id: id,\n className: classNames([styles.container, (_ref3 = {}, _defineProperty(_ref3, styles.withLineClamp, lineClamp !== null), _defineProperty(_ref3, styles.showEmpty, showEmpty), _defineProperty(_ref3, emptyClassName, showEmpty && emptyClassName !== null), _defineProperty(_ref3, className, className !== null), _ref3)]),\n style: finalStyle,\n dangerouslySetInnerHTML: {\n __html: body\n }\n };\n var Tag = \"\".concat(inline ? 'span' : 'div');\n return /*#__PURE__*/React.createElement(React.Fragment, null, finalLinkStyle !== null ? /*#__PURE__*/React.createElement(LinkStyle, {\n selector: \"#\".concat(id),\n style: finalLinkStyle\n }) : null, finalHighlightStyle !== null ? /*#__PURE__*/React.createElement(HighlightStyle, {\n selector: \"#\".concat(id),\n style: finalHighlightStyle\n }) : null, /*#__PURE__*/React.createElement(Tag, tagProps));\n};\n\nText.propTypes = propTypes;\nText.defaultProps = defaultProps;\n\nexport { Text as default };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport { faChevronUp } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { Button } from '@micromag/core/components';\nimport { isValidUrl, getStyleFromColor, isIos } from '@micromag/core/utils';\nimport Text from '@micromag/element-text';\nimport { useGesture } from '@use-gesture/react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useMemo, useRef, useState, useEffect } from 'react';\n\nvar styles = {\"container\":\"micromag-element-call-to-action-container\",\"arrow\":\"micromag-element-call-to-action-arrow\",\"upAndDown\":\"micromag-element-call-to-action-upAndDown\",\"label\":\"micromag-element-call-to-action-label\",\"button\":\"micromag-element-call-to-action-button\",\"selfTargetLink\":\"micromag-element-call-to-action-selfTargetLink\",\"leavingFrame\":\"micromag-element-call-to-action-leavingFrame\",\"appear\":\"micromag-element-call-to-action-appear\",\"animationDisabled\":\"micromag-element-call-to-action-animationDisabled\",\"invalidUrl\":\"micromag-element-call-to-action-invalidUrl\",\"disabled\":\"micromag-element-call-to-action-disabled\"};\n\nvar propTypes = {\n elRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: PropTypes.any // eslint-disable-line\n\n })]),\n disabled: PropTypes.bool,\n animationDisabled: PropTypes.bool,\n callToAction: PropTypes$1.callToAction,\n dragAmount: PropTypes.number,\n className: PropTypes.string,\n focusable: PropTypes.bool\n};\nvar defaultProps = {\n elRef: null,\n disabled: false,\n animationDisabled: false,\n callToAction: null,\n dragAmount: 50,\n className: null,\n focusable: true\n};\n\nfunction CallToAction(_ref) {\n var _ref6;\n\n var elRef = _ref.elRef,\n disabled = _ref.disabled,\n animationDisabled = _ref.animationDisabled,\n callToAction = _ref.callToAction,\n dragAmount = _ref.dragAmount,\n className = _ref.className,\n focusable = _ref.focusable;\n\n var _ref2 = callToAction || {},\n _ref2$active = _ref2.active,\n active = _ref2$active === void 0 ? false : _ref2$active,\n _ref2$type = _ref2.type,\n type = _ref2$type === void 0 ? null : _ref2$type,\n _ref2$url = _ref2.url,\n url = _ref2$url === void 0 ? null : _ref2$url,\n _ref2$label = _ref2.label,\n label = _ref2$label === void 0 ? null : _ref2$label;\n\n var swipeUpEnabled = type === null || type === 'swipe-up';\n var validUrl = useMemo(function () {\n return isValidUrl(url);\n }, [url]);\n var buttonRef = useRef(null);\n\n var _ref3 = label || {},\n _ref3$textStyle = _ref3.textStyle;\n\n _ref3$textStyle = _ref3$textStyle === void 0 ? {} : _ref3$textStyle;\n var _ref3$textStyle$fontS = _ref3$textStyle.fontSize,\n fontSize = _ref3$textStyle$fontS === void 0 ? null : _ref3$textStyle$fontS,\n _ref3$textStyle$color = _ref3$textStyle.color,\n color = _ref3$textStyle$color === void 0 ? null : _ref3$textStyle$color;\n var arrowStyle = useMemo(function () {\n return _objectSpread(_objectSpread({}, {\n fontSize: fontSize\n }), getStyleFromColor(color, 'color'));\n }, [fontSize, color]); // MobileSafari blocks popup no matter what\n\n var selfTargetLinkRef = useRef(null);\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n leaving = _useState2[0],\n setLeaving = _useState2[1];\n\n var bind = useGesture({\n onDrag: function onDrag(_ref4) {\n var event = _ref4.event;\n // fix firefox https://use-gesture.netlify.app/docs/faq/#why-cant-i-properly-drag-an-image-or-a-link\n event.preventDefault();\n },\n onDragEnd: function onDragEnd(_ref5) {\n var _ref5$movement = _slicedToArray(_ref5.movement, 2),\n my = _ref5$movement[1];\n\n if (my < -dragAmount) {\n if (isIos()) {\n selfTargetLinkRef.current.click();\n setLeaving(true);\n } else {\n buttonRef.current.click();\n }\n }\n }\n });\n useEffect(function () {\n var onPageHide = function onPageHide() {\n setLeaving(false);\n };\n\n window.addEventListener('pagehide', onPageHide);\n return function () {\n window.removeEventListener('pagehide', onPageHide);\n };\n }, [setLeaving]);\n return active ? /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref6 = {}, _defineProperty(_ref6, className, className !== null), _defineProperty(_ref6, styles.disabled, disabled), _defineProperty(_ref6, styles.animationDisabled, animationDisabled), _defineProperty(_ref6, styles.invalidUrl, !validUrl), _ref6)]),\n ref: elRef\n }, leaving ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.leavingFrame\n }) : null, /*#__PURE__*/React.createElement(\"a\", {\n className: styles.selfTargetLink,\n href: url,\n ref: selfTargetLinkRef,\n tabIndex: focusable ? '0' : '-1'\n }), /*#__PURE__*/React.createElement(Button, Object.assign({\n href: url,\n external: true,\n className: styles.button,\n withoutStyle: true,\n refButton: buttonRef,\n focusable: focusable\n }, swipeUpEnabled && !disabled ? bind() : null), swipeUpEnabled ? /*#__PURE__*/React.createElement(FontAwesomeIcon, {\n className: styles.arrow,\n style: arrowStyle,\n icon: faChevronUp\n }) : null, /*#__PURE__*/React.createElement(\"span\", {\n className: styles.label\n }, /*#__PURE__*/React.createElement(Text, Object.assign({}, label, {\n inline: true\n }))))) : null;\n}\n\nCallToAction.propTypes = propTypes;\nCallToAction.defaultProps = defaultProps;\nvar CallToAction$1 = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(CallToAction, Object.assign({\n elRef: ref\n }, props));\n});\n\nexport { CallToAction$1 as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport React, { useState, useCallback, useRef, useEffect, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { isIos } from '@micromag/core/utils';\nimport { useScreenSize, useScreenRenderContext, useViewer } from '@micromag/core/contexts';\nimport { useTrackScreenMedia, useLongPress } from '@micromag/core/hooks';\nimport { ScreenElement, Transitions } from '@micromag/core/components';\nimport Audio from '@micromag/element-audio';\nimport ClosedCaptions from '@micromag/element-closed-captions';\nimport MediaControls from '@micromag/element-media-controls';\nimport Background from '@micromag/element-background';\nimport Container from '@micromag/element-container';\nimport Layout, { Spacer } from '@micromag/element-layout';\nimport CallToAction from '@micromag/element-call-to-action';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport { Audio as Audio$1, Container as Container$1 } from '@micromag/transforms/apple-news';\n\nvar styles = {\"container\":\"micromag-screen-audio-container\",\"disabled\":\"micromag-screen-audio-disabled\",\"hidden\":\"micromag-screen-audio-hidden\",\"placeholder\":\"micromag-screen-audio-placeholder\",\"content\":\"micromag-screen-audio-content\",\"empty\":\"micromag-screen-audio-empty\",\"mediaControls\":\"micromag-screen-audio-mediaControls\",\"audio\":\"micromag-screen-audio-audio\",\"bottomContent\":\"micromag-screen-audio-bottomContent\",\"isPreview\":\"micromag-screen-audio-isPreview\"};\n\nvar propTypes = {\n layout: PropTypes.oneOf(['middle']),\n audio: PropTypes$1.audioElement,\n spacing: PropTypes.number,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n active: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n getMediaRef: PropTypes.func,\n className: PropTypes.string\n};\nvar defaultProps = {\n layout: 'middle',\n audio: null,\n spacing: 20,\n background: null,\n callToAction: null,\n current: true,\n active: true,\n transitions: null,\n getMediaRef: null,\n className: null\n};\n\nvar AudioScreen = function AudioScreen(_ref) {\n var _ref7;\n\n _ref.layout;\n var audio = _ref.audio,\n spacing = _ref.spacing,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n active = _ref.active,\n transitions = _ref.transitions,\n getMediaRef = _ref.getMediaRef,\n className = _ref.className;\n var trackScreenMedia = useTrackScreenMedia('audio');\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n menuOverScreen = _useScreenSize.menuOverScreen;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isPreview = _useScreenRenderConte.isPreview,\n isView = _useScreenRenderConte.isView,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var _useViewer = useViewer(),\n menuSize = _useViewer.menuSize;\n\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n\n var _useState = useState(isStatic || isPlaceholder),\n _useState2 = _slicedToArray(_useState, 2),\n ready = _useState2[0],\n setReady = _useState2[1];\n\n var backgroundPlaying = current && (isView || isEdit);\n var backgroundShouldLoad = current || active || !isView;\n var transitionPlaying = current && ready;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var hasAudio = audio !== null;\n\n var _ref2 = audio || {},\n _ref2$media = _ref2.media,\n audioMedia = _ref2$media === void 0 ? null : _ref2$media,\n _ref2$autoPlay = _ref2.autoPlay,\n autoPlay = _ref2$autoPlay === void 0 ? true : _ref2$autoPlay,\n _ref2$closedCaptions = _ref2.closedCaptions,\n closedCaptions = _ref2$closedCaptions === void 0 ? null : _ref2$closedCaptions,\n _ref2$withPlayPause = _ref2.withPlayPause,\n withPlayPause = _ref2$withPlayPause === void 0 ? false : _ref2$withPlayPause;\n\n var _ref3 = audioMedia || {},\n _ref3$url = _ref3.url,\n audioUrl = _ref3$url === void 0 ? null : _ref3$url;\n\n var hasAudioUrl = audioUrl !== null;\n var finalAudio = hasAudio ? _objectSpread(_objectSpread({}, audio), {}, {\n autoPlay: !isPreview && !isStatic && !isCapture && autoPlay && current\n }) : null;\n var hasClosedCaptions = closedCaptions !== null;\n var onAudioReady = useCallback(function () {\n setReady(true);\n }, [setReady]);\n var apiRef = useRef();\n\n var _ref4 = apiRef.current || {},\n togglePlay = _ref4.togglePlay,\n toggleMute = _ref4.toggleMute,\n play = _ref4.play,\n pause = _ref4.pause,\n _ref4$mediaRef = _ref4.mediaRef,\n apiMediaRef = _ref4$mediaRef === void 0 ? null : _ref4$mediaRef;\n\n useEffect(function () {\n if (apiMediaRef !== null && getMediaRef !== null) {\n getMediaRef(apiMediaRef.current);\n }\n }, [apiMediaRef, getMediaRef]);\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n currentTime = _useState4[0],\n setCurrentTime = _useState4[1];\n\n var _useState5 = useState(null),\n _useState6 = _slicedToArray(_useState5, 2),\n duration = _useState6[0],\n setDuration = _useState6[1];\n\n var _useState7 = useState(false),\n _useState8 = _slicedToArray(_useState7, 2),\n playing = _useState8[0],\n setPlaying = _useState8[1];\n\n var _useState9 = useState(false),\n _useState10 = _slicedToArray(_useState9, 2),\n muted = _useState10[0],\n setMuted = _useState10[1];\n\n var isIOS = useMemo(function () {\n return isIos();\n }, [isIos]);\n var onTimeUpdate = useCallback(function (time) {\n setCurrentTime(time);\n }, [setDuration, duration]);\n var onProgressStep = useCallback(function (step) {\n trackScreenMedia(audio, \"progress_\".concat(Math.round(step * 100, 10), \"%\"));\n }, [trackScreenMedia, audio]);\n var onDurationChanged = useCallback(function (dur) {\n setDuration(dur);\n }, [setDuration]);\n var onPlay = useCallback(function (_ref5) {\n var initial = _ref5.initial;\n setPlaying(true);\n trackScreenMedia(audio, initial ? 'play' : 'resume');\n }, [trackScreenMedia, audio]);\n var onPause = useCallback(function (_ref6) {\n var midway = _ref6.midway;\n setPlaying(false);\n trackScreenMedia(audio, midway ? 'pause' : 'ended');\n }, [trackScreenMedia, audio]);\n var onVolumeChanged = useCallback(function (isMuted) {\n setMuted(isMuted);\n trackScreenMedia(audio, isMuted ? 'mute' : 'unmute');\n }, [trackScreenMedia, audio]);\n var onSeeked = useCallback(function (time) {\n if (time > 0) {\n trackScreenMedia(audio, 'seek');\n }\n }, [trackScreenMedia, audio]);\n var onToggleMute = useCallback(function () {\n if (muted && !playing) {\n play();\n }\n\n toggleMute();\n }, [muted, toggleMute]);\n useEffect(function () {\n if (!current && playing) {\n pause();\n }\n }, [playing, current]); // ------------------------------------\n\n var longPressBind = useLongPress({\n onLongPress: togglePlay\n });\n var elements = [/*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer-top\"\n }), /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"audio\",\n placeholder: \"audio\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"MYZwSA\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Audio\"\n }]\n }),\n emptyClassName: styles.empty,\n isEmpty: !hasAudioUrl\n }, /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(Audio, Object.assign({}, finalAudio, {\n ref: apiRef,\n waveFake: isIOS || isPreview,\n waveProps: isPreview ? {\n sampleWidth: 10,\n sampleMargin: 5,\n minSampleHeight: 5\n } : null,\n className: styles.audio,\n onReady: onAudioReady,\n onPlay: onPlay,\n onPause: onPause,\n onTimeUpdate: onTimeUpdate,\n onProgressStep: onProgressStep,\n onDurationChanged: onDurationChanged,\n onSeeked: onSeeked,\n onVolumeChanged: onVolumeChanged\n })))), /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer-middle\"\n }), !isPlaceholder ? /*#__PURE__*/React.createElement(\"div\", {\n key: \"controls\",\n className: styles.bottomContent\n }, hasClosedCaptions && !isPreview && !isCapture && !isStatic ? /*#__PURE__*/React.createElement(ClosedCaptions, {\n className: styles.closedCaptions,\n media: closedCaptions,\n currentTime: currentTime\n }) : null, hasAudioUrl ? /*#__PURE__*/React.createElement(MediaControls, {\n className: styles.mediaControls,\n withPlayPause: withPlayPause,\n playing: playing,\n muted: muted,\n onTogglePlay: togglePlay,\n onToggleMute: onToggleMute,\n focusable: current && isView\n }) : null) : null, !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: -spacing,\n marginTop: 0\n },\n key: \"call-to-action\"\n }, /*#__PURE__*/React.createElement(CallToAction, {\n callToAction: callToAction,\n animationDisabled: isPreview,\n focusable: current && isView\n })) : null].filter(function (el) {\n return el !== null;\n });\n return /*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: classNames([styles.container, (_ref7 = {}, _defineProperty(_ref7, className, className !== null), _defineProperty(_ref7, styles.placeholder, isPlaceholder), _defineProperty(_ref7, styles.isPreview, isPreview), _ref7)]),\n \"data-screen-ready\": ready\n }, longPressBind), !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying,\n shouldLoad: backgroundShouldLoad\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(Layout, {\n fullscreen: true,\n style: !isPlaceholder ? {\n padding: spacing,\n paddingTop: (menuOverScreen && !isPreview ? menuSize : 0) + spacing\n } : null\n }, elements)));\n};\n\nAudioScreen.propTypes = propTypes;\nAudioScreen.defaultProps = defaultProps;\nvar AudioScreen$1 = /*#__PURE__*/React.memo(AudioScreen);\n\nvar transform = function transform(newStory, _ref) {\n var audio = _ref.audio;\n\n var _ref2 = audio || {},\n _ref2$media = _ref2.media,\n media = _ref2$media === void 0 ? null : _ref2$media;\n\n var _Audio = Audio$1(newStory, media),\n titleStory = _Audio.story,\n titleComponent = _Audio.component;\n\n console.log(media);\n\n var _Container = Container$1(titleStory, _toConsumableArray(titleComponent ? [titleComponent] : [])),\n containerStory = _Container.story,\n containerComponent = _Container.component;\n\n return _objectSpread(_objectSpread({}, containerStory), {}, {\n components: [].concat(_toConsumableArray(newStory.components || []), _toConsumableArray(containerComponent ? [containerComponent] : []))\n });\n};\n\n// eslint-disable-next-line\n\nvar transforms = /*#__PURE__*/Object.freeze({\n __proto__: null,\n appleNews: transform\n});\n\nvar definition = {\n id: 'audio',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"+9akmg\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Audio and Video\"\n }]\n }),\n order: 5\n },\n title: defineMessage({\n id: \"bhEaUt\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Audio\"\n }]\n }),\n component: AudioScreen$1,\n layouts: ['middle'],\n transforms: transforms,\n fields: [{\n name: 'audio',\n type: 'audio-element',\n theme: {\n color: 'primary'\n },\n defaultValue: {\n autoPlay: true\n },\n label: defineMessage({\n id: \"169xnt\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Audio\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"+MPZRu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n};\n\nexport { AudioScreen$1 as AudioScreen, definition as default };\n","import _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport React, { useContext, useMemo, useState, useCallback, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport _createClass from '@babel/runtime/helpers/createClass';\nimport _classCallCheck from '@babel/runtime/helpers/classCallCheck';\nimport _inherits from '@babel/runtime/helpers/inherits';\nimport _createSuper from '@babel/runtime/helpers/createSuper';\nimport { getJSON, getCSRFHeaders, postJSON } from '@folklore/fetch';\nimport { generatePath } from 'react-router';\nimport { stringify } from 'query-string';\nimport _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\n\nvar Base = /*#__PURE__*/function () {\n function Base() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Base);\n\n this.options = _objectSpread(_objectSpread({\n routes: {}\n }, opts), {}, {\n baseUrl: opts.baseUrl || 'https://micromag.ca/api'\n });\n }\n\n _createClass(Base, [{\n key: \"requestGet\",\n value: function requestGet(path) {\n var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var queryString = query !== null ? stringify(query, {\n arrayFormat: 'bracket'\n }) : null;\n return getJSON(\"\".concat(this.getFullUrl(path)).concat(queryString !== null && queryString.length > 0 ? \"?\".concat(queryString) : ''), {\n credentials: 'include',\n headers: getCSRFHeaders()\n });\n }\n }, {\n key: \"requestPost\",\n value: function requestPost(path, data) {\n return postJSON(this.getFullUrl(path), data, {\n credentials: 'include',\n headers: getCSRFHeaders()\n });\n }\n }, {\n key: \"requestPut\",\n value: function requestPut(path, data) {\n return postJSON(this.getFullUrl(path), _objectSpread({\n _method: 'PUT'\n }, data), {\n credentials: 'include',\n headers: getCSRFHeaders()\n });\n }\n }, {\n key: \"requestDelete\",\n value: function requestDelete(path) {\n return this.requestPost(path, {\n _method: 'DELETE'\n });\n }\n }, {\n key: \"route\",\n value: function route(_route, params) {\n var routes = this.options.routes;\n return generatePath(routes[_route] || _route, params);\n }\n }, {\n key: \"getFullUrl\",\n value: function getFullUrl(path) {\n var baseUrl = this.options.baseUrl;\n return \"\".concat(baseUrl.replace(/\\/$/, ''), \"/\").concat(path.replace(/^\\//, ''));\n }\n }]);\n\n return Base;\n}();\n\nvar ContributionsApi = /*#__PURE__*/function (_Base) {\n _inherits(ContributionsApi, _Base);\n\n var _super = _createSuper(ContributionsApi);\n\n function ContributionsApi() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, ContributionsApi);\n\n return _super.call(this, _objectSpread(_objectSpread({}, opts), {}, {\n routes: _objectSpread({\n index: '/contributions/:screen',\n store: '/contributions',\n update: '/contributions/:contribution',\n \"delete\": '/contributions/:contribution'\n }, opts.routes || null)\n }));\n }\n\n _createClass(ContributionsApi, [{\n key: \"get\",\n value: function get(id) {\n var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var page = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var count = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10;\n\n var finalQuery = _objectSpread({}, query);\n\n if (page !== null) {\n finalQuery.page = page;\n }\n\n if (count !== null) {\n finalQuery.count = count;\n }\n\n return this.requestGet(this.route('index', {\n screen: id\n }), finalQuery);\n }\n }, {\n key: \"create\",\n value: function create(data) {\n return this.requestPost(this.route('store'), data);\n }\n }]);\n\n return ContributionsApi;\n}(Base);\n\nvar MediasApi = /*#__PURE__*/function (_Base) {\n _inherits(MediasApi, _Base);\n\n var _super = _createSuper(MediasApi);\n\n function MediasApi() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, MediasApi);\n\n return _super.call(this, _objectSpread(_objectSpread({}, opts), {}, {\n routes: _objectSpread({\n index: 'medias',\n tags: 'medias/tags',\n authors: 'medias/authors',\n show: 'medias/:media',\n store: 'medias',\n update: 'medias/:media',\n \"delete\": 'medias/:media'\n }, opts.routes || null)\n }));\n }\n\n _createClass(MediasApi, [{\n key: \"find\",\n value: function find(id) {\n return this.requestGet(this.route('show', {\n media: id\n }));\n }\n }, {\n key: \"get\",\n value: function get() {\n var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var count = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;\n\n var finalQuery = _objectSpread({}, query);\n\n if (page !== null) {\n finalQuery.page = page;\n }\n\n if (count !== null) {\n finalQuery.count = count;\n }\n\n return this.requestGet(this.route('index'), finalQuery);\n }\n }, {\n key: \"getTags\",\n value: function getTags() {\n var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var count = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10;\n\n var finalQuery = _objectSpread({}, query);\n\n if (count !== null) {\n finalQuery.count = count;\n }\n\n return this.requestGet(this.route('tags'), finalQuery);\n }\n }, {\n key: \"getAuthors\",\n value: function getAuthors() {\n var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var count = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10;\n\n var finalQuery = _objectSpread({}, query);\n\n if (count !== null) {\n finalQuery.count = count;\n }\n\n return this.requestGet(this.route('authors'), finalQuery);\n }\n }, {\n key: \"create\",\n value: function create(data) {\n return this.requestPost(this.route('store'), data);\n }\n }, {\n key: \"update\",\n value: function update(id, data) {\n return this.requestPut(this.route('update', {\n media: id\n }), data);\n }\n }, {\n key: \"delete\",\n value: function _delete(id) {\n return this.requestDelete(this.route('delete', {\n media: id\n }));\n }\n }]);\n\n return MediasApi;\n}(Base);\n\nvar QuizApi = /*#__PURE__*/function (_Base) {\n _inherits(QuizApi, _Base);\n\n var _super = _createSuper(QuizApi);\n\n function QuizApi() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, QuizApi);\n\n return _super.call(this, _objectSpread(_objectSpread({}, opts), {}, {\n routes: _objectSpread({\n results: '/quiz/:screen',\n store: '/quiz',\n update: '/quiz/:quiz',\n \"delete\": '/quiz/:quiz'\n }, opts.routes || null)\n }));\n }\n\n _createClass(QuizApi, [{\n key: \"results\",\n value: function results(screenId) {\n return this.requestGet(this.route('results', {\n screen: screenId\n }));\n }\n }, {\n key: \"create\",\n value: function create(data) {\n return this.requestPost(this.route('store'), data);\n }\n }]);\n\n return QuizApi;\n}(Base);\n\nvar Api = /*#__PURE__*/function (_Base) {\n _inherits(Api, _Base);\n\n var _super = _createSuper(Api);\n\n function Api() {\n var _this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Api);\n\n _this = _super.call(this, opts);\n _this.medias = new MediasApi(opts);\n _this.contributions = new ContributionsApi(opts);\n _this.quiz = new QuizApi(opts);\n return _this;\n }\n\n return _createClass(Api);\n}(Base);\n\n/* eslint-disable react/jsx-props-no-spreading */\nvar ApiContext = /*#__PURE__*/React.createContext(null);\nvar useApi = function useApi() {\n return useContext(ApiContext);\n};\nvar propTypes$1 = {\n api: PropTypes.instanceOf(Api),\n baseUrl: PropTypes.string,\n children: PropTypes.node.isRequired\n};\nvar defaultProps$1 = {\n api: null,\n baseUrl: undefined\n};\nvar ApiProvider = function ApiProvider(_ref) {\n var initialApi = _ref.api,\n baseUrl = _ref.baseUrl,\n children = _ref.children;\n var previousApi = useApi();\n var api = useMemo(function () {\n return initialApi || previousApi || new Api({\n baseUrl: baseUrl // baseUrl: 'https://micromag.studio.test/api',\n\n });\n }, [previousApi, initialApi, baseUrl]);\n return /*#__PURE__*/React.createElement(ApiContext.Provider, {\n value: api\n }, children);\n};\nApiProvider.propTypes = propTypes$1;\nApiProvider.defaultProps = defaultProps$1;\n\nvar useContributionCreate = function useContributionCreate() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n screenId = _ref.screenId,\n _ref$onSuccess = _ref.onSuccess,\n onSuccess = _ref$onSuccess === void 0 ? null : _ref$onSuccess;\n\n var api = useApi();\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n creating = _useState2[0],\n setCreating = _useState2[1];\n\n var create = useCallback(function (data) {\n if (api === null) {\n return null;\n }\n\n setCreating(true);\n return api.contributions.create(_objectSpread({\n screen_id: screenId\n }, data)).then(function (response) {\n setCreating(false);\n\n if (onSuccess !== null) {\n onSuccess(response);\n }\n\n return response;\n });\n }, [api, setCreating, onSuccess, screenId]);\n return {\n create: create,\n creating: creating\n };\n};\n\nvar useData = function useData(loadData) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$initialData = _ref.initialData,\n initialData = _ref$initialData === void 0 ? null : _ref$initialData,\n _ref$autoload = _ref.autoload,\n autoload = _ref$autoload === void 0 ? true : _ref$autoload;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n loading = _useState2[0],\n setLoading = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n error = _useState4[0],\n setError = _useState4[1];\n\n var _useState5 = useState(initialData),\n _useState6 = _slicedToArray(_useState5, 2),\n data = _useState6[0],\n setData = _useState6[1];\n\n var load = useCallback(function () {\n var canceled = false;\n setLoading(true);\n var promise = loadData.apply(void 0, arguments).then(function (newData) {\n if (!canceled) {\n setData(newData);\n setLoading(false);\n }\n\n return newData;\n })[\"catch\"](function (newError) {\n setError(newError);\n setLoading(false);\n });\n\n promise.cancel = function () {\n canceled = true;\n setLoading(false);\n };\n\n return promise;\n }, [loadData, setLoading, setData]);\n useEffect(function () {\n var loader = null;\n\n if (autoload) {\n loader = load();\n }\n\n return function () {\n if (loader !== null) {\n loader.cancel();\n }\n };\n }, [autoload, load]);\n return {\n data: data,\n load: load,\n loading: loading,\n error: error\n };\n};\n\nvar _excluded$4 = [\"data\"];\nvar useContributions = function useContributions() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n screenId = _ref.screenId,\n _ref$opts = _ref.opts,\n opts = _ref$opts === void 0 ? {} : _ref$opts;\n\n var api = useApi();\n\n var _useState = useState(_toConsumableArray(new Array(10)).map(function (el, i) {\n return {\n name: \"Nom \".concat(i + 1),\n message: \"Message \".concat(i + 1)\n };\n })),\n _useState2 = _slicedToArray(_useState, 1),\n defaultContributions = _useState2[0];\n\n var loader = useCallback(function () {\n return api !== null ? api.contributions.get(screenId) : null;\n }, [api, screenId]);\n\n var _ref2 = api !== null ? useData(loader, opts) : {\n data: null\n },\n data = _ref2.data,\n request = _objectWithoutProperties(_ref2, _excluded$4);\n\n return _objectSpread({\n contributions: data || defaultContributions\n }, request);\n};\n\nvar useItems = function useItems(_ref) {\n var _ref$getPage = _ref.getPage,\n getPage = _ref$getPage === void 0 ? null : _ref$getPage,\n _ref$getItems = _ref.getItems,\n getItems = _ref$getItems === void 0 ? null : _ref$getItems,\n _ref$page = _ref.page,\n page = _ref$page === void 0 ? null : _ref$page,\n _ref$count = _ref.count,\n count = _ref$count === void 0 ? 10 : _ref$count,\n _ref$items = _ref.items,\n providedItems = _ref$items === void 0 ? null : _ref$items,\n _ref$pages = _ref.pages,\n initialPages = _ref$pages === void 0 ? null : _ref$pages,\n _ref$getPageFromRespo = _ref.getPageFromResponse,\n getPageFromResponse = _ref$getPageFromRespo === void 0 ? function (_ref2) {\n var _ref2$meta = _ref2.meta,\n currentPage = _ref2$meta.current_page,\n lastPage = _ref2$meta.last_page,\n total = _ref2$meta.total,\n items = _ref2.data;\n return {\n page: parseInt(currentPage, 10),\n lastPage: parseInt(lastPage, 10),\n total: parseInt(total, 10),\n items: items\n };\n } : _ref$getPageFromRespo,\n _ref$getItemsFromResp = _ref.getItemsFromResponse,\n getItemsFromResponse = _ref$getItemsFromResp === void 0 ? function (data) {\n return data;\n } : _ref$getItemsFromResp,\n _ref$onItemsLoaded = _ref.onItemsLoaded,\n onItemsLoaded = _ref$onItemsLoaded === void 0 ? null : _ref$onItemsLoaded,\n _ref$onPageLoaded = _ref.onPageLoaded,\n onPageLoaded = _ref$onPageLoaded === void 0 ? null : _ref$onPageLoaded,\n _ref$onLoaded = _ref.onLoaded,\n onLoaded = _ref$onLoaded === void 0 ? null : _ref$onLoaded,\n _ref$onError = _ref.onError,\n onError = _ref$onError === void 0 ? null : _ref$onError;\n var isPaginated = getPage !== null || initialPages !== null;\n var lastState = useRef(null);\n var initialState = useMemo(function () {\n var finalInitialPages = initialPages !== null ? initialPages.map(function (it) {\n return getPageFromResponse(it);\n }) : null;\n return {\n lastPage: finalInitialPages !== null ? finalInitialPages.reduce(function (currentLastPage, _ref3) {\n var initialLastPage = _ref3.lastPage;\n return initialLastPage > currentLastPage ? initialLastPage : currentLastPage;\n }, -1) : -1,\n total: finalInitialPages !== null ? finalInitialPages[0].total : (providedItems || []).length,\n loaded: providedItems !== null,\n loading: false,\n pages: finalInitialPages !== null ? finalInitialPages : null,\n items: null\n };\n }, [initialPages, providedItems]);\n\n var _useState = useState(initialState),\n _useState2 = _slicedToArray(_useState, 2),\n state = _useState2[0],\n setState = _useState2[1];\n\n var lastPage = state.lastPage,\n loaded = state.loaded,\n loading = state.loading,\n stateItems = state.items,\n pages = state.pages,\n total = state.total;\n var items = providedItems || (isPaginated && pages !== null ? pages.reduce(function (pagesItems, _ref4) {\n var pageItems = _ref4.items;\n return pagesItems.concat(pageItems);\n }, []) : stateItems) || null;\n\n var updateState = function updateState(update) {\n return setState(_objectSpread(_objectSpread({}, state), update));\n };\n\n var updateFromResponse = function updateFromResponse(response) {\n var error = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var reset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (error !== null) {\n updateState({\n loaded: false,\n loading: false\n });\n throw error;\n }\n\n if (isPaginated) {\n var newPage = getPageFromResponse(response);\n var newPages = (reset ? [newPage] : [].concat(_toConsumableArray((pages || []).filter(function (it) {\n return it.page !== newPage.page;\n })), [newPage])).sort(function (a, b) {\n if (a === b) {\n return 0;\n }\n\n return a > b ? 1 : -1;\n });\n updateState({\n loaded: true,\n loading: false,\n lastPage: newPage.lastPage,\n total: newPage.total,\n pages: newPages\n });\n return newPage;\n }\n\n var newItems = _toConsumableArray(getItemsFromResponse(response));\n\n updateState({\n loaded: true,\n loading: false,\n items: newItems,\n total: newItems.length\n });\n return newItems;\n };\n\n var getNextPage = function getNextPage() {\n var allPages = lastPage !== -1 ? Array.call.apply(Array, [null].concat(_toConsumableArray(Array(lastPage)))).map(function (it, index) {\n return index + 1;\n }) : [];\n var remainingPages = allPages.filter(function (pageNumber) {\n return pages.findIndex(function (it) {\n return it.page === pageNumber;\n }) === -1;\n });\n var firstItem = remainingPages.length > 0 ? remainingPages.shift() : null;\n return firstItem !== null ? firstItem : null;\n };\n\n var loadItems = function loadItems(requestPage) {\n updateState({\n loading: true\n });\n var canceled = false;\n var request = isPaginated ? getPage(requestPage, count) : getItems();\n var promise = request.then(function (response) {\n return !canceled ? updateFromResponse(response) : Promise.reject();\n })[\"catch\"](function (error) {\n return !canceled ? updateFromResponse(null, error) : Promise.reject();\n }).then(function (response) {\n if (isPaginated && onPageLoaded !== null) {\n onPageLoaded(response);\n } else if (!isPaginated && onItemsLoaded !== null) {\n onItemsLoaded(response);\n }\n\n if (onLoaded !== null) {\n onLoaded(response);\n }\n\n return response;\n })[\"catch\"](function (error) {\n if (!canceled && onError !== null) {\n onError(error);\n }\n });\n\n promise.cancel = function () {\n canceled = true;\n };\n\n return promise;\n };\n\n var loadPage = function loadPage(pageToLoad) {\n if (loading) {\n return Promise.reject();\n }\n\n if (pages.find(function (it) {\n return it.page === pageToLoad;\n }) !== -1) {\n return Promise.reject();\n }\n\n return loadItems(pageToLoad);\n };\n\n var loadNextPage = function loadNextPage() {\n if (loading) {\n return Promise.reject();\n }\n\n var nextPage = getNextPage();\n return nextPage !== null ? loadItems(nextPage) : Promise.resolve();\n };\n\n useEffect(function () {\n var hadState = lastState.current !== null;\n lastState.current = initialState;\n\n if (hadState) {\n setState(initialState);\n }\n }, [initialState]);\n useEffect(function () {\n if (getPage === null && getItems === null || providedItems !== null) {\n return function () {};\n }\n\n var loadPromise = null;\n var pageToLoad = isPaginated && initialPages === null && page === null ? 1 : page;\n\n if (!isPaginated || pageToLoad !== null) {\n loadPromise = loadItems(pageToLoad);\n }\n\n return function () {\n if (loadPromise !== null) {\n loadPromise.cancel();\n }\n };\n }, [getPage, getItems, page]);\n var currentPage = isPaginated && pages !== null ? pages.find(function (_ref5) {\n var pageNumber = _ref5.page;\n return parseInt(pageNumber, 10) === parseInt(page, 10);\n }) || null : null;\n return {\n items: items,\n pages: pages,\n pageItems: currentPage !== null ? currentPage.items : null,\n total: total,\n lastPage: lastPage,\n loaded: loaded,\n allLoaded: !isPaginated && loaded || lastPage !== -1 && isPaginated && pages.length === lastPage,\n loading: loading,\n loadNextPage: loadNextPage,\n loadPage: loadPage\n };\n};\n\nvar _excluded$3 = [\"data\"];\n\nvar useMedia = function useMedia(id, opts) {\n var api = useApi();\n var loader = useCallback(function () {\n return api.medias.find(id);\n }, [api, id]);\n\n var _useData = useData(loader, opts),\n data = _useData.data,\n request = _objectWithoutProperties(_useData, _excluded$3);\n\n return _objectSpread({\n story: data\n }, request);\n};\n\n// import { useCallback } from 'react';\n// eslint-disable-next-line\n\nvar useMediaAuthors = function useMediaAuthors() {\n var api = useApi();\n console.log('api', api); // eslint-disable-line\n // const getItems = useCallback(() => api.medias.getAuthors(query, count), [api, query, count]);\n // const { items, pageItems, ...request } = useItems({\n // getItems,\n // ...opts,\n // });\n\n return {\n authors: [] // ...request,\n\n };\n};\n\nvar useMediaCreate = function useMediaCreate() {\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n creating = _useState2[0],\n setCreating = _useState2[1];\n\n var api = useApi();\n var create = useCallback(function (data) {\n setCreating(true);\n return api.medias.create(data).then(function (response) {\n setCreating(false);\n return response;\n });\n }, [api, setCreating]);\n return {\n create: create,\n creating: creating\n };\n};\n\nvar _excluded$2 = [\"items\", \"pageItems\"];\n\nvar useMedias = function useMedias() {\n var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var count = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var opts = arguments.length > 3 ? arguments[3] : undefined;\n var api = useApi();\n var getItems = useCallback(function () {\n var requestedPage = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n return api.medias.get(query, requestedPage, count);\n }, [api, query, count]);\n\n var _useItems = useItems(_objectSpread({\n getPage: page !== null ? getItems : null,\n getItems: page === null ? getItems : null,\n page: page\n }, opts)),\n items = _useItems.items,\n pageItems = _useItems.pageItems,\n request = _objectWithoutProperties(_useItems, _excluded$2); // console.log('medias', items);\n\n\n return _objectSpread({\n medias: page !== null ? pageItems : items,\n allMedias: items\n }, request);\n};\n\nvar useMediasRecent = function useMediasRecent(opts) {\n var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'media-gallery-recent-searches';\n var createSearch = useCallback(function (value) {\n if (window !== undefined && value) {\n var recent = window.localStorage.getItem(key) || null;\n var current = recent !== null ? JSON.parse(recent || '[]') : [];\n var encoded = JSON.stringify([value].concat(_toConsumableArray(current)));\n window.localStorage.setItem(key, encoded);\n return true;\n }\n\n return false;\n }, [key]);\n var getSearches = useCallback(function () {\n var count = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 5;\n\n if (window !== undefined) {\n var recent = window.localStorage.getItem(key) || null;\n var current = recent !== null ? JSON.parse(recent || '[]') : [];\n return current.slice(0, count);\n }\n\n return [];\n }, [key]);\n return {\n createSearch: createSearch,\n getSearches: getSearches\n };\n};\n\nvar _excluded$1 = [\"items\", \"pageItems\"];\n\nvar useMediaTags = function useMediaTags() {\n var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var count = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;\n var opts = arguments.length > 2 ? arguments[2] : undefined;\n var api = useApi();\n var getItems = useCallback(function () {\n return api.medias.getTags(query, count);\n }, [api, query, count]);\n\n var _useItems = useItems(_objectSpread({\n getItems: getItems\n }, opts)),\n items = _useItems.items;\n _useItems.pageItems;\n var request = _objectWithoutProperties(_useItems, _excluded$1);\n\n return _objectSpread({\n tags: items\n }, request);\n};\n\nvar useMediaUpdate = function useMediaUpdate() {\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n updating = _useState2[0],\n setUpdating = _useState2[1];\n\n var api = useApi();\n var update = useCallback(function (id, data) {\n setUpdating(true);\n return api.medias.update(id, data).then(function (response) {\n setUpdating(false);\n return response;\n });\n }, [api, setUpdating]);\n return {\n update: update,\n updating: updating\n };\n};\n\nvar _excluded = [\"data\"];\nvar useQuiz = function useQuiz() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n screenId = _ref.screenId,\n _ref$opts = _ref.opts,\n opts = _ref$opts === void 0 ? {} : _ref$opts;\n\n var api = useApi();\n var loader = useCallback(function () {\n return api !== null ? api.quiz.results(screenId) : null;\n }, [api, screenId]);\n\n var _ref2 = api !== null ? useData(loader, opts) : {\n data: null\n },\n data = _ref2.data,\n request = _objectWithoutProperties(_ref2, _excluded);\n\n return _objectSpread({\n quiz: data || []\n }, request);\n};\n\nvar useQuizCreate = function useQuizCreate() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n screenId = _ref.screenId,\n _ref$onSuccess = _ref.onSuccess,\n onSuccess = _ref$onSuccess === void 0 ? null : _ref$onSuccess;\n\n var api = useApi();\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n creating = _useState2[0],\n setCreating = _useState2[1];\n\n var create = useCallback(function (data) {\n if (api === null) {\n return null;\n }\n\n setCreating(true);\n return api.quiz.create(_objectSpread({\n screen_id: screenId\n }, data)).then(function (response) {\n setCreating(false);\n\n if (onSuccess !== null) {\n onSuccess(response);\n }\n\n return response;\n });\n }, [api, setCreating, onSuccess, screenId]);\n return {\n create: create,\n creating: creating\n };\n};\n\n/* eslint-disable react/jsx-props-no-spreading */\nvar propTypes = {\n api: PropTypes.instanceOf(Api),\n apiBaseUrl: PropTypes.string,\n children: PropTypes.node\n};\nvar defaultProps = {\n api: null,\n apiBaseUrl: undefined,\n children: null\n};\n\nvar DataProvider = function DataProvider(_ref) {\n var api = _ref.api,\n apiBaseUrl = _ref.apiBaseUrl,\n children = _ref.children;\n return /*#__PURE__*/React.createElement(ApiProvider, {\n api: api,\n baseUrl: apiBaseUrl\n }, children);\n};\n\nDataProvider.propTypes = propTypes;\nDataProvider.defaultProps = defaultProps;\n\nexport { Api, ApiProvider, Base as BaseApi, DataProvider, useApi, useContributionCreate, useContributions, useData, useItems, useMedia, useMediaAuthors, useMediaCreate, useMediaTags, useMediaUpdate, useMedias, useMediasRecent as useMediasRecentSearches, useQuiz, useQuizCreate };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport React from 'react';\nimport PropTypes$1 from 'prop-types';\nimport classNames from 'classnames';\nimport { PropTypes } from '@micromag/core';\nimport { Button as Button$1 } from '@micromag/core/components';\nimport { getStyleFromText, getStyleFromButton } from '@micromag/core/utils';\n\nvar styles = {\"container\":\"micromag-element-button-container\",\"active\":\"micromag-element-button-active\",\"focus\":\"micromag-element-button-focus\",\"disabled\":\"micromag-element-button-disabled\"};\n\nvar propTypes = {\n textStyle: PropTypes.textStyle,\n buttonStyle: PropTypes.buttonStyle,\n type: PropTypes$1.oneOf(['button', 'submit']),\n disabled: PropTypes$1.bool,\n focusable: PropTypes$1.bool,\n onClick: PropTypes$1.func,\n children: PropTypes$1.node,\n className: PropTypes$1.string,\n refButton: PropTypes$1.oneOfType([PropTypes$1.func, PropTypes$1.shape({\n current: PropTypes$1.any // eslint-disable-line\n\n })])\n};\nvar defaultProps = {\n textStyle: null,\n buttonStyle: null,\n type: 'button',\n disabled: false,\n focusable: true,\n onClick: null,\n children: null,\n className: null,\n refButton: null\n};\n\nvar Button = function Button(_ref) {\n var textStyle = _ref.textStyle,\n buttonStyle = _ref.buttonStyle,\n type = _ref.type,\n disabled = _ref.disabled,\n focusable = _ref.focusable,\n onClick = _ref.onClick,\n children = _ref.children,\n className = _ref.className,\n refButton = _ref.refButton;\n var finalStyle = null;\n\n if (textStyle !== null) {\n finalStyle = _objectSpread(_objectSpread({}, finalStyle), getStyleFromText(textStyle));\n }\n\n if (buttonStyle !== null) {\n finalStyle = _objectSpread(_objectSpread({}, finalStyle), getStyleFromButton(buttonStyle));\n }\n\n return /*#__PURE__*/React.createElement(Button$1, {\n className: classNames([styles.container, _defineProperty({}, className, className !== null)]),\n disabled: disabled,\n style: finalStyle,\n onClick: onClick,\n refButton: refButton,\n type: type,\n focusable: focusable\n }, children);\n};\n\nButton.propTypes = propTypes;\nButton.defaultProps = defaultProps;\n\nexport { Button as default };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { LinkStyle, HighlightStyle } from '@micromag/core/components';\nimport { getStyleFromLink, getStyleFromHighlight, getStyleFromText, getStyleFromMargin } from '@micromag/core/utils';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useMemo } from 'react';\nimport { v1 } from 'uuid';\n\nvar styles = {\"container\":\"micromag-element-heading-container\"};\n\nvar propTypes = {\n size: PropTypes.oneOf([1, 2, 3, 4, 5, 6]),\n body: PropTypes.string,\n textStyle: PropTypes$1.textStyle,\n linksStyle: PropTypes$1.textStyle,\n margin: PropTypes$1.margin,\n className: PropTypes.string\n};\nvar defaultProps = {\n size: 1,\n body: null,\n textStyle: null,\n linksStyle: null,\n margin: null,\n className: null\n};\n\nvar Heading = function Heading(_ref) {\n var size = _ref.size,\n body = _ref.body,\n textStyle = _ref.textStyle,\n linksStyle = _ref.linksStyle,\n margin = _ref.margin,\n className = _ref.className;\n var HeadingComponent = \"h\".concat(size);\n\n var _ref2 = textStyle || {},\n _ref2$link = _ref2.link,\n linkStyle = _ref2$link === void 0 ? null : _ref2$link,\n _ref2$highlight = _ref2.highlight,\n highlightStyle = _ref2$highlight === void 0 ? null : _ref2$highlight;\n\n var finalStyle = null;\n var finalLinkStyle = linkStyle !== null ? getStyleFromLink(linkStyle) : null;\n var finalHighlightStyle = highlightStyle !== null ? getStyleFromHighlight(highlightStyle) : null;\n\n if (textStyle !== null) {\n finalStyle = _objectSpread(_objectSpread({}, finalStyle), getStyleFromText(textStyle));\n }\n\n if (margin !== null) {\n finalStyle = _objectSpread(_objectSpread({}, finalStyle), getStyleFromMargin(margin));\n }\n\n if (linksStyle !== null) {\n finalLinkStyle = _objectSpread(_objectSpread({}, finalLinkStyle), getStyleFromText(linksStyle));\n }\n\n var needsId = finalLinkStyle !== null || highlightStyle !== null;\n var id = useMemo(function () {\n return needsId ? \"text-component-\".concat(v1()) : null;\n }, [needsId]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, finalLinkStyle !== null ? /*#__PURE__*/React.createElement(LinkStyle, {\n selector: \"#\".concat(id),\n style: finalLinkStyle\n }) : null, finalHighlightStyle !== null ? /*#__PURE__*/React.createElement(HighlightStyle, {\n selector: \"#\".concat(id),\n style: finalHighlightStyle\n }) : null, /*#__PURE__*/React.createElement(HeadingComponent, {\n id: id,\n className: classNames([styles.container, _defineProperty({}, className, className !== null)]),\n style: finalStyle,\n dangerouslySetInnerHTML: {\n __html: body\n }\n }));\n};\n\nHeading.propTypes = propTypes;\nHeading.defaultProps = defaultProps;\n\nexport { Heading as default };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { getStyleFromMargin, getStyleFromText, getStyleFromButton } from '@micromag/core/utils';\n\nvar styles = {\"container\":\"micromag-element-text-input-container\",\"element\":\"micromag-element-text-input-element\"};\n\nvar propTypes = {\n label: PropTypes.string,\n labelOutside: PropTypes.bool,\n labelClassName: PropTypes.string,\n textStyle: PropTypes$1.textStyle,\n buttonStyle: PropTypes$1.buttonStyle,\n labelOutsideStyle: PropTypes$1.textStyle,\n margin: PropTypes$1.margin,\n multiline: PropTypes.bool,\n value: PropTypes.string,\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n required: PropTypes.bool,\n disabled: PropTypes.bool,\n focusable: PropTypes.bool,\n className: PropTypes.string\n};\nvar defaultProps = {\n label: null,\n labelOutside: false,\n labelClassName: null,\n textStyle: null,\n buttonStyle: null,\n labelOutsideStyle: null,\n margin: null,\n multiline: false,\n value: '',\n onChange: null,\n onFocus: null,\n onBlur: null,\n required: false,\n disabled: false,\n focusable: true,\n className: null\n};\n\nvar TextInput = function TextInput(_ref) {\n var _ref2;\n\n var label = _ref.label,\n labelOutside = _ref.labelOutside,\n labelClassName = _ref.labelClassName,\n textStyle = _ref.textStyle,\n buttonStyle = _ref.buttonStyle,\n labelOutsideStyle = _ref.labelOutsideStyle,\n margin = _ref.margin,\n multiline = _ref.multiline,\n value = _ref.value,\n onChange = _ref.onChange,\n onFocus = _ref.onFocus,\n onBlur = _ref.onBlur,\n required = _ref.required,\n disabled = _ref.disabled,\n focusable = _ref.focusable,\n className = _ref.className;\n var containerStyle = {};\n var labelStyle = {};\n var elementStyle = {};\n\n if (margin !== null) {\n containerStyle = _objectSpread(_objectSpread({}, containerStyle), getStyleFromMargin(margin));\n }\n\n if (labelOutsideStyle !== null) {\n labelStyle = _objectSpread(_objectSpread({}, labelStyle), getStyleFromText(labelOutsideStyle));\n }\n\n if (textStyle !== null) {\n elementStyle = _objectSpread(_objectSpread({}, elementStyle), getStyleFromText(textStyle));\n }\n\n if (buttonStyle !== null) {\n elementStyle = _objectSpread(_objectSpread({}, elementStyle), getStyleFromButton(buttonStyle));\n }\n\n var containerProps = {\n className: classNames([styles.container, (_ref2 = {}, _defineProperty(_ref2, className, className !== null), _defineProperty(_ref2, styles.element, !labelOutside), _ref2)]),\n style: containerStyle\n };\n\n var elementProps = _objectSpread(_objectSpread({\n className: styles.element\n }, !labelOutside ? containerProps : null), {}, {\n style: elementStyle,\n placeholder: !labelOutside ? label : undefined,\n value: value,\n onChange: onChange,\n onFocus: onFocus,\n onBlur: onBlur,\n required: required,\n disabled: disabled\n });\n\n var element = multiline ? /*#__PURE__*/React.createElement(\"textarea\", Object.assign({}, elementProps, {\n tabIndex: focusable ? '0' : '-1'\n })) : /*#__PURE__*/React.createElement(\"input\", Object.assign({}, elementProps, {\n type: \"text\",\n tabIndex: focusable ? '0' : '-1'\n }));\n return !labelOutside ? element : /*#__PURE__*/React.createElement(\"label\", containerProps, /*#__PURE__*/React.createElement(\"div\", {\n className: labelClassName,\n style: labelStyle\n }, label), element);\n};\n\nTextInput.propTypes = propTypes;\nTextInput.defaultProps = defaultProps;\n\nexport { TextInput as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport React, { useRef, useState, useCallback, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faSpinner } from '@fortawesome/free-solid-svg-icons';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { useTrackScreenEvent, useResizeObserver } from '@micromag/core/hooks';\nimport { ScreenElement, Transitions } from '@micromag/core/components';\nimport { isTextFilled, isLabelFilled, getStyleFromColor } from '@micromag/core/utils';\nimport { useContributionCreate, useContributions } from '@micromag/data';\nimport Background from '@micromag/element-background';\nimport Button from '@micromag/element-button';\nimport Container from '@micromag/element-container';\nimport Heading from '@micromag/element-heading';\nimport Scroll from '@micromag/element-scroll';\nimport CallToAction from '@micromag/element-call-to-action';\nimport Text from '@micromag/element-text';\nimport TextInput from '@micromag/element-text-input';\n\nvar styles = {\"container\":\"micromag-screen-contribution-container\",\"content\":\"micromag-screen-contribution-content\",\"buttonSubmit\":\"micromag-screen-contribution-buttonSubmit\",\"emptyInputMessage\":\"micromag-screen-contribution-emptyInputMessage\",\"emptyInputName\":\"micromag-screen-contribution-emptyInputName\",\"emptySubmit\":\"micromag-screen-contribution-emptySubmit\",\"emptyTitle\":\"micromag-screen-contribution-emptyTitle\",\"title\":\"micromag-screen-contribution-title\",\"interactiveContainer\":\"micromag-screen-contribution-interactiveContainer\",\"form\":\"micromag-screen-contribution-form\",\"inputMessage\":\"micromag-screen-contribution-inputMessage\",\"inputName\":\"micromag-screen-contribution-inputName\",\"formContent\":\"micromag-screen-contribution-formContent\",\"formLoading\":\"micromag-screen-contribution-formLoading\",\"rotate\":\"micromag-screen-contribution-rotate\",\"loadingIcon\":\"micromag-screen-contribution-loadingIcon\",\"contributionsContainer\":\"micromag-screen-contribution-contributionsContainer\",\"contributionsContent\":\"micromag-screen-contribution-contributionsContent\",\"contributions\":\"micromag-screen-contribution-contributions\",\"contribution\":\"micromag-screen-contribution-contribution\",\"callToAction\":\"micromag-screen-contribution-callToAction\",\"submitting\":\"micromag-screen-contribution-submitting\",\"submitted\":\"micromag-screen-contribution-submitted\",\"showContributions\":\"micromag-screen-contribution-showContributions\",\"isPlaceholder\":\"micromag-screen-contribution-isPlaceholder\"};\n\nvar propTypes = {\n id: PropTypes.string,\n layout: PropTypes.oneOf(['top', 'middle', 'bottom']),\n title: PropTypes$1.headingElement,\n name: PropTypes$1.inputElement,\n message: PropTypes$1.inputElement,\n submit: PropTypes$1.textElement,\n nameStyle: PropTypes$1.textStyle,\n messageStyle: PropTypes$1.textStyle,\n spacing: PropTypes.number,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n active: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n transitionStagger: PropTypes.number,\n resizeTransitionDuration: PropTypes.number,\n type: PropTypes.string,\n className: PropTypes.string\n};\nvar defaultProps = {\n id: null,\n layout: 'middle',\n title: null,\n name: null,\n message: null,\n submit: null,\n nameStyle: null,\n messageStyle: null,\n spacing: 20,\n background: null,\n callToAction: null,\n current: true,\n active: true,\n transitions: null,\n transitionStagger: 100,\n resizeTransitionDuration: 750,\n type: null,\n className: null\n};\n\nvar ContributionScreen = function ContributionScreen(_ref) {\n var _ref4;\n\n var id = _ref.id,\n layout = _ref.layout,\n title = _ref.title,\n name = _ref.name,\n message = _ref.message,\n submit = _ref.submit,\n nameStyle = _ref.nameStyle,\n messageStyle = _ref.messageStyle,\n spacing = _ref.spacing,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n active = _ref.active,\n transitions = _ref.transitions,\n transitionStagger = _ref.transitionStagger,\n resizeTransitionDuration = _ref.resizeTransitionDuration,\n type = _ref.type,\n className = _ref.className;\n var screenId = id || 'screen-id';\n var trackScreenEvent = useTrackScreenEvent(type);\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n menuOverScreen = _useScreenSize.menuOverScreen;\n\n var _useViewer = useViewer(),\n menuSize = _useViewer.menuSize;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var backgroundPlaying = current && (isView || isEdit);\n var backgroundShouldLoad = current || active || !isView;\n var transitionPlaying = current;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var scrollingDisabled = !isEdit && transitionDisabled || !current;\n var hasTitle = isTextFilled(title);\n var hasNameLabel = isLabelFilled(name);\n var hasMessageLabel = isLabelFilled(message);\n var hasSubmit = isTextFilled(submit);\n var contributionsRef = useRef(null);\n var formRef = useRef(null);\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n interactiveContainerHeight = _useState2[0],\n setInteractiveContainerHeight = _useState2[1];\n\n var _useState3 = useState(''),\n _useState4 = _slicedToArray(_useState3, 2),\n userName = _useState4[0],\n setUserName = _useState4[1];\n\n var _useState5 = useState(''),\n _useState6 = _slicedToArray(_useState5, 2),\n userMessage = _useState6[0],\n setUserMessage = _useState6[1]; // 0 = default, 1 = submitting, 2 = submitted, 3 = resizing, 4 = done\n\n\n var _useState7 = useState(isStatic || isCapture ? 4 : 0),\n _useState8 = _slicedToArray(_useState7, 2),\n submitState = _useState8[0],\n setSubmitState = _useState8[1];\n\n var onContributionSubmitted = useCallback(function () {\n setSubmitState(2);\n trackScreenEvent('submit_success', \"\".concat(userName, \": \").concat(userMessage));\n }, [setSubmitState, trackScreenEvent, userName, userMessage]);\n\n var _useContributionCreat = useContributionCreate({\n screenId: screenId\n }),\n submitContribution = _useContributionCreat.create;\n\n var _useContributions = useContributions({\n screenId: screenId,\n opts: {\n autoload: !isPlaceholder\n }\n }),\n contributions = _useContributions.contributions;\n\n var onNameChange = useCallback(function (e) {\n setUserName(e.currentTarget.value);\n }, [setUserName]);\n var onMessageChange = useCallback(function (e) {\n setUserMessage(e.currentTarget.value);\n }, [setUserMessage]);\n var nameFilled = useRef(false);\n var onNameBlur = useCallback(function (e) {\n if (!nameFilled.current && e.currentTarget.value.length > 0) {\n nameFilled.current = true;\n trackScreenEvent('input_filled', 'Name', {\n userName: e.currentTarget.value,\n userMessage: userMessage\n });\n }\n }, [trackScreenEvent, userMessage]);\n var messageFilled = useRef(false);\n var onMessageBlur = useCallback(function (e) {\n if (!messageFilled.current && e.currentTarget.value.length > 0) {\n messageFilled.current = true;\n trackScreenEvent('input_filled', 'Message', {\n userName: userName,\n userMessage: e.currentTarget.value\n });\n }\n }, [trackScreenEvent, userName]); // Call to Action\n\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n\n var _useState9 = useState(false),\n _useState10 = _slicedToArray(_useState9, 2),\n scrolledBottom = _useState10[0],\n setScrolledBottom = _useState10[1];\n\n var swipeUpLinkActive = scrolledBottom && submitState === 4;\n\n var _useResizeObserver = useResizeObserver(),\n callToActionRef = _useResizeObserver.ref,\n callToActionRect = _useResizeObserver.entry.contentRect;\n\n var _ref2 = callToActionRect || {},\n _ref2$height = _ref2.height,\n callToActionHeight = _ref2$height === void 0 ? 0 : _ref2$height;\n\n var onScrolledBottom = useCallback(function (_ref3) {\n var initial = _ref3.initial;\n\n if (initial) {\n trackScreenEvent('scroll', 'Contributions list');\n }\n\n setScrolledBottom(true);\n }, [trackScreenEvent, setScrolledBottom]);\n var onScrolledNotBottom = useCallback(function () {\n setScrolledBottom(false);\n }, [setScrolledBottom]);\n var onSubmit = useCallback(function (e) {\n e.preventDefault();\n\n if (submitState === 0) {\n setInteractiveContainerHeight(formRef.current.offsetHeight);\n setSubmitState(1);\n submitContribution({\n name: userName,\n message: userMessage\n });\n onContributionSubmitted();\n trackScreenEvent('click_submit', \"\".concat(userName, \": \").concat(userMessage), {\n userName: userName,\n userMessage: userMessage\n });\n }\n }, [submitState, setSubmitState, userName, userMessage, trackScreenEvent, onContributionSubmitted]);\n useEffect(function () {\n var timeout = null;\n\n if (submitState === 2) {\n timeout = setTimeout(setSubmitState, resizeTransitionDuration, 4);\n setInteractiveContainerHeight(contributionsRef.current.offsetHeight);\n setSubmitState(3);\n }\n\n return function () {\n if (submitState === 3 && timeout !== null) {\n clearTimeout(timeout);\n }\n };\n }, [submitState, setInteractiveContainerHeight, setSubmitState, resizeTransitionDuration]); // Title\n\n var items = [/*#__PURE__*/React.createElement(ScreenElement, {\n key: \"title\",\n placeholder: \"title\",\n placeholderProps: {\n height: '0.75em'\n },\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"2ZOPe+\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n }),\n emptyClassName: styles.emptyTitle,\n isEmpty: !hasTitle\n }, hasTitle ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(Heading, Object.assign({}, title, {\n className: styles.title\n }))) : null)];\n var allContributions = [].concat(_toConsumableArray(userName !== null && userMessage !== null ? [{\n name: userName,\n message: userMessage\n }] : []), _toConsumableArray(contributions || [])); // Form\n\n items.push( /*#__PURE__*/React.createElement(\"div\", {\n key: \"form\",\n className: styles.interactiveContainer,\n style: {\n height: submitState < 4 ? interactiveContainerHeight : null,\n transitionDuration: \"\".concat(resizeTransitionDuration, \"ms\")\n }\n }, /*#__PURE__*/React.createElement(\"form\", {\n className: styles.form,\n onSubmit: onSubmit,\n ref: formRef\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.formContent\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"inputText\",\n placeholderProps: {\n height: '0.25em'\n },\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"G/ITGY\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Your name\"\n }]\n }),\n emptyClassName: styles.emptyInputName,\n isEmpty: !hasNameLabel\n }, /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n delay: transitionStagger,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(TextInput, Object.assign({\n className: styles.inputName\n }, name, {\n value: userName,\n onChange: function onChange(e) {\n return onNameChange(e);\n },\n onBlur: function onBlur(e) {\n return onNameBlur(e);\n },\n focusable: current && isView,\n disabled: isPreview,\n required: true\n })))), /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"inputText\",\n placeholderProps: {\n height: '0.75em'\n },\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"JAguka\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Your message\"\n }]\n }),\n emptyClassName: styles.emptyInputMessage,\n isEmpty: !hasMessageLabel\n }, /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n delay: transitionStagger * 2,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(TextInput, Object.assign({\n className: styles.inputMessage\n }, message, {\n value: userMessage,\n onChange: function onChange(e) {\n return onMessageChange(e);\n },\n onBlur: function onBlur(e) {\n return onMessageBlur(e);\n },\n disabled: isPreview,\n focusable: current && isView,\n multiline: true,\n required: true\n })))), /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"button\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"5uH4x7\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Submit\"\n }]\n }),\n emptyClassName: styles.emptySubmit,\n isEmpty: !hasSubmit\n }, /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n delay: transitionStagger * 3,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(Button, {\n type: \"submit\",\n className: styles.buttonSubmit,\n disabled: isPreview,\n buttonStyle: submit !== null ? submit.buttonStyle : null,\n focusable: current && isView\n }, /*#__PURE__*/React.createElement(Text, Object.assign({}, submit, {\n inline: true\n })))))), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.formLoading\n }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {\n className: styles.loadingIcon,\n icon: faSpinner\n }))), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.contributionsContainer,\n \"aria-hidden\": submitState === 4 ? null : 'true'\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.contributionsContent\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.contributions,\n ref: contributionsRef\n }, allContributions.map(function (contribution, contributionIndex) {\n var nameInnerStyle = nameStyle !== null ? nameStyle.style || null : null;\n var messageInnerStyle = messageStyle !== null ? messageStyle.style || null : null;\n return /*#__PURE__*/React.createElement(\"div\", {\n key: \"contribution-\".concat(contributionIndex),\n className: styles.contribution,\n style: nameInnerStyle !== null ? getStyleFromColor(nameInnerStyle.color, 'borderColor') : null\n }, /*#__PURE__*/React.createElement(Heading, {\n className: styles.contributionName,\n body: contribution.name,\n size: 2,\n textStyle: nameInnerStyle\n }), /*#__PURE__*/React.createElement(Text, {\n className: styles.contributionMessage,\n body: contribution.message,\n textStyle: messageInnerStyle\n }));\n })))), hasCallToAction ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n height: callToActionHeight\n }\n }) : null));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref4 = {}, _defineProperty(_ref4, className, className !== null), _defineProperty(_ref4, styles.isPlaceholder, isPlaceholder), _defineProperty(_ref4, styles.submitting, submitState === 1), _defineProperty(_ref4, styles.submitted, submitState > 1), _defineProperty(_ref4, styles.showContributions, submitState === 4), _ref4)]),\n \"data-screen-ready\": true\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying,\n shouldLoad: backgroundShouldLoad\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.content,\n style: !isPlaceholder ? {\n padding: spacing,\n paddingTop: (menuOverScreen && !isPreview ? menuSize : 0) + spacing\n } : null\n }, /*#__PURE__*/React.createElement(Scroll, {\n verticalAlign: layout,\n disabled: scrollingDisabled,\n onScrolledBottom: onScrolledBottom,\n onScrolledNotBottom: onScrolledNotBottom\n }, items), !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(CallToAction, {\n ref: callToActionRef,\n className: styles.callToAction,\n disabled: !swipeUpLinkActive,\n animationDisabled: isPreview,\n callToAction: callToAction,\n focusable: current && isView\n }) : null)));\n};\n\nContributionScreen.propTypes = propTypes;\nContributionScreen.defaultProps = defaultProps;\n\nvar definition = {\n id: 'contribution',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"ZqwBOx\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Questions\"\n }]\n }),\n order: 7\n },\n title: defineMessage({\n id: \"g6b9Lg\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Contribution\"\n }]\n }),\n component: ContributionScreen,\n layouts: ['top', 'middle', 'bottom'],\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'top',\n label: defineMessage({\n id: \"4iBXj2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'title',\n type: 'heading-element',\n theme: {\n textStyle: 'heading2'\n },\n label: defineMessage({\n id: \"N25iDO\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'name',\n type: 'input-element',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n id: \"nXVNeg\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Name\"\n }]\n })\n }, {\n name: 'message',\n type: 'input-element',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n id: \"RcLsua\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Message\"\n }]\n })\n }, {\n name: 'submit',\n type: 'button-element',\n theme: {\n textStyle: 'button'\n },\n label: defineMessage({\n id: \"uAKPQ9\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Submit\"\n }]\n })\n }, {\n name: 'nameStyle',\n type: 'item-text-style',\n theme: {\n style: {\n textStyle: 'heading2'\n }\n },\n label: defineMessage({\n id: \"SyMSDa\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Published name style\"\n }]\n })\n }, {\n name: 'messageStyle',\n type: 'item-text-style',\n theme: {\n style: {\n textStyle: 'text'\n }\n },\n label: defineMessage({\n id: \"+SlKOi\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Published message style\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"+MPZRu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n};\n\nexport { ContributionScreen, definition as default };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport { getSizeWithinBounds } from '@folklore/size';\nimport { PropTypes } from '@micromag/core';\nimport { getOptimalImageUrl } from '@micromag/core/utils';\nimport classNames from 'classnames';\nimport PropTypes$1 from 'prop-types';\nimport React, { useState, useCallback } from 'react';\n\nvar styles = {\"container\":\"micromag-element-image-container\",\"showEmpty\":\"micromag-element-image-showEmpty\",\"img\":\"micromag-element-image-img\"};\n\nvar propTypes = {\n media: PropTypes.imageMedia,\n alt: PropTypes$1.string,\n width: PropTypes$1.oneOfType([PropTypes$1.number, PropTypes$1.string]),\n height: PropTypes$1.oneOfType([PropTypes$1.number, PropTypes$1.string]),\n objectFit: PropTypes.objectFit,\n containerStyle: PropTypes.containerStyle,\n imageStyle: PropTypes.containerStyle,\n className: PropTypes$1.string,\n imageClassName: PropTypes$1.string,\n onLoaded: PropTypes$1.func,\n loadingMode: PropTypes$1.string\n};\nvar defaultProps = {\n media: null,\n alt: null,\n width: null,\n height: null,\n objectFit: null,\n containerStyle: {},\n //\n imageStyle: {},\n className: null,\n imageClassName: null,\n onLoaded: null,\n loadingMode: 'lazy'\n};\n\nvar Image = function Image(_ref) {\n var media = _ref.media,\n alt = _ref.alt,\n width = _ref.width,\n height = _ref.height,\n objectFit = _ref.objectFit,\n containerStyle = _ref.containerStyle,\n imageStyle = _ref.imageStyle,\n className = _ref.className,\n imageClassName = _ref.imageClassName,\n onLoaded = _ref.onLoaded,\n loadingMode = _ref.loadingMode;\n\n var _ref2 = media || {};\n _ref2.url;\n var _ref2$metadata = _ref2.metadata,\n metadata = _ref2$metadata === void 0 ? null : _ref2$metadata;\n\n var _ref3 = metadata || {},\n _ref3$width = _ref3.width,\n mediaWidth = _ref3$width === void 0 ? 0 : _ref3$width,\n _ref3$height = _ref3.height,\n mediaHeight = _ref3$height === void 0 ? 0 : _ref3$height,\n _ref3$description = _ref3.description,\n description = _ref3$description === void 0 ? 'image' : _ref3$description;\n\n var mediaRatio = mediaWidth / mediaHeight;\n\n var _useState = useState({\n width: mediaWidth,\n height: mediaHeight\n }),\n _useState2 = _slicedToArray(_useState, 2),\n _useState2$ = _useState2[0],\n _useState2$$width = _useState2$.width,\n realWidth = _useState2$$width === void 0 ? 0 : _useState2$$width,\n _useState2$$height = _useState2$.height,\n realHeight = _useState2$$height === void 0 ? 0 : _useState2$$height,\n setRealSize = _useState2[1];\n\n var onImageLoaded = useCallback(function (e) {\n var _e$target = e.target,\n _e$target$naturalWidt = _e$target.naturalWidth,\n naturalWidth = _e$target$naturalWidt === void 0 ? 0 : _e$target$naturalWidt,\n _e$target$naturalHeig = _e$target.naturalHeight,\n naturalHeight = _e$target$naturalHeig === void 0 ? 0 : _e$target$naturalHeig;\n\n if (naturalWidth !== realWidth || naturalHeight !== realHeight) {\n setRealSize({\n width: naturalWidth || 0,\n height: naturalHeight || 0\n });\n }\n\n if (onLoaded !== null) {\n onLoaded(e);\n }\n }, [onLoaded]);\n var withFit = objectFit !== null;\n var mediaHasSize = realWidth > 0 && realHeight > 0;\n var finalContainerStyle;\n var finalImageStyle;\n\n if (withFit) {\n var imageTop = 0;\n var imageLeft = 0;\n var imageWidth = width;\n var imageHeight = height;\n var imageObjectFit = null;\n var imageObjectPosition = null;\n\n var _ref4 = objectFit || {},\n _ref4$fit = _ref4.fit,\n fit = _ref4$fit === void 0 ? null : _ref4$fit,\n _ref4$horizontalPosit = _ref4.horizontalPosition,\n horizontalPosition = _ref4$horizontalPosit === void 0 ? 'center' : _ref4$horizontalPosit,\n _ref4$verticalPositio = _ref4.verticalPosition,\n verticalPosition = _ref4$verticalPositio === void 0 ? 'center' : _ref4$verticalPositio;\n\n if (mediaHasSize) {\n var _getSizeWithinBounds = getSizeWithinBounds(realWidth, realHeight, width, height, {\n cover: fit === 'cover'\n }),\n resizedImageWidth = _getSizeWithinBounds.width,\n resizedImageHeight = _getSizeWithinBounds.height;\n\n imageWidth = resizedImageWidth;\n imageHeight = resizedImageHeight;\n\n if (horizontalPosition === 'center') {\n imageLeft = -(resizedImageWidth - width) / 2;\n } else if (horizontalPosition === 'right') {\n imageLeft = -(resizedImageWidth - width);\n }\n\n if (verticalPosition === 'center') {\n imageTop = -(resizedImageHeight - height) / 2;\n } else if (verticalPosition === 'bottom') {\n imageTop = -(resizedImageHeight - height);\n }\n } else {\n imageObjectFit = fit;\n imageObjectPosition = \"\".concat(horizontalPosition, \" \").concat(verticalPosition);\n }\n\n finalContainerStyle = {\n width: width,\n height: height\n };\n finalImageStyle = {\n position: 'absolute',\n width: imageWidth,\n height: imageHeight,\n top: imageTop,\n left: imageLeft,\n objectFit: imageObjectFit,\n objectPosition: imageObjectPosition\n };\n } else {\n var validWidth = width !== null && typeof width === 'number';\n var validHeight = height !== null && typeof height === 'number';\n var ratioWidth = validHeight ? height * mediaRatio : null;\n var ratioHeight = validWidth ? width / mediaRatio : null;\n\n var _finalWidth = width !== null ? width : ratioWidth;\n\n var _finalHeight = height !== null ? height : ratioHeight;\n\n if (_finalWidth === null && _finalHeight === null) {\n _finalWidth = realWidth > 0 ? mediaWidth : null;\n _finalHeight = realHeight > 0 ? mediaHeight : null;\n }\n\n finalImageStyle = {\n width: _finalWidth,\n height: _finalHeight\n };\n finalContainerStyle = finalImageStyle;\n }\n\n finalContainerStyle = _objectSpread(_objectSpread({}, finalContainerStyle), containerStyle);\n finalImageStyle = _objectSpread(_objectSpread({}, finalImageStyle), imageStyle);\n var _finalImageStyle = finalImageStyle,\n _finalImageStyle$widt = _finalImageStyle.width,\n finalWidth = _finalImageStyle$widt === void 0 ? null : _finalImageStyle$widt,\n _finalImageStyle$heig = _finalImageStyle.height,\n finalHeight = _finalImageStyle$heig === void 0 ? null : _finalImageStyle$heig;\n var finalUrl = getOptimalImageUrl(media, finalWidth, finalHeight);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, _defineProperty({}, className, className !== null)]),\n style: finalContainerStyle\n }, finalUrl !== null ? /*#__PURE__*/React.createElement(\"img\", {\n src: finalUrl,\n alt: alt || description,\n className: classNames([styles.img, _defineProperty({}, imageClassName, imageClassName !== null)]),\n style: finalImageStyle,\n onLoad: onImageLoaded,\n loading: loadingMode\n }) : null);\n};\n\nImage.propTypes = propTypes;\nImage.defaultProps = defaultProps;\n\nexport { Image as default };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';\nimport React, { useMemo } from 'react';\nimport classNames from 'classnames';\nimport PropTypes$1 from 'prop-types';\nimport { getSizeWithinBounds } from '@folklore/size';\nimport { PropTypes } from '@micromag/core';\nimport Image from '@micromag/element-image';\nimport Video from '@micromag/element-video';\n\nvar styles = {\"container\":\"micromag-element-visual-container\",\"videoContainer\":\"micromag-element-visual-videoContainer\"};\n\nvar _excluded = [\"media\", \"width\", \"height\", \"objectFit\", \"playing\", \"videoLoop\", \"videoInitialMuted\", \"onLoaded\", \"className\", \"videoClassName\"];\nvar propTypes = {\n media: PropTypes.media,\n width: PropTypes$1.oneOfType([PropTypes$1.number, PropTypes$1.string]),\n height: PropTypes$1.oneOfType([PropTypes$1.number, PropTypes$1.string]),\n objectFit: PropTypes.objectFit,\n playing: PropTypes$1.bool,\n videoLoop: PropTypes$1.bool,\n videoInitialMuted: PropTypes$1.bool,\n onLoaded: PropTypes$1.func,\n className: PropTypes$1.string,\n videoClassName: PropTypes$1.string\n};\nvar defaultProps = {\n media: null,\n width: null,\n height: null,\n objectFit: null,\n playing: true,\n videoLoop: true,\n videoInitialMuted: true,\n onLoaded: null,\n className: null,\n videoClassName: null\n};\n\nvar Visual = function Visual(_ref) {\n var media = _ref.media,\n width = _ref.width,\n height = _ref.height,\n objectFit = _ref.objectFit,\n playing = _ref.playing,\n videoLoop = _ref.videoLoop,\n videoInitialMuted = _ref.videoInitialMuted,\n onLoaded = _ref.onLoaded,\n className = _ref.className,\n videoClassName = _ref.videoClassName,\n props = _objectWithoutProperties(_ref, _excluded);\n\n var _ref2 = media || {},\n _ref2$type = _ref2.type,\n type = _ref2$type === void 0 ? null : _ref2$type,\n _ref2$thumbnail_url = _ref2.thumbnail_url,\n thumbnailUrl = _ref2$thumbnail_url === void 0 ? null : _ref2$thumbnail_url,\n metadata = _ref2.metadata,\n url = _ref2.url;\n\n var _ref3 = metadata || {},\n mime = _ref3.mime;\n\n var isVideo = type === 'video';\n var isGIF = type === 'image' && mime === 'image/gif';\n var elProps = useMemo(function () {\n return _objectSpread(_objectSpread({}, props), {}, {\n media: media\n });\n }, [props, media]);\n var imageElProps = useMemo(function () {\n var tmpProps = !playing && (isVideo || isGIF) ? _objectSpread(_objectSpread({}, elProps), {}, {\n media: {\n url: thumbnailUrl\n }\n }) : elProps;\n return isGIF && playing ? _objectSpread(_objectSpread({}, elProps), {}, {\n media: {\n url: url\n }\n }) : tmpProps;\n }, [isVideo, isGIF, elProps, thumbnailUrl, url, playing]);\n var videoContainerStyle = null;\n\n if (isVideo && objectFit !== null && playing) {\n var _ref4 = objectFit || {},\n _ref4$fit = _ref4.fit,\n fit = _ref4$fit === void 0 ? 'cover' : _ref4$fit;\n\n var _ref5 = media || {},\n _ref5$metadata = _ref5.metadata,\n videoMetadata = _ref5$metadata === void 0 ? null : _ref5$metadata;\n\n var _ref6 = videoMetadata || {},\n _ref6$width = _ref6.width,\n videoWidth = _ref6$width === void 0 ? 0 : _ref6$width,\n _ref6$height = _ref6.height,\n videoHeight = _ref6$height === void 0 ? 0 : _ref6$height;\n\n var _getSizeWithinBounds = getSizeWithinBounds(videoWidth, videoHeight, width, height, {\n cover: fit === 'cover'\n }),\n resizedVideoWidth = _getSizeWithinBounds.width,\n resizedVideoHeight = _getSizeWithinBounds.height;\n\n var resizedVideoLeft = -(resizedVideoWidth - width) / 2;\n var resizedVideoTop = -(resizedVideoHeight - height) / 2;\n videoContainerStyle = {\n width: resizedVideoWidth,\n height: resizedVideoHeight,\n left: resizedVideoLeft,\n top: resizedVideoTop\n };\n }\n\n return type !== null ? /*#__PURE__*/React.createElement(React.Fragment, null, type === 'image' || !playing ? /*#__PURE__*/React.createElement(Image, Object.assign({}, imageElProps, {\n objectFit: objectFit,\n width: width,\n height: height,\n onLoaded: onLoaded,\n className: classNames([styles.container, _defineProperty({}, className, className !== null)])\n })) : null, isVideo && playing ? /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, _defineProperty({}, className, className !== null)]),\n style: {\n width: width,\n height: height\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.videoContainer, _defineProperty({}, videoClassName, videoClassName !== null)]),\n style: videoContainerStyle\n }, /*#__PURE__*/React.createElement(Video, Object.assign({}, elProps, {\n width: objectFit === null ? width : null,\n height: objectFit === null ? height : null,\n autoPlay: true,\n loop: videoLoop,\n initialMuted: videoInitialMuted,\n onReady: onLoaded\n })))) : null) : null;\n};\n\nVisual.propTypes = propTypes;\nVisual.defaultProps = defaultProps;\n\nexport { Visual as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport { PropTypes } from '@micromag/core';\nimport { ScreenElement, Transitions } from '@micromag/core/components';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { useTrackScreenEvent, useResizeObserver } from '@micromag/core/hooks';\nimport { getStyleFromColor, isTextFilled } from '@micromag/core/utils';\nimport Background from '@micromag/element-background';\nimport CallToAction from '@micromag/element-call-to-action';\nimport Container from '@micromag/element-container';\nimport Heading from '@micromag/element-heading';\nimport Layout from '@micromag/element-layout';\nimport Scroll from '@micromag/element-scroll';\nimport classNames from 'classnames';\nimport PropTypes$1 from 'prop-types';\nimport React, { useState, useEffect, useRef, useCallback, useMemo } from 'react';\nimport { v1 } from 'uuid';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport Text from '@micromag/element-text';\nimport Visual from '@micromag/element-visual';\n\nvar styles = {\"container\":\"micromag-screen-conversation-container\",\"disabled\":\"micromag-screen-conversation-disabled\",\"hidden\":\"micromag-screen-conversation-hidden\",\"placeholder\":\"micromag-screen-conversation-placeholder\",\"content\":\"micromag-screen-conversation-content\",\"conversationHeader\":\"micromag-screen-conversation-conversationHeader\",\"empty\":\"micromag-screen-conversation-empty\",\"title\":\"micromag-screen-conversation-title\",\"callToAction\":\"micromag-screen-conversation-callToAction\",\"messageContainer\":\"micromag-screen-conversation-messageContainer\",\"message\":\"micromag-screen-conversation-message\",\"normalLeft\":\"micromag-screen-conversation-normalLeft\",\"inBetweenLeft\":\"micromag-screen-conversation-inBetweenLeft\",\"normalRight\":\"micromag-screen-conversation-normalRight\",\"inBetweenRight\":\"micromag-screen-conversation-inBetweenRight\",\"last\":\"micromag-screen-conversation-last\",\"speakerDetails\":\"micromag-screen-conversation-speakerDetails\",\"right\":\"micromag-screen-conversation-right\",\"avatarContainer\":\"micromag-screen-conversation-avatarContainer\",\"avatar\":\"micromag-screen-conversation-avatar\",\"imageContainer\":\"micromag-screen-conversation-imageContainer\",\"withAnimation\":\"micromag-screen-conversation-withAnimation\",\"appear\":\"micromag-screen-conversation-appear\",\"loadingContainer\":\"micromag-screen-conversation-loadingContainer\",\"loading\":\"micromag-screen-conversation-loading\",\"dot\":\"micromag-screen-conversation-dot\",\"bounce\":\"micromag-screen-conversation-bounce\",\"loadingSpeakerName\":\"micromag-screen-conversation-loadingSpeakerName\"};\n\nvar propTypes$1 = {\n message: PropTypes.conversationMessage,\n previousMessage: PropTypes.conversationMessage,\n nextMessage: PropTypes.conversationMessage,\n nextMessageState: PropTypes$1.bool,\n currentSpeaker: PropTypes.speaker,\n // state: PropTypes.oneOf(['pause', 'typing', 'send']),\n conversationTiming: PropTypes$1.number,\n typingTiming: PropTypes$1.number,\n onChange: PropTypes$1.func,\n withAnimation: PropTypes$1.bool,\n isPlaying: PropTypes$1.bool,\n speakerStyle: PropTypes.textStyle,\n messageStyle: PropTypes.textStyle,\n className: PropTypes$1.string\n};\nvar defaultProps$1 = {\n message: null,\n previousMessage: null,\n nextMessage: null,\n nextMessageState: null,\n currentSpeaker: null,\n conversationTiming: null,\n typingTiming: null,\n onChange: null,\n withAnimation: false,\n isPlaying: false,\n messageStyle: null,\n speakerStyle: null,\n className: null\n};\n\nvar ConversationMessage = function ConversationMessage(_ref) {\n var _ref4, _ref5;\n\n var message = _ref.message,\n previousMessage = _ref.previousMessage,\n nextMessage = _ref.nextMessage,\n nextMessageState = _ref.nextMessageState,\n currentSpeaker = _ref.currentSpeaker,\n conversationTiming = _ref.conversationTiming,\n typingTiming = _ref.typingTiming,\n onChange = _ref.onChange,\n withAnimation = _ref.withAnimation,\n isPlaying = _ref.isPlaying,\n messageStyle = _ref.messageStyle,\n speakerStyle = _ref.speakerStyle,\n className = _ref.className;\n\n var _ref2 = message || {},\n messageBody = _ref2.message,\n _ref2$image = _ref2.image,\n image = _ref2$image === void 0 ? null : _ref2$image;\n\n var _ref3 = currentSpeaker || {},\n _ref3$avatar = _ref3.avatar;\n\n _ref3$avatar = _ref3$avatar === void 0 ? {} : _ref3$avatar;\n var _ref3$avatar$url = _ref3$avatar.url,\n avatarUrl = _ref3$avatar$url === void 0 ? null : _ref3$avatar$url,\n speakerName = _ref3.name,\n _ref3$side = _ref3.side,\n side = _ref3$side === void 0 ? 'left' : _ref3$side,\n currentSpeakerId = _ref3.id,\n color = _ref3.color;\n var right = side === 'right';\n var isPrevSpeakerTheSame = previousMessage !== null && previousMessage.speaker === currentSpeakerId;\n var isNextSpeakerTheSame = nextMessage !== null && nextMessage.speaker === currentSpeakerId; // Timing\n\n var _useState = useState(withAnimation ? 'pause' : 'send'),\n _useState2 = _slicedToArray(_useState, 2),\n messageState = _useState2[0],\n setMessageState = _useState2[1];\n\n var pauseBeforeTyping = conversationTiming;\n var typingDuration = typingTiming;\n useEffect(function () {\n if (!withAnimation || !isPlaying) {\n return function () {};\n }\n\n var timeout = null;\n\n if (messageState === 'pause') {\n timeout = setTimeout(function () {\n return setMessageState('typing');\n }, pauseBeforeTyping);\n } else if (messageState === 'typing') {\n timeout = setTimeout(function () {\n return setMessageState('send');\n }, typingDuration);\n }\n\n return function () {\n if (timeout !== null) {\n clearTimeout(timeout);\n }\n };\n }, [withAnimation, isPlaying, messageState, setMessageState, pauseBeforeTyping, typingDuration]);\n useEffect(function () {\n if (messageState !== 'pause' && onChange !== null) {\n onChange(messageState);\n }\n }, [messageState]);\n var betweenStyle = isNextSpeakerTheSame && nextMessageState;\n return messageState !== 'pause' ? /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.messageContainer, (_ref4 = {}, _defineProperty(_ref4, className, className !== null), _defineProperty(_ref4, styles.withAnimation, withAnimation === true), _defineProperty(_ref4, styles.right, right), _ref4)])\n }, messageState === 'typing' ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.loadingContainer\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.loading\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.dot\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.dot\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.dot\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.loadingSpeakerName\n }, speakerName)) : /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.message, (_ref5 = {}, _defineProperty(_ref5, styles.normalRight, right), _defineProperty(_ref5, styles.nextTheSame, isNextSpeakerTheSame === true && isPrevSpeakerTheSame), _defineProperty(_ref5, styles.inBetweenRight, betweenStyle && right), _defineProperty(_ref5, styles.normalLeft, !right), _defineProperty(_ref5, styles.inBetweenLeft, betweenStyle && !right), _defineProperty(_ref5, styles.last, isNextSpeakerTheSame === false), _ref5)]),\n style: _objectSpread({}, getStyleFromColor(color))\n }, !isPrevSpeakerTheSame ? /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.speakerDetails, _defineProperty({}, styles.right, side === 'right')])\n }, avatarUrl !== null ? /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.avatarContainer, _defineProperty({}, styles.right, side === 'right')])\n }, /*#__PURE__*/React.createElement(\"img\", {\n className: styles.avatar,\n src: avatarUrl,\n alt: speakerName\n })) : null, /*#__PURE__*/React.createElement(Text, {\n body: speakerName,\n textStyle: speakerStyle\n })) : null, /*#__PURE__*/React.createElement(\"div\", null), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.messageBody\n }, image !== null ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.imageContainer\n }, /*#__PURE__*/React.createElement(Visual, {\n media: image,\n width: \"100%\",\n playing: isPlaying\n })) : null, /*#__PURE__*/React.createElement(Text, {\n className: styles.messageBody,\n body: messageBody,\n textStyle: messageStyle\n })))) : null;\n};\n\nConversationMessage.propTypes = propTypes$1;\nConversationMessage.defaultProps = defaultProps$1;\n\nvar propTypes = {\n // id: PropTypes.string,\n // layout: PropTypes.oneOf(['normal']),\n title: PropTypes.headingElement,\n timing: PropTypes$1.oneOf(['instant', 'sequence']),\n spacing: PropTypes$1.number,\n background: PropTypes.backgroundElement,\n callToAction: PropTypes.callToAction,\n current: PropTypes$1.bool,\n active: PropTypes$1.bool,\n type: PropTypes$1.string,\n conversation: PropTypes.conversation,\n transitions: PropTypes.transitions,\n className: PropTypes$1.string\n};\nvar defaultProps = {\n // layout: 'normal',\n title: null,\n timing: 'sequence',\n spacing: 20,\n background: null,\n callToAction: null,\n current: true,\n active: true,\n type: null,\n conversation: null,\n transitions: null,\n className: null\n};\n\nvar ConversationScreen = function ConversationScreen(_ref) {\n var _ref8;\n\n var title = _ref.title,\n timingMode = _ref.timing,\n spacing = _ref.spacing,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n active = _ref.active,\n type = _ref.type,\n conversation = _ref.conversation,\n transitions = _ref.transitions,\n className = _ref.className;\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n menuOverScreen = _useScreenSize.menuOverScreen;\n\n var _useViewer = useViewer(),\n menuSize = _useViewer.menuSize;\n\n var trackScreenEvent = useTrackScreenEvent(type);\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var backgroundPlaying = current && (isView || isEdit);\n var backgroundShouldLoad = current || active || !isView;\n var withAnimation = isView && !isStatic && timingMode === 'sequence';\n\n var _ref2 = conversation || {},\n _ref2$speakers = _ref2.speakers,\n speakers = _ref2$speakers === void 0 ? null : _ref2$speakers,\n _ref2$messages = _ref2.messages,\n messages = _ref2$messages === void 0 ? [] : _ref2$messages,\n messageStyle = _ref2.messageStyle,\n speakerStyle = _ref2.speakerStyle;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n conversationState = _useState2[0],\n setConversationState = _useState2[1];\n\n var chatBottomRef = useRef(null);\n var hasTitle = isTextFilled(title);\n\n var _useResizeObserver = useResizeObserver(),\n contentRef = _useResizeObserver.ref,\n scrollContentRect = _useResizeObserver.entry.contentRect;\n\n var _ref3 = scrollContentRect || {},\n scrollHeight = _ref3.height;\n\n var scrollRef = useRef(null);\n useEffect(function () {\n if (withAnimation && scrollRef.current !== null) {\n scrollRef.current.scrollTo({\n top: scrollHeight,\n behavior: 'smooth'\n });\n }\n }, [scrollHeight, withAnimation]);\n var animationFinished = messages.length === conversationState.length;\n var conversationStateChange = useCallback(function (state) {\n var newConversationState = _toConsumableArray(conversationState);\n\n if (state === 'send') {\n newConversationState.push(true);\n setConversationState(newConversationState);\n }\n }, [conversationState, setConversationState]); // sequence timings\n\n var defaultTimingFactor = 40;\n var defaultHesitationDelay = 1000;\n var filteredMessages = (messages || []).filter(function (m) {\n return m !== null;\n });\n var timings = filteredMessages.map(function () {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$timing = _ref4.timing,\n timing = _ref4$timing === void 0 ? null : _ref4$timing,\n _ref4$message = _ref4.message,\n message = _ref4$message === void 0 ? null : _ref4$message;\n\n var messageI = arguments.length > 1 ? arguments[1] : undefined;\n\n if (timing !== null) {\n return timing;\n }\n\n if (messageI === 0) {\n return 0;\n }\n\n var finalTime = defaultTimingFactor * ((message || '').length || 10);\n return finalTime < 2000 ? finalTime : 2000;\n });\n var hesitationTimings = filteredMessages.map(function () {\n var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref5$hesitation = _ref5.hesitation,\n hesitation = _ref5$hesitation === void 0 ? null : _ref5$hesitation;\n\n return hesitation !== null ? hesitation : defaultHesitationDelay;\n });\n var messagesUniqueId = useMemo(function () {\n return (messages || []).map(function () {\n return v1();\n });\n }, [messages]); // scroll\n\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var scrollingDisabled = !isEdit && transitionDisabled || !current; // CTA\n\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n scrolledBottom = _useState4[0],\n setScrolledBottom = _useState4[1];\n\n var _useResizeObserver2 = useResizeObserver(),\n callToActionRef = _useResizeObserver2.ref,\n callToActionRect = _useResizeObserver2.entry.contentRect;\n\n var _ref6 = callToActionRect || {},\n _ref6$height = _ref6.height,\n callToActionHeight = _ref6$height === void 0 ? 0 : _ref6$height;\n\n var viewCTA = animationFinished && !isPlaceholder && hasCallToAction || !withAnimation;\n var onScrolledBottom = useCallback(function (_ref7) {\n var initial = _ref7.initial;\n\n if (initial) {\n trackScreenEvent('scroll', 'Screen');\n }\n\n setScrolledBottom(true);\n }, [trackScreenEvent]);\n var onScrolledNotBottom = useCallback(function () {\n setScrolledBottom(false);\n }, [setScrolledBottom]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref8 = {}, _defineProperty(_ref8, className, className !== null), _defineProperty(_ref8, styles.isPlaceholder, isPlaceholder), _ref8)]),\n \"data-screen-ready\": true\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying,\n shouldLoad: backgroundShouldLoad\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(Scroll, {\n ref: scrollRef,\n disabled: scrollingDisabled,\n onScrolledBottom: onScrolledBottom,\n onScrolledNotBottom: onScrolledNotBottom\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: contentRef\n }, /*#__PURE__*/React.createElement(Layout, {\n className: styles.layout,\n style: !isPlaceholder ? {\n padding: spacing,\n paddingTop: (menuOverScreen && !isPreview ? menuSize : 0) + spacing\n } : null\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"conversation\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"NmCfTO\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Conversation\"\n }]\n }),\n emptyClassName: styles.empty,\n isEmpty: messages.length === 0 && title === null\n }, /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: current,\n disabled: transitionDisabled\n }, hasTitle ? /*#__PURE__*/React.createElement(Heading, Object.assign({}, title, {\n className: styles.title,\n isEmpty: title === null\n })) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.conversation\n }, filteredMessages.map(function (m, messageI) {\n var previousMessage = messageI !== 0 ? messages[messageI - 1] : null;\n var nextMessage = messageI + 1 < messages.length ? messages[messageI + 1] : null;\n var speaker = m.speaker;\n var currentSpeaker = (speakers || []).find(function (s) {\n return s.id === speaker;\n }) || null;\n var shouldPlay = messageI === 0 || conversationState[messageI - 1] === true;\n var pauseTiming = hesitationTimings[messageI];\n var typingTiming = timings[messageI];\n return /*#__PURE__*/React.createElement(ConversationMessage, {\n key: \"\".concat(m.message, \"-\").concat(messagesUniqueId[messageI]),\n message: m,\n previousMessage: previousMessage,\n nextMessage: nextMessage,\n nextMessageState: conversationState[messageI + 1] || !withAnimation,\n currentSpeaker: currentSpeaker,\n conversationTiming: pauseTiming,\n typingTiming: typingTiming,\n onChange: conversationStateChange,\n withAnimation: withAnimation,\n isPlaying: current && shouldPlay,\n messageStyle: messageStyle,\n speakerStyle: speakerStyle\n });\n })), viewCTA ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n minHeight: callToActionHeight\n }\n }, /*#__PURE__*/React.createElement(CallToAction, {\n ref: callToActionRef,\n className: styles.callToAction,\n disabled: !scrolledBottom,\n animationDisabled: isPreview,\n callToAction: callToAction,\n focusable: current && isView\n })) : null, /*#__PURE__*/React.createElement(\"div\", {\n ref: chatBottomRef\n }))))))));\n};\n\nConversationScreen.propTypes = propTypes;\nConversationScreen.defaultProps = defaultProps;\nvar ConversationScreen$1 = /*#__PURE__*/React.memo(ConversationScreen);\n\nvar definition = {\n id: 'conversation',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"fIawTr\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Text\"\n }]\n }),\n order: 3\n },\n title: defineMessage({\n id: \"rBPIgw\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Conversation\"\n }]\n }),\n component: ConversationScreen$1,\n layouts: ['normal'],\n fields: [// {\n // name: 'theme',\n // type: 'select',\n // options: [\n // {\n // value: 'ios',\n // label: 'iOS',\n // },\n // ],\n // label: defineMessage({\n // defaultMessage: 'Theme',\n // description: 'Theme field label',\n // }),\n // },\n {\n name: 'timing',\n type: 'select',\n options: [{\n value: 'instant',\n label: 'Instant'\n }, {\n value: 'sequence',\n label: 'Sequence'\n }],\n label: defineMessage({\n id: \"6DV50M\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Timing\"\n }]\n })\n }, {\n name: 'title',\n type: 'heading-element',\n theme: {\n textStyle: 'heading1'\n },\n label: defineMessage({\n id: \"N25iDO\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'conversation',\n type: 'conversation',\n label: defineMessage({\n id: \"8tANs8\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Conversation\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"+MPZRu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n};\n\nexport { ConversationScreen$1 as ConversationScreen, definition as default };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport { PropTypes } from '@micromag/core';\nimport classNames from 'classnames';\nimport isArray from 'lodash/isArray';\nimport PropTypes$1 from 'prop-types';\nimport React from 'react';\n\nvar styles = {\"container\":\"micromag-element-grid-container\",\"items\":\"micromag-element-grid-items\",\"cross\":\"micromag-element-grid-cross\",\"axis\":\"micromag-element-grid-axis\"};\n\nvar propTypes = {\n layout: PropTypes.gridLayout,\n items: PropTypes$1.arrayOf(PropTypes$1.node),\n width: PropTypes$1.number,\n height: PropTypes$1.number,\n spacing: PropTypes$1.number,\n vertical: PropTypes$1.bool,\n className: PropTypes$1.string,\n axisClassName: PropTypes$1.string,\n crossClassName: PropTypes$1.string\n};\nvar defaultProps = {\n layout: null,\n items: [],\n width: null,\n height: null,\n spacing: 0,\n vertical: false,\n className: null,\n axisClassName: null,\n crossClassName: null\n};\n\nfunction Grid(_ref) {\n var items = _ref.items,\n layout = _ref.layout,\n width = _ref.width,\n height = _ref.height,\n spacing = _ref.spacing,\n vertical = _ref.vertical,\n className = _ref.className,\n axisClassName = _ref.axisClassName,\n crossClassName = _ref.crossClassName;\n var itemIndex = 0;\n var finalLayout = isArray(layout) ? layout : [{\n rows: vertical ? items.map(function () {\n return 1;\n }) : 1,\n columns: vertical ? 1 : items.map(function () {\n return 1;\n })\n }];\n var crossTotal = finalLayout.reduce(function (total, _ref2) {\n var _ref2$rows = _ref2.rows,\n rows = _ref2$rows === void 0 ? 1 : _ref2$rows,\n _ref2$columns = _ref2.columns,\n columns = _ref2$columns === void 0 ? 1 : _ref2$columns;\n return total + (vertical ? columns : rows);\n }, 0);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, _defineProperty({}, className, className !== null)]),\n style: {\n width: width,\n height: height,\n padding: spacing !== null && spacing > 0 ? spacing / 2 : null\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.items,\n style: {\n flexDirection: vertical ? 'row' : 'column'\n }\n }, finalLayout.map(function (_ref4, crossIndex) {\n var rows = _ref4.rows,\n columns = _ref4.columns;\n var crossSizeRatio = (vertical ? columns : rows) / crossTotal;\n var crossSize = \"\".concat(100 * crossSizeRatio, \"%\");\n var axisItems = vertical ? rows : columns;\n var finalAxisItems = isArray(axisItems) ? axisItems : [axisItems];\n var axisTotal = finalAxisItems.reduce(function (total, it) {\n return total + it;\n }, 0);\n return /*#__PURE__*/React.createElement(\"div\", {\n key: \"cross-\".concat(crossIndex),\n className: classNames([styles.cross, _defineProperty({}, crossClassName, crossClassName !== null)]),\n style: {\n flexDirection: vertical ? 'column' : 'row',\n width: vertical ? crossSize : null,\n height: vertical ? null : crossSize\n }\n }, finalAxisItems.map(function (axisItem, axisIndex) {\n var axisSizeRatio = axisItem / axisTotal;\n var axisSize = \"\".concat(100 * axisSizeRatio, \"%\");\n var item = items[itemIndex];\n itemIndex += 1;\n return /*#__PURE__*/React.createElement(\"div\", {\n key: \"axis-\".concat(axisIndex),\n className: classNames([styles.axis, _defineProperty({}, axisClassName, axisClassName !== null)]),\n style: {\n width: vertical ? null : axisSize,\n height: vertical ? axisSize : null,\n padding: spacing > 0 ? spacing / 2 : 0\n }\n }, item);\n }));\n })));\n}\n\nGrid.propTypes = propTypes;\nGrid.defaultProps = defaultProps;\n\nexport { Grid as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { Transitions, ScreenElement } from '@micromag/core/components';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { useResizeObserver } from '@micromag/core/hooks';\nimport { isImageFilled, isTextFilled } from '@micromag/core/utils';\nimport Background from '@micromag/element-background';\nimport CallToAction from '@micromag/element-call-to-action';\nimport Container from '@micromag/element-container';\nimport Grid from '@micromag/element-grid';\nimport Text from '@micromag/element-text';\nimport Visual from '@micromag/element-visual';\nimport classNames from 'classnames';\nimport isPlainObject from 'lodash/isPlainObject';\nimport PropTypes from 'prop-types';\nimport React, { useState, useCallback, useRef, useEffect } from 'react';\nimport _extends from '@babel/runtime/helpers/extends';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport { Mosaic, Container as Container$1 } from '@micromag/transforms/apple-news';\n\nvar layoutProps = {\n // 2\n 'two-vertical-equal': {\n vertical: true,\n layout: [{\n columns: 1,\n rows: [1, 1]\n }]\n },\n 'two-vertical-top': {\n vertical: true,\n layout: [{\n columns: 1,\n rows: [2, 1]\n }]\n },\n 'two-vertical-bottom': {\n vertical: true,\n layout: [{\n columns: 1,\n rows: [1, 2]\n }]\n },\n // 3\n 'three-vertical': {\n vertical: true,\n layout: [{\n columns: 1,\n rows: [1, 1, 1]\n }]\n },\n 'one-two': {\n layout: [{\n rows: 2,\n columns: [1]\n }, {\n rows: 1,\n columns: [1, 1]\n }]\n },\n 'two-one': {\n layout: [{\n rows: 1,\n columns: [1, 1]\n }, {\n rows: 2,\n columns: [1]\n }]\n },\n // 4\n 'two-by-two': {\n layout: [{\n rows: 1,\n columns: [1, 1]\n }, {\n rows: 1,\n columns: [1, 1]\n }]\n },\n 'four-vertical': {\n vertical: true,\n layout: [{\n columns: 1,\n rows: [1, 1, 1, 1]\n }]\n },\n 'one-two-one': {\n layout: [{\n rows: 3,\n columns: [1]\n }, {\n rows: 2,\n columns: [1, 1]\n }, {\n rows: 3,\n columns: [1]\n }]\n },\n 'four-mosaic': {\n vertical: true,\n layout: [{\n columns: 1,\n rows: [2, 1]\n }, {\n columns: 1,\n rows: [1, 2]\n }]\n },\n // 5\n 'two-one-two': {\n layout: [{\n rows: 2,\n columns: [1, 1]\n }, {\n rows: 3,\n columns: [1]\n }, {\n rows: 2,\n columns: [1, 1]\n }]\n },\n 'one-two-two': {\n layout: [{\n rows: 3,\n columns: [1]\n }, {\n rows: 2,\n columns: [1, 1]\n }, {\n rows: 2,\n columns: [1, 1]\n }]\n },\n 'two-two-one': {\n layout: [{\n rows: 2,\n columns: [1, 1]\n }, {\n rows: 2,\n columns: [1, 1]\n }, {\n rows: 3,\n columns: [1]\n }]\n },\n // 6\n 'two-by-three': {\n layout: [{\n rows: 1,\n columns: [1, 1]\n }, {\n rows: 1,\n columns: [1, 1]\n }, {\n rows: 1,\n columns: [1, 1]\n }]\n },\n 'one-one-two-two': {\n layout: [{\n rows: 1,\n columns: [1]\n }, {\n rows: 1,\n columns: [1]\n }, {\n rows: 1,\n columns: [1, 1]\n }, {\n rows: 1,\n columns: [1, 1]\n }]\n },\n 'two-two-one-one': {\n layout: [{\n rows: 1,\n columns: [1, 1]\n }, {\n rows: 1,\n columns: [1, 1]\n }, {\n rows: 1,\n columns: [1]\n }, {\n rows: 1,\n columns: [1]\n }]\n }\n};\n\nvar styles = {\"container\":\"micromag-screen-gallery-container\",\"content\":\"micromag-screen-gallery-content\",\"image\":\"micromag-screen-gallery-image\",\"disabled\":\"micromag-screen-gallery-disabled\",\"hidden\":\"micromag-screen-gallery-hidden\",\"placeholder\":\"micromag-screen-gallery-placeholder\",\"emptyCaption\":\"micromag-screen-gallery-emptyCaption\",\"emptyImage\":\"micromag-screen-gallery-emptyImage\",\"grid\":\"micromag-screen-gallery-grid\",\"gridItem\":\"micromag-screen-gallery-gridItem\",\"imageContainer\":\"micromag-screen-gallery-imageContainer\",\"caption\":\"micromag-screen-gallery-caption\"};\n\nvar propTypes = {\n layout: PropTypes.oneOf([// 2\n 'two-vertical-equal', 'two-vertical-top', 'two-vertical-bottom', // 3\n 'three-vertical', 'one-two', 'two-one', // 4\n 'two-by-two', 'four-vertical', 'one-two-one', 'four-mosaic', // 5\n 'two-one-two', 'one-two-two', 'two-two-one', // 6\n 'two-by-three', 'one-one-two-two', 'two-two-one-one']),\n images: PropTypes.oneOfType([PropTypes$1.imageMedias, PropTypes$1.imageElements]),\n withCaptions: PropTypes.bool,\n spacing: PropTypes.number,\n captionMaxLines: PropTypes.number,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n active: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n transitionStagger: PropTypes.number,\n className: PropTypes.string\n};\nvar defaultProps = {\n layout: 'four-mosaic',\n withCaptions: false,\n images: [],\n spacing: 20,\n captionMaxLines: 2,\n background: null,\n callToAction: null,\n current: true,\n active: true,\n transitions: null,\n transitionStagger: 50,\n className: null\n};\n\nvar GalleryScreen = function GalleryScreen(_ref) {\n var _ref6;\n\n var layout = _ref.layout,\n images = _ref.images,\n withCaptions = _ref.withCaptions,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n active = _ref.active,\n spacing = _ref.spacing,\n captionMaxLines = _ref.captionMaxLines,\n transitions = _ref.transitions,\n transitionStagger = _ref.transitionStagger,\n className = _ref.className;\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n menuOverScreen = _useScreenSize.menuOverScreen;\n\n var _useViewer = useViewer(),\n menuSize = _useViewer.menuSize;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var backgroundPlaying = current && (isView || isEdit);\n var backgroundShouldLoad = current || active || !isView;\n var finalSpacing = isPlaceholder ? 5 : spacing;\n var grid = isPlainObject(layoutProps[layout]) ? layoutProps[layout] : {};\n var _grid$layout = grid.layout,\n gridLayout = _grid$layout === void 0 ? [] : _grid$layout,\n _grid$vertical = grid.vertical,\n vertical = _grid$vertical === void 0 ? false : _grid$vertical;\n var gridSpaces = gridLayout.reduce(function (acc, _ref2) {\n var rows = _ref2.rows,\n columns = _ref2.columns;\n return acc + (vertical ? rows : columns).length;\n }, 0);\n\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n imagesLoaded = _useState2[0],\n setImagesLoaded = _useState2[1];\n\n var imagesCount = images !== null ? Math.min(gridSpaces, images.length) : 0;\n var ready = imagesLoaded >= imagesCount;\n var transitionPlaying = current && ready;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var onImageLoaded = useCallback(function () {\n setImagesLoaded(imagesLoaded + 1);\n }, [imagesLoaded, setImagesLoaded]);\n var imagesEl = useRef([]);\n\n var _useState3 = useState([]),\n _useState4 = _slicedToArray(_useState3, 2),\n imagesSizes = _useState4[0],\n setImagesSizes = _useState4[1];\n\n var _useResizeObserver = useResizeObserver(),\n contentRef = _useResizeObserver.ref,\n contentRect = _useResizeObserver.entry.contentRect;\n\n var _ref3 = contentRect || {},\n _ref3$width = _ref3.width,\n contentWidth = _ref3$width === void 0 ? null : _ref3$width,\n _ref3$height = _ref3.height,\n contentHeight = _ref3$height === void 0 ? null : _ref3$height;\n\n useEffect(function () {\n if (imagesEl.current.length) {\n setImagesSizes(imagesEl.current.map(function (imageEl) {\n return imageEl !== null ? {\n width: imageEl.offsetWidth,\n height: imageEl.offsetHeight\n } : {};\n }));\n }\n }, [contentWidth, contentHeight, layout, setImagesSizes]); // Call to Action\n\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n\n var _useResizeObserver2 = useResizeObserver(),\n callToActionRef = _useResizeObserver2.ref,\n callToActionRect = _useResizeObserver2.entry.contentRect;\n\n var _ref4 = callToActionRect || {},\n _ref4$height = _ref4.height,\n callToActionHeight = _ref4$height === void 0 ? 0 : _ref4$height;\n\n var items = _toConsumableArray(Array(gridSpaces)).map(function (item, itemI) {\n var image = images !== null ? images[itemI] : null;\n var imageSize = imagesSizes[itemI] || {};\n var finalImage = withCaptions ? image : {\n media: image\n };\n\n var _ref5 = finalImage || {},\n _ref5$caption = _ref5.caption,\n caption = _ref5$caption === void 0 ? null : _ref5$caption;\n\n var hasImage = isImageFilled(finalImage);\n var hasCaption = isTextFilled(caption);\n return /*#__PURE__*/React.createElement(\"div\", {\n key: \"item-\".concat(itemI),\n className: styles.gridItem\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.imageContainer,\n ref: function ref(el) {\n imagesEl.current[itemI] = el;\n }\n }, /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n delay: itemI * transitionStagger,\n playing: transitionPlaying,\n disabled: transitionDisabled,\n fullscreen: true\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"image\",\n placeholderProps: {\n className: styles.placeholder,\n height: '100%'\n },\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"ebsPd4\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n }),\n emptyClassName: styles.emptyImage,\n isEmpty: !hasImage\n }, /*#__PURE__*/React.createElement(Visual, Object.assign({\n className: styles.image\n }, finalImage, imageSize, {\n objectFit: {\n fit: 'cover'\n },\n playing: backgroundPlaying,\n onLoaded: onImageLoaded\n }))))), withCaptions ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n delay: itemI * transitionStagger,\n playing: transitionPlaying,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"line\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"6tIigB\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Caption\"\n }]\n }),\n emptyClassName: styles.emptyCaption,\n isEmpty: !hasCaption\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.caption\n }, /*#__PURE__*/React.createElement(Text, Object.assign({}, caption, {\n className: styles.captionText,\n lineClamp: captionMaxLines\n }))))) : null);\n });\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref6 = {}, _defineProperty(_ref6, className, className !== null), _defineProperty(_ref6, styles.isPlaceholder, isPlaceholder), _ref6)]),\n \"data-screen-ready\": ready\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying,\n shouldLoad: backgroundShouldLoad\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.content,\n style: {\n paddingTop: menuOverScreen && !isPreview ? menuSize : null,\n paddingBottom: hasCallToAction ? callToActionHeight - finalSpacing : 0\n },\n ref: contentRef\n }, /*#__PURE__*/React.createElement(Grid, Object.assign({\n className: styles.grid,\n spacing: finalSpacing,\n items: items\n }, grid)), !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: -finalSpacing\n }\n }, /*#__PURE__*/React.createElement(CallToAction, {\n ref: callToActionRef,\n className: styles.callToAction,\n callToAction: callToAction,\n animationDisabled: isPreview,\n focusable: current && isView\n })) : null)));\n};\n\nGalleryScreen.propTypes = propTypes;\nGalleryScreen.defaultProps = defaultProps;\nvar GalleryScreen$1 = /*#__PURE__*/React.memo(GalleryScreen);\n\nfunction GalleryCaptionsScreen(_ref) {\n var props = _extends({}, _ref);\n\n return /*#__PURE__*/React.createElement(GalleryScreen$1, Object.assign({}, props, {\n withCaptions: true\n }));\n}\n\nvar transform = function transform(newStory, _ref) {\n var images = _ref.images;\n\n var _Mosaic = Mosaic(newStory, {\n images: images\n }),\n titleStory = _Mosaic.story,\n titleComponent = _Mosaic.component;\n\n var _Container = Container$1(titleStory, _toConsumableArray(titleComponent ? [titleComponent] : [])),\n containerStory = _Container.story,\n containerComponent = _Container.component;\n\n return _objectSpread(_objectSpread({}, containerStory), {}, {\n components: [].concat(_toConsumableArray(newStory.components || []), _toConsumableArray(containerComponent ? [containerComponent] : []))\n });\n};\n\n// eslint-disable-next-line\n\nvar transforms = /*#__PURE__*/Object.freeze({\n __proto__: null,\n appleNews: transform\n});\n\nvar definition = [{\n id: 'gallery',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"6mX2ya\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Images\"\n }]\n }),\n order: 4\n },\n title: defineMessage({\n id: \"jaFXki\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Gallery\"\n }]\n }),\n component: GalleryScreen$1,\n layouts: [// 2\n 'two-vertical-equal', 'two-vertical-top', 'two-vertical-bottom', // 3\n 'three-vertical', 'one-two', 'two-one', // 4\n 'two-by-two', 'four-vertical', 'one-two-one', 'four-mosaic', // 5\n 'two-one-two', 'one-two-two', 'two-two-one', // 6\n 'two-by-three', 'one-one-two-two', 'two-two-one-one'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'two-vertical-equal',\n label: defineMessage({\n id: \"4iBXj2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'images',\n type: 'visuals',\n label: defineMessage({\n id: \"muYwrB\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Images\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"+MPZRu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}, {\n id: 'gallery-captions',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"6mX2ya\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Images\"\n }]\n }),\n order: 4\n },\n title: defineMessage({\n id: \"MmJQ7o\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Gallery with captions\"\n }]\n }),\n component: GalleryCaptionsScreen,\n layouts: [// 2\n 'two-vertical-equal', 'two-vertical-top', 'two-vertical-bottom', // 3\n 'three-vertical', 'one-two', 'two-one', // 4\n 'two-by-two', 'four-vertical', 'one-two-one', 'four-mosaic', // 5\n 'two-one-two', 'one-two-two', 'two-two-one', // 6\n 'two-by-three', 'one-one-two-two', 'two-two-one-one'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'two-vertical-equal',\n label: defineMessage({\n id: \"4iBXj2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'images',\n type: 'visuals-with-caption',\n theme: {\n caption: {\n textStyle: 'text'\n }\n },\n label: defineMessage({\n id: \"59f2bg\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Images\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"+MPZRu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}];\n\nexport { GalleryCaptionsScreen, GalleryScreen$1 as GalleryScreen, definition as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport React, { useState, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { ScreenElement, TransitionsStagger } from '@micromag/core/components';\nimport { useTrackScreenEvent, useResizeObserver } from '@micromag/core/hooks';\nimport { isImageFilled, isTextFilled } from '@micromag/core/utils';\nimport Background from '@micromag/element-background';\nimport Container from '@micromag/element-container';\nimport Layout from '@micromag/element-layout';\nimport Scroll from '@micromag/element-scroll';\nimport Visual from '@micromag/element-visual';\nimport Text from '@micromag/element-text';\nimport CallToAction from '@micromag/element-call-to-action';\nimport _extends from '@babel/runtime/helpers/extends';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport { Gallery, Container as Container$1 } from '@micromag/transforms/apple-news';\n\nvar styles = {\"container\":\"micromag-screen-gallery-feed-container\",\"emptyCaption\":\"micromag-screen-gallery-feed-emptyCaption\",\"emptyImage\":\"micromag-screen-gallery-feed-emptyImage\",\"callToAction\":\"micromag-screen-gallery-feed-callToAction\",\"isPlaceholder\":\"micromag-screen-gallery-feed-isPlaceholder\",\"layout\":\"micromag-screen-gallery-feed-layout\"};\n\nvar propTypes = {\n layout: PropTypes.oneOf(['normal', 'reverse']),\n images: PropTypes.oneOfType([PropTypes$1.imageElementsWithCaption, PropTypes$1.imageMedias]),\n withCaptions: PropTypes.bool,\n spacing: PropTypes.number,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n active: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n transitionStagger: PropTypes.number,\n type: PropTypes.string,\n className: PropTypes.string\n};\nvar defaultProps = {\n layout: 'normal',\n images: null,\n withCaptions: false,\n spacing: 20,\n background: null,\n callToAction: null,\n current: true,\n active: true,\n transitions: null,\n transitionStagger: 75,\n type: null,\n className: null\n};\n\nvar GalleryFeedScreen = function GalleryFeedScreen(_ref) {\n var _ref6;\n\n var layout = _ref.layout,\n images = _ref.images,\n withCaptions = _ref.withCaptions,\n spacing = _ref.spacing,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n active = _ref.active,\n transitions = _ref.transitions,\n transitionStagger = _ref.transitionStagger,\n type = _ref.type,\n className = _ref.className;\n var trackScreenEvent = useTrackScreenEvent(type);\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n menuOverScreen = _useScreenSize.menuOverScreen;\n\n var _useViewer = useViewer(),\n menuSize = _useViewer.menuSize;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var backgroundPlaying = current && (isView || isEdit);\n var backgroundShouldLoad = current || active || !isView;\n var hasImages = images !== null;\n var imagesCount = hasImages ? images.length : 0;\n\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n imagesLoaded = _useState2[0],\n setImagesLoaded = _useState2[1];\n\n var ready = imagesLoaded >= imagesCount;\n var transitionPlaying = current && ready;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var scrollingDisabled = !isEdit && transitionDisabled || !current;\n var onImageLoaded = useCallback(function () {\n setImagesLoaded(imagesLoaded + 1);\n }, [imagesLoaded, setImagesLoaded]);\n var isReversed = layout === 'reverse';\n var items = [];\n var editImages = isEdit && imagesCount === 0 ? [null] : images;\n var finalImages = isPlaceholder ? _toConsumableArray(Array(5)) : editImages;\n\n var _useResizeObserver = useResizeObserver(),\n firstImageRef = _useResizeObserver.ref,\n contentRect = _useResizeObserver.entry.contentRect;\n\n var _ref2 = contentRect || {},\n firstImageRefWidth = _ref2.width;\n\n (finalImages || []).forEach(function (image, index) {\n var finalImage = withCaptions ? image : {\n media: image\n };\n\n var _ref3 = finalImage || {},\n _ref3$caption = _ref3.caption,\n caption = _ref3$caption === void 0 ? null : _ref3$caption;\n\n var hasImage = isImageFilled(finalImage);\n var hasCaption = isTextFilled(caption);\n var imageElement = /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"image-\".concat(index),\n placeholder: \"image\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"ebsPd4\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n }),\n emptyClassName: styles.emptyImage,\n isEmpty: !hasImage\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.imageContainer,\n ref: index === 0 ? firstImageRef : null\n }, /*#__PURE__*/React.createElement(Visual, Object.assign({}, finalImage, {\n width: firstImageRefWidth,\n onLoaded: onImageLoaded,\n playing: backgroundPlaying\n }))));\n var captionElement = null;\n\n if (withCaptions) {\n var marginTop = !isReversed || index > 0 ? spacing / 2 : 0;\n var marginBottom = isReversed || index < (finalImages || []).length - 1 ? spacing / 2 : 0;\n captionElement = /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"caption-\".concat(index),\n placeholder: \"text\",\n placeholderProps: {\n lines: 2\n },\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"6tIigB\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Caption\"\n }]\n }),\n emptyClassName: styles.emptyCaption,\n isEmpty: !hasCaption\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.caption,\n style: {\n marginTop: marginTop,\n marginBottom: marginBottom\n }\n }, /*#__PURE__*/React.createElement(Text, Object.assign({}, caption, {\n className: styles.captionText\n }))));\n }\n\n if (isReversed) {\n if (withCaptions) {\n items.push(captionElement);\n }\n\n items.push(imageElement);\n } else {\n items.push(imageElement);\n\n if (withCaptions) {\n items.push(captionElement);\n }\n }\n\n if (!isPlaceholder && index < (finalImages || []).length - 1) {\n items.push( /*#__PURE__*/React.createElement(\"div\", {\n key: \"spacing-\".concat(index),\n style: {\n height: spacing\n }\n }));\n }\n }); // Call to Action\n\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n scrolledBottom = _useState4[0],\n setScrolledBottom = _useState4[1];\n\n var _useResizeObserver2 = useResizeObserver(),\n callToActionRef = _useResizeObserver2.ref,\n callToActionRect = _useResizeObserver2.entry.contentRect;\n\n var _ref4 = callToActionRect || {},\n _ref4$height = _ref4.height,\n callToActionHeight = _ref4$height === void 0 ? 0 : _ref4$height;\n\n if (!isPlaceholder && hasCallToAction) {\n items.push( /*#__PURE__*/React.createElement(\"div\", {\n key: \"cta-spacer\",\n style: {\n height: callToActionHeight\n }\n }));\n }\n\n var onScrolledBottom = useCallback(function (_ref5) {\n var initial = _ref5.initial;\n\n if (initial) {\n trackScreenEvent('scroll', 'Screen');\n }\n\n setScrolledBottom(true);\n }, [trackScreenEvent]);\n var onScrolledNotBottom = useCallback(function () {\n setScrolledBottom(false);\n }, [setScrolledBottom]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref6 = {}, _defineProperty(_ref6, className, className !== null), _defineProperty(_ref6, styles.isPlaceholder, isPlaceholder), _ref6)]),\n \"data-screen-ready\": ready\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying,\n shouldLoad: backgroundShouldLoad\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(Scroll, {\n disabled: scrollingDisabled,\n onScrolledBottom: onScrolledBottom,\n onScrolledNotBottom: onScrolledNotBottom\n }, /*#__PURE__*/React.createElement(Layout, {\n className: styles.layout,\n style: !isPlaceholder ? {\n padding: spacing,\n paddingTop: (menuOverScreen && !isPreview ? menuSize : 0) + spacing\n } : null\n }, /*#__PURE__*/React.createElement(TransitionsStagger, {\n transitions: transitions,\n stagger: transitionStagger,\n disabled: transitionDisabled,\n playing: transitionPlaying\n }, items))), !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(CallToAction, {\n ref: callToActionRef,\n className: styles.callToAction,\n disabled: !scrolledBottom,\n animationDisabled: isPreview,\n callToAction: callToAction,\n focusable: current && isView\n }) : null));\n};\n\nGalleryFeedScreen.propTypes = propTypes;\nGalleryFeedScreen.defaultProps = defaultProps;\nvar GalleryFeedScreen$1 = /*#__PURE__*/React.memo(GalleryFeedScreen);\n\nvar GalleryFeedCaptionsScreen = function GalleryFeedCaptionsScreen(_ref) {\n var props = _extends({}, _ref);\n\n return /*#__PURE__*/React.createElement(GalleryFeedScreen$1, Object.assign({}, props, {\n withCaptions: true\n }));\n};\n\nvar transform = function transform(newStory, _ref) {\n var images = _ref.images;\n\n var _Gallery = Gallery(newStory, {\n images: images\n }),\n titleStory = _Gallery.story,\n titleComponent = _Gallery.component;\n\n var _Container = Container$1(titleStory, _toConsumableArray(titleComponent ? [titleComponent] : [])),\n containerStory = _Container.story,\n containerComponent = _Container.component;\n\n return _objectSpread(_objectSpread({}, containerStory), {}, {\n components: [].concat(_toConsumableArray(newStory.components || []), _toConsumableArray(containerComponent ? [containerComponent] : []))\n });\n};\n\n// eslint-disable-next-line\n\nvar transforms = /*#__PURE__*/Object.freeze({\n __proto__: null,\n appleNews: transform\n});\n\nvar definition = [{\n id: 'gallery-feed',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"6mX2ya\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Images\"\n }]\n }),\n order: 4\n },\n title: defineMessage({\n id: \"4bHvRS\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Gallery Feed\"\n }]\n }),\n component: GalleryFeedScreen$1,\n layouts: ['normal'],\n transforms: transforms,\n fields: [{\n name: 'images',\n type: 'visuals',\n label: defineMessage({\n id: \"muYwrB\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Images\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"+MPZRu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}, {\n id: 'gallery-feed-captions',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"6mX2ya\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Images\"\n }]\n }),\n order: 4\n },\n title: defineMessage({\n id: \"XTJGzY\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Gallery feed with captions\"\n }]\n }),\n component: GalleryFeedCaptionsScreen,\n layouts: ['normal', 'reverse'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'normal',\n label: defineMessage({\n id: \"4iBXj2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'images',\n type: 'visuals-with-caption',\n theme: {\n caption: {\n textStyle: 'text'\n }\n },\n label: defineMessage({\n id: \"T9NZPQ\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Images\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"+MPZRu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}];\n\nexport { GalleryFeedCaptionsScreen, GalleryFeedScreen$1 as GalleryFeedScreen, definition as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport React, { useMemo, useState, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { ScreenElement, Transitions } from '@micromag/core/components';\nimport { useResizeObserver } from '@micromag/core/hooks';\nimport { isTextFilled } from '@micromag/core/utils';\nimport Background from '@micromag/element-background';\nimport Container from '@micromag/element-container';\nimport Layout from '@micromag/element-layout';\nimport Visual from '@micromag/element-visual';\nimport Heading from '@micromag/element-heading';\nimport Text from '@micromag/element-text';\nimport CallToAction from '@micromag/element-call-to-action';\nimport _extends from '@babel/runtime/helpers/extends';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport { Image, Heading1, Text as Text$1, Container as Container$1 } from '@micromag/transforms/apple-news';\n\nvar styles = {\"container\":\"micromag-screen-image-container\",\"image\":\"micromag-screen-image-image\",\"disabled\":\"micromag-screen-image-disabled\",\"hidden\":\"micromag-screen-image-hidden\",\"placeholder\":\"micromag-screen-image-placeholder\",\"content\":\"micromag-screen-image-content\",\"emptyImage\":\"micromag-screen-image-emptyImage\",\"emptyLegend\":\"micromag-screen-image-emptyLegend\",\"emptyText\":\"micromag-screen-image-emptyText\",\"emptyTitle\":\"micromag-screen-image-emptyTitle\",\"imageContainer\":\"micromag-screen-image-imageContainer\",\"placeholderImage\":\"micromag-screen-image-placeholderImage\",\"callToAction\":\"micromag-screen-image-callToAction\",\"isPlaceholder\":\"micromag-screen-image-isPlaceholder\",\"layout\":\"micromag-screen-image-layout\",\"isCard\":\"micromag-screen-image-isCard\",\"isCardReverse\":\"micromag-screen-image-isCardReverse\",\"isFullscreen\":\"micromag-screen-image-isFullscreen\"};\n\nvar propTypes = {\n layout: PropTypes.oneOf(['normal', 'fullscreen', 'reverse', 'card', 'card-reverse', 'title-top']),\n image: PropTypes$1.imageMedia,\n imageFit: PropTypes.oneOf(['contain', 'cover']),\n defaultImageFit: PropTypes.string,\n title: PropTypes$1.headingElement,\n text: PropTypes$1.textElement,\n legend: PropTypes$1.textElement,\n withTitle: PropTypes.bool,\n withText: PropTypes.bool,\n withLegend: PropTypes.bool,\n spacing: PropTypes.number,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n active: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n className: PropTypes.string\n};\nvar defaultProps = {\n layout: 'normal',\n image: null,\n imageFit: null,\n defaultImageFit: 'cover',\n title: null,\n text: null,\n legend: null,\n withTitle: false,\n withText: false,\n withLegend: false,\n spacing: 20,\n background: null,\n callToAction: null,\n current: true,\n active: true,\n transitions: null,\n className: null\n};\n\nvar ImageScreen = function ImageScreen(_ref) {\n var _ref3;\n\n var layout = _ref.layout,\n image = _ref.image,\n imageFit = _ref.imageFit,\n defaultImageFit = _ref.defaultImageFit,\n title = _ref.title,\n text = _ref.text,\n legend = _ref.legend,\n withTitle = _ref.withTitle,\n withText = _ref.withText,\n withLegend = _ref.withLegend,\n spacing = _ref.spacing,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n active = _ref.active,\n transitions = _ref.transitions,\n className = _ref.className;\n var finalImageFit = useMemo(function () {\n return {\n fit: imageFit || defaultImageFit\n };\n }, [imageFit, defaultImageFit]);\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n menuOverScreen = _useScreenSize.menuOverScreen;\n\n var _useViewer = useViewer(),\n menuSize = _useViewer.menuSize;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var backgroundPlaying = current && (isView || isEdit);\n var backgroundShouldLoad = current || active || !isView;\n var hasImage = image !== null;\n var hasTitle = isTextFilled(title);\n var hasText = isTextFilled(text);\n var hasLegend = isTextFilled(legend);\n\n var _useState = useState(!hasImage),\n _useState2 = _slicedToArray(_useState, 2),\n ready = _useState2[0],\n setReady = _useState2[1];\n\n var transitionPlaying = current && ready;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var onImageLoaded = useCallback(function () {\n setReady(true);\n }, [setReady]);\n var isReversed = layout === 'reverse' || layout === 'card-reverse';\n var isTitleTop = layout === 'title-top';\n var isCard = layout === 'card' || layout === 'card-reverse';\n var isCardReverse = layout === 'card-reverse';\n var isFullscreen = layout === 'fullscreen';\n var finalSpacing = !isFullscreen && !isPlaceholder ? spacing : 0;\n\n var _useResizeObserver = useResizeObserver(),\n imageCntRef = _useResizeObserver.ref,\n contentRect = _useResizeObserver.entry.contentRect;\n\n var _ref2 = contentRect || {},\n imageWidth = _ref2.width,\n imageHeight = _ref2.height;\n\n var cardImageMargin = isCardReverse ? \"\".concat(finalSpacing / 2, \"px \").concat(-finalSpacing / 2, \"px 0\") : \"0 \".concat(-finalSpacing / 2, \"px \").concat(finalSpacing / 2, \"px\");\n var imageMargin = isCard || isCardReverse ? cardImageMargin : finalSpacing / 2;\n var items = [/*#__PURE__*/React.createElement(\"div\", {\n key: \"image\",\n ref: imageCntRef,\n className: styles.imageContainer,\n style: !isPlaceholder ? {\n margin: imageMargin\n } : null\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"image\",\n placeholderProps: {\n className: styles.placeholderImage,\n height: '100%'\n },\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"ebsPd4\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n }),\n emptyClassName: styles.emptyImage,\n isEmpty: !hasImage\n }, hasImage ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n disabled: transitionDisabled,\n fullscreen: true\n }, /*#__PURE__*/React.createElement(Visual, {\n className: styles.image,\n media: image,\n objectFit: finalImageFit,\n width: imageWidth,\n height: imageHeight,\n playing: backgroundPlaying,\n onLoaded: onImageLoaded\n })) : null)), withTitle && /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"title\",\n placeholder: \"title\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"2ZOPe+\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n }),\n emptyClassName: styles.emptyTitle,\n isEmpty: !hasTitle\n }, hasTitle ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: !isPlaceholder ? {\n margin: finalSpacing / 2\n } : null\n }, /*#__PURE__*/React.createElement(Heading, title))) : null), withText && /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"text\",\n placeholder: \"text\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"z4CiV1\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Text\"\n }]\n }),\n emptyClassName: styles.emptyText,\n isEmpty: !hasText\n }, hasText ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: !isPlaceholder ? {\n margin: finalSpacing / 2\n } : null\n }, /*#__PURE__*/React.createElement(Text, text))) : null), withLegend && /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"legend\",\n placeholder: \"shortText\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"dqnkQk\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Legend\"\n }]\n }),\n emptyClassName: styles.emptyLegend,\n isEmpty: !hasLegend\n }, hasLegend ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: !isPlaceholder ? {\n margin: finalSpacing / 2\n } : null\n }, /*#__PURE__*/React.createElement(Text, legend))) : null)];\n\n if (isReversed) {\n items.reverse();\n } else if (isTitleTop) {\n if (withTitle && (hasTitle || isPlaceholder)) {\n items.splice(0, 0, items.splice(1, 1)[0]);\n }\n }\n\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n\n if (!isPlaceholder && hasCallToAction) {\n items.push( /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: -finalSpacing / 2,\n marginTop: 0\n },\n key: \"call-to-action\"\n }, /*#__PURE__*/React.createElement(CallToAction, {\n className: styles.callToAction,\n callToAction: callToAction,\n animationDisabled: isPreview,\n focusable: current && isView\n })));\n }\n\n var paddingBottom = finalSpacing / 2;\n var paddingTop = (menuOverScreen && !isPreview ? menuSize : 0) + finalSpacing / 2;\n\n if (isCard || isFullscreen) {\n paddingTop = 0;\n }\n\n if (isCardReverse) {\n paddingTop = menuOverScreen ? menuSize : finalSpacing / 2;\n paddingBottom = 0;\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref3 = {}, _defineProperty(_ref3, className, className !== null), _defineProperty(_ref3, styles.isReversed, isReversed), _defineProperty(_ref3, styles.isPlaceholder, isPlaceholder), _defineProperty(_ref3, styles.isCard, isCard), _defineProperty(_ref3, styles.isCardReverse, isCardReverse), _defineProperty(_ref3, styles.isFullscreen, isFullscreen), _ref3)]),\n \"data-screen-ready\": ready\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying,\n shouldLoad: backgroundShouldLoad\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(Layout, {\n className: styles.layout,\n fullscreen: true,\n style: !isPlaceholder ? {\n padding: finalSpacing / 2,\n paddingTop: paddingTop,\n paddingBottom: paddingBottom\n } : null\n }, items)));\n};\n\nImageScreen.propTypes = propTypes;\nImageScreen.defaultProps = defaultProps;\nvar ImageScreen$1 = /*#__PURE__*/React.memo(ImageScreen);\n\nvar ImageTitleScreen = function ImageTitleScreen(_ref) {\n var props = _extends({}, _ref);\n\n return /*#__PURE__*/React.createElement(ImageScreen$1, Object.assign({}, props, {\n withTitle: true\n }));\n};\n\nvar ImageTextScreen = function ImageTextScreen(_ref) {\n var props = _extends({}, _ref);\n\n return /*#__PURE__*/React.createElement(ImageScreen$1, Object.assign({}, props, {\n withText: true\n }));\n};\n\nvar ImageTitleTextScreen = function ImageTitleTextScreen(_ref) {\n var props = _extends({}, _ref);\n\n return /*#__PURE__*/React.createElement(ImageScreen$1, Object.assign({}, props, {\n withTitle: true,\n withText: true\n }));\n};\n\nvar ImageLegendScreen = function ImageLegendScreen(_ref) {\n var props = _extends({}, _ref);\n\n return /*#__PURE__*/React.createElement(ImageScreen$1, Object.assign({}, props, {\n withLegend: true\n }));\n};\n\nvar transform = function transform(newStory, _ref) {\n var layout = _ref.layout,\n image = _ref.image,\n text = _ref.text,\n title = _ref.title;\n\n var _Image = Image(newStory, image),\n imageStory = _Image.story,\n imageComponent = _Image.component;\n\n var _Heading = Heading1(imageStory, title),\n titleStory = _Heading.story,\n titleComponent = _Heading.component;\n\n var _Text = Text$1(titleStory, text),\n textStory = _Text.story,\n textComponent = _Text.component;\n\n var items = [];\n\n switch (layout) {\n case 'reverse':\n items = [].concat(_toConsumableArray(textComponent ? [textComponent] : []), _toConsumableArray(titleComponent ? [titleComponent] : []), _toConsumableArray(imageComponent ? [imageComponent] : []));\n break;\n\n case 'title-top':\n items = [].concat(_toConsumableArray(titleComponent ? [titleComponent] : []), _toConsumableArray(imageComponent ? [imageComponent] : []), _toConsumableArray(textComponent ? [textComponent] : []));\n break;\n\n default:\n items = [].concat(_toConsumableArray(imageComponent ? [imageComponent] : []), _toConsumableArray(titleComponent ? [titleComponent] : []), _toConsumableArray(textComponent ? [textComponent] : []));\n break;\n }\n\n var _Container = Container$1(textStory, items),\n containerStory = _Container.story,\n component = _Container.component;\n\n return _objectSpread(_objectSpread({}, containerStory), {}, {\n components: [].concat(_toConsumableArray(newStory.components || []), _toConsumableArray(component ? [component] : []))\n });\n};\n\n// eslint-disable-next-line\n\nvar transforms = /*#__PURE__*/Object.freeze({\n __proto__: null,\n appleNews: transform\n});\n\nvar definition = [{\n id: 'image',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"6mX2ya\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Images\"\n }]\n }),\n order: 4\n },\n title: defineMessage({\n id: \"uJ9eBc\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n }),\n component: ImageScreen$1,\n layouts: ['normal', 'fullscreen'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'normal',\n label: defineMessage({\n id: \"4iBXj2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'image',\n type: 'visual',\n label: defineMessage({\n id: \"xsipID\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }, {\n name: 'imageFit',\n type: 'fit',\n defaultValue: 'cover',\n values: ['cover', 'contain'],\n label: defineMessage({\n id: \"dkBBRa\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image fit\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"+MPZRu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}, {\n id: 'image-title',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"S/mavZ\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Text and Images\"\n }]\n }),\n order: 3\n },\n title: defineMessage({\n id: \"AA8TV9\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image with title\"\n }]\n }),\n component: ImageTitleScreen,\n layouts: ['normal', 'reverse', 'card', 'card-reverse'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'normal',\n label: defineMessage({\n id: \"4iBXj2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'image',\n type: 'visual',\n label: defineMessage({\n id: \"xsipID\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }, {\n name: 'imageFit',\n type: 'fit',\n defaultValue: 'cover',\n values: ['cover', 'contain'],\n label: defineMessage({\n id: \"dkBBRa\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image fit\"\n }]\n })\n }, {\n name: 'title',\n type: 'heading-element',\n inline: true,\n theme: {\n textStyle: 'heading2'\n },\n label: defineMessage({\n id: \"N25iDO\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"+MPZRu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}, {\n id: 'image-text',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"S/mavZ\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Text and Images\"\n }]\n }),\n order: 3\n },\n title: defineMessage({\n id: \"CJmQeh\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image with text\"\n }]\n }),\n component: ImageTextScreen,\n layouts: ['normal', 'reverse', 'card', 'card-reverse'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'normal',\n label: defineMessage({\n id: \"4iBXj2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'image',\n type: 'visual',\n label: defineMessage({\n id: \"xsipID\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }, {\n name: 'imageFit',\n type: 'fit',\n defaultValue: 'cover',\n values: ['cover', 'contain'],\n label: defineMessage({\n id: \"dkBBRa\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image fit\"\n }]\n })\n }, {\n name: 'text',\n type: 'text-element',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n id: \"4E2gbX\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Text\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"+MPZRu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}, {\n id: 'image-title-text',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"S/mavZ\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Text and Images\"\n }]\n }),\n order: 3\n },\n title: defineMessage({\n id: \"eWIM/8\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image with title and text\"\n }]\n }),\n component: ImageTitleTextScreen,\n layouts: ['normal', 'reverse', 'title-top', 'card', 'card-reverse'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'normal',\n label: defineMessage({\n id: \"4iBXj2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'image',\n type: 'visual',\n isHorizontal: false,\n label: defineMessage({\n id: \"xsipID\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }, {\n name: 'imageFit',\n type: 'fit',\n defaultValue: 'cover',\n values: ['cover', 'contain'],\n label: defineMessage({\n id: \"dkBBRa\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image fit\"\n }]\n })\n }, {\n name: 'title',\n type: 'text-element',\n inline: true,\n theme: {\n textStyle: 'heading2'\n },\n label: defineMessage({\n id: \"N25iDO\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'text',\n type: 'text-element',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n id: \"4E2gbX\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Text\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"+MPZRu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}, {\n id: 'image-legend',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"6mX2ya\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Images\"\n }]\n }),\n order: 4\n },\n title: defineMessage({\n id: \"H1YcaV\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image with legend\"\n }]\n }),\n component: ImageLegendScreen,\n layouts: ['normal', 'reverse', 'card', 'card-reverse'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'normal',\n label: defineMessage({\n id: \"4iBXj2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'image',\n type: 'visual',\n label: defineMessage({\n id: \"xsipID\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }, {\n name: 'imageFit',\n type: 'fit',\n defaultValue: 'cover',\n values: ['cover', 'contain'],\n label: defineMessage({\n id: \"dkBBRa\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image fit\"\n }]\n })\n }, {\n name: 'legend',\n type: 'text-element',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n id: \"3OS3Ms\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Legend\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"+MPZRu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}];\n\nexport { ImageLegendScreen, ImageScreen$1 as ImageScreen, ImageTextScreen, ImageTitleScreen, ImageTitleTextScreen, definition as default };\n","import _typeof from '@babel/runtime/helpers/typeof';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport React, { useState, useRef, useEffect, useCallback, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { useGoogleMapsClient } from '@micromag/core/contexts';\nimport { useResizeObserver } from '@micromag/core/hooks';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport isObject from 'lodash/isObject';\n\nvar styles$2 = [{\n elementType: 'geometry',\n stylers: [{\n color: '#f5f5f5'\n }]\n}, {\n elementType: 'labels.icon',\n stylers: [{\n visibility: 'off'\n }]\n}, {\n elementType: 'labels.text.fill',\n stylers: [{\n color: '#616161'\n }]\n}, {\n elementType: 'labels.text.stroke',\n stylers: [{\n color: '#f5f5f5'\n }]\n}, {\n featureType: 'administrative.land_parcel',\n stylers: [{\n visibility: 'off'\n }]\n}, {\n featureType: 'administrative.land_parcel',\n elementType: 'labels.text.fill',\n stylers: [{\n color: '#bdbdbd'\n }]\n}, {\n featureType: 'administrative.neighborhood',\n stylers: [{\n visibility: 'off'\n }]\n}, {\n featureType: 'poi',\n elementType: 'geometry',\n stylers: [{\n color: '#eeeeee'\n }]\n}, {\n featureType: 'poi',\n elementType: 'labels.text',\n stylers: [{\n visibility: 'off'\n }]\n}, {\n featureType: 'poi',\n elementType: 'labels.text.fill',\n stylers: [{\n color: '#757575'\n }]\n}, {\n featureType: 'poi.business',\n stylers: [{\n visibility: 'off'\n }]\n}, {\n featureType: 'poi.park',\n elementType: 'geometry',\n stylers: [{\n color: '#e5e5e5'\n }]\n}, {\n featureType: 'poi.park',\n elementType: 'labels.text.fill',\n stylers: [{\n color: '#9e9e9e'\n }]\n}, {\n featureType: 'road',\n elementType: 'geometry',\n stylers: [{\n color: '#ffffff'\n }]\n}, {\n featureType: 'road',\n elementType: 'labels',\n stylers: [{\n visibility: 'off'\n }]\n}, {\n featureType: 'road',\n elementType: 'labels.icon',\n stylers: [{\n visibility: 'off'\n }]\n}, {\n featureType: 'road.arterial',\n elementType: 'labels',\n stylers: [{\n visibility: 'off'\n }]\n}, {\n featureType: 'road.arterial',\n elementType: 'labels.text.fill',\n stylers: [{\n color: '#757575'\n }]\n}, {\n featureType: 'road.highway',\n elementType: 'geometry',\n stylers: [{\n color: '#dadada'\n }]\n}, {\n featureType: 'road.highway',\n elementType: 'labels',\n stylers: [{\n visibility: 'off'\n }]\n}, {\n featureType: 'road.highway',\n elementType: 'labels.text.fill',\n stylers: [{\n color: '#616161'\n }]\n}, {\n featureType: 'road.local',\n stylers: [{\n visibility: 'off'\n }]\n}, {\n featureType: 'road.local',\n elementType: 'labels.text.fill',\n stylers: [{\n color: '#9e9e9e'\n }]\n}, {\n featureType: 'transit',\n stylers: [{\n visibility: 'off'\n }]\n}, {\n featureType: 'transit.line',\n elementType: 'geometry',\n stylers: [{\n color: '#e5e5e5'\n }]\n}, {\n featureType: 'transit.station',\n elementType: 'geometry',\n stylers: [{\n color: '#eeeeee'\n }]\n}, {\n featureType: 'water',\n elementType: 'geometry',\n stylers: [{\n color: '#c9c9c9'\n }]\n}, {\n featureType: 'water',\n elementType: 'labels.text',\n stylers: [{\n visibility: 'off'\n }]\n}, {\n featureType: 'water',\n elementType: 'labels.text.fill',\n stylers: [{\n color: '#9e9e9e'\n }]\n}];\n\nvar eventsMapping = {\n onClick: ['click', function (map) {\n return map.getCenter();\n }],\n onCenterChanged: ['center_changed', function (map) {\n return map.getCenter();\n }],\n onBoundsChanged: ['bounds_changed', function (map) {\n return map.getBounds();\n }],\n onDragEnd: ['dragend', function (map) {\n return map.getCenter();\n }],\n onTilesLoaded: ['tilesloaded', function () {}]\n};\nfunction useGoogleMap(_ref) {\n var zoom = _ref.zoom,\n _ref$maxZoom = _ref.maxZoom,\n maxZoom = _ref$maxZoom === void 0 ? null : _ref$maxZoom,\n _ref$center = _ref.center,\n center = _ref$center === void 0 ? null : _ref$center,\n _ref$withoutStyle = _ref.withoutStyle,\n withoutStyle = _ref$withoutStyle === void 0 ? false : _ref$withoutStyle,\n _ref$fitBounds = _ref.fitBounds,\n fitBounds = _ref$fitBounds === void 0 ? false : _ref$fitBounds,\n _ref$bounds = _ref.bounds,\n bounds = _ref$bounds === void 0 ? null : _ref$bounds,\n events = _ref.events,\n _ref$draggable = _ref.draggable,\n draggable = _ref$draggable === void 0 ? false : _ref$draggable,\n zoomControl = _ref.zoomControl,\n mapTypeControl = _ref.mapTypeControl,\n scaleControl = _ref.scaleControl,\n streetViewControl = _ref.streetViewControl,\n rotateControl = _ref.rotateControl,\n fullscreenControl = _ref.fullscreenControl;\n var client = useGoogleMapsClient();\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n ready = _useState2[0],\n setReady = _useState2[1];\n\n var containerRef = useRef(null);\n var mapRef = useRef(null);\n\n var _useResizeObserver = useResizeObserver(),\n resizeRef = _useResizeObserver.ref,\n elContentRect = _useResizeObserver.entry.contentRect;\n\n var _ref2 = elContentRect || {},\n _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? null : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? null : _ref2$height;\n\n useEffect(function () {\n var map = mapRef.current;\n\n if (map !== null && center !== null) {\n var _ref3 = center || {},\n _ref3$lat = _ref3.lat,\n lat = _ref3$lat === void 0 ? null : _ref3$lat,\n _ref3$lng = _ref3.lng,\n lng = _ref3$lng === void 0 ? null : _ref3$lng;\n\n map.panTo({\n lat: lat || 0,\n lng: lng || 0\n });\n }\n }, [center]);\n useEffect(function () {\n var map = mapRef.current;\n\n if (map !== null && zoom !== null) {\n map.setZoom(Math.min(maxZoom, zoom));\n }\n }, [zoom, maxZoom]);\n var updateBounds = useCallback(function (map, newBounds) {\n if (newBounds === null || newBounds.equals(map.getBounds())) {\n return;\n }\n\n map.fitBounds(newBounds);\n\n if (map.getZoom() > maxZoom) {\n map.setZoom(maxZoom);\n }\n\n map.panToBounds(newBounds);\n }, [maxZoom]);\n useEffect(function () {\n var map = mapRef.current;\n\n if (map !== null && fitBounds) {\n updateBounds(map, bounds);\n }\n }, [updateBounds, bounds, fitBounds, width, height]);\n useEffect(function () {\n var map = mapRef.current;\n\n if (ready && map !== null) {\n map.setOptions({\n draggable: draggable,\n scrollWheel: draggable,\n disableDoubleClickZoom: !draggable,\n gestureHandling: draggable ? 'cooperative' : 'none'\n });\n }\n }, [ready, draggable]);\n useEffect(function () {\n if (client === null || containerRef.current === null || mapRef.current !== null) {\n return function () {};\n }\n\n var map = new client.maps.Map(containerRef.current, {\n zoom: zoom,\n center: center,\n styles: !withoutStyle ? styles$2 : null,\n zoomControl: zoomControl,\n mapTypeControl: mapTypeControl,\n scaleControl: scaleControl,\n streetViewControl: streetViewControl,\n rotateControl: rotateControl,\n fullscreenControl: fullscreenControl\n });\n\n if (fitBounds) {\n updateBounds(map, bounds);\n }\n\n mapRef.current = map; // @TODO unbind events\n\n if (events !== null) {\n Object.keys(events).forEach(function (eventName) {\n if (events[eventName] !== null) {\n map.addListener(eventsMapping[eventName][0], function () {\n return events[eventName](eventsMapping[eventName][1](map));\n });\n }\n });\n }\n\n setReady(true);\n return function () {};\n }, [client, setReady]);\n var finalRef = useCallback(function (ref) {\n resizeRef.current = ref;\n containerRef.current = ref;\n }, []);\n return {\n ref: finalRef,\n map: mapRef.current,\n ready: ready,\n loading: !ready\n };\n}\n\nvar styles$1 = {\"container\":\"micromag-element-map-container\",\"map\":\"micromag-element-map-map\",\"preventScroll\":\"micromag-element-map-preventScroll\"};\n\nvar propTypes$2 = {\n center: PropTypes.shape({\n lat: PropTypes.number,\n lng: PropTypes.number\n }),\n zoom: PropTypes.number,\n maxZoom: PropTypes.number,\n bounds: PropTypes.object,\n // eslint-disable-line\n draggable: PropTypes.bool,\n withoutStyle: PropTypes.bool,\n // Global maps events\n events: PropTypes.object,\n // eslint-disable-line\n fitBounds: PropTypes.bool,\n zoomControl: PropTypes.bool,\n mapTypeControl: PropTypes.bool,\n scaleControl: PropTypes.bool,\n streetViewControl: PropTypes.bool,\n rotateControl: PropTypes.bool,\n fullscreenControl: PropTypes.bool,\n className: PropTypes.string,\n children: PropTypes.node,\n focusable: PropTypes.bool\n};\nvar defaultProps$2 = {\n center: null,\n zoom: null,\n maxZoom: 18,\n bounds: null,\n events: null,\n fitBounds: false,\n draggable: true,\n withoutStyle: false,\n zoomControl: false,\n mapTypeControl: false,\n scaleControl: false,\n streetViewControl: false,\n rotateControl: false,\n fullscreenControl: false,\n className: null,\n children: null,\n focusable: true\n};\n\nvar Map$1 = function Map(_ref) {\n var _ref2;\n\n var center = _ref.center,\n zoom = _ref.zoom,\n maxZoom = _ref.maxZoom,\n bounds = _ref.bounds,\n draggable = _ref.draggable,\n withoutStyle = _ref.withoutStyle,\n events = _ref.events,\n fitBounds = _ref.fitBounds,\n zoomControl = _ref.zoomControl,\n mapTypeControl = _ref.mapTypeControl,\n scaleControl = _ref.scaleControl,\n streetViewControl = _ref.streetViewControl,\n rotateControl = _ref.rotateControl,\n fullscreenControl = _ref.fullscreenControl,\n className = _ref.className,\n children = _ref.children,\n focusable = _ref.focusable;\n\n var _useGoogleMap = useGoogleMap({\n zoom: zoom,\n maxZoom: maxZoom,\n bounds: bounds,\n draggable: draggable,\n fitBounds: fitBounds,\n center: center,\n events: events,\n withoutStyle: withoutStyle,\n zoomControl: zoomControl,\n mapTypeControl: mapTypeControl,\n scaleControl: scaleControl,\n streetViewControl: streetViewControl,\n rotateControl: rotateControl,\n fullscreenControl: fullscreenControl\n }),\n map = _useGoogleMap.map,\n mapRef = _useGoogleMap.ref;\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles$1.container, (_ref2 = {}, _defineProperty(_ref2, className, className !== null), _defineProperty(_ref2, styles$1.preventScroll, !draggable), _ref2)])\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: mapRef,\n className: styles$1.map,\n tabIndex: focusable ? '0' : '-1'\n }), React.Children.map(children, function (child) {\n return /*#__PURE__*/React.cloneElement(child, {\n map: map\n });\n }));\n};\n\nMap$1.propTypes = propTypes$2;\nMap$1.defaultProps = defaultProps$2;\n\nvar eventMapping = {\n onClick: 'click',\n onDoubleClick: 'dblclick'\n};\nfunction useGoogleMapMarker(map) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$position = _ref.position,\n position = _ref$position === void 0 ? null : _ref$position,\n _ref$icon = _ref.icon,\n icon = _ref$icon === void 0 ? null : _ref$icon,\n _ref$iconSize = _ref.iconSize,\n iconSize = _ref$iconSize === void 0 ? null : _ref$iconSize,\n events = _ref.events,\n title = _ref.title;\n\n var client = useGoogleMapsClient();\n var markerRef = useRef(null);\n useEffect(function () {\n var marker = markerRef.current;\n\n if (marker !== null && position !== null) {\n marker.setPosition(position);\n }\n }, [position]);\n var updateIcon = useCallback(function (marker, newIcon) {\n if (client === null) {\n return;\n }\n\n if (isObject(newIcon)) {\n var _ref2 = newIcon || {},\n _ref2$url = _ref2.url,\n iconUrl = _ref2$url === void 0 ? null : _ref2$url;\n\n marker.setIcon({\n url: iconUrl,\n scaledSize: new client.maps.Size(iconSize.width, iconSize.height)\n });\n } else {\n marker.setIcon(newIcon);\n }\n }, [client, iconSize]);\n useEffect(function () {\n var marker = markerRef.current;\n\n if (marker === null || client === null) {\n return;\n }\n\n updateIcon(marker, icon);\n }, [client, icon, updateIcon]);\n useEffect(function () {\n if (client === null || map === null || markerRef.current !== null) {\n return function () {};\n }\n\n var marker = new client.maps.Marker({\n position: position,\n map: map,\n title: title\n });\n updateIcon(marker, icon);\n Object.keys(events).forEach(function (eventName) {\n marker.addListener(eventMapping[eventName], events[eventName]);\n });\n markerRef.current = marker;\n return function () {\n client.maps.event.clearInstanceListeners(marker);\n marker.setMap(null);\n };\n }, [client, map]);\n return markerRef.current;\n}\n\nvar img$1 = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAArCAYAAACJrvP4AAAC+ElEQVR4AWIgBP7//88DxCGAWssB1pIkCsO1iLG27WCtYG17x3Ywtm3bthlNMLZtz/NrXvStM/cbP/Vln6RSOfq/xqlOi2nO10bxUe26RRKLRdnxiZOnTqVpQO6NOc5AiYSd6O4dRcbAnlJQv4rk/fWt5HzzkbDjEydPHfX0pQr6Q4dcI7RqqZP7Z1z8i/cSLuqop4/+ZCB3iOt214UFVkG9SoikvOijHx1fGAXeqWNm7u9f0Zj2oh+dCoHcOlfkA0oZiB66ZYaBZ53uo/N7pOiWGBqmyF21xKEg24uhQf/mOWJsmaYgYOiiDwfYn5yTRE2X42vNWy/KyKcelZ6PPMCOTzwhEH04ii8ABzMRaNwzj0uXB+8rs4gnAqIPR/HJ4UvgV8wdlICUXOR9+9GHo/jG8enxK+aR+cDI+/ajD0eJ50Vzvv3Yt5h35Acj79ePPhylbetyXuVfA70z9OEoXVy0pbBl40DfGfpwVMy1R1kTRnpBTqM1cZQHh3P2Tiwv1wzynKEPR2HaNI4VNmsQyBcE3bj+UTgYE1kncmCvFQQMXRGpfQsmcre27fNFHVtkFYSeOM459OHcDvw+/mwtzkQ2QOigh64qz7RlrXRmTw1nA4ZOXG+F3z/Iozrkmvm1/80IRD866CkfY1hqeSeOGZnA6EdHJWPaNjdYw/tH0wHRR38q/43Padcx8/75ISUQ9fTRr1IxiUZbR7ZtSulxUk9fsoySZ8+xjxZ1bpkUiDrq6Uv3f/9TXVxk53z3qS+IPHXUq0xMbHuRNWGk77CQp05laiLysoRCbu4vn5cLIk6eOpUN06a52J46zisPRpy8ypaJyOvaMqycrz4sAcInTl5l07RprC3u1qYEDJ+4yraJSI3w5vVmiXO1dYNJPAjYQzo+CDlfvi+A2PGJqyBMG8aegiY1BRg7vgrKYqY53RjUS4Cx4wcGk1isa3zUNTB2/OBgIvVDq5bawNjxg4R96Z07U5T393fCjh8k7E7t2PPEi7rs+Kn0XwF82Z38cjx5pwAAAABJRU5ErkJggg==\";\n\nvar img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAArCAYAAACJrvP4AAAACXBIWXMAAAsTAAALEwEAmpwYAAAFFmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDAgNzkuMTYwNDUxLCAyMDE3LzA1LzA2LTAxOjA4OjIxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCkiIHhtcDpDcmVhdGVEYXRlPSIyMDIwLTA0LTA3VDE2OjQ0OjQ4LTA0OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMC0wNC0wN1QxNzo1MToxMi0wNDowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMC0wNC0wN1QxNzo1MToxMi0wNDowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMDRhNzAzOS01Mjk1LTQz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\";\n\nvar propTypes$1 = {\n // map: PropTypes.object.isRequired, // eslint-disable-line\n map: PropTypes.object,\n // eslint-disable-line\n position: PropTypes.shape({\n lat: PropTypes.number,\n lng: PropTypes.number\n }).isRequired,\n type: PropTypes.string,\n // .isRequired,\n events: PropTypes.object,\n // eslint-disable-line\n active: PropTypes.bool,\n title: PropTypes.string,\n image: PropTypes$1.imageMedia,\n iconSize: PropTypes.shape({\n width: PropTypes.number,\n height: PropTypes.number\n })\n};\nvar defaultProps$1 = {\n map: null,\n events: null,\n active: true,\n title: null,\n image: null,\n iconSize: {\n width: 50,\n height: 50\n }\n};\n\nvar Marker = function Marker(_ref) {\n var map = _ref.map,\n position = _ref.position,\n type = _ref.type,\n events = _ref.events,\n active = _ref.active,\n title = _ref.title,\n image = _ref.image,\n iconSize = _ref.iconSize;\n useGoogleMapMarker(map, {\n position: position,\n type: type,\n events: events,\n title: title,\n icon: image || (active ? img$1 : img),\n iconSize: iconSize\n });\n return null;\n};\n\nMarker.propTypes = propTypes$1;\nMarker.defaultProps = defaultProps$1;\n\n// import { useEffect } from 'react';\n({\n map: PropTypes.object,\n // eslint-disable-line\n coords: PropTypes.arrayOf(PropTypes.shape({\n lat: PropTypes.number,\n lng: PropTypes.number\n })).isRequired,\n events: PropTypes.object // eslint-disable-line\n\n});\n\n({\n map: PropTypes.object,\n // eslint-disable-line\n enabled: PropTypes.bool\n});\n\nvar styles = {\"container\":\"micromag-element-map-container\"};\n\nvar propTypes = {\n center: PropTypes.shape({\n lat: PropTypes.number,\n lng: PropTypes.number\n }),\n zoom: PropTypes.number,\n draggable: PropTypes.bool,\n markers: PropTypes.arrayOf(PropTypes.object),\n onClickMap: PropTypes.func,\n onClickMarker: PropTypes.func,\n className: PropTypes.string,\n onReady: PropTypes.func,\n onCenterChanged: PropTypes.func,\n onBoundsChanged: PropTypes.func,\n onDragEnd: PropTypes.func,\n withoutStyle: PropTypes.bool,\n fitBounds: PropTypes.bool,\n zoomControl: PropTypes.bool,\n mapTypeControl: PropTypes.bool,\n scaleControl: PropTypes.bool,\n streetViewControl: PropTypes.bool,\n rotateControl: PropTypes.bool,\n fullscreenControl: PropTypes.bool,\n focusable: PropTypes.bool\n};\nvar defaultProps = {\n center: null,\n zoom: null,\n draggable: true,\n markers: [],\n onClickMap: null,\n onClickMarker: null,\n className: null,\n onReady: null,\n onCenterChanged: null,\n onBoundsChanged: null,\n onDragEnd: null,\n withoutStyle: false,\n fitBounds: false,\n zoomControl: false,\n mapTypeControl: false,\n scaleControl: false,\n streetViewControl: false,\n rotateControl: false,\n fullscreenControl: false,\n focusable: true\n};\n\nvar Map = function Map(_ref) {\n var center = _ref.center,\n zoom = _ref.zoom,\n draggable = _ref.draggable,\n markers = _ref.markers,\n onClickMap = _ref.onClickMap,\n onClickMarker = _ref.onClickMarker,\n className = _ref.className,\n onReady = _ref.onReady,\n onCenterChanged = _ref.onCenterChanged,\n onBoundsChanged = _ref.onBoundsChanged,\n onDragEnd = _ref.onDragEnd,\n withoutStyle = _ref.withoutStyle,\n fitBounds = _ref.fitBounds,\n zoomControl = _ref.zoomControl,\n mapTypeControl = _ref.mapTypeControl,\n scaleControl = _ref.scaleControl,\n streetViewControl = _ref.streetViewControl,\n rotateControl = _ref.rotateControl,\n fullscreenControl = _ref.fullscreenControl,\n focusable = _ref.focusable;\n var client = useGoogleMapsClient();\n var onClick = useCallback(function (position) {\n if (onClickMap !== null) {\n onClickMap(position);\n }\n }, [onClickMap]);\n var bounds = useMemo(function () {\n if (client === null || markers === null || markers.length === 0) {\n return null;\n }\n\n var markersBounds = markers.reduce(function (newBounds, _ref2) {\n var _ref2$geoPosition = _ref2.geoPosition,\n geoPosition = _ref2$geoPosition === void 0 ? null : _ref2$geoPosition;\n\n var _ref3 = geoPosition || {},\n _ref3$lat = _ref3.lat,\n lat = _ref3$lat === void 0 ? null : _ref3$lat,\n _ref3$lng = _ref3.lng,\n lng = _ref3$lng === void 0 ? null : _ref3$lng;\n\n if (lat !== null && lng !== null) {\n newBounds.extend(new client.maps.LatLng(lat, lng));\n }\n\n return newBounds;\n }, new client.maps.LatLngBounds());\n return markersBounds;\n }, [client, markers]);\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n loaded = _useState2[0],\n setLoaded = _useState2[1];\n\n useEffect(function () {\n if (client !== null && loaded) {\n if (onReady !== null) {\n onReady(client);\n }\n }\n }, [client, loaded, onReady]);\n var onTilesLoaded = useCallback(function () {\n return setLoaded(true);\n }, [setLoaded]);\n var events = useMemo(function () {\n return {\n onClick: onClick,\n onCenterChanged: onCenterChanged,\n onBoundsChanged: onBoundsChanged,\n onDragEnd: onDragEnd,\n onTilesLoaded: onTilesLoaded\n };\n }, [onClick, onCenterChanged, onBoundsChanged, onDragEnd, onTilesLoaded]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, _defineProperty({}, className, className !== null)])\n }, /*#__PURE__*/React.createElement(Map$1, {\n center: center,\n zoom: zoom,\n withoutStyle: withoutStyle,\n bounds: bounds,\n draggable: draggable,\n events: events,\n fitBounds: fitBounds,\n zoomControl: zoomControl,\n mapTypeControl: mapTypeControl,\n scaleControl: scaleControl,\n streetViewControl: streetViewControl,\n rotateControl: rotateControl,\n fullscreenControl: fullscreenControl,\n focusable: focusable\n }, markers !== null ? markers.map(function (_ref5, index) {\n var _ref5$active = _ref5.active,\n active = _ref5$active === void 0 ? true : _ref5$active,\n _ref5$geoPosition = _ref5.geoPosition,\n geoPosition = _ref5$geoPosition === void 0 ? null : _ref5$geoPosition,\n _ref5$image = _ref5.image,\n image = _ref5$image === void 0 ? null : _ref5$image,\n _ref5$title = _ref5.title,\n title = _ref5$title === void 0 ? null : _ref5$title;\n return geoPosition !== null && (geoPosition.lat || null) !== null && (geoPosition.lng || null) !== null ? /*#__PURE__*/React.createElement(Marker, {\n key: \"marker-\".concat(index),\n active: active,\n title: title !== null && _typeof(title.body) ? title.body : null,\n image: image,\n position: geoPosition,\n events: {\n onClick: onClickMarker !== null ? function (e) {\n return onClickMarker(e, index);\n } : function () {\n return console.log(index);\n } // eslint-disable-line no-console\n\n }\n }) : /*#__PURE__*/React.createElement(\"div\", null);\n }) : null));\n};\n\nMap.propTypes = propTypes;\nMap.defaultProps = defaultProps;\n\nexport { img$1 as Pin, Map as default };\n","import { useIntl, FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport React, { useState, useRef, useCallback, useMemo, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { useGoogleKeys, useScreenSize, useScreenRenderContext } from '@micromag/core/contexts';\nimport { Transitions, Button, ScreenElement, PlaceholderMap } from '@micromag/core/components';\nimport { useTrackScreenEvent, useResizeObserver } from '@micromag/core/hooks';\nimport { getStyleFromColor, isTextFilled } from '@micromag/core/utils';\nimport { Background } from '@micromag/element-background';\nimport Container from '@micromag/element-container';\nimport Map from '@micromag/element-map';\nimport Heading from '@micromag/element-heading';\nimport Scroll from '@micromag/element-scroll';\nimport Text from '@micromag/element-text';\nimport ImageElement from '@micromag/element-image';\nimport ButtonElement from '@micromag/element-button';\nimport _extends from '@babel/runtime/helpers/extends';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport { Map as Map$1, Container as Container$1 } from '@micromag/transforms/apple-news';\n\nvar styles = {\"container\":\"micromag-screen-map-container\",\"markerOverlayContainer\":\"micromag-screen-map-markerOverlayContainer\",\"markerOverlayScrollable\":\"micromag-screen-map-markerOverlayScrollable\",\"splash\":\"micromag-screen-map-splash\",\"disabled\":\"micromag-screen-map-disabled\",\"hidden\":\"micromag-screen-map-hidden\",\"placeholder\":\"micromag-screen-map-placeholder\",\"content\":\"micromag-screen-map-content\",\"markerOverlaySafe\":\"micromag-screen-map-markerOverlaySafe\",\"markerOverlay\":\"micromag-screen-map-markerOverlay\",\"markerOverlayContent\":\"micromag-screen-map-markerOverlayContent\",\"markerOverlayContentInner\":\"micromag-screen-map-markerOverlayContentInner\",\"swipeIndicator\":\"micromag-screen-map-swipeIndicator\",\"description\":\"micromag-screen-map-description\",\"title\":\"micromag-screen-map-title\",\"button\":\"micromag-screen-map-button\",\"emptyButton\":\"micromag-screen-map-emptyButton\",\"emptyDescription\":\"micromag-screen-map-emptyDescription\",\"emptyTitle\":\"micromag-screen-map-emptyTitle\",\"splashButton\":\"micromag-screen-map-splashButton\",\"closeButton\":\"micromag-screen-map-closeButton\",\"markerDescription\":\"micromag-screen-map-markerDescription\",\"markerImage\":\"micromag-screen-map-markerImage\",\"markerSubtitle\":\"micromag-screen-map-markerSubtitle\",\"markerTitle\":\"micromag-screen-map-markerTitle\",\"hasSelectedMarker\":\"micromag-screen-map-hasSelectedMarker\",\"opened\":\"micromag-screen-map-opened\"};\n\nvar defaultCenter = {\n lat: 45.5,\n lng: -73.56\n};\nvar defaultZoom = 10;\nvar propTypes = {\n layout: PropTypes.oneOf(['normal']),\n draggable: PropTypes.bool,\n markers: PropTypes.oneOfType([PropTypes$1.markers, PropTypes$1.markersWithImage]),\n title: PropTypes$1.textElement,\n description: PropTypes$1.textElement,\n button: PropTypes$1.textElement,\n openedMarkerSpacerHeight: PropTypes.number,\n withMarkerImages: PropTypes.bool,\n background: PropTypes$1.backgroundElement,\n current: PropTypes.bool,\n active: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n onEnableInteraction: PropTypes.func,\n onDisableInteraction: PropTypes.func,\n type: PropTypes.string,\n className: PropTypes.string\n};\nvar defaultProps = {\n layout: 'normal',\n draggable: true,\n markers: [],\n title: null,\n description: null,\n button: null,\n openedMarkerSpacerHeight: 0.75,\n withMarkerImages: false,\n background: null,\n current: true,\n active: true,\n transitions: null,\n onEnableInteraction: null,\n onDisableInteraction: null,\n type: null,\n className: null\n};\n\nvar MapScreen = function MapScreen(_ref) {\n var _ref13;\n\n var layout = _ref.layout,\n draggable = _ref.draggable,\n markers = _ref.markers,\n title = _ref.title,\n description = _ref.description,\n button = _ref.button,\n openedMarkerSpacerHeight = _ref.openedMarkerSpacerHeight,\n withMarkerImages = _ref.withMarkerImages,\n background = _ref.background,\n current = _ref.current,\n active = _ref.active,\n transitions = _ref.transitions,\n onEnableInteraction = _ref.onEnableInteraction,\n onDisableInteraction = _ref.onDisableInteraction,\n type = _ref.type,\n className = _ref.className;\n\n var _useIntl = useIntl(),\n locale = _useIntl.locale;\n\n var _useGoogleKeys = useGoogleKeys(),\n _useGoogleKeys$apiKey = _useGoogleKeys.apiKey,\n apiKey = _useGoogleKeys$apiKey === void 0 ? null : _useGoogleKeys$apiKey;\n\n var trackScreenEvent = useTrackScreenEvent(type);\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n selectedMarkerIndex = _useState2[0],\n setSelectedMarkerIndex = _useState2[1];\n\n var hasSelectedMarker = selectedMarkerIndex !== null;\n var lastRenderedMarker = useRef(null);\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height;\n\n var _ref2 = background || {},\n backgroundColor = _ref2.color;\n\n var markerOverlayContentStyle = getStyleFromColor(backgroundColor);\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n ready = _useState4[0],\n setReady = _useState4[1];\n\n var transitionPlaying = current && ready;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var scrollingDisabled = !isEdit && transitionDisabled || !current;\n var backgroundPlaying = current && (isView || isEdit);\n var backgroundShouldLoad = current || active || !isView;\n\n var _useState5 = useState(isStatic || isCapture),\n _useState6 = _slicedToArray(_useState5, 2),\n opened = _useState6[0],\n setOpened = _useState6[1];\n\n var onMapReady = useCallback(function () {\n return setReady(true);\n }, [setReady]);\n var finalMarkers = useMemo(function () {\n return (markers || []).map(function (marker, markerI) {\n return _objectSpread(_objectSpread({}, marker), {}, {\n active: markerI === selectedMarkerIndex\n });\n });\n }, [markers, selectedMarkerIndex]);\n var closeMarker = useCallback(function () {\n var lastMarker = finalMarkers[selectedMarkerIndex];\n lastRenderedMarker.current = lastMarker;\n setSelectedMarkerIndex(null);\n }, [finalMarkers, selectedMarkerIndex, setSelectedMarkerIndex]);\n var onClickMap = useCallback(function () {\n var lastMarker = finalMarkers[selectedMarkerIndex];\n trackScreenEvent('click_marker_close', \"Marker \".concat(selectedMarkerIndex + 1, \": \").concat(lastMarker.title.body), {\n marker: lastMarker,\n markerIndex: selectedMarkerIndex\n });\n closeMarker();\n }, [finalMarkers, selectedMarkerIndex, trackScreenEvent, closeMarker]);\n var onClickMarker = useCallback(function (e, index) {\n var marker = finalMarkers[index];\n setSelectedMarkerIndex(index);\n trackScreenEvent('click_marker_open', \"Marker \".concat(index + 1, \": \").concat(marker.title.body), {\n marker: marker,\n markerIndex: index\n });\n }, [finalMarkers, setSelectedMarkerIndex, trackScreenEvent]);\n var onButtonClick = useCallback(function () {\n setOpened(true);\n\n if (onDisableInteraction !== null) {\n onDisableInteraction();\n }\n\n trackScreenEvent('click_button', button.body);\n }, [setOpened, onDisableInteraction, trackScreenEvent, button]);\n var onCloseClick = useCallback(function () {\n setOpened(false);\n\n if (onEnableInteraction !== null) {\n onEnableInteraction();\n }\n\n trackScreenEvent('click_close', 'Close icon');\n closeMarker();\n }, [setOpened, onEnableInteraction, trackScreenEvent]);\n var onMapDragEnd = useCallback(function (center) {\n var coords = center.toJSON();\n trackScreenEvent('drag_map', \"Latitude: \".concat(coords.lat.toFixed(4), \", Longitude: \").concat(coords.lng.toFixed(4)), {\n coords: coords\n });\n }, [trackScreenEvent]);\n var onScrolledBottom = useCallback(function (_ref3) {\n var initial = _ref3.initial;\n\n if (initial) {\n var selectedMarker = (markers || [])[selectedMarkerIndex];\n trackScreenEvent('scroll', \"Marker \".concat(selectedMarkerIndex + 1, \": \").concat(selectedMarker.title.body), {\n marker: selectedMarker,\n markerIndex: selectedMarkerIndex\n });\n }\n }, [trackScreenEvent, markers, selectedMarkerIndex]);\n\n var _useResizeObserver = useResizeObserver({\n disabled: !isView\n }),\n markerOverContentInnerRef = _useResizeObserver.ref,\n markerOverContentInnerRect = _useResizeObserver.entry.contentRect;\n\n var _ref4 = markerOverContentInnerRect || {},\n _ref4$width = _ref4.width,\n markerOverContentInnerWidth = _ref4$width === void 0 ? '100%' : _ref4$width;\n\n var _useState7 = useState(0),\n _useState8 = _slicedToArray(_useState7, 2),\n markerImagesLoaded = _useState8[0],\n setMarkerImagesLoaded = _useState8[1];\n\n var allMarkersImagesLoaded = markerImagesLoaded === (markers || []).length;\n var finalReady = ready && (!withMarkerImages || allMarkersImagesLoaded);\n useEffect(function () {\n if (withMarkerImages && markers !== null && (markers || []).length) {\n setMarkerImagesLoaded(0);\n var imgs = markers.map(function (marker) {\n var _ref5 = marker || {},\n _ref5$image = _ref5.image,\n image = _ref5$image === void 0 ? null : _ref5$image;\n\n var _ref6 = image || {},\n _ref6$url = _ref6.url,\n url = _ref6$url === void 0 ? null : _ref6$url;\n\n var withUrl = url !== null;\n\n if (withUrl) {\n var img = new Image();\n img.src = url;\n\n img.onload = function () {\n setMarkerImagesLoaded(function (index) {\n return setMarkerImagesLoaded(index + 1);\n });\n };\n\n return img;\n }\n\n return null;\n });\n return function () {\n imgs.filter(function (img) {\n return img !== null;\n }).forEach(function (img) {\n img.onload = function () {}; // eslint-disable-line no-param-reassign\n\n });\n };\n }\n\n return function () {};\n }, [withMarkerImages, markers]);\n var element = null;\n\n if (isPlaceholder) {\n element = /*#__PURE__*/React.createElement(PlaceholderMap, {\n className: styles.placeholder,\n withImages: withMarkerImages\n });\n } else if (isPreview) {\n if (width > 0 && height > 0 && apiKey !== null) {\n var staticUrl = \"https://maps.googleapis.com/maps/api/staticmap?size=\".concat(Math.round(width), \"x\").concat(Math.round(height));\n\n if (defaultCenter !== null && (markers === null || markers.length === 0)) {\n var _ref7 = defaultCenter || {},\n _ref7$lat = _ref7.lat,\n lat = _ref7$lat === void 0 ? null : _ref7$lat,\n _ref7$lng = _ref7.lng,\n lng = _ref7$lng === void 0 ? null : _ref7$lng;\n\n staticUrl += \"&center=\".concat(lat, \",\").concat(lng);\n }\n\n {\n staticUrl += \"&zoom=\".concat(defaultZoom);\n }\n\n if (apiKey !== null) {\n staticUrl += \"&key=\".concat(apiKey);\n }\n\n if (locale !== null) {\n staticUrl += \"&language=\".concat(locale);\n }\n\n if (markers !== null) {\n staticUrl += markers.map(function (marker) {\n var _ref8 = marker || {},\n _ref8$geoPosition = _ref8.geoPosition,\n geoPosition = _ref8$geoPosition === void 0 ? null : _ref8$geoPosition;\n\n var _ref9 = geoPosition || {},\n _ref9$lat = _ref9.lat,\n lat = _ref9$lat === void 0 ? null : _ref9$lat,\n _ref9$lng = _ref9.lng,\n lng = _ref9$lng === void 0 ? null : _ref9$lng;\n\n var _ref10 = marker || {},\n _ref10$image = _ref10.image,\n image = _ref10$image === void 0 ? null : _ref10$image;\n\n var _ref11 = image || {},\n _ref11$url = _ref11.url,\n url = _ref11$url === void 0 ? null : _ref11$url;\n\n return lat !== null && lng !== null ? \"&markers=\".concat(url !== null ? \"icon:\".concat(url) : '', \"%7C\").concat(lat, \",\").concat(lng) : '';\n }).join('');\n }\n\n element = /*#__PURE__*/React.createElement(ImageElement, {\n media: {\n url: staticUrl,\n metadata: {\n width: Math.min(640, width),\n height: Math.min(640, height)\n }\n },\n width: width,\n height: height,\n objectFit: {\n fit: 'cover'\n }\n });\n }\n } else {\n var renderedMarker = hasSelectedMarker ? finalMarkers[selectedMarkerIndex] : lastRenderedMarker.current;\n\n var _ref12 = renderedMarker || {},\n _ref12$title = _ref12.title,\n markerTitle = _ref12$title === void 0 ? null : _ref12$title,\n _ref12$subtitle = _ref12.subtitle,\n markerSubtitle = _ref12$subtitle === void 0 ? null : _ref12$subtitle,\n _ref12$description = _ref12.description,\n markerDescription = _ref12$description === void 0 ? null : _ref12$description,\n _ref12$image = _ref12.image,\n markerImage = _ref12$image === void 0 ? null : _ref12$image;\n\n var hasMarkerTitle = markerTitle !== null;\n var hasMarkerSubtitle = markerSubtitle !== null;\n var hasMarkerDescription = markerDescription !== null;\n var hasMarkerImage = markerImage !== null;\n var hasTitle = isTextFilled(title);\n var hasDescription = isTextFilled(description);\n var hasButton = isTextFilled(button);\n element = /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n fullscreen: true,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(Map, {\n key: \"map\",\n center: defaultCenter,\n zoom: defaultZoom,\n draggable: draggable,\n markers: finalMarkers,\n fitBounds: true,\n onClickMarker: onClickMarker,\n onReady: onMapReady,\n onDragEnd: onMapDragEnd\n }), /*#__PURE__*/React.createElement(\"div\", {\n key: \"marker-overlay\",\n className: styles.markerOverlayContainer\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.markerOverlayScrollable\n }, /*#__PURE__*/React.createElement(Scroll, {\n fullscreen: true,\n disabled: scrollingDisabled,\n onScrolledBottom: onScrolledBottom\n }, /*#__PURE__*/React.createElement(Button, {\n className: styles.markerOverlaySafe,\n onClick: onClickMap,\n withoutStyle: true,\n style: {\n height: height * openedMarkerSpacerHeight\n },\n disabled: isPreview,\n focusable: current && isView\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.markerOverlay,\n style: {\n minHeight: height * (1 - openedMarkerSpacerHeight)\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.markerOverlayContent,\n style: markerOverlayContentStyle\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.swipeIndicator\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.markerOverlayContentInner,\n key: \"markerContent-\".concat(selectedMarkerIndex),\n ref: markerOverContentInnerRef\n }, hasMarkerImage ? /*#__PURE__*/React.createElement(ImageElement, {\n className: styles.markerImage,\n media: markerImage,\n width: markerOverContentInnerWidth\n }) : null, hasMarkerTitle ? /*#__PURE__*/React.createElement(Heading, Object.assign({\n className: styles.markerTitle\n }, markerTitle)) : null, hasMarkerSubtitle ? /*#__PURE__*/React.createElement(Heading, Object.assign({\n size: 3,\n className: styles.markerSubtitle\n }, markerSubtitle)) : null, hasMarkerDescription ? /*#__PURE__*/React.createElement(Text, Object.assign({\n className: styles.markerDescription\n }, markerDescription)) : null)))))), /*#__PURE__*/React.createElement(\"div\", {\n key: \"splash\",\n className: classNames([styles.splash])\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"2ZOPe+\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n }),\n emptyClassName: styles.emptyTitle,\n isEmpty: !hasTitle\n }, /*#__PURE__*/React.createElement(Heading, Object.assign({\n className: styles.title\n }, title))), /*#__PURE__*/React.createElement(ScreenElement, {\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"507VAi\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n }),\n emptyClassName: styles.emptyDescription,\n isEmpty: !hasDescription\n }, /*#__PURE__*/React.createElement(Text, Object.assign({\n className: styles.description\n }, description))), /*#__PURE__*/React.createElement(ScreenElement, {\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"bv3rRe\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Button\"\n }]\n }),\n emptyClassName: styles.emptyButton,\n isEmpty: !hasButton\n }, /*#__PURE__*/React.createElement(ButtonElement, {\n className: styles.splashButton,\n onClick: onButtonClick,\n buttonStyle: button !== null ? button.buttonStyle : null,\n focusable: current && isView\n }, /*#__PURE__*/React.createElement(Text, Object.assign({\n className: styles.button\n }, button))))), !isStatic && !isCapture ? /*#__PURE__*/React.createElement(Button, {\n key: \"close-button\",\n className: styles.closeButton,\n onClick: onCloseClick,\n focusable: current && isView\n }, \"\\xD7\") : null);\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref13 = {}, _defineProperty(_ref13, className, className !== null), _defineProperty(_ref13, styles[\"\".concat(layout, \"Layout\")], layout !== null), _defineProperty(_ref13, styles.opened, opened), _defineProperty(_ref13, styles.hasSelectedMarker, hasSelectedMarker), _ref13)]),\n \"data-screen-ready\": finalReady\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n color: {\n color: '#FFFFFF',\n alpha: 1\n },\n width: width,\n height: height,\n playing: backgroundPlaying,\n shouldLoad: backgroundShouldLoad\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, element));\n};\n\nMapScreen.propTypes = propTypes;\nMapScreen.defaultProps = defaultProps;\n\nvar MapImagesScreen = function MapImagesScreen(_ref) {\n var props = _extends({}, _ref);\n\n return /*#__PURE__*/React.createElement(MapScreen, Object.assign({}, props, {\n withMarkerImages: true\n }));\n};\n\nvar transform = function transform(newStory, _ref) {\n var markers = _ref.markers;\n var marker = markers.find(function (_ref2) {\n var _ref2$geoPosition = _ref2.geoPosition,\n geoPosition = _ref2$geoPosition === void 0 ? null : _ref2$geoPosition;\n return geoPosition !== null && geoPosition.latitude !== null && geoPosition.longitude !== null;\n });\n\n var _ref3 = marker || {},\n _ref3$geoPosition = _ref3.geoPosition,\n geoPosition = _ref3$geoPosition === void 0 ? {} : _ref3$geoPosition;\n\n var _ref4 = geoPosition || {},\n _ref4$lat = _ref4.lat,\n lat = _ref4$lat === void 0 ? null : _ref4$lat,\n _ref4$lng = _ref4.lng,\n lng = _ref4$lng === void 0 ? null : _ref4$lng;\n\n var _Map = Map$1(newStory, {\n latitude: lat,\n longitude: lng\n }),\n titleStory = _Map.story,\n titleComponent = _Map.component;\n\n var _Container = Container$1(titleStory, _toConsumableArray(titleComponent ? [titleComponent] : [])),\n containerStory = _Container.story,\n containerComponent = _Container.component;\n\n return _objectSpread(_objectSpread({}, containerStory), {}, {\n components: [].concat(_toConsumableArray(newStory.components || []), _toConsumableArray(containerComponent ? [containerComponent] : []))\n });\n};\n\n// eslint-disable-next-line\n\nvar transforms = /*#__PURE__*/Object.freeze({\n __proto__: null,\n appleNews: transform\n});\n\nvar definition = [{\n id: 'map',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"8vroDx\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Map\"\n }]\n }),\n order: 6\n },\n title: defineMessage({\n id: \"dmuKH3\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Map\"\n }]\n }),\n component: MapScreen,\n layouts: ['normal'],\n transforms: transforms,\n fields: [{\n name: 'title',\n type: 'heading-element',\n theme: {\n textStyle: 'heading1'\n },\n label: defineMessage({\n id: \"N25iDO\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'description',\n type: 'text-element',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n id: \"1ezz2m\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n })\n }, {\n name: 'button',\n type: 'button-element',\n theme: {\n textStyle: 'button'\n },\n label: defineMessage({\n id: \"enPTxj\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Button\"\n }]\n })\n }, {\n name: 'draggable',\n type: 'toggle',\n defaultValue: true,\n label: defineMessage({\n id: \"8Dl/S1\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Draggable\"\n }]\n })\n }, {\n name: 'markers',\n type: 'markers',\n theme: {\n title: {\n textStyle: 'heading3'\n },\n description: {\n textStyle: 'text'\n }\n },\n label: defineMessage({\n id: \"PbHeHc\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Markers\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"+MPZRu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }]\n}, {\n id: 'map-images',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"8vroDx\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Map\"\n }]\n }),\n order: 6\n },\n title: defineMessage({\n id: \"MLuvzG\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Map with image markers\"\n }]\n }),\n component: MapImagesScreen,\n layouts: ['normal'],\n transforms: transforms,\n fields: [{\n name: 'title',\n type: 'heading-element',\n theme: {\n textStyle: 'heading1'\n },\n label: defineMessage({\n id: \"N25iDO\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'description',\n type: 'text-element',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n id: \"1ezz2m\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n })\n }, {\n name: 'button',\n type: 'button-element',\n theme: {\n textStyle: 'button'\n },\n label: defineMessage({\n id: \"enPTxj\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Button\"\n }]\n })\n }, {\n name: 'draggable',\n type: 'toggle',\n defaultValue: true,\n label: defineMessage({\n id: \"8Dl/S1\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Draggable\"\n }]\n })\n }, {\n name: 'markers',\n type: 'markers-with-image',\n theme: {\n title: {\n textStyle: 'heading3'\n },\n description: {\n textStyle: 'text'\n }\n },\n label: defineMessage({\n id: \"D0+Cxr\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Markers with image\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"+MPZRu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }]\n}];\n\nexport { MapImagesScreen, MapScreen, definition as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport { faCheck, faTimes } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { ScreenElement, Transitions } from '@micromag/core/components';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { useTrackScreenEvent, useResizeObserver } from '@micromag/core/hooks';\nimport { isTextFilled, getStyleFromButton, getStyleFromColor } from '@micromag/core/utils';\nimport { useQuizCreate } from '@micromag/data';\nimport Background from '@micromag/element-background';\nimport Button from '@micromag/element-button';\nimport CallToAction from '@micromag/element-call-to-action';\nimport Container from '@micromag/element-container';\nimport Heading from '@micromag/element-heading';\nimport Layout, { Spacer } from '@micromag/element-layout';\nimport Text from '@micromag/element-text';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useState, useCallback, useEffect } from 'react';\n\nvar styles = {\"container\":\"micromag-screen-quiz-container\",\"disabled\":\"micromag-screen-quiz-disabled\",\"hidden\":\"micromag-screen-quiz-hidden\",\"placeholder\":\"micromag-screen-quiz-placeholder\",\"content\":\"micromag-screen-quiz-content\",\"emptyAnswer\":\"micromag-screen-quiz-emptyAnswer\",\"emptyResult\":\"micromag-screen-quiz-emptyResult\",\"emptyTitle\":\"micromag-screen-quiz-emptyTitle\",\"button\":\"micromag-screen-quiz-button\",\"question\":\"micromag-screen-quiz-question\",\"answers\":\"micromag-screen-quiz-answers\",\"items\":\"micromag-screen-quiz-items\",\"item\":\"micromag-screen-quiz-item\",\"rightAnswer\":\"micromag-screen-quiz-rightAnswer\",\"resultIcon\":\"micromag-screen-quiz-resultIcon\",\"itemContent\":\"micromag-screen-quiz-itemContent\",\"result\":\"micromag-screen-quiz-result\",\"resultContent\":\"micromag-screen-quiz-resultContent\",\"callToAction\":\"micromag-screen-quiz-callToAction\",\"answered\":\"micromag-screen-quiz-answered\",\"showResults\":\"micromag-screen-quiz-showResults\",\"answerTransitionComplete\":\"micromag-screen-quiz-answerTransitionComplete\",\"isPlaceholder\":\"micromag-screen-quiz-isPlaceholder\",\"layout\":\"micromag-screen-quiz-layout\"};\n\nvar propTypes = {\n id: PropTypes.string,\n layout: PropTypes.oneOf(['top', 'middle', 'bottom', 'split']),\n question: PropTypes$1.textElement,\n answers: PropTypes$1.quizAnswers,\n result: PropTypes.shape({\n image: PropTypes$1.imageElement,\n text: PropTypes$1.textElement\n }),\n buttonsStyle: PropTypes$1.buttonStyle,\n goodAnswerColor: PropTypes$1.color,\n badAnswerColor: PropTypes$1.color,\n spacing: PropTypes.number,\n showResultsDelay: PropTypes.number,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n active: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n transitionStagger: PropTypes.number,\n resultsTransitionDuration: PropTypes.number,\n type: PropTypes.string,\n className: PropTypes.string\n};\nvar defaultProps = {\n id: null,\n layout: 'middle',\n question: null,\n answers: null,\n result: null,\n buttonsStyle: null,\n goodAnswerColor: null,\n badAnswerColor: null,\n spacing: 20,\n showResultsDelay: 750,\n background: null,\n callToAction: null,\n current: true,\n active: true,\n transitions: null,\n transitionStagger: 100,\n resultsTransitionDuration: 500,\n type: null,\n className: null\n};\n\nvar QuizScreen = function QuizScreen(_ref) {\n var _ref13;\n\n var id = _ref.id,\n layout = _ref.layout,\n question = _ref.question,\n answers = _ref.answers,\n result = _ref.result,\n buttonsStyle = _ref.buttonsStyle,\n goodAnswerColor = _ref.goodAnswerColor,\n badAnswerColor = _ref.badAnswerColor,\n spacing = _ref.spacing,\n showResultsDelay = _ref.showResultsDelay,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n active = _ref.active,\n transitions = _ref.transitions,\n transitionStagger = _ref.transitionStagger,\n resultsTransitionDuration = _ref.resultsTransitionDuration,\n type = _ref.type,\n className = _ref.className;\n var screenId = id || 'screen-id';\n var trackScreenEvent = useTrackScreenEvent(type);\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n menuOverScreen = _useScreenSize.menuOverScreen;\n\n var _useViewer = useViewer(),\n menuSize = _useViewer.menuSize;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var hasQuestion = isTextFilled(question);\n var hasResult = isTextFilled(result);\n var showInstantAnswer = isStatic || isCapture;\n var goodAnswerIndex = answers !== null ? answers.findIndex(function (answer) {\n return answer !== null && answer.good;\n }) : null;\n\n var _useState = useState(showInstantAnswer ? goodAnswerIndex : null),\n _useState2 = _slicedToArray(_useState, 2),\n userAnswerIndex = _useState2[0],\n setUserAnswerIndex = _useState2[1];\n\n var _useState3 = useState(showInstantAnswer),\n _useState4 = _slicedToArray(_useState3, 2),\n showResults = _useState4[0],\n setShowResults = _useState4[1]; // const [answerTransitionProps, setAnswerTransitionProps] = useState(null);\n\n\n var _useState5 = useState(showInstantAnswer),\n _useState6 = _slicedToArray(_useState5, 2),\n answerTransitionComplete = _useState6[0],\n setAnswerTransitionComplete = _useState6[1];\n\n var answered = userAnswerIndex !== null;\n\n var _ref2 = userAnswerIndex !== null && answers ? answers[userAnswerIndex] : {},\n _ref2$good = _ref2.good,\n hasUserAnsweredRight = _ref2$good === void 0 ? false : _ref2$good;\n\n var isSplitted = layout === 'split';\n var verticalAlign = isSplitted ? null : layout;\n var transitionPlaying = current;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var backgroundPlaying = current && (isView || isEdit);\n var backgroundShouldLoad = current || active || !isView; // Call to Action\n\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n\n var _useResizeObserver = useResizeObserver(),\n callToActionRef = _useResizeObserver.ref,\n callToActionRect = _useResizeObserver.entry.contentRect;\n\n var _ref3 = callToActionRect || {},\n _ref3$height = _ref3.height,\n callToActionHeight = _ref3$height === void 0 ? 0 : _ref3$height;\n\n var _useQuizCreate = useQuizCreate({\n screenId: screenId\n }),\n submitQuiz = _useQuizCreate.create;\n\n var onAnswerClick = useCallback(function (answerI) {\n var timeout = null;\n\n if (userAnswerIndex === null) {\n setUserAnswerIndex(answerI);\n timeout = setTimeout(setShowResults, showResultsDelay, true);\n var answer = answers[answerI];\n trackScreenEvent('click_answer', \"\".concat(userAnswerIndex + 1, \": \").concat(answer.label.body), {\n answer: answer,\n answerIndex: answerI\n });\n }\n\n return function () {\n if (timeout !== null) {\n clearTimeout(timeout);\n }\n };\n }, [userAnswerIndex, setUserAnswerIndex, showResultsDelay, trackScreenEvent, answers]);\n useEffect(function () {\n if (!current && isEdit && userAnswerIndex !== null) {\n setUserAnswerIndex(null);\n setShowResults(false);\n setAnswerTransitionComplete(false);\n }\n }, [isEdit, current, userAnswerIndex, setUserAnswerIndex, setShowResults, setAnswerTransitionComplete]); // we get .answer's current and future height to animate its height\n // we also get the right answer's Y to animate its position\n\n var _useResizeObserver2 = useResizeObserver(),\n answerRef = _useResizeObserver2.ref,\n answerContentRect = _useResizeObserver2.entry.contentRect;\n\n var _ref4 = answerContentRect || {},\n answerHeight = _ref4.height;\n\n var _useResizeObserver3 = useResizeObserver(),\n rightAnswerRef = _useResizeObserver3.ref,\n rightAnswerContentRect = _useResizeObserver3.entry.contentRect;\n\n var _ref5 = rightAnswerContentRect || {},\n rightAnswerHeight = _ref5.height;\n\n var _useResizeObserver4 = useResizeObserver(),\n resultRef = _useResizeObserver4.ref,\n resultContentRect = _useResizeObserver4.entry.contentRect;\n\n var _ref6 = resultContentRect || {},\n resultHeight = _ref6.height;\n\n var _useState7 = useState(0),\n _useState8 = _slicedToArray(_useState7, 2),\n rightAnswerTop = _useState8[0],\n setRightAnswerTop = _useState8[1];\n\n useEffect(function () {\n if (rightAnswerRef.current !== null) {\n setRightAnswerTop(rightAnswerRef.current.offsetTop);\n }\n }, [rightAnswerHeight]); // when the animation is done, we set a state to remove animations props\n // .results' position changes from absolute to relative\n // the wrong answers are removed from DOM\n\n useEffect(function () {\n var timeout = null;\n\n if (!showInstantAnswer && showResults) {\n timeout = setTimeout(setAnswerTransitionComplete, resultsTransitionDuration, true);\n }\n\n return function () {\n if (timeout) {\n clearTimeout(timeout);\n }\n };\n }, [showResults, resultsTransitionDuration, setAnswerTransitionComplete, showInstantAnswer]);\n useEffect(function () {\n if (userAnswerIndex !== null) {\n var _ref7 = userAnswerIndex !== null && answers ? answers[userAnswerIndex] : {},\n _ref7$good = _ref7.good,\n isGood = _ref7$good === void 0 ? false : _ref7$good,\n _ref7$label = _ref7.label,\n label = _ref7$label === void 0 ? {} : _ref7$label;\n\n var _ref8 = label || {},\n _ref8$body = _ref8.body,\n body = _ref8$body === void 0 ? '' : _ref8$body;\n\n submitQuiz({\n choice: body || userAnswerIndex,\n value: isGood ? 1 : 0\n });\n }\n }, [userAnswerIndex, answers, submitQuiz]); // Question\n\n var items = [/*#__PURE__*/React.createElement(ScreenElement, {\n key: \"question\",\n placeholder: \"title\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"e1I+KU\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Question\"\n }]\n }),\n emptyClassName: styles.emptyTitle,\n isEmpty: !hasQuestion\n }, hasQuestion ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(Heading, Object.assign({}, question, {\n className: styles.question\n }))) : null)];\n\n if (isSplitted) {\n items.push( /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer\"\n }));\n } // Answer\n\n\n items.push( /*#__PURE__*/React.createElement(\"div\", {\n key: \"answers\",\n className: styles.answers,\n ref: answerRef,\n style: answered && !answerTransitionComplete && (isView || isEdit) ? {\n transitionDuration: \"\".concat(resultsTransitionDuration, \"ms\"),\n height: !showResults ? answerHeight : rightAnswerHeight + resultHeight\n } : null\n }, answers !== null || isPlaceholder ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.items\n }, (isPlaceholder ? _toConsumableArray(new Array(2)) : answers).map(function (answer, answerI) {\n var _ref12;\n\n var userAnswer = answerI === userAnswerIndex;\n\n var _ref9 = answer || {},\n _ref9$good = _ref9.good,\n rightAnswer = _ref9$good === void 0 ? false : _ref9$good,\n _ref9$label = _ref9.label,\n label = _ref9$label === void 0 ? null : _ref9$label,\n _ref9$buttonStyle = _ref9.buttonStyle,\n answerButtonStyle = _ref9$buttonStyle === void 0 ? null : _ref9$buttonStyle;\n\n var _ref10 = label || {},\n _ref10$textStyle = _ref10.textStyle,\n textStyle = _ref10$textStyle === void 0 ? null : _ref10$textStyle;\n\n var _ref11 = textStyle || {};\n _ref11.color;\n\n var hasAnswer = isTextFilled(label);\n return answerTransitionComplete && !rightAnswer ? null : /*#__PURE__*/React.createElement(\"div\", {\n key: \"answer-\".concat(answerI),\n ref: rightAnswer ? rightAnswerRef : null,\n className: classNames([styles.item, (_ref12 = {}, _defineProperty(_ref12, styles.rightAnswer, rightAnswer), _defineProperty(_ref12, styles.userAnswer, userAnswer), _ref12)]),\n style: showResults && rightAnswer && !answerTransitionComplete ? {\n transform: \"translateY(\".concat(-rightAnswerTop, \"px)\"),\n transitionDuration: \"\".concat(resultsTransitionDuration, \"ms\")\n } : null\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.itemContent\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"quizAnswer\",\n placeholderProps: {\n good: answerI === 0\n },\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"+Ok+7S\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Answer\"\n }]\n }),\n emptyClassName: styles.emptyAnswer,\n isEmpty: !hasAnswer\n }, hasAnswer ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n delay: (answerI + 1) * transitionStagger,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(Button, {\n className: styles.button,\n onClick: function onClick() {\n return onAnswerClick(answerI);\n },\n disabled: isPreview,\n focusable: current && isView,\n buttonStyle: _objectSpread(_objectSpread({}, getStyleFromButton(buttonsStyle)), getStyleFromButton(answerButtonStyle))\n }, rightAnswer ? /*#__PURE__*/React.createElement(\"span\", {\n className: styles.resultIcon,\n style: getStyleFromColor(goodAnswerColor, 'backgroundColor')\n }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {\n className: styles.faIcon,\n icon: faCheck\n })) : null, answered && !hasUserAnsweredRight && userAnswer ? /*#__PURE__*/React.createElement(\"span\", {\n className: styles.resultIcon,\n style: getStyleFromColor(badAnswerColor, 'backgroundColor')\n }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {\n className: styles.faIcon,\n icon: faTimes\n })) : null, /*#__PURE__*/React.createElement(Text, Object.assign({}, label, {\n className: styles.optionLabel\n })))) : null)));\n })) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.result,\n ref: resultRef\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.resultContent\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n emptyLabel: answered ? /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"li7ADr\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Result\"\n }]\n }) : null,\n isEmpty: answered && !hasResult,\n emptyClassName: styles.emptyResult\n }, hasResult && answers !== null ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n delay: (1 + answers.length) * transitionStagger,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(Text, Object.assign({}, result, {\n className: styles.resultText\n })), hasCallToAction ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n height: callToActionHeight\n }\n }) : null) : null)))));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref13 = {}, _defineProperty(_ref13, className, className !== null), _defineProperty(_ref13, styles.isPlaceholder, isPlaceholder), _defineProperty(_ref13, styles.answered, answered), _defineProperty(_ref13, styles.showResults, showResults), _defineProperty(_ref13, styles.answerTransitionComplete, answerTransitionComplete), _ref13)]),\n \"data-screen-ready\": true\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying,\n shouldLoad: backgroundShouldLoad\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(Layout, {\n className: styles.layout,\n fullscreen: true,\n verticalAlign: verticalAlign,\n style: !isPlaceholder ? {\n padding: spacing,\n paddingTop: (menuOverScreen && !isPreview ? menuSize : 0) + spacing\n } : null\n }, items), !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(CallToAction, {\n ref: callToActionRef,\n className: styles.callToAction,\n callToAction: callToAction,\n disabled: !answerTransitionComplete,\n animationDisabled: isPreview,\n focusable: current && isView\n }) : null));\n};\n\nQuizScreen.propTypes = propTypes;\nQuizScreen.defaultProps = defaultProps;\n\nvar definition = {\n id: 'quiz',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"ZqwBOx\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Questions\"\n }]\n }),\n order: 7\n },\n title: defineMessage({\n id: \"zW7IVm\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Quiz\"\n }]\n }),\n component: QuizScreen,\n layouts: ['top', 'middle', 'bottom', 'split'],\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'top',\n label: defineMessage({\n id: \"4iBXj2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'question',\n type: 'heading-element',\n theme: {\n textStyle: 'heading2'\n },\n label: defineMessage({\n id: \"hVE7TA\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Question\"\n }]\n })\n }, {\n name: 'answers',\n type: 'quiz-answers',\n theme: {\n label: {\n textStyle: 'button'\n }\n },\n label: defineMessage({\n id: \"KHWeV7\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Answers\"\n }]\n })\n }, {\n name: 'result',\n type: 'text-element',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n id: \"FJygXH\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Result\"\n }]\n })\n }, {\n type: 'fields',\n isList: true,\n label: defineMessage({\n id: \"R9DB4a\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Styles\"\n }]\n }),\n fields: [{\n name: 'buttonsStyle',\n type: 'field-with-form',\n label: defineMessage({\n id: \"l5uLMd\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Buttons\"\n }]\n }),\n noValueLabel: defineMessage({\n id: \"65rc70\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Edit style...\"\n }]\n }),\n field: {\n type: 'button-style'\n }\n }, {\n name: 'goodAnswerColor',\n type: 'color',\n label: defineMessage({\n id: \"I2bIHm\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Good answer color\"\n }]\n })\n }, {\n name: 'badAnswerColor',\n type: 'color',\n label: defineMessage({\n id: \"ru3tjH\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Bad answer color\"\n }]\n })\n }]\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"+MPZRu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n};\n\nexport { QuizScreen, definition as default };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { v1 } from 'uuid';\nimport classNames from 'classnames';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { getStyleFromText, getStyleFromMargin } from '@micromag/core/utils';\nimport { LinkStyle } from '@micromag/core/components';\n\nvar styles = {\"container\":\"micromag-element-quote-container\",\"showEmpty\":\"micromag-element-quote-showEmpty\"};\n\nvar propTypes = {\n body: PropTypes.string,\n textStyle: PropTypes$1.textStyle,\n linksStyle: PropTypes$1.textStyle,\n margin: PropTypes$1.margin,\n showEmpty: PropTypes.bool,\n className: PropTypes.string,\n emptyClassName: PropTypes.string\n};\nvar defaultProps = {\n body: null,\n textStyle: null,\n linksStyle: null,\n margin: null,\n showEmpty: false,\n className: null,\n emptyClassName: null\n};\n\nvar Quote = function Quote(_ref) {\n var _ref2;\n\n var body = _ref.body,\n textStyle = _ref.textStyle,\n linksStyle = _ref.linksStyle,\n margin = _ref.margin,\n showEmpty = _ref.showEmpty,\n className = _ref.className,\n emptyClassName = _ref.emptyClassName;\n var finalStyle = null;\n var finalLinkStyle = null;\n\n if (textStyle !== null) {\n finalStyle = _objectSpread(_objectSpread({}, finalStyle), getStyleFromText(textStyle));\n }\n\n if (margin !== null) {\n finalStyle = _objectSpread(_objectSpread({}, finalStyle), getStyleFromMargin(margin));\n }\n\n if (linksStyle !== null) {\n finalLinkStyle = _objectSpread(_objectSpread({}, finalLinkStyle), getStyleFromText(linksStyle));\n }\n\n var id = useMemo(function () {\n return finalLinkStyle !== null ? \"quote-component-\".concat(v1()) : null;\n }, [finalLinkStyle !== null]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, finalLinkStyle !== null ? /*#__PURE__*/React.createElement(LinkStyle, {\n selector: \"#\".concat(id),\n style: finalLinkStyle\n }) : null, /*#__PURE__*/React.createElement(\"blockquote\", {\n id: id,\n className: classNames([styles.container, (_ref2 = {}, _defineProperty(_ref2, styles.showEmpty, showEmpty), _defineProperty(_ref2, emptyClassName, showEmpty && emptyClassName !== null), _defineProperty(_ref2, className, className !== null), _ref2)]),\n style: finalStyle,\n dangerouslySetInnerHTML: {\n __html: body\n }\n }));\n};\n\nQuote.propTypes = propTypes;\nQuote.defaultProps = defaultProps;\n\nexport { Quote as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { ScreenElement, TransitionsStagger } from '@micromag/core/components';\nimport { isTextFilled } from '@micromag/core/utils';\nimport Background from '@micromag/element-background';\nimport Container from '@micromag/element-container';\nimport Layout, { Spacer } from '@micromag/element-layout';\nimport Quote from '@micromag/element-quote';\nimport Text from '@micromag/element-text';\nimport CallToAction from '@micromag/element-call-to-action';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport { Quote as Quote$1, Author, Container as Container$1 } from '@micromag/transforms/apple-news';\n\nvar styles = {\"container\":\"micromag-screen-quote-container\",\"disabled\":\"micromag-screen-quote-disabled\",\"hidden\":\"micromag-screen-quote-hidden\",\"placeholder\":\"micromag-screen-quote-placeholder\",\"content\":\"micromag-screen-quote-content\",\"emptyAuthor\":\"micromag-screen-quote-emptyAuthor\",\"emptyQuote\":\"micromag-screen-quote-emptyQuote\",\"quote\":\"micromag-screen-quote-quote\",\"withMargin\":\"micromag-screen-quote-withMargin\",\"isPlaceholder\":\"micromag-screen-quote-isPlaceholder\",\"layout\":\"micromag-screen-quote-layout\"};\n\nvar propTypes = {\n layout: PropTypes.oneOf(['top', 'middle', 'bottom', 'split']),\n quote: PropTypes$1.textElement,\n author: PropTypes$1.textElement,\n spacing: PropTypes.number,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n active: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n transitionStagger: PropTypes.number,\n className: PropTypes.string\n};\nvar defaultProps = {\n layout: 'top',\n quote: null,\n author: null,\n spacing: 20,\n background: null,\n callToAction: null,\n current: true,\n active: true,\n transitions: null,\n transitionStagger: 100,\n className: null\n};\n\nvar QuoteScreen = function QuoteScreen(_ref) {\n var _ref3;\n\n var layout = _ref.layout,\n quote = _ref.quote,\n author = _ref.author,\n spacing = _ref.spacing,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n active = _ref.active,\n transitions = _ref.transitions,\n transitionStagger = _ref.transitionStagger,\n className = _ref.className;\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n menuOverScreen = _useScreenSize.menuOverScreen;\n\n var _useViewer = useViewer(),\n menuSize = _useViewer.menuSize;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var hasQuote = isTextFilled(quote);\n var hasAuthor = isTextFilled(author);\n var isSplitted = layout === 'split';\n var isTopLayout = layout === 'top';\n var isMiddleLayout = layout === 'middle';\n var verticalAlign = isSplitted ? null : layout;\n var quoteWithMargin = hasQuote && hasAuthor && !isSplitted;\n var transitionPlaying = current;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var backgroundPlaying = current && (isView || isEdit);\n var backgroundShouldLoad = current || active || !isView;\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n var items = [!isPlaceholder && hasCallToAction && isMiddleLayout ? /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer-cta-top\"\n }) : null, /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"quote\",\n placeholder: \"quote\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"CrzYgw\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Quote\"\n }]\n }),\n emptyClassName: styles.emptyQuote,\n isEmpty: !hasQuote\n }, hasQuote ? /*#__PURE__*/React.createElement(Quote, Object.assign({\n className: classNames([styles.quote, _defineProperty({}, styles.withMargin, quoteWithMargin)])\n }, quote)) : null), isSplitted && /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer\"\n }), /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"author\",\n placeholder: \"subtitle\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"xYqGzM\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Author\"\n }]\n }),\n emptyClassName: styles.emptyAuthor,\n isEmpty: !hasAuthor\n }, hasAuthor ? /*#__PURE__*/React.createElement(Text, Object.assign({\n className: styles.author\n }, author)) : null), !isPlaceholder && hasCallToAction && (isTopLayout || isMiddleLayout) ? /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer-cta-bottom\"\n }) : null, !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: -spacing,\n marginTop: 0\n },\n key: \"call-to-action\"\n }, /*#__PURE__*/React.createElement(CallToAction, {\n callToAction: callToAction,\n animationDisabled: isPreview,\n focusable: current && isView\n })) : null].filter(function (el) {\n return el !== null;\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref3 = {}, _defineProperty(_ref3, className, className), _defineProperty(_ref3, styles.isPlaceholder, isPlaceholder), _ref3)]),\n \"data-screen-ready\": true\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying,\n shouldLoad: backgroundShouldLoad\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(Layout, {\n className: styles.layout,\n fullscreen: true,\n verticalAlign: verticalAlign,\n style: !isPlaceholder ? {\n padding: spacing,\n paddingTop: (menuOverScreen && !isPreview ? menuSize : 0) + spacing\n } : null\n }, /*#__PURE__*/React.createElement(TransitionsStagger, {\n transitions: transitions,\n stagger: transitionStagger,\n disabled: transitionDisabled,\n playing: transitionPlaying\n }, items))));\n};\n\nQuoteScreen.propTypes = propTypes;\nQuoteScreen.defaultProps = defaultProps;\nvar QuoteScreen$1 = /*#__PURE__*/React.memo(QuoteScreen);\n\nvar transform = function transform(newStory, _ref) {\n var quote = _ref.quote,\n author = _ref.author;\n\n var _Quote = Quote$1(newStory, quote),\n quoteStory = _Quote.story,\n quoteComponent = _Quote.component;\n\n var _Author = Author(quoteStory, author),\n authorStory = _Author.story,\n authorComponent = _Author.component;\n\n var _Container = Container$1(authorStory, [].concat(_toConsumableArray(quoteComponent ? [quoteComponent] : []), _toConsumableArray(authorComponent ? [authorComponent] : []))),\n containerStory = _Container.story,\n containerComponent = _Container.component;\n\n return _objectSpread(_objectSpread({}, containerStory), {}, {\n components: [].concat(_toConsumableArray(newStory.components || []), _toConsumableArray(containerComponent ? [containerComponent] : []))\n });\n};\n\n// eslint-disable-next-line\n\nvar transforms = /*#__PURE__*/Object.freeze({\n __proto__: null,\n appleNews: transform\n});\n\nvar definition = {\n id: 'quote',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"fIawTr\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Text\"\n }]\n }),\n order: 2\n },\n title: defineMessage({\n id: \"3q9GPv\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Quote\"\n }]\n }),\n component: QuoteScreen$1,\n layouts: ['top', 'middle', 'bottom', 'split'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'top',\n label: defineMessage({\n id: \"4iBXj2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'quote',\n type: 'heading-element',\n fieldType: 'multi',\n theme: {\n textStyle: 'heading2'\n },\n label: defineMessage({\n id: \"88/Ge8\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Quote\"\n }]\n })\n }, {\n name: 'author',\n type: 'text-element',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n id: \"73hxYw\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Author\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"+MPZRu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n};\n\nexport { QuoteScreen$1 as QuoteScreen, definition as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport React, { useState, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { Transitions, ScreenElement } from '@micromag/core/components';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { useTrackScreenEvent, useResizeObserver } from '@micromag/core/hooks';\nimport { isTextFilled } from '@micromag/core/utils';\nimport Background from '@micromag/element-background';\nimport Container from '@micromag/element-container';\nimport Layout from '@micromag/element-layout';\nimport Text from '@micromag/element-text';\nimport Heading from '@micromag/element-heading';\nimport Scroll from '@micromag/element-scroll';\nimport CallToAction from '@micromag/element-call-to-action';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport { Text as Text$1, Container as Container$1 } from '@micromag/transforms/apple-news';\n\nvar styles = {\"container\":\"micromag-screen-ranking-container\",\"empty\":\"micromag-screen-ranking-empty\",\"item\":\"micromag-screen-ranking-item\",\"rankText\":\"micromag-screen-ranking-rankText\",\"description\":\"micromag-screen-ranking-description\",\"title\":\"micromag-screen-ranking-title\",\"callToAction\":\"micromag-screen-ranking-callToAction\",\"sideLayout\":\"micromag-screen-ranking-sideLayout\",\"layout\":\"micromag-screen-ranking-layout\",\"content\":\"micromag-screen-ranking-content\",\"rank\":\"micromag-screen-ranking-rank\",\"isPlaceholder\":\"micromag-screen-ranking-isPlaceholder\",\"scroll\":\"micromag-screen-ranking-scroll\"};\n\nvar propTypes = {\n layout: PropTypes.oneOf(['side', 'over']),\n items: PropTypes.arrayOf(PropTypes$1.textElement),\n numbersStyle: PropTypes$1.textStyle,\n ascending: PropTypes.bool,\n spacing: PropTypes.number,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n active: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n transitionStagger: PropTypes.number,\n type: PropTypes.string,\n className: PropTypes.string\n};\nvar defaultProps = {\n layout: 'side',\n items: [null],\n numbersStyle: null,\n ascending: false,\n spacing: 20,\n background: null,\n callToAction: null,\n current: true,\n active: true,\n transitions: null,\n transitionStagger: 75,\n type: null,\n className: null\n};\n\nvar RankingScreen = function RankingScreen(_ref) {\n var _ref5;\n\n var layout = _ref.layout,\n items = _ref.items,\n numbersStyle = _ref.numbersStyle,\n ascending = _ref.ascending,\n spacing = _ref.spacing,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n active = _ref.active,\n transitions = _ref.transitions,\n transitionStagger = _ref.transitionStagger,\n type = _ref.type,\n className = _ref.className;\n var trackScreenEvent = useTrackScreenEvent(type);\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n menuOverScreen = _useScreenSize.menuOverScreen;\n\n var _useViewer = useViewer(),\n menuSize = _useViewer.menuSize;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var finalItems = isPlaceholder ? _toConsumableArray(new Array(10)).map(function () {\n return {};\n }) : items || [null];\n var itemsCount = finalItems !== null ? finalItems.length : 0;\n var transitionPlaying = current;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var scrollingDisabled = !isEdit && transitionDisabled || !current;\n var backgroundPlaying = current && (isView || isEdit);\n var backgroundShouldLoad = current || active || !isView;\n var elements = (finalItems || []).map(function (item, itemI) {\n var _ref2 = item || {},\n _ref2$title = _ref2.title,\n title = _ref2$title === void 0 ? null : _ref2$title,\n _ref2$description = _ref2.description,\n description = _ref2$description === void 0 ? null : _ref2$description;\n\n var hasTitle = isTextFilled(title);\n var hasDescription = isTextFilled(description);\n var titleElement = /*#__PURE__*/React.createElement(\"div\", {\n className: styles.title\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"title\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"2ZOPe+\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n }),\n emptyClassName: styles.empty,\n isEmpty: !hasTitle\n }, hasTitle ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n delay: transitionStagger * itemI,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(Heading, title)) : null));\n var descriptionElement = /*#__PURE__*/React.createElement(\"div\", {\n className: styles.description\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"text\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"507VAi\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n }),\n emptyClassName: styles.empty,\n isEmpty: !hasDescription\n }, hasDescription ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n delay: transitionStagger * itemI,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(Text, description)) : null));\n var rankText = \"\".concat(ascending ? itemI + 1 : itemsCount - itemI);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: styles.item,\n key: \"item-\".concat(itemI)\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.rank\n }, isPlaceholder ? rankText : /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n delay: transitionStagger * itemI,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(Text, {\n className: styles.rankText,\n body: rankText,\n textStyle: numbersStyle\n }))), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.content\n }, titleElement, descriptionElement));\n }); // Call to Action\n\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n scrolledBottom = _useState2[0],\n setScrolledBottom = _useState2[1];\n\n var _useResizeObserver = useResizeObserver(),\n callToActionRef = _useResizeObserver.ref,\n callToActionRect = _useResizeObserver.entry.contentRect;\n\n var _ref3 = callToActionRect || {},\n _ref3$height = _ref3.height,\n callToActionHeight = _ref3$height === void 0 ? 0 : _ref3$height;\n\n if (hasCallToAction) {\n elements.push( /*#__PURE__*/React.createElement(\"div\", {\n key: \"call-to-action-spacer\",\n style: {\n height: callToActionHeight\n }\n }));\n }\n\n var onScrolledBottom = useCallback(function (_ref4) {\n var initial = _ref4.initial;\n\n if (initial) {\n trackScreenEvent('scroll', 'Screen');\n }\n\n setScrolledBottom(true);\n }, [trackScreenEvent]);\n var onScrolledNotBottom = useCallback(function () {\n setScrolledBottom(false);\n }, [setScrolledBottom]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref5 = {}, _defineProperty(_ref5, className, className !== null), _defineProperty(_ref5, styles[\"\".concat(layout, \"Layout\")], layout !== null), _defineProperty(_ref5, styles.isPlaceholder, isPlaceholder), _ref5)]),\n \"data-screen-ready\": true\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying,\n shouldLoad: backgroundShouldLoad\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(Scroll, {\n className: styles.scroll,\n verticalAlign: \"middle\",\n disabled: scrollingDisabled,\n onScrolledBottom: onScrolledBottom,\n onScrolledNotBottom: onScrolledNotBottom\n }, /*#__PURE__*/React.createElement(Layout, {\n className: styles.layout,\n style: !isPlaceholder ? {\n padding: spacing,\n paddingTop: (menuOverScreen && !isPreview ? menuSize : 0) + spacing\n } : null\n }, elements)), !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(CallToAction, {\n ref: callToActionRef,\n className: styles.callToAction,\n disabled: !scrolledBottom,\n animationDisabled: isPreview,\n callToAction: callToAction,\n focusable: current && isView\n }) : null));\n};\n\nRankingScreen.propTypes = propTypes;\nRankingScreen.defaultProps = defaultProps;\n\nvar transform = function transform(newStory, _ref) {\n var _ref$items = _ref.items,\n items = _ref$items === void 0 ? [] : _ref$items,\n _ref$ascending = _ref.ascending,\n ascending = _ref$ascending === void 0 ? false : _ref$ascending;\n var allItems = items || [];\n var ordered = ascending ? allItems.reverse() : allItems;\n var list = ordered.reduce(function (acc, it) {\n var _Text = Text$1(acc.story, it.title),\n titleStory = _Text.story,\n titleComponent = _Text.component;\n\n var _Text2 = Text$1(titleStory, it.description),\n descriptionStory = _Text2.story,\n descriptionComponent = _Text2.component;\n\n var _Container = Container$1(descriptionStory, [].concat(_toConsumableArray(titleComponent ? [titleComponent] : []), _toConsumableArray(descriptionComponent ? [descriptionComponent] : []))),\n containerStory = _Container.story,\n containerComponent = _Container.component;\n\n return {\n story: containerStory,\n components: [].concat(_toConsumableArray(acc.components || []), _toConsumableArray(containerComponent ? [containerComponent] : []))\n };\n }, {\n story: newStory,\n components: []\n });\n\n var _ref2 = list || {},\n reducedStory = _ref2.story,\n _ref2$components = _ref2.components,\n reducedComponents = _ref2$components === void 0 ? [] : _ref2$components;\n\n var _Container2 = Container$1(reducedStory, reducedComponents),\n bigContainerStory = _Container2.story,\n bigContainerComponent = _Container2.component;\n\n return _objectSpread(_objectSpread({}, bigContainerStory), {}, {\n components: [].concat(_toConsumableArray(newStory.components || []), _toConsumableArray(bigContainerComponent ? [bigContainerComponent] : []))\n });\n};\n\n// eslint-disable-next-line\n\nvar transforms = /*#__PURE__*/Object.freeze({\n __proto__: null,\n appleNews: transform\n});\n\nvar definition = {\n id: 'ranking',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"cGItoy\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"List\"\n }]\n }),\n order: 8\n },\n title: defineMessage({\n id: \"17BMn2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Ranking\"\n }]\n }),\n component: RankingScreen,\n layouts: ['side', 'over'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'side',\n label: defineMessage({\n id: \"4iBXj2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'items',\n type: 'entries',\n theme: {\n title: {\n textStyle: 'heading2'\n },\n description: {\n textStyle: 'text'\n }\n },\n label: defineMessage({\n id: \"sESmah\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Entries\"\n }]\n })\n }, {\n name: 'ascending',\n type: 'toggle',\n label: defineMessage({\n id: \"9DhYaZ\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Ascending\"\n }]\n })\n }, {\n name: 'numbersStyle',\n type: 'text-style',\n theme: {\n textStyle: 'heading1'\n },\n label: defineMessage({\n id: \"UdrdRF\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Numbers style\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"+MPZRu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n};\n\nexport { RankingScreen, definition as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { Transitions, ScreenElement } from '@micromag/core/components';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { useResizeObserver } from '@micromag/core/hooks';\nimport { isTextFilled } from '@micromag/core/utils';\nimport Background from '@micromag/element-background';\nimport CallToAction from '@micromag/element-call-to-action';\nimport Container from '@micromag/element-container';\nimport Text from '@micromag/element-text';\nimport Visual from '@micromag/element-visual';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useState, useCallback, useRef } from 'react';\n\nvar styles = {\"container\":\"micromag-screen-slideshow-container\",\"content\":\"micromag-screen-slideshow-content\",\"disabled\":\"micromag-screen-slideshow-disabled\",\"hidden\":\"micromag-screen-slideshow-hidden\",\"placeholder\":\"micromag-screen-slideshow-placeholder\"};\n\nvar propTypes = {\n layout: PropTypes.oneOf(['top', 'middle', 'bottom']),\n slides: PropTypes.oneOfType([PropTypes$1.imageMedias, PropTypes$1.imageElements]),\n withCaptions: PropTypes.bool,\n spacing: PropTypes.number,\n captionMaxLines: PropTypes.number,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n active: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n // transitionStagger: PropTypes.number,\n className: PropTypes.string\n};\nvar defaultProps = {\n layout: 'middle',\n withCaptions: false,\n slides: [],\n spacing: 20,\n captionMaxLines: 2,\n background: null,\n callToAction: null,\n current: true,\n active: true,\n transitions: null,\n // transitionStagger: 50,\n className: null\n};\n\nvar SlideshowScreen = function SlideshowScreen(_ref) {\n var _ref4;\n\n _ref.layout;\n var slides = _ref.slides,\n withCaptions = _ref.withCaptions,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n active = _ref.active,\n spacing = _ref.spacing,\n captionMaxLines = _ref.captionMaxLines,\n transitions = _ref.transitions,\n className = _ref.className;\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n menuOverScreen = _useScreenSize.menuOverScreen;\n\n var _useViewer = useViewer(),\n menuSize = _useViewer.menuSize;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var backgroundPlaying = current && (isView || isEdit);\n var backgroundShouldLoad = current || active || !isView;\n var finalSpacing = isPlaceholder ? 5 : spacing;\n\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n imagesLoaded = _useState2[0],\n setImagesLoaded = _useState2[1];\n\n var ready = true;\n var transitionPlaying = current && ready;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var onImageLoaded = useCallback(function () {\n setImagesLoaded(imagesLoaded + 1);\n }, [imagesLoaded, setImagesLoaded]);\n var imagesEl = useRef([]); // Call to Action\n\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n\n var _useResizeObserver = useResizeObserver(),\n callToActionRef = _useResizeObserver.ref,\n callToActionRect = _useResizeObserver.entry.contentRect;\n\n var _ref2 = callToActionRect || {},\n _ref2$height = _ref2.height,\n callToActionHeight = _ref2$height === void 0 ? 0 : _ref2$height; // console.log(transitionDisabled);\n\n\n var items = (slides || []).map(function (item, itemI) {\n var _ref3 = item || {},\n _ref3$visual = _ref3.visual,\n visual = _ref3$visual === void 0 ? null : _ref3$visual,\n _ref3$caption = _ref3.caption,\n caption = _ref3$caption === void 0 ? null : _ref3$caption;\n\n var imageSize = {\n width: width / 2,\n height: height / 2\n }; // const { caption = null } = finalImage || {};\n\n var hasImage = visual !== null;\n var hasCaption = isTextFilled(caption);\n return /*#__PURE__*/React.createElement(\"div\", {\n key: \"item-\".concat(itemI),\n className: styles.gridItem\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.imageContainer,\n ref: function ref(el) {\n imagesEl.current[itemI] = el;\n }\n }, /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n delay: 1,\n playing: transitionPlaying,\n disabled: transitionDisabled,\n fullscreen: true\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"image\",\n placeholderProps: {\n className: styles.placeholder,\n height: '100%'\n },\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"ebsPd4\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n }),\n emptyClassName: styles.emptyImage,\n isEmpty: !hasImage\n }, /*#__PURE__*/React.createElement(Visual, Object.assign({\n className: styles.image,\n media: visual\n }, imageSize, {\n objectFit: {\n fit: 'cover'\n },\n playing: backgroundPlaying,\n onLoaded: onImageLoaded\n }))))), withCaptions ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n delay: 1,\n playing: transitionPlaying,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"line\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"6tIigB\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Caption\"\n }]\n }),\n emptyClassName: styles.emptyCaption,\n isEmpty: !hasCaption\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.caption\n }, /*#__PURE__*/React.createElement(Text, Object.assign({}, caption, {\n className: styles.captionText,\n lineClamp: captionMaxLines\n }))))) : null);\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref4 = {}, _defineProperty(_ref4, className, className !== null), _defineProperty(_ref4, styles.isPlaceholder, isPlaceholder), _ref4)]),\n \"data-screen-ready\": ready\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying,\n shouldLoad: backgroundShouldLoad\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.content,\n style: {\n paddingTop: menuOverScreen && !isPreview ? menuSize : null,\n paddingBottom: hasCallToAction ? callToActionHeight - finalSpacing : 0\n }\n }, items, !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: -finalSpacing\n }\n }, /*#__PURE__*/React.createElement(CallToAction, {\n ref: callToActionRef,\n className: styles.callToAction,\n callToAction: callToAction,\n animationDisabled: isPreview,\n focusable: current && isView\n })) : null)));\n};\n\nSlideshowScreen.propTypes = propTypes;\nSlideshowScreen.defaultProps = defaultProps;\nvar SlideshowScreen$1 = /*#__PURE__*/React.memo(SlideshowScreen);\n\nvar definition = [{\n id: 'slideshow',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"6mX2ya\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Images\"\n }]\n }),\n order: 7\n },\n title: defineMessage({\n id: \"MhGUaY\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Slideshow\"\n }]\n }),\n component: SlideshowScreen$1,\n layouts: ['top', 'middle', 'bottom'],\n // transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'two-vertical-equal',\n label: defineMessage({\n id: \"4iBXj2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'slides',\n type: 'visuals-with-caption',\n label: defineMessage({\n id: \"muYwrB\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Images\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"+MPZRu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}];\n\nexport { SlideshowScreen$1 as SlideshowScreen, definition as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { ScreenElement, Transitions } from '@micromag/core/components';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { useTrackScreenEvent } from '@micromag/core/hooks';\nimport { isTextFilled, getLargestRemainderRound, getStyleFromButton, getStyleFromColor } from '@micromag/core/utils';\nimport { useQuizCreate, useQuiz } from '@micromag/data';\nimport Background from '@micromag/element-background';\nimport Button from '@micromag/element-button';\nimport CallToAction from '@micromag/element-call-to-action';\nimport Container from '@micromag/element-container';\nimport Heading from '@micromag/element-heading';\nimport Layout, { Spacer } from '@micromag/element-layout';\nimport Text from '@micromag/element-text';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useState, useMemo, useCallback, useEffect, useRef } from 'react';\n\nvar styles = {\"container\":\"micromag-screen-survey-container\",\"disabled\":\"micromag-screen-survey-disabled\",\"hidden\":\"micromag-screen-survey-hidden\",\"placeholder\":\"micromag-screen-survey-placeholder\",\"content\":\"micromag-screen-survey-content\",\"emptyAnswer\":\"micromag-screen-survey-emptyAnswer\",\"emptyQuestion\":\"micromag-screen-survey-emptyQuestion\",\"question\":\"micromag-screen-survey-question\",\"answers\":\"micromag-screen-survey-answers\",\"items\":\"micromag-screen-survey-items\",\"item\":\"micromag-screen-survey-item\",\"placeholderAnswer\":\"micromag-screen-survey-placeholderAnswer\",\"itemContent\":\"micromag-screen-survey-itemContent\",\"resultContainer\":\"micromag-screen-survey-resultContainer\",\"resultContent\":\"micromag-screen-survey-resultContent\",\"result\":\"micromag-screen-survey-result\",\"resultLabel\":\"micromag-screen-survey-resultLabel\",\"itemInner\":\"micromag-screen-survey-itemInner\",\"button\":\"micromag-screen-survey-button\",\"itemLabel\":\"micromag-screen-survey-itemLabel\",\"answered\":\"micromag-screen-survey-answered\",\"userAnswer\":\"micromag-screen-survey-userAnswer\",\"isPlaceholder\":\"micromag-screen-survey-isPlaceholder\",\"layout\":\"micromag-screen-survey-layout\"};\n\nvar propTypes = {\n id: PropTypes.string,\n layout: PropTypes.oneOf(['top', 'middle', 'bottom', 'split']),\n question: PropTypes$1.textElement,\n answers: PropTypes$1.answers,\n buttonsStyle: PropTypes$1.buttonStyle,\n resultsStyle: PropTypes.shape({\n barColor: PropTypes$1.color,\n textColor: PropTypes$1.color\n }),\n spacing: PropTypes.number,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n withPercentLabels: PropTypes.bool,\n current: PropTypes.bool,\n active: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n transitionStagger: PropTypes.number,\n resultTransitionDuration: PropTypes.number,\n type: PropTypes.string,\n className: PropTypes.string\n};\nvar defaultProps = {\n id: null,\n layout: 'middle',\n question: null,\n answers: null,\n buttonsStyle: null,\n resultsStyle: null,\n spacing: 20,\n background: null,\n callToAction: null,\n withPercentLabels: true,\n current: true,\n active: true,\n transitions: null,\n transitionStagger: 100,\n resultTransitionDuration: 500,\n type: null,\n className: null\n};\n\nvar SurveyScreen = function SurveyScreen(_ref) {\n var _ref14;\n\n var id = _ref.id,\n layout = _ref.layout,\n question = _ref.question,\n answers = _ref.answers,\n buttonsStyle = _ref.buttonsStyle,\n resultsStyle = _ref.resultsStyle,\n spacing = _ref.spacing,\n background = _ref.background,\n callToAction = _ref.callToAction,\n withPercentLabels = _ref.withPercentLabels,\n current = _ref.current,\n active = _ref.active,\n transitions = _ref.transitions,\n transitionStagger = _ref.transitionStagger,\n resultTransitionDuration = _ref.resultTransitionDuration,\n type = _ref.type,\n className = _ref.className;\n var screenId = id || 'screen-id';\n var trackScreenEvent = useTrackScreenEvent(type);\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n menuOverScreen = _useScreenSize.menuOverScreen;\n\n var _useViewer = useViewer(),\n menuSize = _useViewer.menuSize;\n\n var _useQuizCreate = useQuizCreate({\n screenId: screenId\n }),\n submitQuiz = _useQuizCreate.create;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n\n var _useQuiz = useQuiz({\n screenId: screenId,\n opts: {\n autoload: !isPlaceholder\n }\n }),\n _useQuiz$quiz = _useQuiz.quiz,\n quizAnswers = _useQuiz$quiz === void 0 ? [] : _useQuiz$quiz;\n\n var hasQuestion = isTextFilled(question);\n var showInstantAnswer = isStatic || isCapture;\n\n var _useState = useState(showInstantAnswer ? -1 : null),\n _useState2 = _slicedToArray(_useState, 2),\n userAnswerIndex = _useState2[0],\n setUserAnswerIndex = _useState2[1];\n\n var answered = userAnswerIndex !== null;\n var quizAnswersComputed = useMemo(function () {\n var total = answers !== null ? (quizAnswers || []).reduce(function (points, _ref2) {\n var _ref2$count = _ref2.count,\n count = _ref2$count === void 0 ? 0 : _ref2$count;\n return points + parseInt(count, 10);\n }, userAnswerIndex !== null && userAnswerIndex > -1 ? 1 : 0) : 0;\n var computed = answers !== null ? (answers || []).reduce(function (answersTotal, ans, i) {\n var _ref3 = ans || {},\n _ref3$label = _ref3.label,\n label = _ref3$label === void 0 ? {} : _ref3$label;\n\n var _ref4 = label || {},\n _ref4$body = _ref4.body,\n body = _ref4$body === void 0 ? null : _ref4$body;\n\n var _ref5 = quizAnswers.find(function (qa) {\n return qa.choice === body;\n }) || {},\n _ref5$count = _ref5.count,\n count = _ref5$count === void 0 ? 0 : _ref5$count;\n\n var countWithUser = i === userAnswerIndex ? count + 1 : count;\n\n if (body !== null) {\n return _objectSpread(_objectSpread({}, answersTotal), {}, _defineProperty({}, body, {\n percent: total > 0 ? countWithUser / total * 100 : 0,\n count: countWithUser\n }));\n }\n\n return answersTotal;\n }, {}) : {};\n var quizAnswersPct = total > 0 ? Object.keys(computed).map(function (key) {\n return computed[key].percent || 0;\n }) : [];\n var evenlySplit = getLargestRemainderRound(quizAnswersPct, 100);\n return Object.keys(computed).reduce(function (acc, key, i) {\n return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, _objectSpread(_objectSpread({}, computed[key]), {}, {\n percent: evenlySplit[i]\n })));\n }, {});\n }, [answers, quizAnswers, userAnswerIndex]);\n var isSplitted = layout === 'split';\n var isTopLayout = layout === 'top';\n var isMiddleLayout = layout === 'middle';\n var verticalAlign = isSplitted ? null : layout;\n var transitionPlaying = current;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var backgroundPlaying = current && (isView || isEdit);\n var backgroundShouldLoad = current || active || !isView;\n var onAnswerClick = useCallback(function (answerIndex) {\n if (userAnswerIndex === null) {\n setUserAnswerIndex(answerIndex);\n var answer = answers[answerIndex];\n submitQuiz({\n choice: answer.label.body || answerIndex,\n value: 1\n });\n trackScreenEvent('click_answer', \"Answer \".concat(userAnswerIndex + 1, \": \").concat(answer.label.body), {\n answer: answer,\n answerIndex: answerIndex\n });\n }\n }, [userAnswerIndex, setUserAnswerIndex, trackScreenEvent, submitQuiz]);\n useEffect(function () {\n if (!current && isEdit && userAnswerIndex !== null) {\n setUserAnswerIndex(null);\n }\n }, [isEdit, current, userAnswerIndex, setUserAnswerIndex]); // Question\n\n var items = [/*#__PURE__*/React.createElement(ScreenElement, {\n key: \"question\",\n placeholder: \"title\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"e1I+KU\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Question\"\n }]\n }),\n emptyClassName: styles.emptyQuestion,\n isEmpty: !hasQuestion\n }, hasQuestion ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(Heading, Object.assign({}, question, {\n className: styles.question\n }))) : null)];\n\n if (isSplitted || !isPlaceholder && hasCallToAction && isMiddleLayout) {\n items.push( /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer\"\n }));\n } // Answer\n\n\n var buttonsRefs = useRef([]);\n var labelsRefs = useRef([]);\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n buttonMaxWidth = _useState4[0],\n setButtonMaxWidth = _useState4[1];\n\n var finalTransitionDuration = showInstantAnswer ? 0 : \"\".concat(resultTransitionDuration, \"ms\");\n\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n ready = _useState6[0],\n setReady = _useState6[1];\n\n useEffect(function () {\n if (answers === null || isPlaceholder) {\n return;\n }\n\n var maxWidth = answers.reduce(function (currentMaxWidth, answer, answerI) {\n var button = buttonsRefs.current[answerI] || null;\n var label = labelsRefs.current[answerI] || null;\n\n if (button !== null && label !== null) {\n var borderWidth = button.offsetWidth - button.clientWidth;\n var totalWidth = borderWidth + label.getBoundingClientRect().width + 20;\n return Math.max(currentMaxWidth, totalWidth);\n }\n\n return currentMaxWidth;\n }, 0);\n setButtonMaxWidth(Math.min(width * 0.75, Math.max(width * 0.2, maxWidth)));\n setReady(true);\n }, [answers, width, height, setButtonMaxWidth, finalTransitionDuration, isPlaceholder]);\n\n var _ref6 = resultsStyle || {},\n _ref6$barColor = _ref6.barColor,\n resultsBarColor = _ref6$barColor === void 0 ? null : _ref6$barColor,\n _ref6$textColor = _ref6.textColor,\n resultsTextColor = _ref6$textColor === void 0 ? null : _ref6$textColor;\n\n items.push( /*#__PURE__*/React.createElement(\"div\", {\n key: \"answers\",\n className: styles.answers\n }, answers !== null || isPlaceholder ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.items\n }, (isPlaceholder ? _toConsumableArray(new Array(3)) : answers).map(function (answer, answerIndex) {\n var hasAnswer = answer !== null;\n\n var _ref7 = answer || {},\n _ref7$label = _ref7.label,\n label = _ref7$label === void 0 ? null : _ref7$label,\n _ref7$buttonStyle = _ref7.buttonStyle,\n answerButtonStyle = _ref7$buttonStyle === void 0 ? null : _ref7$buttonStyle,\n _ref7$resultStyle = _ref7.resultStyle,\n answerResultStyle = _ref7$resultStyle === void 0 ? null : _ref7$resultStyle;\n\n var _ref8 = answerResultStyle || {},\n _ref8$barColor = _ref8.barColor,\n answerResultBarColor = _ref8$barColor === void 0 ? null : _ref8$barColor,\n answerResultTextColor = _ref8.textColor;\n\n var _ref9 = label || {},\n _ref9$body = _ref9.body,\n body = _ref9$body === void 0 ? null : _ref9$body;\n\n var _ref10 = body !== null ? quizAnswersComputed[body] || {} : {},\n _ref10$percent = _ref10.percent,\n percent = _ref10$percent === void 0 ? 0 : _ref10$percent;\n\n var _ref11 = label || {},\n _ref11$textStyle = _ref11.textStyle,\n textStyle = _ref11$textStyle === void 0 ? null : _ref11$textStyle;\n\n var _ref12 = textStyle || {},\n _ref12$color = _ref12.color,\n labelColor = _ref12$color === void 0 ? null : _ref12$color;\n\n var hasAnswerLabel = isTextFilled(label);\n var userAnswer = userAnswerIndex === answerIndex;\n return /*#__PURE__*/React.createElement(\"div\", {\n key: \"answer-\".concat(answerIndex),\n className: classNames([styles.item, _defineProperty({}, styles.userAnswer, userAnswer)])\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"surveyAnswer\",\n placeholderProps: {\n className: styles.placeholderAnswer\n },\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"+Ok+7S\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Answer\"\n }]\n }),\n emptyClassName: styles.emptyAnswer,\n isEmpty: !hasAnswerLabel\n }, hasAnswer ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n delay: (answerIndex + 1) * transitionStagger,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.itemContent\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.itemInner,\n style: {\n width: answered ? buttonMaxWidth : null,\n transitionDuration: finalTransitionDuration\n }\n }, /*#__PURE__*/React.createElement(Button, {\n className: styles.button,\n onClick: function onClick() {\n return onAnswerClick(answerIndex);\n },\n refButton: function refButton(el) {\n buttonsRefs.current[answerIndex] = el;\n },\n disabled: isPreview,\n focusable: current && isView,\n buttonStyle: !answered ? _objectSpread(_objectSpread({}, getStyleFromButton(buttonsStyle)), getStyleFromButton(answerButtonStyle)) : null\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: styles.itemLabel,\n ref: function ref(el) {\n labelsRefs.current[answerIndex] = el;\n }\n }, /*#__PURE__*/React.createElement(Text, Object.assign({}, label, {\n textStyle: textStyle,\n inline: true,\n className: styles.itemText\n }))))), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.resultContainer,\n style: {\n transitionDuration: finalTransitionDuration\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.resultContent,\n style: {\n transitionDelay: finalTransitionDuration,\n transitionDuration: finalTransitionDuration\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.result,\n style: _objectSpread({\n width: \"\".concat(percent, \"%\")\n }, getStyleFromColor(answered ? answerResultBarColor || resultsBarColor || labelColor : null, 'backgroundColor'))\n }, withPercentLabels ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.resultLabel,\n style: _objectSpread({}, getStyleFromColor(answered ? answerResultTextColor || resultsTextColor || answerResultBarColor || resultsBarColor || labelColor : null, 'color'))\n }, \"\".concat(percent, \"%\")) : null))))) : null));\n })) : null)); // Call to Action\n\n if (!isPlaceholder && hasCallToAction) {\n if (isTopLayout || isMiddleLayout) {\n items.push( /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer-cta-bottom\"\n }));\n }\n\n items.push( /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: -spacing,\n marginTop: 0\n },\n key: \"call-to-action\"\n }, /*#__PURE__*/React.createElement(CallToAction, {\n callToAction: callToAction,\n disabled: !answered,\n animationDisabled: isPreview,\n focusable: current && isView\n })));\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref14 = {}, _defineProperty(_ref14, className, className !== null), _defineProperty(_ref14, styles.answered, answered), _defineProperty(_ref14, styles.isPlaceholder, isPlaceholder), _ref14)]),\n \"data-screen-ready\": ready\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying,\n shouldLoad: backgroundShouldLoad\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(Layout, {\n className: styles.layout,\n fullscreen: true,\n verticalAlign: verticalAlign,\n style: !isPlaceholder ? {\n padding: spacing,\n paddingTop: (menuOverScreen && !isPreview ? menuSize : 0) + spacing\n } : null\n }, items)));\n};\n\nSurveyScreen.propTypes = propTypes;\nSurveyScreen.defaultProps = defaultProps;\n\nvar definition = {\n id: 'survey',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"ZqwBOx\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Questions\"\n }]\n }),\n order: 7\n },\n title: defineMessage({\n id: \"650XRF\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Survey\"\n }]\n }),\n component: SurveyScreen,\n layouts: ['top', 'middle', 'bottom', 'split'],\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'top',\n label: defineMessage({\n id: \"4iBXj2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'question',\n type: 'heading-element',\n theme: {\n textStyle: 'heading2'\n },\n label: defineMessage({\n id: \"hVE7TA\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Question\"\n }]\n })\n }, {\n name: 'answers',\n type: 'answers',\n theme: {\n label: {\n textStyle: 'button'\n }\n },\n label: defineMessage({\n id: \"KHWeV7\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Answers\"\n }]\n })\n }, {\n type: 'fields',\n isList: true,\n label: defineMessage({\n id: \"R9DB4a\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Styles\"\n }]\n }),\n fields: [{\n name: 'buttonsStyle',\n type: 'field-with-form',\n label: defineMessage({\n id: \"l5uLMd\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Buttons\"\n }]\n }),\n noValueLabel: defineMessage({\n id: \"65rc70\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Edit style...\"\n }]\n }),\n field: {\n type: 'button-style'\n }\n }, {\n name: 'resultsStyle',\n type: 'field-with-form',\n label: defineMessage({\n id: \"e4UTx9\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Results\"\n }]\n }),\n noValueLabel: defineMessage({\n id: \"65rc70\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Edit style...\"\n }]\n }),\n field: {\n type: 'graph-bar-style'\n }\n }]\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"+MPZRu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n};\n\nexport { SurveyScreen, definition as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { ScreenElement, TransitionsStagger } from '@micromag/core/components';\nimport { isTextFilled } from '@micromag/core/utils';\nimport Background from '@micromag/element-background';\nimport Container from '@micromag/element-container';\nimport Layout, { Spacer } from '@micromag/element-layout';\nimport Heading from '@micromag/element-heading';\nimport Text from '@micromag/element-text';\nimport CallToAction from '@micromag/element-call-to-action';\nimport _extends from '@babel/runtime/helpers/extends';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport { Heading1, Text as Text$1, Container as Container$1 } from '@micromag/transforms/apple-news';\n\nvar styles = {\"container\":\"micromag-screen-text-container\",\"disabled\":\"micromag-screen-text-disabled\",\"hidden\":\"micromag-screen-text-hidden\",\"placeholder\":\"micromag-screen-text-placeholder\",\"content\":\"micromag-screen-text-content\",\"emptyText\":\"micromag-screen-text-emptyText\",\"emptyTitle\":\"micromag-screen-text-emptyTitle\",\"title\":\"micromag-screen-text-title\",\"withMargin\":\"micromag-screen-text-withMargin\",\"isPlaceholder\":\"micromag-screen-text-isPlaceholder\",\"layout\":\"micromag-screen-text-layout\"};\n\nvar propTypes = {\n layout: PropTypes.oneOf(['top', 'middle', 'bottom', 'split']),\n text: PropTypes$1.textElement,\n title: PropTypes$1.headingElement,\n withTitle: PropTypes.bool,\n spacing: PropTypes.number,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n active: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n transitionStagger: PropTypes.number,\n className: PropTypes.string\n};\nvar defaultProps = {\n layout: 'top',\n text: null,\n title: null,\n withTitle: false,\n spacing: 20,\n background: null,\n callToAction: null,\n current: true,\n active: true,\n transitions: null,\n transitionStagger: 100,\n className: null\n};\n\nvar TextScreen = function TextScreen(_ref) {\n var _ref3;\n\n var layout = _ref.layout,\n text = _ref.text,\n title = _ref.title,\n withTitle = _ref.withTitle,\n spacing = _ref.spacing,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n active = _ref.active,\n transitions = _ref.transitions,\n transitionStagger = _ref.transitionStagger,\n className = _ref.className;\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n menuOverScreen = _useScreenSize.menuOverScreen;\n\n var _useViewer = useViewer(),\n menuSize = _useViewer.menuSize;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var hasTitle = isTextFilled(title);\n var hasText = isTextFilled(text);\n var isSplitted = layout === 'split';\n var isTopLayout = layout === 'top';\n var isMiddleLayout = layout === 'middle';\n var verticalAlign = isSplitted ? null : layout;\n var titleWithMargin = hasTitle && hasText && !isSplitted;\n var transitionPlaying = current;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var backgroundPlaying = current && (isView || isEdit);\n var backgroundShouldLoad = current || active || !isView;\n var hasCallToAction = callToAction !== null && callToAction.active === true; // Create elements\n\n var items = [!isPlaceholder && hasCallToAction && isMiddleLayout ? /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer-cta-top\"\n }) : null, withTitle ? /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"title\",\n placeholder: \"title\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"2ZOPe+\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n }),\n emptyClassName: styles.emptyTitle,\n isEmpty: !hasTitle\n }, hasTitle ? /*#__PURE__*/React.createElement(Heading, Object.assign({\n className: classNames([styles.title, _defineProperty({}, styles.withMargin, titleWithMargin)])\n }, title)) : null) : null, isSplitted && withTitle ? /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer\"\n }) : null, /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"description\",\n placeholder: \"text\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"z4CiV1\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Text\"\n }]\n }),\n emptyClassName: styles.emptyText,\n isEmpty: !hasText\n }, hasText ? /*#__PURE__*/React.createElement(Text, Object.assign({\n className: styles.text\n }, text)) : null), !isPlaceholder && hasCallToAction && (isTopLayout || isMiddleLayout) ? /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer-cta-bottom\"\n }) : null, !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: -spacing,\n marginTop: 0\n },\n key: \"call-to-action\"\n }, /*#__PURE__*/React.createElement(CallToAction, {\n callToAction: callToAction,\n animationDisabled: isPreview,\n focusable: current && isView\n })) : null].filter(function (el) {\n return el !== null;\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref3 = {}, _defineProperty(_ref3, className, className !== null), _defineProperty(_ref3, styles.isPlaceholder, isPlaceholder), _ref3)]),\n \"data-screen-ready\": true\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying,\n shouldLoad: backgroundShouldLoad\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(Layout, {\n className: styles.layout,\n fullscreen: true,\n verticalAlign: verticalAlign,\n style: !isPlaceholder ? {\n padding: spacing,\n paddingTop: (menuOverScreen && !isPreview ? menuSize : 0) + spacing\n } : null\n }, /*#__PURE__*/React.createElement(TransitionsStagger, {\n transitions: transitions,\n stagger: transitionStagger,\n disabled: transitionDisabled,\n playing: transitionPlaying\n }, items))));\n};\n\nTextScreen.propTypes = propTypes;\nTextScreen.defaultProps = defaultProps;\nvar TextScreen$1 = /*#__PURE__*/React.memo(TextScreen);\n\nvar TextTitleScreen = function TextTitleScreen(_ref) {\n var props = _extends({}, _ref);\n\n return /*#__PURE__*/React.createElement(TextScreen$1, Object.assign({}, props, {\n withTitle: true\n }));\n};\n\nvar transform = function transform(newStory, _ref) {\n var text = _ref.text,\n title = _ref.title;\n\n var _Heading = Heading1(newStory, title),\n titleStory = _Heading.story,\n titleComponent = _Heading.component;\n\n var _Text = Text$1(titleStory, text),\n textStory = _Text.story,\n textComponent = _Text.component;\n\n var _Container = Container$1(textStory, [].concat(_toConsumableArray(titleComponent ? [titleComponent] : []), _toConsumableArray(textComponent ? [textComponent] : []))),\n containerStory = _Container.story,\n containerComponent = _Container.component;\n\n return _objectSpread(_objectSpread({}, containerStory), {}, {\n components: [].concat(_toConsumableArray(newStory.components || []), _toConsumableArray(containerComponent ? [containerComponent] : []))\n });\n};\n\n// eslint-disable-next-line\n\nvar transforms = /*#__PURE__*/Object.freeze({\n __proto__: null,\n appleNews: transform\n});\n\nvar definition = [{\n id: 'text',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"fIawTr\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Text\"\n }]\n }),\n order: 2\n },\n title: defineMessage({\n id: \"S9YpbV\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Text\"\n }]\n }),\n component: TextScreen$1,\n layouts: ['top', 'middle', 'bottom'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'top',\n label: defineMessage({\n id: \"4iBXj2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'text',\n type: 'text-element',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n id: \"4E2gbX\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Text\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"+MPZRu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}, {\n id: 'text-title',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"fIawTr\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Text\"\n }]\n }),\n order: 2\n },\n title: defineMessage({\n id: \"oCBQKV\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Text with title\"\n }]\n }),\n component: TextTitleScreen,\n layouts: ['top', 'middle', 'bottom', 'split'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'top',\n label: defineMessage({\n id: \"4iBXj2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'title',\n type: 'heading-element',\n inline: true,\n theme: {\n textStyle: 'heading2'\n },\n label: defineMessage({\n id: \"N25iDO\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'text',\n type: 'text-element',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n id: \"4E2gbX\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Text\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"+MPZRu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}];\n\nexport { TextScreen$1 as TextScreen, definition as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { Transitions, ScreenElement } from '@micromag/core/components';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { useTrackScreenEvent, useResizeObserver } from '@micromag/core/hooks';\nimport { isTextFilled, getStyleFromColor } from '@micromag/core/utils';\nimport Background from '@micromag/element-background';\nimport CallToAction from '@micromag/element-call-to-action';\nimport Container from '@micromag/element-container';\nimport Heading from '@micromag/element-heading';\nimport Layout from '@micromag/element-layout';\nimport Scroll from '@micromag/element-scroll';\nimport Text from '@micromag/element-text';\nimport Visual from '@micromag/element-visual';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useState, useCallback, useRef, useEffect } from 'react';\nimport _extends from '@babel/runtime/helpers/extends';\nimport { Text as Text$1, Container as Container$1 } from '@micromag/transforms/apple-news';\n\nvar styles = {\"container\":\"micromag-screen-timeline-container\",\"empty\":\"micromag-screen-timeline-empty\",\"item\":\"micromag-screen-timeline-item\",\"element\":\"micromag-screen-timeline-element\",\"timeline\":\"micromag-screen-timeline-timeline\",\"line\":\"micromag-screen-timeline-line\",\"hidden\":\"micromag-screen-timeline-hidden\",\"bullet\":\"micromag-screen-timeline-bullet\",\"content\":\"micromag-screen-timeline-content\",\"lastContent\":\"micromag-screen-timeline-lastContent\",\"description\":\"micromag-screen-timeline-description\",\"imageContainer\":\"micromag-screen-timeline-imageContainer\",\"title\":\"micromag-screen-timeline-title\",\"image\":\"micromag-screen-timeline-image\",\"video\":\"micromag-screen-timeline-video\",\"callToAction\":\"micromag-screen-timeline-callToAction\",\"isPlaceholder\":\"micromag-screen-timeline-isPlaceholder\",\"scroll\":\"micromag-screen-timeline-scroll\",\"circleBulletShape\":\"micromag-screen-timeline-circleBulletShape\",\"withoutLines\":\"micromag-screen-timeline-withoutLines\"};\n\nvar propTypes = {\n layout: PropTypes.oneOf(['normal', 'title-description-image', 'title-image-description', 'image-title-description']),\n items: PropTypes.arrayOf(PropTypes$1.textElement),\n bulletColor: PropTypes$1.color,\n lineColor: PropTypes$1.color,\n bulletShape: PropTypes.oneOf(['circle', 'square']),\n bulletFilled: PropTypes.bool,\n illustrated: PropTypes.bool,\n spacing: PropTypes.number,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n active: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n transitionStagger: PropTypes.number,\n type: PropTypes.string,\n className: PropTypes.string\n};\nvar defaultProps = {\n layout: 'normal',\n items: [null],\n bulletColor: null,\n lineColor: null,\n bulletShape: 'circle',\n bulletFilled: true,\n illustrated: false,\n spacing: 20,\n background: null,\n callToAction: null,\n current: true,\n active: true,\n transitions: null,\n transitionStagger: 75,\n type: null,\n className: null\n};\n\nvar Timeline = function Timeline(_ref) {\n var _ref9;\n\n var layout = _ref.layout,\n items = _ref.items,\n bulletColor = _ref.bulletColor,\n lineColor = _ref.lineColor,\n bulletShape = _ref.bulletShape,\n bulletFilled = _ref.bulletFilled,\n illustrated = _ref.illustrated,\n spacing = _ref.spacing,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n active = _ref.active,\n transitions = _ref.transitions,\n transitionStagger = _ref.transitionStagger,\n type = _ref.type,\n className = _ref.className;\n var trackScreenEvent = useTrackScreenEvent(type);\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n menuOverScreen = _useScreenSize.menuOverScreen;\n\n var _useViewer = useViewer(),\n menuSize = _useViewer.menuSize;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var finalItems = isPlaceholder ? _toConsumableArray(new Array(5)).map(function () {\n return {};\n }) : items || [null];\n var itemsCount = finalItems !== null ? finalItems.length : 0;\n var hasItems = finalItems !== null && itemsCount;\n var imagesCount = hasItems ? finalItems.reduce(function (acc, curr) {\n var _ref2 = curr || {},\n _ref2$image = _ref2.image,\n image = _ref2$image === void 0 ? null : _ref2$image;\n\n return acc + (image !== null ? 1 : 0);\n }, 0) : 0;\n\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n imagesLoaded = _useState2[0],\n setImagesLoaded = _useState2[1];\n\n var ready = imagesLoaded >= imagesCount;\n var transitionsPlaying = current && ready;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var scrollingDisabled = !isEdit && transitionDisabled || !current;\n var backgroundPlaying = current && (isView || isEdit);\n var backgroundShouldLoad = current || active || !isView;\n var onImageLoaded = useCallback(function () {\n setImagesLoaded(imagesLoaded + 1);\n }, [imagesLoaded, setImagesLoaded]);\n var firstLineRef = useRef(null);\n var firstContentRef = useRef(null);\n\n var _useState3 = useState(0),\n _useState4 = _slicedToArray(_useState3, 2),\n imageWidth = _useState4[0],\n setImageWidth = _useState4[1];\n\n useEffect(function () {\n setImageWidth(firstContentRef.current.offsetWidth - firstLineRef.current.offsetWidth);\n }, [width, height]);\n var timelineElements = (finalItems || []).map(function (item, itemI) {\n var _ref3 = item || {},\n _ref3$title = _ref3.title,\n title = _ref3$title === void 0 ? null : _ref3$title,\n _ref3$description = _ref3.description,\n description = _ref3$description === void 0 ? null : _ref3$description,\n _ref3$image = _ref3.image,\n image = _ref3$image === void 0 ? null : _ref3$image;\n\n var hasTitle = isTextFilled(title);\n var hasDescription = isTextFilled(description);\n var hasImage = image !== null;\n var elementsTypes = (layout === 'normal' ? 'title-description-image' : layout).split('-');\n var titleIndex = elementsTypes.indexOf('title');\n var imageIndex = elementsTypes.indexOf('image');\n\n if (!illustrated) {\n elementsTypes.splice(imageIndex, 1);\n }\n\n var typesCount = elementsTypes.length;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: styles.item,\n key: \"item-\".concat(itemI)\n }, /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionsPlaying,\n delay: transitionStagger * itemI,\n disabled: transitionDisabled\n }, elementsTypes.map(function (elementType, typeI) {\n var hasElement = false;\n var elementContent;\n\n switch (elementType) {\n case 'title':\n hasElement = hasTitle;\n elementContent = /*#__PURE__*/React.createElement(\"div\", {\n className: styles.title\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"title\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"2ZOPe+\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n }),\n emptyClassName: styles.empty,\n isEmpty: !hasTitle\n }, hasElement ? /*#__PURE__*/React.createElement(Heading, title) : null));\n break;\n\n case 'image':\n hasElement = hasImage;\n elementContent = /*#__PURE__*/React.createElement(\"div\", {\n className: styles.imageContainer\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"image\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"ebsPd4\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n }),\n emptyClassName: styles.empty,\n isEmpty: !hasImage\n }, hasElement ? /*#__PURE__*/React.createElement(Visual, {\n className: styles.image,\n videoClassName: styles.video,\n media: image,\n width: imageWidth,\n playing: backgroundPlaying,\n onLoaded: onImageLoaded\n }) : null));\n break;\n\n case 'description':\n default:\n hasElement = hasDescription;\n elementContent = /*#__PURE__*/React.createElement(\"div\", {\n className: styles.description\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"text\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"507VAi\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n }),\n emptyClassName: styles.empty,\n isEmpty: !hasDescription\n }, hasElement ? /*#__PURE__*/React.createElement(Text, description) : null));\n break;\n }\n\n var firstItem = itemI === 0;\n var lastItem = itemI === itemsCount - 1;\n var lastType = typeI === typesCount - 1;\n var topLineHidden = firstItem && typeI <= titleIndex || lastItem && typeI > titleIndex;\n var bottomLineHidden = firstItem && typeI < titleIndex || lastItem && typeI >= titleIndex;\n return /*#__PURE__*/React.createElement(\"div\", {\n key: \"element-\".concat(elementType),\n className: classNames([styles.element, styles[\"element-\".concat(elementType)]]),\n ref: itemI === 0 ? firstContentRef : null\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.timeline,\n ref: itemI === 0 ? firstLineRef : null\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.line, _defineProperty({}, styles.hidden, topLineHidden)]),\n style: _objectSpread({}, !topLineHidden ? getStyleFromColor(lineColor, 'backgroundColor') : null)\n }), elementType === 'title' ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.bullet,\n style: _objectSpread(_objectSpread({}, getStyleFromColor(bulletColor, 'borderColor')), bulletFilled ? getStyleFromColor(bulletColor, 'backgroundColor') : null)\n }) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.line, _defineProperty({}, styles.hidden, bottomLineHidden)]),\n style: _objectSpread({}, !bottomLineHidden ? getStyleFromColor(lineColor, 'backgroundColor') : null)\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.content, _defineProperty({}, styles.lastContent, lastType && !lastItem)])\n }, elementContent));\n })));\n }); // Call to Action\n\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n scrolledBottom = _useState6[0],\n setScrolledBottom = _useState6[1];\n\n var _useResizeObserver = useResizeObserver(),\n callToActionRef = _useResizeObserver.ref,\n callToActionRect = _useResizeObserver.entry.contentRect;\n\n var _ref7 = callToActionRect || {},\n _ref7$height = _ref7.height,\n callToActionHeight = _ref7$height === void 0 ? 0 : _ref7$height;\n\n var onScrolledBottom = useCallback(function (_ref8) {\n var initial = _ref8.initial;\n\n if (initial) {\n trackScreenEvent('scroll', 'Screen');\n }\n\n setScrolledBottom(true);\n }, [trackScreenEvent]);\n var onScrolledNotBottom = useCallback(function () {\n setScrolledBottom(false);\n }, [setScrolledBottom]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref9 = {}, _defineProperty(_ref9, className, className !== null), _defineProperty(_ref9, styles.isPlaceholder, isPlaceholder), _defineProperty(_ref9, styles[\"\".concat(bulletShape, \"BulletShape\")], bulletShape !== null), _defineProperty(_ref9, styles.withoutLines, itemsCount < 2), _ref9)]),\n \"data-screen-ready\": ready\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying,\n shouldLoad: backgroundShouldLoad\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(Scroll, {\n className: styles.scroll,\n verticalAlign: \"middle\",\n disabled: scrollingDisabled,\n onScrolledBottom: onScrolledBottom,\n onScrolledNotBottom: onScrolledNotBottom\n }, /*#__PURE__*/React.createElement(Layout, {\n style: !isPlaceholder ? {\n padding: spacing,\n paddingTop: (menuOverScreen && !isPreview ? menuSize : 0) + spacing\n } : null\n }, timelineElements, !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n height: callToActionHeight\n }\n }) : null)), !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(CallToAction, {\n ref: callToActionRef,\n className: styles.callToAction,\n disabled: !scrolledBottom,\n animationDisabled: isPreview,\n callToAction: callToAction,\n focusable: current && isView\n }) : null));\n};\n\nTimeline.propTypes = propTypes;\nTimeline.defaultProps = defaultProps;\n\nvar TimelineIllustratedScreen = function TimelineIllustratedScreen(_ref) {\n var props = _extends({}, _ref);\n\n return /*#__PURE__*/React.createElement(Timeline, Object.assign({}, props, {\n illustrated: true\n }));\n};\n\nvar transform = function transform(newStory, _ref) {\n var _ref$items = _ref.items,\n items = _ref$items === void 0 ? [] : _ref$items;\n var allItems = items || [];\n var list = allItems.reduce(function (acc, it) {\n var _Text = Text$1(acc.story, it.title),\n titleStory = _Text.story,\n titleComponent = _Text.component;\n\n var _Text2 = Text$1(titleStory, it.description),\n descriptionStory = _Text2.story,\n descriptionComponent = _Text2.component;\n\n var _Container = Container$1(descriptionStory, [].concat(_toConsumableArray(titleComponent ? [titleComponent] : []), _toConsumableArray(descriptionComponent ? [descriptionComponent] : []))),\n containerStory = _Container.story,\n containerComponent = _Container.component;\n\n return {\n story: containerStory,\n components: [].concat(_toConsumableArray(acc.components || []), _toConsumableArray(containerComponent ? [containerComponent] : []))\n };\n }, {\n story: newStory,\n components: []\n });\n\n var _ref2 = list || {},\n reducedStory = _ref2.story,\n _ref2$components = _ref2.components,\n reducedComponents = _ref2$components === void 0 ? [] : _ref2$components;\n\n var _Container2 = Container$1(reducedStory, reducedComponents),\n bigContainerStory = _Container2.story,\n bigContainerComponent = _Container2.component;\n\n return _objectSpread(_objectSpread({}, bigContainerStory), {}, {\n components: [].concat(_toConsumableArray(newStory.components || []), _toConsumableArray(bigContainerComponent ? [bigContainerComponent] : []))\n });\n};\n\n// eslint-disable-next-line\n\nvar transforms = /*#__PURE__*/Object.freeze({\n __proto__: null,\n appleNews: transform\n});\n\nvar definition = [{\n id: 'timeline',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"cGItoy\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"List\"\n }]\n }),\n order: 8\n },\n title: defineMessage({\n id: \"GzoKNb\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Timeline\"\n }]\n }),\n component: Timeline,\n layouts: ['normal'],\n transforms: transforms,\n fields: [{\n name: 'items',\n type: 'entries',\n theme: {\n title: {\n textStyle: 'heading2'\n },\n description: {\n textStyle: 'text'\n }\n },\n label: defineMessage({\n id: \"3ifj0j\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Entries\"\n }]\n })\n }, {\n name: 'bulletShape',\n type: 'radios',\n defaultValue: 'circle',\n options: [{\n value: 'circle',\n label: defineMessage({\n id: \"+uInZz\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Circle\"\n }]\n })\n }, {\n value: 'square',\n label: defineMessage({\n id: \"fusnxf\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Square\"\n }]\n })\n }],\n label: defineMessage({\n id: \"twTaAZ\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Bullet shape\"\n }]\n })\n }, {\n name: 'bulletFilled',\n type: 'toggle',\n defaultValue: false,\n label: defineMessage({\n id: \"YWcp4v\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Bullet filled\"\n }]\n })\n }, {\n name: 'bulletColor',\n type: 'color',\n defaultValue: {\n alpha: 1,\n color: '#FFFFFF'\n },\n label: defineMessage({\n id: \"uNpHnA\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Bullet color\"\n }]\n })\n }, {\n name: 'lineColor',\n type: 'color',\n defaultValue: {\n alpha: 1,\n color: '#FFFFFF'\n },\n label: defineMessage({\n id: \"RHMS2f\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Line color\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"+MPZRu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}, {\n id: 'timeline-illustrated',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"cGItoy\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"List\"\n }]\n }),\n order: 8\n },\n title: defineMessage({\n id: \"33UbSd\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Timeline with images\"\n }]\n }),\n component: TimelineIllustratedScreen,\n layouts: ['title-image-description', 'title-description-image', 'image-title-description'],\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'title-image-description',\n label: defineMessage({\n id: \"4iBXj2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'items',\n type: 'entries-with-visual',\n theme: {\n title: {\n textStyle: 'heading2'\n },\n description: {\n textStyle: 'text'\n }\n },\n label: defineMessage({\n id: \"3ifj0j\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Entries\"\n }]\n })\n }, {\n name: 'bulletShape',\n type: 'radios',\n defaultValue: 'circle',\n options: [{\n value: 'circle',\n label: defineMessage({\n id: \"+uInZz\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Circle\"\n }]\n })\n }, {\n value: 'square',\n label: defineMessage({\n id: \"fusnxf\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Square\"\n }]\n })\n }],\n label: defineMessage({\n id: \"twTaAZ\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Bullet shape\"\n }]\n })\n }, {\n name: 'bulletFilled',\n type: 'toggle',\n defaultValue: false,\n label: defineMessage({\n id: \"YWcp4v\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Bullet filled\"\n }]\n })\n }, {\n name: 'bulletColor',\n type: 'color',\n defaultValue: {\n alpha: 1,\n color: '#FFFFFF'\n },\n label: defineMessage({\n id: \"uNpHnA\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Bullet color\"\n }]\n })\n }, {\n name: 'lineColor',\n type: 'color',\n defaultValue: {\n alpha: 1,\n color: '#FFFFFF'\n },\n label: defineMessage({\n id: \"RHMS2f\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Line color\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"+MPZRu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}];\n\nexport { TimelineIllustratedScreen, Timeline as TimelineScreen, definition as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { ScreenElement, TransitionsStagger } from '@micromag/core/components';\nimport { isTextFilled } from '@micromag/core/utils';\nimport Background from '@micromag/element-background';\nimport Container from '@micromag/element-container';\nimport Layout, { Spacer } from '@micromag/element-layout';\nimport Heading from '@micromag/element-heading';\nimport Text from '@micromag/element-text';\nimport CallToAction from '@micromag/element-call-to-action';\nimport _extends from '@babel/runtime/helpers/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport { Heading1, Heading2, Text as Text$1, Container as Container$1 } from '@micromag/transforms/apple-news';\n\nvar styles = {\"container\":\"micromag-screen-title-container\",\"disabled\":\"micromag-screen-title-disabled\",\"hidden\":\"micromag-screen-title-hidden\",\"placeholder\":\"micromag-screen-title-placeholder\",\"content\":\"micromag-screen-title-content\",\"emptyDescription\":\"micromag-screen-title-emptyDescription\",\"emptySubtitle\":\"micromag-screen-title-emptySubtitle\",\"emptyTitle\":\"micromag-screen-title-emptyTitle\",\"subtitle\":\"micromag-screen-title-subtitle\",\"withMargin\":\"micromag-screen-title-withMargin\",\"title\":\"micromag-screen-title-title\",\"isPlaceholder\":\"micromag-screen-title-isPlaceholder\",\"layout\":\"micromag-screen-title-layout\"};\n\nvar propTypes$1 = {\n layout: PropTypes.oneOf(['top', 'middle', 'bottom', 'split', 'split-top', 'split-bottom']),\n title: PropTypes$1.headingElement,\n subtitle: PropTypes$1.headingElement,\n description: PropTypes$1.textElement,\n withSubtitle: PropTypes.bool,\n withDescription: PropTypes.bool,\n spacing: PropTypes.number,\n descriptionEmptyLabel: PropTypes$1.label,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n active: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n transitionStagger: PropTypes.number,\n className: PropTypes.string\n};\nvar defaultProps$1 = {\n layout: 'top',\n title: null,\n subtitle: null,\n description: null,\n withSubtitle: false,\n withDescription: false,\n spacing: 20,\n descriptionEmptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"507VAi\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n }),\n background: null,\n callToAction: null,\n current: true,\n active: true,\n transitions: null,\n transitionStagger: 100,\n className: null\n};\n\nvar TitleScreen = function TitleScreen(_ref) {\n var _ref4;\n\n var layout = _ref.layout,\n title = _ref.title,\n subtitle = _ref.subtitle,\n description = _ref.description,\n withSubtitle = _ref.withSubtitle,\n withDescription = _ref.withDescription,\n spacing = _ref.spacing,\n descriptionEmptyLabel = _ref.descriptionEmptyLabel,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n active = _ref.active,\n transitions = _ref.transitions,\n transitionStagger = _ref.transitionStagger,\n className = _ref.className;\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n menuOverScreen = _useScreenSize.menuOverScreen;\n\n var _useViewer = useViewer(),\n menuSize = _useViewer.menuSize;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var hasTitle = isTextFilled(title);\n var hasSubtitle = isTextFilled(subtitle);\n var hasDescription = isTextFilled(description);\n var layoutParts = layout.split('-');\n var isSplitted = layoutParts[0] === 'split';\n var isTopLayout = layout === 'top';\n var isMiddleLayout = layout === 'middle';\n var verticalAlign = isSplitted ? layoutParts[1] || null : layoutParts[0];\n var titleWithMargin = hasTitle && (hasSubtitle || hasDescription) && (!isSplitted || verticalAlign === 'top');\n var subtitleWithMargin = hasSubtitle && hasDescription && (!isSplitted || verticalAlign === 'bottom');\n var transitionPlaying = current;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var backgroundPlaying = current && (isView || isEdit);\n var backgroundShouldLoad = current || active || !isView;\n var hasCallToAction = callToAction !== null && callToAction.active === true; // Create elements\n\n var items = [!isPlaceholder && hasCallToAction && isMiddleLayout ? /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer-cta-top\"\n }) : null, /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"title\",\n placeholder: \"title\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"2ZOPe+\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n }),\n emptyClassName: styles.emptyTitle,\n isEmpty: !hasTitle\n }, hasTitle ? /*#__PURE__*/React.createElement(Heading, Object.assign({\n className: classNames([styles.title, _defineProperty({}, styles.withMargin, titleWithMargin)])\n }, title, {\n size: 1\n })) : null), isSplitted && (!withDescription || verticalAlign === 'bottom') && /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer1\"\n }), withSubtitle && /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"subtitle\",\n placeholder: \"subtitle\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"d60tSn\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Subtitle\"\n }]\n }),\n emptyClassName: styles.emptySubtitle,\n isEmpty: !hasSubtitle\n }, hasSubtitle ? /*#__PURE__*/React.createElement(Heading, Object.assign({\n className: classNames([styles.subtitle, _defineProperty({}, styles.withMargin, subtitleWithMargin)])\n }, subtitle, {\n size: 2\n })) : null), isSplitted && withDescription && verticalAlign === 'top' && /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer2\"\n }), withDescription && /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"description\",\n placeholder: \"shortText\",\n emptyLabel: descriptionEmptyLabel,\n emptyClassName: styles.emptyDescription,\n isEmpty: !hasDescription\n }, hasDescription ? /*#__PURE__*/React.createElement(Text, description) : null), !isPlaceholder && hasCallToAction && (isTopLayout || isMiddleLayout) ? /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer-cta-bottom\"\n }) : null, !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: -spacing,\n marginTop: 0\n },\n key: \"call-to-action\"\n }, /*#__PURE__*/React.createElement(CallToAction, {\n callToAction: callToAction,\n animationDisabled: isPreview,\n focusable: current && isView\n })) : null];\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref4 = {}, _defineProperty(_ref4, className, className !== null), _defineProperty(_ref4, styles.isPlaceholder, isPlaceholder), _ref4)]),\n \"data-screen-ready\": true\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying,\n shouldLoad: backgroundShouldLoad\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(Layout, {\n className: styles.layout,\n fullscreen: true,\n verticalAlign: verticalAlign,\n style: !isPlaceholder ? {\n padding: spacing,\n paddingTop: (menuOverScreen && !isPreview ? menuSize : 0) + spacing\n } : null\n }, /*#__PURE__*/React.createElement(TransitionsStagger, {\n transitions: transitions,\n stagger: transitionStagger,\n disabled: transitionDisabled,\n playing: transitionPlaying,\n focusable: current && isView\n }, items))));\n};\n\nTitleScreen.propTypes = propTypes$1;\nTitleScreen.defaultProps = defaultProps$1;\nvar TitleScreen$1 = /*#__PURE__*/React.memo(TitleScreen);\n\nvar TitleSubtitleScreen = function TitleSubtitleScreen(_ref) {\n var props = _extends({}, _ref);\n\n return /*#__PURE__*/React.createElement(TitleScreen$1, Object.assign({}, props, {\n withSubtitle: true\n }));\n};\n\nvar _excluded = [\"credits\"];\nvar propTypes = {\n credits: PropTypes$1.textElement\n};\nvar defaultProps = {\n credits: null\n};\n\nvar TitleSubtitleCreditsScreen = function TitleSubtitleCreditsScreen(_ref) {\n var credits = _ref.credits,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(TitleScreen$1, Object.assign({}, props, {\n description: credits,\n withSubtitle: true,\n withDescription: true,\n descriptionEmptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"/hupzO\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Credits\"\n }]\n })\n }));\n};\n\nTitleSubtitleCreditsScreen.propTypes = propTypes;\nTitleSubtitleCreditsScreen.defaultProps = defaultProps;\n\nvar transform = function transform(newStory, _ref) {\n var title = _ref.title,\n subtitle = _ref.subtitle,\n credits = _ref.credits;\n\n var _Heading = Heading1(newStory, title),\n titleStory = _Heading.story,\n titleComponent = _Heading.component;\n\n var _Heading2 = Heading2(titleStory, subtitle),\n subtitleStory = _Heading2.story,\n subtitleComponent = _Heading2.component;\n\n var _Text = Text$1(subtitleStory, credits),\n creditsStory = _Text.story,\n creditsComponent = _Text.component;\n\n var _Container = Container$1(creditsStory, [].concat(_toConsumableArray(titleComponent ? [titleComponent] : []), _toConsumableArray(subtitleComponent ? [subtitleComponent] : []), _toConsumableArray(creditsComponent ? [creditsComponent] : []))),\n containerStory = _Container.story,\n containerComponent = _Container.component;\n\n return _objectSpread(_objectSpread({}, containerStory), {}, {\n components: [].concat(_toConsumableArray(newStory.components || []), _toConsumableArray(containerComponent ? [containerComponent] : []))\n });\n};\n\n// eslint-disable-next-line\n\nvar transforms = /*#__PURE__*/Object.freeze({\n __proto__: null,\n appleNews: transform\n});\n\nvar definition = [{\n id: 'title',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"uKJRh2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n }),\n order: 1\n },\n title: defineMessage({\n id: \"dVcog7\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n }),\n component: TitleScreen$1,\n layouts: ['top', 'middle', 'bottom'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'top',\n label: defineMessage({\n id: \"4iBXj2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'title',\n type: 'heading-element',\n theme: {\n textStyle: 'heading1'\n },\n label: defineMessage({\n id: \"N25iDO\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"+MPZRu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}, {\n id: 'title-subtitle',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"uKJRh2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n }),\n order: 1\n },\n title: defineMessage({\n id: \"P1dwGU\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title with subtitle\"\n }]\n }),\n component: TitleSubtitleScreen,\n layouts: ['top', 'middle', 'bottom', 'split'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'top',\n label: defineMessage({\n id: \"4iBXj2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'title',\n type: 'heading-element',\n theme: {\n textStyle: 'heading1'\n },\n label: defineMessage({\n id: \"N25iDO\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'subtitle',\n type: 'heading-element',\n theme: {\n textStyle: 'heading2'\n },\n label: defineMessage({\n id: \"EcZYpr\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Subtitle\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"+MPZRu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}, {\n id: 'title-subtitle-credits',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"uKJRh2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n }),\n order: 1\n },\n title: defineMessage({\n id: \"vZrFq6\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title with subtitle and credits\"\n }]\n }),\n component: TitleSubtitleCreditsScreen,\n layouts: ['top', 'middle', 'bottom', 'split-top', 'split-bottom'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'top',\n label: defineMessage({\n id: \"4iBXj2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'title',\n type: 'heading-element',\n theme: {\n textStyle: 'heading1'\n },\n label: defineMessage({\n id: \"N25iDO\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'subtitle',\n type: 'heading-element',\n theme: {\n textStyle: 'heading2'\n },\n label: defineMessage({\n id: \"EcZYpr\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Subtitle\"\n }]\n })\n }, {\n name: 'credits',\n type: 'text-element',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n id: \"upzOTm\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Credits\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"+MPZRu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}];\n\nexport { TitleScreen$1 as TitleScreen, TitleSubtitleCreditsScreen, TitleSubtitleScreen, definition as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport React, { useRef, useEffect, useState, useCallback, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { getSizeWithinBounds } from '@folklore/size';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { ScreenElement, PlaceholderVideo, Empty, Transitions } from '@micromag/core/components';\nimport { useScreenSize, useScreenRenderContext } from '@micromag/core/contexts';\nimport { useTrackScreenMedia, useLongPress } from '@micromag/core/hooks';\nimport Background from '@micromag/element-background';\nimport Container from '@micromag/element-container';\nimport ClosedCaptions from '@micromag/element-closed-captions';\nimport MediaControls from '@micromag/element-media-controls';\nimport Image from '@micromag/element-image';\nimport Video from '@micromag/element-video';\nimport CallToAction from '@micromag/element-call-to-action';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport { Video as Video$1, Container as Container$1 } from '@micromag/transforms/apple-news';\n\nvar styles = {\"container\":\"micromag-screen-video-container\",\"content\":\"micromag-screen-video-content\",\"empty\":\"micromag-screen-video-empty\",\"emptyContainer\":\"micromag-screen-video-emptyContainer\",\"fullscreen\":\"micromag-screen-video-fullscreen\",\"image\":\"micromag-screen-video-image\",\"placeholder\":\"micromag-screen-video-placeholder\",\"video\":\"micromag-screen-video-video\",\"disabled\":\"micromag-screen-video-disabled\",\"hidden\":\"micromag-screen-video-hidden\",\"mediaControls\":\"micromag-screen-video-mediaControls\",\"videoContainer\":\"micromag-screen-video-videoContainer\",\"bottomContent\":\"micromag-screen-video-bottomContent\"};\n\nvar propTypes = {\n layout: PropTypes.oneOf(['middle', 'full']),\n video: PropTypes$1.videoElement,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n active: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n spacing: PropTypes.number,\n getMediaRef: PropTypes.func,\n className: PropTypes.string\n};\nvar defaultProps = {\n layout: 'middle',\n video: null,\n background: null,\n callToAction: null,\n current: true,\n active: true,\n transitions: null,\n spacing: 20,\n getMediaRef: null,\n className: null\n};\n\nvar VideoScreen = function VideoScreen(_ref) {\n var _ref8;\n\n var layout = _ref.layout,\n video = _ref.video,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n active = _ref.active,\n transitions = _ref.transitions,\n spacing = _ref.spacing,\n getMediaRef = _ref.getMediaRef,\n className = _ref.className;\n var trackScreenMedia = useTrackScreenMedia('video');\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var backgroundPlaying = current && (isView || isEdit);\n var backgroundShouldLoad = current || active || !isView;\n var videoShouldLoad = current || active || !isView;\n var apiRef = useRef();\n\n var _ref2 = apiRef.current || {},\n togglePlay = _ref2.togglePlay,\n toggleMute = _ref2.toggleMute,\n seek = _ref2.seek,\n play = _ref2.play,\n pause = _ref2.pause,\n _ref2$mediaRef = _ref2.mediaRef,\n apiMediaRef = _ref2$mediaRef === void 0 ? null : _ref2$mediaRef;\n\n useEffect(function () {\n if (apiMediaRef !== null && getMediaRef !== null) {\n getMediaRef(apiMediaRef.current);\n }\n }, [apiMediaRef, getMediaRef]); // Get api state updates from callback\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n currentTime = _useState2[0],\n setCurrentTime = _useState2[1];\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n duration = _useState4[0],\n setDuration = _useState4[1];\n\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n playing = _useState6[0],\n setPlaying = _useState6[1];\n\n var _useState7 = useState(false),\n _useState8 = _slicedToArray(_useState7, 2),\n muted = _useState8[0],\n setMuted = _useState8[1];\n\n var onTimeUpdate = useCallback(function (time) {\n setCurrentTime(time);\n }, [setDuration, duration]);\n var onProgressStep = useCallback(function (step) {\n trackScreenMedia(video, \"progress_\".concat(Math.round(step * 100, 10), \"%\"));\n }, [trackScreenMedia, video]);\n var onDurationChanged = useCallback(function (dur) {\n setDuration(dur);\n }, [setDuration]);\n var onPlay = useCallback(function (_ref3) {\n var initial = _ref3.initial;\n setPlaying(true);\n trackScreenMedia(video, initial ? 'play' : 'resume');\n }, [trackScreenMedia, video]);\n var onPause = useCallback(function (_ref4) {\n var midway = _ref4.midway;\n setPlaying(false);\n trackScreenMedia(video, midway ? 'pause' : 'ended');\n }, [trackScreenMedia, video]);\n var onVolumeChanged = useCallback(function (isMuted) {\n setMuted(isMuted);\n trackScreenMedia(video, isMuted ? 'mute' : 'unmute');\n }, [trackScreenMedia, video]);\n var onSeeked = useCallback(function (time) {\n if (time > 0) {\n trackScreenMedia(video, 'seek');\n }\n }, [trackScreenMedia, video]);\n var onToggleMute = useCallback(function () {\n if (muted && !playing) {\n play();\n }\n\n toggleMute();\n }, [muted, toggleMute]);\n useEffect(function () {\n if (!current && playing) {\n pause();\n }\n }, [playing, current]); // ------------------------------------\n\n var longPressBind = useLongPress({\n onLongPress: togglePlay\n });\n var fullscreen = layout === 'full';\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n var hasVideo = video !== null;\n\n var _useState9 = useState(hasVideo),\n _useState10 = _slicedToArray(_useState9, 2),\n ready = _useState10[0],\n setReady = _useState10[1]; // useState(!hasVideo);\n\n\n var transitionPlaying = current && ready;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit; // get resized video style props\n\n var _ref5 = video || {},\n _ref5$autoPlay = _ref5.autoPlay,\n autoPlay = _ref5$autoPlay === void 0 ? true : _ref5$autoPlay,\n _ref5$media = _ref5.media,\n videoMedia = _ref5$media === void 0 ? null : _ref5$media,\n _ref5$closedCaptions = _ref5.closedCaptions,\n closedCaptions = _ref5$closedCaptions === void 0 ? null : _ref5$closedCaptions,\n _ref5$withSeekBar = _ref5.withSeekBar,\n withSeekBar = _ref5$withSeekBar === void 0 ? false : _ref5$withSeekBar,\n _ref5$withPlayPause = _ref5.withPlayPause,\n withPlayPause = _ref5$withPlayPause === void 0 ? false : _ref5$withPlayPause;\n\n var finalVideo = useMemo(function () {\n return hasVideo ? _objectSpread(_objectSpread({}, video), {}, {\n autoPlay: !isPreview && !isStatic && !isCapture && autoPlay && current\n }) : null;\n }, [hasVideo, video, isPreview, isStatic, isCapture, autoPlay, current]);\n\n var _ref6 = videoMedia || {},\n _ref6$metadata = _ref6.metadata,\n videoMetadata = _ref6$metadata === void 0 ? null : _ref6$metadata,\n _ref6$url = _ref6.url,\n videoUrl = _ref6$url === void 0 ? null : _ref6$url,\n _ref6$thumbnail_url = _ref6.thumbnail_url,\n thumbnailUrl = _ref6$thumbnail_url === void 0 ? null : _ref6$thumbnail_url;\n\n var hasVideoUrl = videoUrl !== null; // const hasThumbnail = thumbnailUrl !== null;\n // const [posterReady, setPosterReady] = useState(!hasThumbnail);\n\n var _ref7 = videoMetadata || {},\n _ref7$width = _ref7.width,\n videoWidth = _ref7$width === void 0 ? 0 : _ref7$width,\n _ref7$height = _ref7.height,\n videoHeight = _ref7$height === void 0 ? 0 : _ref7$height;\n\n var _getSizeWithinBounds = getSizeWithinBounds(videoWidth, videoHeight, width, height, {\n cover: fullscreen\n }),\n resizedVideoWidth = _getSizeWithinBounds.width,\n resizedVideoHeight = _getSizeWithinBounds.height;\n\n var resizedVideoLeft = -(resizedVideoWidth - width) / 2;\n var resizedVideoTop = -(resizedVideoHeight - height) / 2;\n var placeholderProps = fullscreen ? {\n width: '100%',\n height: '100%'\n } : {\n width: '100%'\n };\n useEffect(function () {\n setReady(!hasVideoUrl);\n }, [videoUrl, hasVideoUrl, setReady]); // useEffect(() => {\n // setPosterReady(!hasThumbnail);\n // }, [thumbnailUrl, hasThumbnail, setPosterReady]);\n\n var onVideoReady = useCallback(function () {\n setReady(true);\n }, [setReady]); // const onPosterLoaded = useCallback(() => {\n // setPosterReady(true);\n // }, [isStatic, isCapture, setPosterReady]);\n\n var items = [/*#__PURE__*/React.createElement(ScreenElement, {\n key: \"video\",\n placeholder: /*#__PURE__*/React.createElement(PlaceholderVideo, Object.assign({\n className: styles.placeholder\n }, placeholderProps)),\n empty: /*#__PURE__*/React.createElement(\"div\", {\n className: styles.emptyContainer\n }, /*#__PURE__*/React.createElement(Empty, {\n className: styles.empty\n }, /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"3ext9Q\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Video\"\n }]\n }))),\n isEmpty: !hasVideoUrl\n }, hasVideoUrl ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.videoContainer,\n style: {\n width: resizedVideoWidth,\n height: resizedVideoHeight,\n left: resizedVideoLeft,\n top: resizedVideoTop\n }\n }, isPreview || isCapture ? /*#__PURE__*/React.createElement(Image, {\n className: styles.image,\n media: {\n url: thumbnailUrl,\n metadata: {\n width: videoWidth,\n height: videoHeight\n }\n },\n width: \"100%\",\n height: \"100%\"\n }) : /*#__PURE__*/React.createElement(Video, Object.assign({}, finalVideo, {\n ref: apiRef,\n className: styles.video,\n onReady: onVideoReady,\n onPlay: onPlay,\n onPause: onPause,\n onTimeUpdate: onTimeUpdate,\n onProgressStep: onProgressStep,\n onDurationChanged: onDurationChanged,\n onSeeked: onSeeked,\n onVolumeChanged: onVolumeChanged,\n focusable: current && isView,\n preload: videoShouldLoad ? 'auto' : 'metadata' // onPosterLoaded={onPosterLoaded}\n\n }))) : null), !isPlaceholder ? /*#__PURE__*/React.createElement(\"div\", {\n key: \"bottom-content\",\n className: styles.bottomContent\n }, /*#__PURE__*/React.createElement(Transitions, {\n playing: transitionPlaying,\n transitions: transitions,\n disabled: transitionDisabled\n }, closedCaptions !== null && !isPreview && !isCapture && !isStatic ? /*#__PURE__*/React.createElement(ClosedCaptions, {\n className: styles.closedCaptions,\n media: closedCaptions,\n currentTime: currentTime\n }) : null, hasVideoUrl ? /*#__PURE__*/React.createElement(MediaControls, {\n className: styles.mediaControls,\n withSeekBar: withSeekBar,\n withPlayPause: withPlayPause,\n playing: playing,\n muted: muted,\n currentTime: currentTime,\n duration: duration,\n onTogglePlay: togglePlay,\n onToggleMute: onToggleMute,\n onSeek: seek,\n focusable: current && isView\n }) : null, hasCallToAction ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: -spacing\n }\n }, /*#__PURE__*/React.createElement(CallToAction, {\n callToAction: callToAction,\n animationDisabled: isPreview,\n focusable: current && isView\n })) : null)) : null];\n return /*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: classNames([styles.container, (_ref8 = {}, _defineProperty(_ref8, className, className !== null), _defineProperty(_ref8, styles.fullscreen, fullscreen), _ref8)]),\n \"data-screen-ready\": isStatic || isCapture\n /* && posterReady */\n || ready\n }, longPressBind), !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying,\n shouldLoad: backgroundShouldLoad\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.content\n }, items)));\n};\n\nVideoScreen.propTypes = propTypes;\nVideoScreen.defaultProps = defaultProps;\nvar VideoScreen$1 = /*#__PURE__*/React.memo(VideoScreen);\n\nvar transform = function transform(newStory, _ref) {\n var video = _ref.video;\n\n var _ref2 = video || {},\n _ref2$media = _ref2.media,\n media = _ref2$media === void 0 ? null : _ref2$media;\n\n var _Video = Video$1(newStory, media),\n titleStory = _Video.story,\n titleComponent = _Video.component;\n\n var _Container = Container$1(titleStory, _toConsumableArray(titleComponent ? [titleComponent] : [])),\n containerStory = _Container.story,\n containerComponent = _Container.component;\n\n return _objectSpread(_objectSpread({}, containerStory), {}, {\n components: [].concat(_toConsumableArray(newStory.components || []), _toConsumableArray(containerComponent ? [containerComponent] : []))\n });\n};\n\n// eslint-disable-next-line\n\nvar transforms = /*#__PURE__*/Object.freeze({\n __proto__: null,\n appleNews: transform\n});\n\nvar definition = {\n id: 'video',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"+9akmg\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Audio and Video\"\n }]\n }),\n order: 5\n },\n title: defineMessage({\n id: \"UBXIYP\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Video\"\n }]\n }),\n component: VideoScreen$1,\n layouts: ['middle', 'full'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'middle',\n label: defineMessage({\n id: \"4iBXj2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'video',\n type: 'video-element',\n theme: {\n color: 'primary'\n },\n defaultValue: {\n autoPlay: true\n },\n label: defineMessage({\n id: \"tvl2Zc\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Video\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"+MPZRu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n};\n\nexport { VideoScreen$1 as VideoScreen, definition as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport 'whatwg-fetch';\nimport React, { useState, useEffect, useRef, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { getSizeWithinBounds } from '@folklore/size';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { ScreenElement, PlaceholderVideo360, Transitions } from '@micromag/core/components';\nimport { useScreenSize, useScreenRenderContext } from '@micromag/core/contexts';\nimport { useTrackScreenEvent, useTrackScreenMedia, useAnimationFrame } from '@micromag/core/hooks';\nimport Background from '@micromag/element-background';\nimport Container from '@micromag/element-container';\nimport ClosedCaptions from '@micromag/element-closed-captions';\nimport MediaControls from '@micromag/element-media-controls';\nimport Image from '@micromag/element-image';\nimport Video from '@micromag/element-video';\nimport CallToAction from '@micromag/element-call-to-action';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport { Video as Video$1, Container as Container$1 } from '@micromag/transforms/apple-news';\n\n/**\n * Locale loader\n */\n\nvar packageCache = null;\n\nvar useThree = function useThree() {\n // transport\n var _useState = useState({\n \"package\": packageCache\n }),\n _useState2 = _slicedToArray(_useState, 2),\n loadedPackage = _useState2[0][\"package\"],\n setLoadedPackage = _useState2[1];\n\n useEffect(function () {\n var canceled = false;\n\n if (loadedPackage !== null) {\n return function () {\n canceled = true;\n };\n }\n\n import('three').then(function (_ref) {\n var Scene = _ref.Scene,\n PerspectiveCamera = _ref.PerspectiveCamera,\n SphereBufferGeometry = _ref.SphereBufferGeometry,\n VideoTexture = _ref.VideoTexture,\n MeshBasicMaterial = _ref.MeshBasicMaterial,\n Mesh = _ref.Mesh,\n WebGLRenderer = _ref.WebGLRenderer,\n MathUtils = _ref.MathUtils;\n packageCache = {\n Scene: Scene,\n PerspectiveCamera: PerspectiveCamera,\n SphereBufferGeometry: SphereBufferGeometry,\n VideoTexture: VideoTexture,\n MeshBasicMaterial: MeshBasicMaterial,\n Mesh: Mesh,\n WebGLRenderer: WebGLRenderer,\n MathUtils: MathUtils\n };\n\n if (!canceled) {\n setLoadedPackage({\n \"package\": packageCache\n });\n }\n });\n return function () {\n canceled = true;\n };\n }, [loadedPackage, setLoadedPackage]);\n return loadedPackage;\n};\n\nvar styles = {\"container\":\"micromag-screen-video-360-container\",\"canvasButton\":\"micromag-screen-video-360-canvasButton\",\"canvas\":\"micromag-screen-video-360-canvas\",\"content\":\"micromag-screen-video-360-content\",\"placeholder\":\"micromag-screen-video-360-placeholder\",\"video\":\"micromag-screen-video-360-video\",\"disabled\":\"micromag-screen-video-360-disabled\",\"hidden\":\"micromag-screen-video-360-hidden\",\"empty\":\"micromag-screen-video-360-empty\",\"videoContainer\":\"micromag-screen-video-360-videoContainer\",\"mediaControls\":\"micromag-screen-video-360-mediaControls\",\"bottomContent\":\"micromag-screen-video-360-bottomContent\",\"showVideo\":\"micromag-screen-video-360-showVideo\"};\n\nvar propTypes = {\n layout: PropTypes.oneOf(['full']),\n video: PropTypes$1.videoElement,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n active: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n onPrevious: PropTypes.func,\n onNext: PropTypes.func,\n type: PropTypes.string,\n spacing: PropTypes.number,\n className: PropTypes.string\n};\nvar defaultProps = {\n layout: 'full',\n video: null,\n background: null,\n callToAction: null,\n current: true,\n active: true,\n transitions: null,\n onPrevious: null,\n onNext: null,\n type: null,\n spacing: 20,\n className: null\n};\n\nvar Video360Screen = function Video360Screen(_ref) {\n var _ref12;\n\n _ref.layout;\n var video = _ref.video,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n active = _ref.active,\n transitions = _ref.transitions,\n onPrevious = _ref.onPrevious,\n onNext = _ref.onNext,\n type = _ref.type,\n spacing = _ref.spacing,\n className = _ref.className;\n var THREE = useThree();\n var trackScreenEvent = useTrackScreenEvent(type);\n var trackScreenMedia = useTrackScreenMedia('video_360');\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n landscape = _useScreenSize.landscape;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var backgroundPlaying = current && (isView || isEdit);\n var backgroundShouldLoad = current || active || !isView;\n var videoContainerRef = useRef();\n var apiRef = useRef();\n\n var _ref2 = apiRef.current || {},\n togglePlay = _ref2.togglePlay,\n toggleMute = _ref2.toggleMute,\n seek = _ref2.seek,\n play = _ref2.play,\n pause = _ref2.pause;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n currentTime = _useState2[0],\n setCurrentTime = _useState2[1];\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n duration = _useState4[0],\n setDuration = _useState4[1];\n\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n playing = _useState6[0],\n setPlaying = _useState6[1];\n\n var _useState7 = useState(false),\n _useState8 = _slicedToArray(_useState7, 2),\n muted = _useState8[0],\n setMuted = _useState8[1];\n\n var onTimeUpdate = useCallback(function (time) {\n setCurrentTime(time);\n }, [setDuration, duration]);\n var onProgressStep = useCallback(function (step) {\n trackScreenMedia(video, \"progress_\".concat(Math.round(step * 100, 10), \"%\"));\n }, [trackScreenMedia, video]);\n var onDurationChanged = useCallback(function (dur) {\n setDuration(dur);\n }, [setDuration]);\n var onPlay = useCallback(function (_ref3) {\n var initial = _ref3.initial;\n setPlaying(true);\n trackScreenMedia(video, initial ? 'play' : 'resume');\n }, [trackScreenMedia, video]);\n var onPause = useCallback(function (_ref4) {\n var midway = _ref4.midway;\n setPlaying(false);\n trackScreenMedia(video, midway ? 'pause' : 'ended');\n }, [trackScreenMedia, video]);\n var onVolumeChanged = useCallback(function (isMuted) {\n setMuted(isMuted);\n trackScreenMedia(video, isMuted ? 'mute' : 'unmute');\n }, [trackScreenMedia, video]);\n var onSeeked = useCallback(function (time) {\n if (time > 0) {\n trackScreenMedia(video, 'seek');\n }\n }, [trackScreenMedia, video]);\n var onToggleMute = useCallback(function () {\n if (muted && !playing) {\n play();\n }\n\n toggleMute();\n }, [muted, toggleMute]);\n useEffect(function () {\n if (!current && playing) {\n pause();\n }\n }, [playing, current]); // ------------------------------------\n\n var hasVideo = video !== null;\n\n var _useState9 = useState(!hasVideo),\n _useState10 = _slicedToArray(_useState9, 2),\n ready = _useState10[0],\n setReady = _useState10[1];\n\n var transitionPlaying = current && ready;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n\n var _ref5 = video || {},\n _ref5$media = _ref5.media,\n videoMedia = _ref5$media === void 0 ? null : _ref5$media,\n _ref5$closedCaptions = _ref5.closedCaptions,\n closedCaptions = _ref5$closedCaptions === void 0 ? null : _ref5$closedCaptions,\n _ref5$withSeekBar = _ref5.withSeekBar,\n withSeekBar = _ref5$withSeekBar === void 0 ? false : _ref5$withSeekBar,\n _ref5$withPlayPause = _ref5.withPlayPause,\n withPlayPause = _ref5$withPlayPause === void 0 ? false : _ref5$withPlayPause,\n _ref5$autoPlay = _ref5.autoPlay,\n autoPlay = _ref5$autoPlay === void 0 ? true : _ref5$autoPlay;\n\n var finalVideo = hasVideo ? _objectSpread(_objectSpread({}, video), {}, {\n autoPlay: !isPreview && !isStatic && !isCapture && autoPlay && current\n }) : null;\n\n var _ref6 = videoMedia || {},\n _ref6$metadata = _ref6.metadata,\n videoMetadata = _ref6$metadata === void 0 ? null : _ref6$metadata,\n _ref6$url = _ref6.url,\n videoUrl = _ref6$url === void 0 ? null : _ref6$url,\n _ref6$thumbnail_url = _ref6.thumbnail_url,\n thumbnailUrl = _ref6$thumbnail_url === void 0 ? null : _ref6$thumbnail_url;\n\n var hasVideoUrl = videoUrl !== null;\n\n var _ref7 = videoMetadata || {},\n _ref7$width = _ref7.width,\n videoWidth = _ref7$width === void 0 ? 0 : _ref7$width,\n _ref7$height = _ref7.height,\n videoHeight = _ref7$height === void 0 ? 0 : _ref7$height;\n\n var hasThumbnail = thumbnailUrl !== null;\n\n var _useState11 = useState(!hasThumbnail),\n _useState12 = _slicedToArray(_useState11, 2),\n posterReady = _useState12[0],\n setPosterReady = _useState12[1];\n\n var withVideoSphere = hasVideoUrl && (isView || isEdit) && !isCapture && !isStatic;\n\n var _getSizeWithinBounds = getSizeWithinBounds(videoWidth, videoHeight, width, height, {\n cover: true\n }),\n resizedVideoWidth = _getSizeWithinBounds.width,\n resizedVideoHeight = _getSizeWithinBounds.height;\n\n var resizedVideoLeft = -(resizedVideoWidth - width) / 2;\n var resizedVideoTop = -(resizedVideoHeight - height) / 2;\n useEffect(function () {\n setReady(!hasVideoUrl);\n }, [videoUrl, hasVideoUrl, setReady]);\n useEffect(function () {\n setPosterReady(!hasThumbnail);\n }, [thumbnailUrl, hasThumbnail, setPosterReady]);\n var onVideoReady = useCallback(function () {\n setReady(true);\n }, [setReady]);\n var onPosterLoaded = useCallback(function () {\n setPosterReady(true);\n }, [posterReady]); // 3D layer --------------------------\n\n var canvasRef = useRef(null);\n var camera = useRef(null);\n var scene = useRef(null);\n var renderer = useRef(null);\n var lon = useRef(0);\n var lat = useRef(0);\n var phi = useRef(0);\n var theta = useRef(0);\n var distance = useRef(50);\n var pointerDown = useRef(false);\n var pointerDownX = useRef(0);\n var pointerDownY = useRef(0);\n var pointerLon = useRef(0);\n var pointerLat = useRef(0); // render 3D frame\n\n var render3D = useCallback(function () {\n var MathUtils = THREE.MathUtils;\n lat.current = Math.max(-85, Math.min(85, lat.current));\n phi.current = MathUtils.degToRad(90 - lat.current);\n theta.current = MathUtils.degToRad(lon.current);\n camera.current.position.x = distance.current * Math.sin(phi.current) * Math.cos(theta.current);\n camera.current.position.y = distance.current * Math.cos(phi.current);\n camera.current.position.z = distance.current * Math.sin(phi.current) * Math.sin(theta.current);\n camera.current.lookAt(0, 0, 0);\n renderer.current.render(scene.current, camera.current);\n }, []); // Init 3D layer\n\n useEffect(function () {\n if (THREE !== null && hasVideoUrl && withVideoSphere) {\n var Scene = THREE.Scene,\n PerspectiveCamera = THREE.PerspectiveCamera,\n SphereBufferGeometry = THREE.SphereBufferGeometry,\n VideoTexture = THREE.VideoTexture,\n MeshBasicMaterial = THREE.MeshBasicMaterial,\n Mesh = THREE.Mesh,\n WebGLRenderer = THREE.WebGLRenderer;\n var _canvasRef$current = canvasRef.current,\n canvasWidth = _canvasRef$current.offsetWidth,\n canvasHeight = _canvasRef$current.offsetHeight;\n camera.current = new PerspectiveCamera(75, canvasWidth / canvasHeight, 1, 1100);\n scene.current = new Scene();\n var geometry = new SphereBufferGeometry(500, 60, 40);\n geometry.scale(-1, 1, 1);\n\n var _ref8 = apiRef.current || {},\n _ref8$mediaRef = _ref8.mediaRef,\n videoMediaRef = _ref8$mediaRef === void 0 ? null : _ref8$mediaRef;\n\n var _ref9 = videoMediaRef || {},\n _ref9$current = _ref9.current,\n videoElement = _ref9$current === void 0 ? null : _ref9$current;\n\n var videoTexture = new VideoTexture(videoElement);\n var videoMaterial = new MeshBasicMaterial({\n map: videoTexture\n });\n var mesh = new Mesh(geometry, videoMaterial);\n scene.current.add(mesh);\n renderer.current = new WebGLRenderer({\n canvas: canvasRef.current\n });\n renderer.current.setPixelRatio(typeof window !== 'undefined' ? window.devicePixelRatio : 1);\n renderer.current.setSize(canvasWidth, canvasHeight);\n render3D();\n }\n\n return function () {\n if (withVideoSphere) {\n camera.current = null;\n scene.current = null;\n renderer.current = null;\n }\n };\n }, [hasVideoUrl, withVideoSphere, render3D]);\n useAnimationFrame(render3D, {\n disabled: !withVideoSphere\n }); // Resize 3D layer\n\n useEffect(function () {\n if (camera.current !== null && renderer.current !== null) {\n camera.current.aspect = width / height;\n camera.current.updateProjectionMatrix();\n renderer.current.setSize(width, height);\n }\n }, [width, height]); // Pointer interaction\n\n var togglePlayTimeout = useRef(null);\n var onPointerDown = useCallback(function (e) {\n pointerDown.current = true;\n pointerDownX.current = e.clientX;\n pointerDownY.current = e.clientY;\n pointerLon.current = lon.current;\n pointerLat.current = lat.current;\n\n if (togglePlayTimeout.current !== null) {\n clearTimeout(togglePlayTimeout.current);\n }\n\n togglePlayTimeout.current = setTimeout(function () {\n togglePlay();\n togglePlayTimeout.current = null;\n }, 300);\n }, [togglePlay]);\n var pixelsMoved = useRef(0);\n var lastPointerClient = useRef(null);\n var pixelsMovedTracked = useRef(false);\n var onPointerMove = useCallback(function (e) {\n if (pointerDown.current) {\n var _ref10 = e || {},\n _ref10$clientX = _ref10.clientX,\n clientX = _ref10$clientX === void 0 ? null : _ref10$clientX,\n _ref10$clientY = _ref10.clientY,\n clientY = _ref10$clientY === void 0 ? null : _ref10$clientY;\n\n var downDeltaX = pointerDownX.current - clientX;\n var downDeltaY = pointerDownY.current - clientY;\n lon.current = downDeltaX * 0.2 + pointerLon.current;\n lat.current = downDeltaY * 0.2 + pointerLat.current;\n\n var _ref11 = lastPointerClient.current || {},\n _ref11$x = _ref11.x,\n lastX = _ref11$x === void 0 ? clientX : _ref11$x,\n _ref11$y = _ref11.y,\n lastY = _ref11$y === void 0 ? clientY : _ref11$y;\n\n var deltaX = Math.abs(lastX - clientX) || 0;\n var deltaY = Math.abs(lastY - clientY) || 0;\n pixelsMoved.current += deltaX + deltaY;\n\n if (!pixelsMovedTracked.current && pixelsMoved.current > Math.min(width, height)) {\n trackScreenEvent('drag_sphere', video.name);\n pixelsMovedTracked.current = true;\n }\n\n lastPointerClient.current = {\n x: clientX,\n y: clientY\n };\n\n if (Math.abs(downDeltaX) > 3 || Math.abs(downDeltaY) > 3) {\n if (togglePlayTimeout.current !== null) {\n clearTimeout(togglePlayTimeout.current);\n togglePlayTimeout.current = null;\n }\n }\n }\n }, [width, height, trackScreenEvent, video]);\n var onPointerUp = useCallback(function (e) {\n var videoContainer = videoContainerRef.current;\n\n if (pointerDown.current && videoContainer !== null) {\n var distX = Math.abs(pointerDownX.current - e.clientX);\n var distY = Math.abs(pointerDownY.current - e.clientY);\n var pixelsMovedTolerance = 3;\n var tapNextScreenWidthPercent = 0.5;\n var canTapToNavigate = !landscape && togglePlayTimeout.current !== null;\n var validNavigateTap = canTapToNavigate && distX < pixelsMovedTolerance && distY < pixelsMovedTolerance;\n\n if (validNavigateTap) {\n var _videoContainer$getBo = videoContainer.getBoundingClientRect(),\n _videoContainer$getBo2 = _videoContainer$getBo.left,\n containerX = _videoContainer$getBo2 === void 0 ? 0 : _videoContainer$getBo2,\n containerWidth = _videoContainer$getBo.width;\n\n var hasTappedLeft = e.clientX - containerX < containerWidth * (1 - tapNextScreenWidthPercent);\n\n if (hasTappedLeft) {\n if (onPrevious !== null) {\n onPrevious();\n }\n } else if (onNext !== null) {\n onNext();\n }\n }\n\n if (togglePlayTimeout.current !== null) {\n clearTimeout(togglePlayTimeout.current);\n togglePlayTimeout.current = null;\n }\n }\n\n pointerDown.current = false;\n }, [onPrevious, onNext, landscape]);\n var hasCallToAction = callToAction !== null && callToAction.active === true; // Building elements ------------------\n\n var items = [/*#__PURE__*/React.createElement(ScreenElement, {\n key: \"video\",\n placeholder: /*#__PURE__*/React.createElement(PlaceholderVideo360, {\n className: styles.placeholder,\n width: \"100%\",\n height: \"100%\"\n }),\n emptyClassName: styles.empty,\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"oLtEu6\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Video 360\"\n }]\n }),\n isEmpty: !withVideoSphere\n }, /*#__PURE__*/React.createElement(Transitions, {\n playing: transitionPlaying,\n transitions: transitions,\n disabled: transitionDisabled,\n fullscreen: true\n }, withVideoSphere ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"canvas\", {\n ref: canvasRef,\n className: styles.canvas\n }), /*#__PURE__*/React.createElement(\"button\", {\n className: styles.canvasButton,\n type: \"button\",\n \"aria-label\": \"canvas-interaction\",\n onPointerDown: onPointerDown,\n onPointerMove: onPointerMove,\n onPointerUp: onPointerUp,\n tabIndex: current && isView ? null : '-1'\n })) : /*#__PURE__*/React.createElement(\"div\", {\n className: styles.videoContainer,\n style: {\n width: resizedVideoWidth,\n height: resizedVideoHeight,\n left: resizedVideoLeft,\n top: resizedVideoTop\n }\n }, /*#__PURE__*/React.createElement(Image, {\n className: styles.video,\n media: {\n url: thumbnailUrl,\n metadata: {\n width: videoWidth,\n height: videoHeight\n }\n },\n width: \"100%\",\n height: \"100%\"\n })))), !isPlaceholder ? /*#__PURE__*/React.createElement(\"div\", {\n key: \"bottom-content\",\n className: styles.bottomContent\n }, /*#__PURE__*/React.createElement(Transitions, {\n playing: transitionPlaying,\n transitions: transitions,\n disabled: transitionDisabled\n }, closedCaptions !== null && !isPreview && !isCapture && !isStatic ? /*#__PURE__*/React.createElement(ClosedCaptions, {\n className: styles.closedCaptions,\n media: closedCaptions,\n currentTime: currentTime\n }) : null, withVideoSphere ? /*#__PURE__*/React.createElement(MediaControls, {\n className: styles.mediaControls,\n withSeekBar: withSeekBar,\n withPlayPause: withPlayPause,\n playing: playing,\n muted: muted,\n currentTime: currentTime,\n duration: duration,\n onTogglePlay: togglePlay,\n onToggleMute: onToggleMute,\n onSeek: seek,\n focusable: current && isView\n }) : null, hasCallToAction ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: -spacing\n }\n }, /*#__PURE__*/React.createElement(CallToAction, {\n callToAction: callToAction,\n animationDisabled: isPreview,\n focusable: current && isView\n })) : null)) : null];\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref12 = {}, _defineProperty(_ref12, className, className !== null), _defineProperty(_ref12, styles.showVideo, isPreview || isStatic || isCapture), _ref12)]),\n \"data-screen-ready\": (isStatic || isCapture) && posterReady || ready\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying,\n shouldLoad: backgroundShouldLoad\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, withVideoSphere ? /*#__PURE__*/React.createElement(\"div\", {\n ref: videoContainerRef,\n className: styles.videoContainer,\n style: {\n width: resizedVideoWidth,\n height: resizedVideoHeight,\n left: resizedVideoLeft,\n top: resizedVideoTop\n }\n }, /*#__PURE__*/React.createElement(Video, Object.assign({}, finalVideo, {\n ref: apiRef,\n className: styles.video,\n withoutCors: true,\n onReady: onVideoReady,\n onPlay: onPlay,\n onPause: onPause,\n onTimeUpdate: onTimeUpdate,\n onProgressStep: onProgressStep,\n onDurationChanged: onDurationChanged,\n onSeeked: onSeeked,\n onVolumeChanged: onVolumeChanged,\n onPosterLoaded: onPosterLoaded,\n focusable: current && isView\n }))) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.content\n }, items)));\n};\n\nVideo360Screen.propTypes = propTypes;\nVideo360Screen.defaultProps = defaultProps;\nvar Video360Screen$1 = /*#__PURE__*/React.memo(Video360Screen);\n\nvar transform = function transform(newStory, _ref) {\n var video = _ref.video;\n\n var _ref2 = video || {},\n _ref2$media = _ref2.media,\n media = _ref2$media === void 0 ? null : _ref2$media;\n\n var _Video = Video$1(newStory, media),\n titleStory = _Video.story,\n titleComponent = _Video.component;\n\n var _Container = Container$1(titleStory, _toConsumableArray(titleComponent ? [titleComponent] : [])),\n containerStory = _Container.story,\n containerComponent = _Container.component;\n\n return _objectSpread(_objectSpread({}, containerStory), {}, {\n components: [].concat(_toConsumableArray(newStory.components || []), _toConsumableArray(containerComponent ? [containerComponent] : []))\n });\n};\n\n// eslint-disable-next-line\n\nvar transforms = /*#__PURE__*/Object.freeze({\n __proto__: null,\n appleNews: transform\n});\n\nvar definition = {\n id: 'video-360',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"+9akmg\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Audio and Video\"\n }]\n }),\n order: 5\n },\n title: defineMessage({\n id: \"GRVidW\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"360 Video\"\n }]\n }),\n component: Video360Screen$1,\n layouts: ['full'],\n transforms: transforms,\n fields: [{\n name: 'video',\n type: 'video-element',\n theme: {\n color: 'primary'\n },\n defaultValue: {\n autoPlay: true\n },\n label: defineMessage({\n id: \"tvl2Zc\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Video\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"+MPZRu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n};\n\nexport { Video360Screen$1 as Video360Screen, definition as default };\n","import { ScreensManager } from '@micromag/core';\nimport audio from '@micromag/screen-audio';\nimport contribution from '@micromag/screen-contribution';\nimport conversation from '@micromag/screen-conversation';\nimport gallery from '@micromag/screen-gallery';\nimport galleryFeed from '@micromag/screen-gallery-feed';\nimport image from '@micromag/screen-image';\nimport map from '@micromag/screen-map';\nimport quiz from '@micromag/screen-quiz';\nimport quote from '@micromag/screen-quote';\nimport ranking from '@micromag/screen-ranking';\nimport slideshow from '@micromag/screen-slideshow';\nimport survey from '@micromag/screen-survey';\nimport text from '@micromag/screen-text';\nimport timeline from '@micromag/screen-timeline';\nimport title from '@micromag/screen-title';\nimport video from '@micromag/screen-video';\nimport video360 from '@micromag/screen-video-360';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { ScreensProvider as ScreensProvider$1 } from '@micromag/core/contexts';\n\nvar manager$1 = new ScreensManager();\nmanager$1.addDefinition(audio);\nmanager$1.addDefinition(contribution);\nmanager$1.addDefinition(conversation);\nmanager$1.addDefinition(gallery);\nmanager$1.addDefinition(galleryFeed);\nmanager$1.addDefinition(image);\nmanager$1.addDefinition(map);\nmanager$1.addDefinition(quiz);\nmanager$1.addDefinition(quote);\nmanager$1.addDefinition(ranking);\nmanager$1.addDefinition(survey);\nmanager$1.addDefinition(text);\nmanager$1.addDefinition(timeline);\nmanager$1.addDefinition(title);\nmanager$1.addDefinition(video);\nmanager$1.addDefinition(video360);\nmanager$1.addDefinition(slideshow);\n\nvar manager = new ScreensManager();\nmanager.merge(manager$1);\n\n/* eslint-disable react/jsx-props-no-spreading */\nvar propTypes = {\n children: PropTypes.node.isRequired\n};\nvar defaultProps = {};\n\nvar ScreensProvider = function ScreensProvider(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React.createElement(ScreensProvider$1, {\n manager: manager\n }, children);\n};\n\nScreensProvider.propTypes = propTypes;\nScreensProvider.defaultProps = defaultProps;\n\nexport { ScreensProvider, manager as default };\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar _objectSpread = require('@babel/runtime/helpers/objectSpread2');\nvar utils = require('@micromag/transforms/utils');\nvar _defineProperty = require('@babel/runtime/helpers/defineProperty');\nvar isString = require('lodash/isString');\nvar isInteger = require('lodash/isInteger');\nvar isNumber = require('lodash/isNumber');\nvar isEmpty = require('lodash/isEmpty');\nvar hash = require('object-hash');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);\nvar _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);\nvar isString__default = /*#__PURE__*/_interopDefaultLegacy(isString);\nvar isInteger__default = /*#__PURE__*/_interopDefaultLegacy(isInteger);\nvar isNumber__default = /*#__PURE__*/_interopDefaultLegacy(isNumber);\nvar isEmpty__default = /*#__PURE__*/_interopDefaultLegacy(isEmpty);\nvar hash__default = /*#__PURE__*/_interopDefaultLegacy(hash);\n\nvar getArticleComponents = function getArticleComponents(story) {\n var _ref = story || {},\n _ref$title = _ref.title,\n title = _ref$title === void 0 ? null : _ref$title,\n _ref$metadata = _ref.metadata,\n metadata = _ref$metadata === void 0 ? {} : _ref$metadata,\n _ref$components = _ref.components,\n components = _ref$components === void 0 ? [] : _ref$components;\n\n var _ref2 = metadata || {},\n _ref2$description = _ref2.description,\n description = _ref2$description === void 0 ? 'Ma description' : _ref2$description;\n\n var heading1 = title ? {\n role: 'heading1',\n text: title,\n format: 'html'\n } : null;\n var heading2 = description ? {\n role: 'heading2',\n text: description,\n format: 'html'\n } : null;\n var titleScreen = components.reduce(function (comp, next, i) {\n if (comp === null && i < 3) {\n if (next.type.indexOf('title') !== false) {\n return next;\n }\n }\n\n return comp;\n }, null);\n var imageComponent = null;\n\n if (titleScreen !== null) {\n var _ref3 = titleScreen || {},\n _ref3$image = _ref3.image,\n image = _ref3$image === void 0 ? null : _ref3$image,\n _ref3$background = _ref3.background,\n background = _ref3$background === void 0 ? null : _ref3$background;\n\n if (image !== null) {\n imageComponent = {\n role: 'image',\n URL: image.url\n };\n } else if (background !== null && background.image !== null) {\n imageComponent = {\n role: 'image',\n URL: background.image.url\n };\n }\n }\n\n var headerComponents = [imageComponent, heading1, heading2].filter(function (it) {\n return it !== null;\n });\n return {\n components: headerComponents.length > 0 ? [{\n role: 'header',\n components: headerComponents,\n layout: 'header'\n }] : []\n };\n};\n\nvar name$f = \"Format\\\\TextStyle\";\nvar description$f = \"The object for defining the text style (font family, size, color, and so on) that you can apply to ranges of text.\";\nvar version$f = \"1.7+\";\nvar from_class$f = null;\nvar typed$f = null;\nvar url$f = \"https://developer.apple.com/documentation/apple_news/textstyle\";\nvar properties$f = [{\n name: \"backgroundColor\",\n type: \"Color\",\n required: false,\n description: \"The background color for text lines. The value defaults to transparent.\",\n typed: false\n}, {\n name: \"conditional\",\n type: \"array:Format\\\\ConditionalTextStyle\",\n required: false,\n description: \"An array of text style properties that can be applied conditionally, and the conditions that cause them to be applied.\",\n typed: false\n}, {\n name: \"fontFamily\",\n type: \"string\",\n required: false,\n description: \"The font family to use for text rendering, for example Gill Sans. Using a combination of fontFamily, fontWeight, fontWidth and fontStyle you can define the appearance of the text. News automatically selects the appropriate font variant from the available variants in that family.\",\n typed: false\n}, {\n name: \"fontName\",\n type: \"string\",\n required: false,\n description: \"The fontName to refer to an explicit font variant’s PostScript name, such as GillSans-Bold. Alternatively, you can use a combination of fontFamily, fontWeight, fontWidth and/or fontStyle to have News automatically select the appropriate variant depending on the text formatting used.\",\n typed: false\n}, {\n name: \"fontSize\",\n type: \"integer\",\n required: false,\n description: \"The size of the font, in points. By default, the font size will be inherited from a parent component or a default style. As a best practice, try not to go below 16 points for body text. The fontSize may be automatically resized for different device sizes or for iOS devices with Larger Accessibility Sizes enabled.\",\n typed: false\n}, {\n name: \"fontStyle\",\n type: \"enum:string\",\n required: false,\n description: \"The font style to apply for the selected font.\",\n enum_values: [\"normal\", \"italic\", \"oblique\"],\n typed: false\n}, {\n name: \"fontWeight\",\n type: \"enum:integer|string\",\n required: false,\n description: \"The font weight to apply for font selection. In addition to explicit weights (named or numerical), lighter and bolder are available, to set text in a lighter or bolder font as compared to its surrounding text.\",\n enum_values: [100, 200, 300, 400, 500, 600, 700, 800, 900, \"thin\", \"extra-light\", \"extralight\", \"ultra-light\", \"light\", \"regular\", \"normal\", \"book\", \"roman\", \"medium\", \"semi-bold\", \"semibold\", \"demi-bold\", \"demibold\", \"bold\", \"extra-bold\", \"extrabold\", \"ultra-bold\", \"ultrabold\", \"black\", \"heavy\", \"lighter\", \"bolder\"],\n typed: false\n}, {\n name: \"fontWidth\",\n type: \"enum:string\",\n required: false,\n description: \"The font width for font selection (known in CSS as font-stretch). Defines the width characteristics of a font variant between normal, condensed and expanded. Some font families have separate families assigned for different widths (for example, Avenir Next and Avenir Next Condensed), so make sure that the fontFamily you select supports the specified fontWidth.\",\n enum_values: [\"ultra-condensed\", \"extra-condensed\", \"condensed\", \"semi-condensed\", \"normal\", \"semi-expanded\", \"expanded\", \"extra-expanded\", \"ultra-expanded\"],\n typed: false\n}, {\n name: \"orderedListItems\",\n type: \"Format\\\\ListItemStyle\",\n required: false,\n description: \"An object for use with text components with HTML markup. You can create text styles containing an orderedListItems definition to configure how list items inside <ol> tags should be displayed.\",\n typed: false\n}, {\n name: \"strikethrough\",\n type: [\"Format\\\\TextDecoration\", \"boolean\"],\n required: false,\n description: \"The text strikethrough. Set strikethrough to true to use the text color inherited from the textColor property as the strikethrough color, or provide a text decoration definition with a different color. By default strikethrough is omitted (false).\",\n typed: false\n}, {\n name: \"stroke\",\n type: \"Format\\\\TextStrokeStyle\",\n required: false,\n description: \"The stroke style for the text outline. By default, stroke will be omitted.\",\n typed: false\n}, {\n name: \"textColor\",\n type: \"Color\",\n required: false,\n description: \"The text color.\",\n typed: false\n}, {\n name: \"textShadow\",\n type: \"Format\\\\Shadow\",\n required: false,\n description: \"The text shadow for this style.\",\n typed: false\n}, {\n name: \"textTransform\",\n type: \"enum:string\",\n required: false,\n description: \"The transform to apply to the text.\",\n enum_values: [\"uppercase\", \"lowercase\", \"capitalize\", \"none\"],\n typed: false\n}, {\n name: \"tracking\",\n type: \"number\",\n required: false,\n description: \"The amount of tracking (spacing between characters) in text, as a percentage of the fontSize. The actual spacing between letters is determined by combining information from the font and font size.\",\n \"default\": 0,\n typed: false\n}, {\n name: \"underline\",\n type: [\"Format\\\\TextDecoration\", \"boolean\"],\n required: false,\n description: \"The text underlining. This style can be used for links. Set underline to true to use the text color as the underline color, or provide a text decoration with a different color. By default underline is omitted (false).\",\n typed: false\n}, {\n name: \"unorderedListItems\",\n type: \"Format\\\\ListItemStyle\",\n required: false,\n description: \"An object for use with text components with HTML markup. You can create text styles containing an unorderedListItems definition to configure how list items inside <ul> tags should be displayed.\",\n typed: false\n}, {\n name: \"verticalAlignment\",\n type: \"enum:string\",\n required: false,\n description: \"The vertical alignment of the text. You can use this property for superscripts and subscripts.\",\n enum_values: [\"superscript\", \"subscript\", \"baseline\"],\n typed: false\n}];\nvar TextStyleDefinition = {\n name: name$f,\n description: description$f,\n version: version$f,\n from_class: from_class$f,\n \"extends\": null,\n typed: typed$f,\n url: url$f,\n properties: properties$f\n};\n\nvar TextStyle = function TextStyle() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$fontFamily = _ref.fontFamily,\n fontFamily = _ref$fontFamily === void 0 ? null : _ref$fontFamily,\n _ref$fontSize = _ref.fontSize,\n fontSize = _ref$fontSize === void 0 ? null : _ref$fontSize,\n _ref$lineHeight = _ref.lineHeight,\n lineHeight = _ref$lineHeight === void 0 ? null : _ref$lineHeight,\n _ref$color = _ref.color,\n color = _ref$color === void 0 ? null : _ref$color;\n\n var content = {\n fontFamily: fontFamily,\n fontSize: fontSize,\n lineHeight: lineHeight ? Math.floor(fontSize * lineHeight) : null,\n textColor: color && color.color ? color.color : null\n };\n return utils.validate(content, TextStyleDefinition);\n};\n\nvar getArticleTextStyles = function getArticleTextStyles() {\n // const { theme = {} } = story || {};\n // const { textStyle = {} } = theme || {};\n // const { heading1 = {}, text = {} } = textStyle || {};\n // const titleStyles = TextStyle(heading1);\n // const textStyles = TextStyle(text);\n var fontSize = 18;\n var lineHeight = 1.35;\n var titleStyles = TextStyle({\n fontFamily: 'Futura',\n // stylelint-disable-line\n fontSize: fontSize * 2,\n fontWeight: 'bold',\n lineHeight: lineHeight\n });\n var textStyles = TextStyle({\n fontFamily: 'Palatino',\n // stylelint-disable-line\n fontSize: fontSize,\n lineHeight: lineHeight\n });\n return {\n componentTextStyles: {\n \"default\": _objectSpread__default[\"default\"]({\n textColor: '#000',\n linkStyle: {\n textColor: '#F0F',\n underline: true\n }\n }, textStyles !== null ? textStyles : {}),\n 'default-heading1': _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, titleStyles !== null ? titleStyles : {}), {}, {\n fontSize: fontSize * 2,\n lineHeight: 36,\n fontWeight: 'regular',\n fontWidth: 'expanded',\n textTransform: 'uppercase'\n }),\n 'default-heading2': _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, titleStyles !== null ? titleStyles : {}), {}, {\n fontSize: 26,\n fontWeight: 'regular',\n fontWidth: 'expanded',\n textTransform: 'uppercase'\n }),\n 'default-title': _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, titleStyles !== null ? titleStyles : {}), {}, {\n fontSize: 26,\n fontWeight: 'regular',\n fontWidth: 'expanded',\n textTransform: 'uppercase'\n }),\n 'default-body': _objectSpread__default[\"default\"]({}, textStyles !== null ? textStyles : {}),\n 'default-text': _objectSpread__default[\"default\"]({}, textStyles !== null ? textStyles : {}),\n 'default-quote': _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, textStyles !== null ? textStyles : {}), {}, {\n fontSize: 26\n }),\n 'style-author': _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, textStyles !== null ? textStyles : {}), {}, {\n fontStyle: 'italic'\n })\n }\n };\n};\n\nvar name$e = \"Format\\\\Layout\";\nvar description$e = \"The object for defining columns, gutters, and margins for your article’s designed width.\";\nvar version$e = \"1.7+\";\nvar from_class$e = null;\nvar typed$e = null;\nvar url$e = \"https://developer.apple.com/documentation/apple_news/layout\";\nvar properties$e = [{\n name: \"columns\",\n type: \"integer\",\n required: true,\n description: \"The number of columns this article was designed for. You must have at least one column.\",\n minimum: 1,\n typed: false\n}, {\n name: \"width\",\n type: \"integer\",\n required: true,\n description: \"The width (in points) this article was designed for. This property is used to calculate down-scaling scenarios for smaller devices.\",\n minimum: 1,\n typed: false\n}, {\n name: \"gutter\",\n type: \"integer\",\n required: false,\n description: \"The gutter size for the article (in points). The gutter provides spacing between columns. This property should always be an even number; odd numbers are rounded up to the next even number. If this property is omitted, a default gutter size of 20 is applied. If the gutter is negative, the number will be set to 0.\",\n \"default\": 20,\n minimum: 0,\n typed: false\n}, {\n name: \"margin\",\n type: \"integer\",\n required: false,\n description: \"The outer (left and right) margins of the article, in points. If this property is omitted, a default article margin of 60 is applied. If the margin is negative, the number is set to 0. If the margin is greater than or equal to the width/2, the article delivery fails.\",\n \"default\": 60,\n minimum: 0,\n typed: false\n}];\nvar LayoutDefinition = {\n name: name$e,\n description: description$e,\n version: version$e,\n from_class: from_class$e,\n \"extends\": null,\n typed: typed$e,\n url: url$e,\n properties: properties$e\n};\n\nvar Layout = function Layout() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$columns = _ref.columns,\n columns = _ref$columns === void 0 ? 8 : _ref$columns,\n _ref$width = _ref.width,\n width = _ref$width === void 0 ? 768 : _ref$width,\n _ref$margin = _ref.margin,\n margin = _ref$margin === void 0 ? 60 : _ref$margin,\n _ref$gutter = _ref.gutter,\n gutter = _ref$gutter === void 0 ? 20 : _ref$gutter;\n\n var content = {\n columns: columns,\n width: width,\n margin: margin,\n gutter: gutter\n };\n return utils.validate(content, LayoutDefinition);\n};\n\nvar name$d = \"Format\\\\ComponentLayout\";\nvar description$d = \"The object for defining the positioning for a specific component within the article’s column system.\";\nvar version$d = \"1.7+\";\nvar from_class$d = null;\nvar typed$d = null;\nvar url$d = \"https://developer.apple.com/documentation/apple_news/componentlayout\";\nvar properties$d = [{\n name: \"columnSpan\",\n type: \"integer\",\n required: false,\n description: \"A number that indicates how many columns the component spans, based on the number of columns in the document.\",\n minimum: 1,\n typed: false\n}, {\n name: \"columnStart\",\n type: \"integer\",\n required: false,\n description: \"A number that indicates which column the component‘s start position is in, based on the number of columns in the document or parent container.\",\n minimum: 0,\n typed: false\n}, {\n name: \"conditional\",\n type: \"array:Format\\\\ConditionalComponentLayout\",\n required: false,\n description: \"An array of component layout properties that can be applied conditionally, and the conditions that cause them to be applied.\",\n typed: false\n}, {\n name: \"contentInset\",\n type: [\"Format\\\\ContentInset\", \"boolean\"],\n required: false,\n description: \"A value that defines a content inset for the component. If applied, the inset is equivalent to half the document gutter. For example, if the article's layout sets the document gutter to 40pt, the content inset is 20 points.\",\n typed: false\n}, {\n name: \"horizontalContentAlignment\",\n type: \"enum:string\",\n required: false,\n description: \"A string value that sets the alignment of the content within the component. This property applies only when the width of the content is less than the width of the component.\",\n \"default\": \"center\",\n enum_values: [\"left\", \"center\", \"right\"],\n typed: false\n}, {\n name: \"ignoreDocumentGutter\",\n type: \"enum:boolean|string\",\n required: false,\n description: \"A value that indicates whether the gutters (if any) to the left and right of the component should be ignored. The gutter size is defined in the Layout object at the root level of the document.\",\n enum_values: [\"none\", \"left\", \"right\", \"both\", true, false],\n typed: false\n}, {\n name: \"ignoreDocumentMargin\",\n type: \"enum:boolean|string\",\n required: false,\n description: \"A value that indicates whether a document’s margins should be respected or ignored by the parent container. Ignoring document margins will position the component at the edge of the display. This property affects the layout only if the component is in the first or last column.\",\n enum_values: [\"none\", \"left\", \"right\", \"both\", true, false],\n typed: false\n}, {\n name: \"margin\",\n type: [\"Format\\\\Margin\", \"integer\"],\n required: false,\n description: \"A value that sets the margins for the top and bottom of the component, as a single integer that gets applied to the top and bottom margins, or as an object containing separate properties for top and bottom.\",\n typed: false\n}, {\n name: \"maximumContentWidth\",\n type: [\"SupportedUnits\", \"integer\"],\n required: false,\n description: \"A value that sets the maximum width of the content within the component. Specify this value as an integer in points or using one of the available units of measure for components. See Specifying Measurements for Components.\",\n typed: false\n}, {\n name: \"minimumHeight\",\n type: [\"SupportedUnits\", \"integer\"],\n required: false,\n description: \"A value that sets the minimum height of the component. A component is taller than its defined minimumHeight when the contents require the component to be taller. The minimum height can be defined as an integer in points or using one of the available units of measure for components. See Specifying Measurements for Components.\",\n typed: false\n}, {\n name: \"minimumWidth\",\n type: [\"SupportedUnits\", \"integer\"],\n required: false,\n description: \"A value that defines the minimum width of the layout when used within a Container with HorizontalStackDisplay as the specified contentDisplay type. The minimum width can be defined as an integer in points or using one of the available units of measure for components. See Specifying Measurements for Components.\",\n typed: false\n}, {\n name: \"maximumWidth\",\n type: [\"SupportedUnits\", \"integer\"],\n required: false,\n description: \"A value that defines the maximum width of the layout when used within a Container with HorizontalStackDisplay as the specified contentDisplay type. The maximum width can be defined as an integer in points or using one of the available units of measure for components. See Specifying Measurements for Components.\",\n typed: false\n}, {\n name: \"padding\",\n type: [\"Format\\\\Padding\", \"SupportedUnits\", \"integer\"],\n required: false,\n description: \"A value that defines the padding between the content of the component and the edges of the component. Padding can be defined as an integer in points or using one of the available units of measure for components. See Specifying Measurements for Components.\",\n typed: false\n}];\nvar ComponentLayoutDefinition = {\n name: name$d,\n description: description$d,\n version: version$d,\n from_class: from_class$d,\n \"extends\": null,\n typed: typed$d,\n url: url$d,\n properties: properties$d\n};\n\nvar ComponentLayout = function ComponentLayout() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$columnStart = _ref.columnStart,\n columnStart = _ref$columnStart === void 0 ? 0 : _ref$columnStart,\n _ref$columnSpan = _ref.columnSpan,\n columnSpan = _ref$columnSpan === void 0 ? 12 : _ref$columnSpan,\n _ref$marginTop = _ref.marginTop,\n marginTop = _ref$marginTop === void 0 ? 0 : _ref$marginTop,\n _ref$marginBottom = _ref.marginBottom,\n marginBottom = _ref$marginBottom === void 0 ? 20 : _ref$marginBottom;\n\n var content = {\n columnStart: columnStart,\n columnSpan: columnSpan,\n margin: {\n top: marginTop,\n bottom: marginBottom\n }\n };\n return utils.validate(content, ComponentLayoutDefinition);\n};\n\nvar getArticleLayouts = function getArticleLayouts() {\n // const { theme = {} } = newStory || {};\n // const { textStyle = {} } = theme || {};\n // const { heading1 = {}, text = {} } = textStyle || {};\n // const titleStyles = TextStyle(heading1);\n var layoutStyles = Layout();\n var componentLayoutStyles = ComponentLayout();\n var defaultMargin = 20;\n return {\n layout: _objectSpread__default[\"default\"]({}, layoutStyles !== null ? layoutStyles : {}),\n componentLayouts: {\n \"default\": _objectSpread__default[\"default\"]({}, componentLayoutStyles !== null ? componentLayoutStyles : {}),\n container: {\n margin: {\n bottom: 40\n }\n },\n header: {\n ignoreDocumentMargin: true,\n ignoreDocumentGutter: true,\n margin: {\n bottom: 40\n }\n },\n title: {\n margin: {\n bottom: 10\n }\n },\n heading1: {\n margin: {\n bottom: 10\n }\n },\n heading2: {\n margin: {\n bottom: 10\n }\n },\n text: {\n margin: {\n bottom: defaultMargin\n }\n },\n photo: {\n margin: {\n bottom: defaultMargin\n }\n },\n image: {\n margin: {\n bottom: defaultMargin\n }\n },\n gallery: {\n margin: {\n bottom: defaultMargin\n }\n },\n mosaic: {\n margin: {\n bottom: defaultMargin\n }\n },\n audio: {\n margin: {\n bottom: defaultMargin\n }\n },\n video: {\n margin: {\n bottom: defaultMargin\n }\n },\n map: {\n margin: {\n bottom: defaultMargin\n }\n },\n quote: {\n columnStart: 1,\n columnSpan: 5,\n contentInset: {\n left: false\n },\n margin: {\n right: 20,\n bottom: defaultMargin\n }\n }\n }\n };\n};\n\nvar name$c = \"Format\\\\DocumentStyle\";\nvar description$c = \"The object for setting the background color for your article.\";\nvar version$c = \"1.7+\";\nvar from_class$c = null;\nvar typed$c = null;\nvar url$c = \"https://developer.apple.com/documentation/apple_news/documentstyle\";\nvar properties$c = [{\n name: \"backgroundColor\",\n type: \"Color\",\n required: false,\n description: \"The article’s background color. The value defaults to white.\",\n typed: false\n}];\nvar DocumentStyleDefinition = {\n name: name$c,\n description: description$c,\n version: version$c,\n from_class: from_class$c,\n \"extends\": null,\n typed: typed$c,\n url: url$c,\n properties: properties$c\n};\n\nvar DocumentStyle = function DocumentStyle() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$backgroundColor = _ref.backgroundColor,\n backgroundColor = _ref$backgroundColor === void 0 ? null : _ref$backgroundColor;\n\n var content = {\n backgroundColor: backgroundColor\n };\n return utils.validate(content, DocumentStyleDefinition);\n};\n\nvar getArticleDocumentStyle = function getArticleDocumentStyle() {\n var documentStyle = DocumentStyle({\n backgroundColor: '#FFF'\n });\n return {\n documentStyle: documentStyle\n };\n};\n\nvar name$b = \"Format\\\\ArticleDocument\";\nvar description$b = \"The root object of an Apple News article, containing required properties, metadata, content, layout, and styles.\";\nvar version$b = \"1.7+\";\nvar from_class$b = null;\nvar typed$b = null;\nvar url$b = \"https://developer.apple.com/documentation/apple_news/articledocument\";\nvar properties$b = [{\n name: \"components\",\n type: \"array:Format\\\\Component\",\n required: true,\n description: \"An array of components that form the content of this article. Components have different roles and types, such as Photo and Music.\",\n typed: true\n}, {\n name: \"componentTextStyles\",\n type: \"Format\\\\ComponentTextStyles\",\n required: true,\n description: \"The component text styles that can be referred to by components in this document. Each article.json file must have, at minimum, a default component text style named default. Defaults by component role can also be set. See Defining and Using Text Styles.\",\n typed: false\n}, {\n name: \"identifier\",\n type: \"string\",\n required: true,\n description: \"An unique, publisher-provided identifier for this article. This identifier must remain constant; it cannot change when the article is updated.\",\n typed: false\n}, {\n name: \"language\",\n type: \"string\",\n required: true,\n description: \"A code that indicates the language of the article. Use the IANA.org language subtag registry to find the appropriate code; e.g., en for English, or the more specific en_UK for English (U.K.) or en_US for English (U.S.).\",\n typed: false\n}, {\n name: \"layout\",\n type: \"Format\\\\Layout\",\n required: true,\n description: \"The article’s column system. Apple News Format layouts make it possible to recreate print design on iPhone, iPad, iPod touch and Mac. Layout information is also used to calculate relative positioning and size for these devices. See Planning the Layout for Your Article.\",\n typed: false\n}, {\n name: \"title\",\n type: \"string\",\n required: true,\n description: \"The article title or headline. Should be plain text; formatted text (HTML or Markdown) is not supported.\",\n typed: false\n}, {\n name: \"version\",\n type: \"string\",\n required: true,\n description: \"The version of Apple News Format used in the JSON document.\",\n typed: false\n}, {\n name: \"advertisingSettings\",\n type: \"Format\\\\AdvertisingSettings\",\n required: false,\n description: \"An advertisement to be inserted at a position that is both possible and optimal. You can specify what bannerType you want to have automatically inserted.\",\n typed: false\n}, {\n name: \"autoplacement\",\n type: \"Format\\\\AutoPlacement\",\n required: false,\n description: \"The metadata, appearance, and placement of advertising and related content components within Apple News Format articles.\",\n typed: false\n}, {\n name: \"componentLayouts\",\n type: \"Format\\\\ComponentLayouts\",\n required: false,\n description: \"The article-level ComponentLayout objects that can be referred to by their key within the ComponentLayouts object. See Positioning the Content in Your Article.\",\n typed: false\n}, {\n name: \"componentStyles\",\n type: \"Format\\\\ComponentStyles\",\n required: false,\n description: \"The component styles that can be referred to by components within this document. See Enhancing Your Articles with Styles.\",\n typed: false\n}, {\n name: \"documentStyle\",\n type: \"Format\\\\DocumentStyle\",\n required: false,\n description: \"An object containing the background color of the article.\",\n typed: false\n}, {\n name: \"metadata\",\n type: \"Format\\\\Metadata\",\n required: false,\n description: \"The article's metadata, such as publication date, ad campaign data, and other information that is not part of the core article content.\",\n typed: false\n}, {\n name: \"subtitle\",\n type: \"string\",\n required: false,\n description: \"The article subtitle. Should be plain text; formatted text (HTML or Markdown) is not supported.\",\n typed: false\n}, {\n name: \"textStyles\",\n type: \"Format\\\\TextStyles\",\n required: false,\n description: \"The TextStyle objects available to use inline for text in Text components. See Using HTML with Apple News Format, Using Markdown with Apple News Format, and InlineTextStyle.\",\n typed: false\n}];\nvar ArticleDefinition = {\n name: name$b,\n description: description$b,\n version: version$b,\n from_class: from_class$b,\n \"extends\": null,\n typed: typed$b,\n url: url$b,\n properties: properties$b\n};\n\nvar validate = function validate() {\n var content = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var definition = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var validated = content ? Object.keys(content).reduce(function (values, name) {\n var value = content[name] || null; // Find the reference\n\n if (definition && definition.properties) {\n var property = definition.properties.find(function (prop) {\n return prop.name === name;\n }) || null;\n\n if (property !== null) {\n var isValid = true;\n\n switch (property.type) {\n case 'string':\n isValid = isString__default[\"default\"](value);\n break;\n\n case 'integer':\n isValid = isInteger__default[\"default\"](value);\n break;\n\n case 'float':\n isValid = isNumber__default[\"default\"](value);\n break;\n\n default:\n isValid = value !== null;\n break;\n } // Skip the whole thing it cause it aint gonna work\n\n\n if (!isValid && property.required) {\n console.log('VALIDATION ERROR: SKIPPED BECAUSE REQUIRED', content, name); // eslint-disable-line\n\n return null;\n }\n\n if (values !== null && isValid) {\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, values), {}, _defineProperty__default[\"default\"]({}, name, value));\n }\n\n console.log('VALIDATION ERROR: VALID TYPE', name, content); // eslint-disable-line\n }\n }\n\n return values;\n }, {}) : {};\n return !isEmpty__default[\"default\"](validated) ? validated : null;\n};\n\nvar Article = function Article(story, settings) {\n // console.log('ARTICLE', story); // eslint-disable-line\n var _story$title = story.title,\n title = _story$title === void 0 ? 'Article' : _story$title;\n\n var _ref = settings || {},\n _ref$identifier = _ref.identifier,\n identifier = _ref$identifier === void 0 ? 'testArticle' : _ref$identifier;\n\n var content = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({\n title: title,\n version: \"\".concat(1, \".0\").toString(),\n // Note: for some reason only 1.0 works\n identifier: identifier,\n language: 'fr',\n layout: {},\n documentStyle: {},\n components: [],\n componentStyles: {},\n componentTextStyles: {},\n componentLayouts: {}\n }, getArticleDocumentStyle()), getArticleTextStyles()), getArticleLayouts()), getArticleComponents(story)); // console.log('KONTENT', content);\n\n\n return validate(content, ArticleDefinition);\n};\n\nvar name$a = \"Format\\\\Audio\";\nvar description$a = \"The component for adding a playable audio clip.\";\nvar version$a = \"1.7+\";\nvar from_class$a = null;\nvar typed$a = null;\nvar url$a = \"https://developer.apple.com/documentation/apple_news/audio\";\nvar properties$a = [{\n name: \"role\",\n type: \"string\",\n required: true,\n description: \"Always audio for this component.\",\n value: \"audio\",\n read_only: true,\n typed: false\n}, {\n name: \"URL\",\n type: \"uri\",\n required: true,\n description: \"The URL of an audio file (http or https only). This component supports all AVPlayer audio formats, including the following:\",\n typed: false\n}, {\n name: \"accessibilityCaption\",\n type: \"string\",\n required: false,\n description: \"A caption that describes the content of the audio file. The text is used for VoiceOver for iOS and VoiceOver for macOS. If accessibilityCaption is not provided, the caption value is used for VoiceOver for iOS and VoiceOver for macOS.\",\n typed: false\n}, {\n name: \"anchor\",\n type: \"Format\\\\Anchor\",\n required: false,\n description: \"An object that defines vertical alignment with another component.\",\n typed: false\n}, {\n name: \"animation\",\n type: \"Format\\\\ComponentAnimation\",\n required: false,\n description: \"An object that defines an animation to be applied to the component.\",\n typed: true\n}, {\n name: \"behavior\",\n type: \"Format\\\\Behavior\",\n required: false,\n description: \"An object that defines behavior for a component, like Parallax or Springy.\",\n typed: true\n}, {\n name: \"caption\",\n type: \"string\",\n required: false,\n description: \"A caption that describes the content of the audio file. This text is also used by VoiceOver for iOS and VoiceOver for macOS if accessibilityCaption is not provided, or it can be shown when the audio cannot be played.\",\n typed: false\n}, {\n name: \"conditional\",\n type: \"array:Format\\\\ConditionalComponent\",\n required: false,\n description: \"An array of component properties that can be applied conditionally, and the conditions that cause them to be applied.\",\n typed: false\n}, {\n name: \"explicitContent\",\n type: \"boolean\",\n required: false,\n description: \"A Boolean value that indicates the audio may contain explicit content.\",\n typed: false\n}, {\n name: \"hidden\",\n type: \"boolean\",\n required: false,\n description: \"A Boolean value that determines whether the component is hidden.\",\n \"default\": \"false\",\n typed: false\n}, {\n name: \"identifier\",\n type: \"string\",\n required: false,\n description: \"An optional unique identifier for this component. If used, this identifier must be unique across the entire document. You will need an identifier for your component if you want to anchor other components to it.\",\n typed: false\n}, {\n name: \"imageURL\",\n type: \"string\",\n required: false,\n description: \"The URL of an image file that represents the audio file, such as a cover image.\",\n typed: false\n}, {\n name: \"layout\",\n type: [\"Format\\\\ComponentLayout\", \"string\"],\n required: false,\n description: \"An inline ComponentLayout object that contains layout information, or a string reference to a ComponentLayout object that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"style\",\n type: [\"Format\\\\ComponentStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentStyle object that defines the appearance of this component, or a string reference to a ComponentStyle object that is defined at the top level of the document.\",\n typed: false\n}];\nvar AudioDefinition = {\n name: name$a,\n description: description$a,\n version: version$a,\n from_class: from_class$a,\n \"extends\": \"Format\\\\Component\",\n typed: typed$a,\n url: url$a,\n properties: properties$a\n};\n\nvar MediaElement = function MediaElement(story, media) {\n var role = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'audio';\n var definition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var _story$componentLayou = story.componentLayouts,\n componentLayouts = _story$componentLayou === void 0 ? {} : _story$componentLayou;\n\n var _ref = media || {},\n url = _ref.url;\n\n var content = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({\n role: role\n }, componentLayouts[role] ? {\n layout: role\n } : {}), {}, {\n URL: url\n });\n\n var component = utils.validate(content, definition);\n return {\n story: story,\n component: role === 'audio' ? component : component // Figure out HLS for videos\n\n };\n};\n\nvar Audio = function Audio(story, audio) {\n return MediaElement(story, audio, 'audio', AudioDefinition);\n};\n\nvar name$9 = \"Format\\\\Text\";\nvar description$9 = \"Properties shared by all text component types.\";\nvar version$9 = \"1.7+\";\nvar from_class$9 = null;\nvar typed$9 = null;\nvar url$9 = \"https://developer.apple.com/documentation/apple_news/text\";\nvar properties$9 = [{\n name: \"role\",\n type: \"string\",\n required: true,\n description: \"The role of a text component depends on the type of content it contains. For example, a PullQuote should have a role of pullquote, and for text in the article body, the role should be body. See Component.\",\n typed: false\n}, {\n name: \"text\",\n type: \"string\",\n required: true,\n description: \"The text to display in the article, including any formatting tags depending on the format property.\",\n typed: false\n}, {\n name: \"additions\",\n type: \"array:Format\\\\Addition\",\n required: false,\n description: \"An array of all the additions that should be applied to ranges of the component's text.\",\n typed: false\n}, {\n name: \"anchor\",\n type: \"Format\\\\Anchor\",\n required: false,\n description: \"An object that defines vertical alignment with another component.\",\n typed: false\n}, {\n name: \"animation\",\n type: \"Format\\\\ComponentAnimation\",\n required: false,\n description: \"An object that defines an animation to be applied to the component.\",\n typed: true\n}, {\n name: \"behavior\",\n type: \"Format\\\\Behavior\",\n required: false,\n description: \"An object that defines behavior for a component, like Parallax or Springy.\",\n typed: true\n}, {\n name: \"conditional\",\n type: \"array:Format\\\\ConditionalText\",\n required: false,\n description: \"An array of text component properties that can be applied conditionally, and the conditions that cause them to be applied.\",\n typed: false\n}, {\n name: \"format\",\n type: \"enum:string\",\n required: false,\n description: \"The formatting or markup method applied to the text.\",\n \"default\": \"none\",\n enum_values: [\"markdown\", \"html\", \"none\"],\n typed: false\n}, {\n name: \"hidden\",\n type: \"boolean\",\n required: false,\n description: \"A Boolean value that determines whether the component is hidden.\",\n \"default\": \"false\",\n typed: false\n}, {\n name: \"identifier\",\n type: \"string\",\n required: false,\n description: \"An optional unique identifier for this component. If used, this identifier must be unique across the entire document. You will need an identifier for your component if you want to anchor other components to it.\",\n typed: false\n}, {\n name: \"inlineTextStyles\",\n type: \"array:Format\\\\InlineTextStyle\",\n required: false,\n description: \"An array of InlineTextStyle objects you can use to apply different text styles to ranges of text. For each InlineTextStyle, you should supply a rangeStart, rangeLength, and either a text style or the identifier of a text style that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"layout\",\n type: [\"Format\\\\ComponentLayout\", \"string\"],\n required: false,\n description: \"An inline ComponentLayout object that contains layout information, or a string reference to a ComponentLayout that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"style\",\n type: [\"Format\\\\ComponentStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentStyle object that defines the appearance of this component, or a string reference to a ComponentStyle object that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"textStyle\",\n type: [\"Format\\\\ComponentTextStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentTextStyle object that contains styling information, or a string reference to a ComponentTextStyle object that is defined at the top level of the document.\",\n typed: false\n}];\nvar TextDefinition = {\n name: name$9,\n description: description$9,\n version: version$9,\n from_class: from_class$9,\n \"extends\": \"Format\\\\Component\",\n typed: typed$9,\n url: url$9,\n properties: properties$9\n};\n\nvar TextElement = function TextElement(story, text) {\n var role = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'text';\n var definition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var props = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};\n var _story$componentLayou = story.componentLayouts,\n componentLayouts = _story$componentLayou === void 0 ? {} : _story$componentLayou;\n\n var _ref = text || {},\n _ref$body = _ref.body,\n body = _ref$body === void 0 ? null : _ref$body,\n _ref$textStyle = _ref.textStyle,\n textStyle = _ref$textStyle === void 0 ? null : _ref$textStyle;\n\n var style = textStyle ? TextStyle(textStyle) : null;\n var styleName = style !== null ? hash__default[\"default\"](style) : null;\n var hasStyle = style !== null && styleName !== null;\n\n var content = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({\n role: role\n }, componentLayouts[role] ? {\n layout: role\n } : {}), {}, {\n text: body,\n format: 'html'\n }, props);\n\n var component = definition ? utils.validate(content, definition) : null;\n return {\n story: _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, story), {}, {\n componentStyles: _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, story.componentStyles || {}), component !== null && hasStyle ? _defineProperty__default[\"default\"]({}, styleName, style) : {})\n }),\n component: component\n };\n};\n\nvar Author = function Author(story, text) {\n return TextElement(story, text, 'text', TextDefinition, {\n textStyle: 'style-author'\n });\n};\n\nvar name$8 = \"Format\\\\Container\";\nvar description$8 = \"Properties shared by all container types.\";\nvar version$8 = \"1.7+\";\nvar from_class$8 = null;\nvar typed$8 = null;\nvar url$8 = \"https://developer.apple.com/documentation/apple_news/container\";\nvar properties$8 = [{\n name: \"role\",\n type: \"string\",\n required: true,\n description: \"Always container for this component.\",\n value: \"container\",\n read_only: true,\n typed: false\n}, {\n name: \"additions\",\n type: \"array:Format\\\\ComponentLink\",\n required: false,\n description: \"An array of ComponentLink objects. This can be used to create a ComponentLink, allowing a link to anywhere in News. Adding a link to a container component makes the entire component interactable. Any links used in its child components are not interactable.\",\n typed: false\n}, {\n name: \"anchor\",\n type: \"Format\\\\Anchor\",\n required: false,\n description: \"An object that defines vertical alignment with another component.\",\n typed: false\n}, {\n name: \"animation\",\n type: \"Format\\\\ComponentAnimation\",\n required: false,\n description: \"An object that defines an animation to be applied to the component.\",\n typed: true\n}, {\n name: \"behavior\",\n type: \"Format\\\\Behavior\",\n required: false,\n description: \"An object that defines behavior for a component, like Parallax or Springy.\",\n typed: true\n}, {\n name: \"components\",\n type: \"array:Format\\\\Component\",\n required: false,\n description: \"An array of components to display as child components. Child components are positioned and rendered relative to their parent component.\",\n typed: true\n}, {\n name: \"conditional\",\n type: \"array:Format\\\\ConditionalContainer\",\n required: false,\n description: \"An array of container properties that can be applied conditionally, and the conditions that cause them to be applied.\",\n typed: false\n}, {\n name: \"contentDisplay\",\n type: [\"Format\\\\CollectionDisplay\", \"Format\\\\HorizontalStackDisplay\"],\n required: false,\n description: \"The object that defines the way child components should be positioned within this container component. A HorizontalStackDisplay for example, allows for displaying child components side-by-side.\",\n typed: false\n}, {\n name: \"hidden\",\n type: \"boolean\",\n required: false,\n description: \"A Boolean value that determines whether the component is hidden.\",\n \"default\": \"false\",\n typed: false\n}, {\n name: \"identifier\",\n type: \"string\",\n required: false,\n description: \"An optional unique identifier for this component. If used, this identifier must be unique across the entire document. You will need an identifier for your component if you want to anchor other components to it.\",\n typed: false\n}, {\n name: \"layout\",\n type: [\"Format\\\\ComponentLayout\", \"string\"],\n required: false,\n description: \"An inline ComponentLayout object that contains layout information, or a string reference to a ComponentLayout object that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"style\",\n type: [\"Format\\\\ComponentStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentStyle object that defines the appearance of this component, or a string reference to a ComponentStyle object that is defined at the top level of the document.\",\n typed: false\n}];\nvar ContainerDefinition = {\n name: name$8,\n description: description$8,\n version: version$8,\n from_class: from_class$8,\n \"extends\": \"Format\\\\Component\",\n typed: typed$8,\n url: url$8,\n properties: properties$8\n};\n\nvar Container = function Container(story, components) {\n var content = {\n role: 'container',\n components: components\n };\n var component = utils.validate(content, ContainerDefinition);\n return {\n story: story,\n component: components && components.length > 0 ? component : null\n };\n};\n\nvar name$7 = \"Format\\\\Gallery\";\nvar description$7 = \"The component for displaying a sequence of images in a specific order as a horizontal strip.\";\nvar version$7 = \"1.7+\";\nvar from_class$7 = null;\nvar typed$7 = null;\nvar url$7 = \"https://developer.apple.com/documentation/apple_news/gallery\";\nvar properties$7 = [{\n name: \"items\",\n type: \"array:Format\\\\GalleryItem\",\n required: true,\n description: \"An array of the images that appear in the gallery. The order used in the array is the order of the images in the gallery. Gallery items can be JPEG (with .jpg or .jpeg extension), PNG, or GIF images.\",\n typed: false\n}, {\n name: \"role\",\n type: \"string\",\n required: true,\n description: \"Always gallery for this component.\",\n value: \"gallery\",\n read_only: true,\n typed: false\n}, {\n name: \"anchor\",\n type: \"Format\\\\Anchor\",\n required: false,\n description: \"An object that defines vertical alignment with another component.\",\n typed: false\n}, {\n name: \"animation\",\n type: \"Format\\\\ComponentAnimation\",\n required: false,\n description: \"An object that defines an animation to be applied to the component.\",\n typed: true\n}, {\n name: \"behavior\",\n type: \"Format\\\\Behavior\",\n required: false,\n description: \"An object that defines behavior for a component, like Parallax or Springy.\",\n typed: true\n}, {\n name: \"conditional\",\n type: \"array:Format\\\\ConditionalComponent\",\n required: false,\n description: \"An array of component properties that can be applied conditionally, and the conditions that cause them to be applied.\",\n typed: false\n}, {\n name: \"hidden\",\n type: \"boolean\",\n required: false,\n description: \"A Boolean value that determines whether the component is hidden.\",\n \"default\": \"false\",\n typed: false\n}, {\n name: \"identifier\",\n type: \"string\",\n required: false,\n description: \"An optional unique identifier for this component. If used, this identifier must be unique across the entire document. You will need an identifier for your component if you want to anchor other components to it.\",\n typed: false\n}, {\n name: \"layout\",\n type: [\"Format\\\\ComponentLayout\", \"string\"],\n required: false,\n description: \"An inline ComponentLayout object that contains layout information, or a string reference to a ComponentLayout object that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"style\",\n type: [\"Format\\\\ComponentStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentStyle object that defines the appearance of this component, or a string reference to a ComponentStyle object that is defined at the top level of the document.\",\n typed: false\n}];\nvar GalleryDefinition = {\n name: name$7,\n description: description$7,\n version: version$7,\n from_class: from_class$7,\n \"extends\": \"Format\\\\Component\",\n typed: typed$7,\n url: url$7,\n properties: properties$7\n};\n\nvar GalleryElement = function GalleryElement(story, gallery) {\n var role = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'gallery';\n var definition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var _story$componentLayou = story.componentLayouts,\n componentLayouts = _story$componentLayou === void 0 ? {} : _story$componentLayou;\n\n var _ref = gallery || {},\n _ref$images = _ref.images,\n images = _ref$images === void 0 ? [] : _ref$images;\n\n var galleryImages = images !== null ? images.map(function (image) {\n if (image == null) {\n return null;\n }\n\n var _ref2 = image || {},\n _ref2$media = _ref2.media,\n media = _ref2$media === void 0 ? null : _ref2$media,\n _ref2$url = _ref2.url,\n url = _ref2$url === void 0 ? null : _ref2$url,\n _ref2$caption = _ref2.caption,\n caption = _ref2$caption === void 0 ? null : _ref2$caption;\n\n var mediaUrl = media !== null && media.url ? media.url : null;\n var imageUrl = url !== null ? url : null;\n var hasUrl = imageUrl || mediaUrl;\n var imageCaption = caption !== null && caption.body ? utils.stripTags(caption.body) : null;\n return hasUrl ? _objectSpread__default[\"default\"]({\n URL: imageUrl || mediaUrl\n }, imageCaption !== null ? {\n caption: imageCaption\n } : {}) : null;\n }).filter(function (i) {\n return i !== null;\n }) : [];\n\n var content = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({\n role: role\n }, componentLayouts[role] ? {\n layout: role\n } : {}), {}, {\n items: galleryImages\n });\n\n var component = utils.validate(content, definition);\n return {\n story: story,\n component: component\n };\n};\n\nvar Gallery = function Gallery(story, gallery) {\n return GalleryElement(story, gallery, 'gallery', GalleryDefinition);\n};\n\nvar name$6 = \"Format\\\\Heading\";\nvar description$6 = \"The text component for adding a heading.\";\nvar version$6 = \"1.7+\";\nvar from_class$6 = null;\nvar typed$6 = null;\nvar url$6 = \"https://developer.apple.com/documentation/apple_news/heading\";\nvar properties$6 = [{\n name: \"role\",\n type: \"enum:string\",\n required: true,\n description: \"Always one of these roles for this component: heading, heading1, heading2, heading3, heading4, heading5, or heading6.\",\n enum_values: [\"heading\", \"heading1\", \"heading2\", \"heading3\", \"heading4\", \"heading5\", \"heading6\"],\n value: \"heading\",\n typed: false\n}, {\n name: \"text\",\n type: \"string\",\n required: true,\n description: \"The text to display in the article, including any formatting tags depending on the format property.\",\n typed: false\n}, {\n name: \"additions\",\n type: \"array:Format\\\\Addition\",\n required: false,\n description: \"An array of all the additions that should be applied to ranges of the component's text.\",\n typed: false\n}, {\n name: \"anchor\",\n type: \"Format\\\\Anchor\",\n required: false,\n description: \"An object that defines vertical alignment with another component.\",\n typed: false\n}, {\n name: \"animation\",\n type: \"Format\\\\ComponentAnimation\",\n required: false,\n description: \"An object that defines an animation to be applied to the component.\",\n typed: true\n}, {\n name: \"behavior\",\n type: \"Format\\\\Behavior\",\n required: false,\n description: \"An object that defines behavior for a component, like Parallax or Springy.\",\n typed: true\n}, {\n name: \"conditional\",\n type: \"array:Format\\\\ConditionalText\",\n required: false,\n description: \"An array of text components that can be applied conditionally, and the conditions that cause them to be applied.\",\n typed: false\n}, {\n name: \"format\",\n type: \"enum:string\",\n required: false,\n description: \"The formatting or markup method applied to the text.\",\n \"default\": \"none\",\n enum_values: [\"markdown\", \"html\", \"none\"],\n typed: false\n}, {\n name: \"hidden\",\n type: \"boolean\",\n required: false,\n description: \"A Boolean value that determines whether the component is hidden.\",\n \"default\": \"false\",\n typed: false\n}, {\n name: \"identifier\",\n type: \"string\",\n required: false,\n description: \"An optional unique identifier for this component. If used, this identifier must be unique across the entire document. You will need an identifier for your component if you want to anchor other components to it.\",\n typed: false\n}, {\n name: \"inlineTextStyles\",\n type: \"array:Format\\\\InlineTextStyle\",\n required: false,\n description: \"An array of InlineTextStyle objects that you can use to apply different text styles to ranges of text. For each InlineTextStyle, you should supply a rangeStart, a rangeLength, and either a TextStyle object or the identifier of a TextStyle that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"layout\",\n type: [\"Format\\\\ComponentLayout\", \"string\"],\n required: false,\n description: \"An inline ComponentLayout object that contains layout information, or a string reference to a ComponentLayout that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"style\",\n type: [\"Format\\\\ComponentStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentStyle object that defines the appearance of this component, or a string reference to a ComponentStyle that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"textStyle\",\n type: [\"Format\\\\ComponentTextStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentTextStyle object that contains styling information, or a string reference to a ComponentTextStyle object that is defined at the top level of the document.\",\n typed: false\n}];\nvar HeadingDefinition = {\n name: name$6,\n description: description$6,\n version: version$6,\n from_class: from_class$6,\n \"extends\": \"Format\\\\Text\",\n typed: typed$6,\n url: url$6,\n properties: properties$6\n};\n\nvar Heading1 = function Heading1(story, heading) {\n return TextElement(story, heading, 'heading1', HeadingDefinition);\n};\n\nvar Heading2 = function Heading2(story, heading) {\n return TextElement(story, heading, 'heading2', HeadingDefinition);\n};\n\nvar name$5 = \"Format\\\\Image\";\nvar description$5 = \"The component for displaying JPEG, PNG, or GIF images.\";\nvar version$5 = \"1.7+\";\nvar from_class$5 = null;\nvar typed$5 = null;\nvar url$5 = \"https://developer.apple.com/documentation/apple_news/image\";\nvar properties$5 = [{\n name: \"role\",\n type: \"string\",\n required: true,\n description: \"Always image for this component.\",\n value: \"image\",\n read_only: true,\n typed: false\n}, {\n name: \"URL\",\n type: \"uri\",\n required: true,\n description: \"The URL of an image file.\",\n typed: false\n}, {\n name: \"accessibilityCaption\",\n type: \"string\",\n required: false,\n description: \"A caption that describes the image. The text is used for VoiceOver for iOS and VoiceOver for macOS. If accessibilityCaption is not provided, the caption value is used for VoiceOver for iOS and VoiceOver for macOS.\",\n typed: false\n}, {\n name: \"additions\",\n type: \"array:Format\\\\ComponentLink\",\n required: false,\n description: \"An array of ComponentLink objects. This can be used to create a ComponentLink, allowing a link to anywhere in News.\",\n typed: false\n}, {\n name: \"anchor\",\n type: \"Format\\\\Anchor\",\n required: false,\n description: \"An object that defines vertical alignment with another component.\",\n typed: false\n}, {\n name: \"animation\",\n type: \"Format\\\\ComponentAnimation\",\n required: false,\n description: \"An object that defines an animation to be applied to the component.\",\n typed: true\n}, {\n name: \"behavior\",\n type: \"Format\\\\Behavior\",\n required: false,\n description: \"An object that defines behavior for a component, like Parallax or Springy.\",\n typed: true\n}, {\n name: \"caption\",\n type: [\"Format\\\\CaptionDescriptor\", \"string\"],\n required: false,\n description: \"A caption that describes the image. The text is seen when the image is in full screen. This text is also used by VoiceOver for iOS and VoiceOver for macOS, if accessibilityCaption text is not provided. The caption text does not appear in the main article view. To display a caption in the main article view, use the Caption component.\",\n typed: false\n}, {\n name: \"conditional\",\n type: \"array:Format\\\\ConditionalComponent\",\n required: false,\n description: \"An array of component properties that can be applied conditionally, and the conditions that cause them to be applied.\",\n typed: false\n}, {\n name: \"explicitContent\",\n type: \"boolean\",\n required: false,\n description: \"A Boolean value that indicates the image may contain explicit content.\",\n typed: false\n}, {\n name: \"hidden\",\n type: \"boolean\",\n required: false,\n description: \"A Boolean value that determines whether the component is hidden.\",\n \"default\": \"false\",\n typed: false\n}, {\n name: \"identifier\",\n type: \"string\",\n required: false,\n description: \"An optional unique identifier for this component. If used, this identifier must be unique across the entire document. You will need an identifier for your component if you want to anchor other components to it.\",\n typed: false\n}, {\n name: \"layout\",\n type: [\"Format\\\\ComponentLayout\", \"string\"],\n required: false,\n description: \"An inline ComponentLayout object that contains layout information, or a string reference to a ComponentLayout object that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"style\",\n type: [\"Format\\\\ComponentStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentStyle object that defines the appearance of this component, or a string reference to a ComponentStyle object that is defined at the top level of the document.\",\n typed: false\n}];\nvar ImageDefinition = {\n name: name$5,\n description: description$5,\n version: version$5,\n from_class: from_class$5,\n \"extends\": \"Format\\\\Component\",\n typed: typed$5,\n url: url$5,\n properties: properties$5\n};\n\nvar ImageElement = function ImageElement(story, image) {\n var role = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'image';\n var definition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var _story$componentLayou = story.componentLayouts,\n componentLayouts = _story$componentLayou === void 0 ? {} : _story$componentLayou;\n\n var _ref = image || {},\n url = _ref.url;\n\n var content = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({\n role: role\n }, componentLayouts[role] ? {\n layout: role\n } : {}), {}, {\n URL: url\n });\n\n var component = utils.validate(content, definition);\n return {\n story: story,\n component: component\n };\n};\n\nvar Image = function Image(story, image) {\n return ImageElement(story, image, 'image', ImageDefinition);\n};\n\nvar name$4 = \"Format\\\\Map\";\nvar description$4 = \"The component for adding a map.\";\nvar version$4 = \"1.7+\";\nvar from_class$4 = null;\nvar typed$4 = null;\nvar url$4 = \"https://developer.apple.com/documentation/apple_news/map\";\nvar properties$4 = [{\n name: \"latitude\",\n type: \"number\",\n required: true,\n description: \"The latitude of the map’s center. Provide both a latitude and longitude, or an array of items.\",\n typed: false\n}, {\n name: \"longitude\",\n type: \"number\",\n required: true,\n description: \"The longitude of the map’s center. Provide both a latitude and longitude, or an array of items.\",\n typed: false\n}, {\n name: \"role\",\n type: \"string\",\n required: true,\n description: \"Always map for this component.\",\n value: \"map\",\n read_only: true,\n typed: false\n}, {\n name: \"accessibilityCaption\",\n type: \"string\",\n required: false,\n description: \"The caption that describes what is visible on the map. The text is used for VoiceOver for iOS and VoiceOver for macOS. The value in this property should describe the contents of the map for non-sighted users. If accessibilityCaption is not provided the caption value is used for VoiceOver for iOS and VoiceOver for macOS.\",\n typed: false\n}, {\n name: \"anchor\",\n type: \"Format\\\\Anchor\",\n required: false,\n description: \"An object that defines vertical alignment with another component.\",\n typed: false\n}, {\n name: \"animation\",\n type: \"Format\\\\ComponentAnimation\",\n required: false,\n description: \"An object that defines an animation to be applied to the component.\",\n typed: true\n}, {\n name: \"behavior\",\n type: \"Format\\\\Behavior\",\n required: false,\n description: \"An object that defines behavior for a component, like Parallax or Springy.\",\n typed: true\n}, {\n name: \"caption\",\n type: \"string\",\n required: false,\n description: \"A string that describes what is displayed on the map. The caption is displayed in the full screen version of the map. This text is also used by VoiceOver for iOS and VoiceOver for macOS, if accessibilityCaption text is not provided.\",\n typed: false\n}, {\n name: \"conditional\",\n type: \"array:Format\\\\ConditionalComponent\",\n required: false,\n description: \"An array of component properties that can be applied conditionally, and the conditions that cause them to be applied.\",\n typed: false\n}, {\n name: \"hidden\",\n type: \"boolean\",\n required: false,\n description: \"A Boolean value that determines whether the component is hidden.\",\n \"default\": \"false\",\n typed: false\n}, {\n name: \"identifier\",\n type: \"string\",\n required: false,\n description: \"An optional unique identifier for this component. If used, this identifier must be unique across the entire document. You will need an identifier for your component if you want to anchor other components to it.\",\n typed: false\n}, {\n name: \"items\",\n type: \"array:Format\\\\MapItem\",\n required: false,\n description: \"An array of MapItems. If latitude and longitude are not set, at least one item containing latitude and longitude should be added to the items array.\",\n typed: false\n}, {\n name: \"layout\",\n type: [\"Format\\\\ComponentLayout\", \"string\"],\n required: false,\n description: \"An inline ComponentLayout object that contains layout information, or a string reference to a ComponentLayout object that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"mapType\",\n type: \"enum:string\",\n required: false,\n description: \"A string that defines the type of map to display by default.\",\n \"default\": \"standard\",\n enum_values: [\"standard\", \"hybrid\", \"satellite\"],\n typed: false\n}, {\n name: \"span\",\n type: \"Format\\\\MapSpan\",\n required: false,\n description: \"An object for defining the visible area of a map, relative to its center. A span is defined in deltas for latitude and longitude.\",\n typed: false\n}, {\n name: \"style\",\n type: [\"Format\\\\ComponentStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentStyle object that defines the appearance of this component, or a string reference to a ComponentStyle object that is defined at the top level of the document.\",\n typed: false\n}];\nvar MapDefinition = {\n name: name$4,\n description: description$4,\n version: version$4,\n from_class: from_class$4,\n \"extends\": \"Format\\\\Component\",\n typed: typed$4,\n url: url$4,\n properties: properties$4\n};\n\nvar MapElement = function MapElement(story, map) {\n var role = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'map';\n var definition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var _story$componentLayou = story.componentLayouts,\n componentLayouts = _story$componentLayou === void 0 ? {} : _story$componentLayou;\n\n var _ref = map || {},\n _ref$latitude = _ref.latitude,\n latitude = _ref$latitude === void 0 ? null : _ref$latitude,\n _ref$longitude = _ref.longitude,\n longitude = _ref$longitude === void 0 ? null : _ref$longitude;\n\n var content = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({\n role: role\n }, componentLayouts[role] ? {\n layout: role\n } : {}), {}, {\n latitude: latitude,\n longitude: longitude\n });\n\n var component = utils.validate(content, definition);\n return {\n story: story,\n component: component\n };\n};\n\nvar Map = function Map(story, map) {\n return MapElement(story, map, 'map', MapDefinition);\n};\n\nvar name$3 = \"Format\\\\Mosaic\";\nvar description$3 = \"The component for displaying a set of images as tiles in no particular order.\";\nvar version$3 = \"1.7+\";\nvar from_class$3 = null;\nvar typed$3 = null;\nvar url$3 = \"https://developer.apple.com/documentation/apple_news/mosaic\";\nvar properties$3 = [{\n name: \"items\",\n type: \"array:Format\\\\GalleryItem\",\n required: true,\n description: \"An array of the images that will appear in the mosaic. The order used in the array may affect layout and positioning in the mosaic, depending on the device or width. Gallery items can be JPEG (with .jpg or .jpeg extension), PNG, or GIF images. If the GIF is animated, the animation plays only in full screen.\",\n typed: false\n}, {\n name: \"role\",\n type: \"string\",\n required: true,\n description: \"Always mosaic for this component.\",\n value: \"mosaic\",\n read_only: true,\n typed: false\n}, {\n name: \"anchor\",\n type: \"Format\\\\Anchor\",\n required: false,\n description: \"An object that defines vertical alignment with another component.\",\n typed: false\n}, {\n name: \"animation\",\n type: \"Format\\\\ComponentAnimation\",\n required: false,\n description: \"An object that defines an animation to be applied to the component.\",\n typed: true\n}, {\n name: \"behavior\",\n type: \"Format\\\\Behavior\",\n required: false,\n description: \"An object that defines behavior for a component, like Parallax or Springy.\",\n typed: true\n}, {\n name: \"conditional\",\n type: \"array:Format\\\\ConditionalComponent\",\n required: false,\n description: \"An array of component properties that can be applied conditionally, and the conditions that cause them to be applied.\",\n typed: false\n}, {\n name: \"hidden\",\n type: \"boolean\",\n required: false,\n description: \"A Boolean value that determines whether the component is hidden.\",\n \"default\": \"false\",\n typed: false\n}, {\n name: \"identifier\",\n type: \"string\",\n required: false,\n description: \"An optional unique identifier for this component. If used, this identifier must be unique across the entire document. You will need an identifier for your component if you want to anchor other components to it.\",\n typed: false\n}, {\n name: \"layout\",\n type: [\"Format\\\\ComponentLayout\", \"string\"],\n required: false,\n description: \"An inline ComponentLayout object that contains layout information, or a string reference to a ComponentLayout object that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"style\",\n type: [\"Format\\\\ComponentStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentStyle object that defines the appearance of this component, or a string reference to a ComponentStyle object that is defined at the top level of the document.\",\n typed: false\n}];\nvar MosaicDefinition = {\n name: name$3,\n description: description$3,\n version: version$3,\n from_class: from_class$3,\n \"extends\": \"Format\\\\Component\",\n typed: typed$3,\n url: url$3,\n properties: properties$3\n};\n\nvar Mosaic = function Mosaic(story, mosaic) {\n return GalleryElement(story, mosaic, 'mosaic', MosaicDefinition);\n};\n\nvar name$2 = \"Format\\\\Quote\";\nvar description$2 = \"The component for including a quote.\";\nvar version$2 = \"1.7+\";\nvar from_class$2 = null;\nvar typed$2 = null;\nvar url$2 = \"https://developer.apple.com/documentation/apple_news/quote\";\nvar properties$2 = [{\n name: \"role\",\n type: \"string\",\n required: true,\n description: \"Always quote for this component.\",\n value: \"quote\",\n read_only: true,\n typed: false\n}, {\n name: \"text\",\n type: \"string\",\n required: true,\n description: \"The text to display in the article, including any formatting tags depending on the format property.\",\n typed: false\n}, {\n name: \"additions\",\n type: \"array:Format\\\\Addition\",\n required: false,\n description: \"An array of all the additions that should be applied to ranges of the component's text.\",\n typed: false\n}, {\n name: \"anchor\",\n type: \"Format\\\\Anchor\",\n required: false,\n description: \"An object that defines vertical alignment with another component.\",\n typed: false\n}, {\n name: \"animation\",\n type: \"Format\\\\ComponentAnimation\",\n required: false,\n description: \"An object that defines an animation to be applied to the component.\",\n typed: true\n}, {\n name: \"behavior\",\n type: \"Format\\\\Behavior\",\n required: false,\n description: \"An object that defines behavior for a component, like Parallax or Springy.\",\n typed: true\n}, {\n name: \"conditional\",\n type: \"array:Format\\\\ConditionalText\",\n required: false,\n description: \"An array of text components that can be applied conditionally and the conditions that cause them to be applied.\",\n typed: false\n}, {\n name: \"format\",\n type: \"enum:string\",\n required: false,\n description: \"The formatting or markup method applied to the text.\",\n \"default\": \"none\",\n enum_values: [\"markdown\", \"html\", \"none\"],\n typed: false\n}, {\n name: \"hidden\",\n type: \"boolean\",\n required: false,\n description: \"A Boolean value that determines whether the component is hidden.\",\n \"default\": \"false\",\n typed: false\n}, {\n name: \"identifier\",\n type: \"string\",\n required: false,\n description: \"An optional unique identifier for this component. If used, this identifier must be unique across the entire document. You will need an identifier for your component if you want to anchor other components to it.\",\n typed: false\n}, {\n name: \"inlineTextStyles\",\n type: \"array:Format\\\\InlineTextStyle\",\n required: false,\n description: \"An array of InlineTextStyle objects that you can use to apply different text styles to ranges of text. For each InlineTextStyle, you should supply a rangeStart, rangeLength, and either a TextStyle object or the identifier of a TextStyle that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"layout\",\n type: [\"Format\\\\ComponentLayout\", \"string\"],\n required: false,\n description: \"An inline ComponentLayout object that contains layout information, or a string reference to a ComponentLayout object that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"style\",\n type: [\"Format\\\\ComponentStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentStyle object that defines the appearance of this component, or a string reference to a ComponentStyle object that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"textStyle\",\n type: [\"Format\\\\ComponentTextStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentTextStyle object that contains styling information, or a string reference to a ComponentTextStyle object that is defined at the top level of the document.\",\n typed: false\n}];\nvar QuoteDefinition = {\n name: name$2,\n description: description$2,\n version: version$2,\n from_class: from_class$2,\n \"extends\": \"Format\\\\Text\",\n typed: typed$2,\n url: url$2,\n properties: properties$2\n};\n\nvar Quote = function Quote(story, quote) {\n return TextElement(story, quote, 'quote', QuoteDefinition);\n};\n\nvar name$1 = \"Format\\\\Title\";\nvar description$1 = \"The component for adding an article title.\";\nvar version$1 = \"1.7+\";\nvar from_class$1 = null;\nvar typed$1 = null;\nvar url$1 = \"https://developer.apple.com/documentation/apple_news/title\";\nvar properties$1 = [{\n name: \"role\",\n type: \"string\",\n required: true,\n description: \"Always title for this component.\",\n value: \"title\",\n read_only: true,\n typed: false\n}, {\n name: \"text\",\n type: \"string\",\n required: true,\n description: \"The text to display in the article, including any formatting tags depending on the format property.\",\n typed: false\n}, {\n name: \"additions\",\n type: \"array:Format\\\\Addition\",\n required: false,\n description: \"An array of all the additions that should be applied to ranges of the component's text.\",\n typed: false\n}, {\n name: \"anchor\",\n type: \"Format\\\\Anchor\",\n required: false,\n description: \"An object that defines vertical alignment with another component.\",\n typed: false\n}, {\n name: \"animation\",\n type: \"Format\\\\ComponentAnimation\",\n required: false,\n description: \"An object that defines an animation to be applied to the component.\",\n typed: true\n}, {\n name: \"behavior\",\n type: \"Format\\\\Behavior\",\n required: false,\n description: \"An object that defines behavior for a component, like Parallax or Springy.\",\n typed: true\n}, {\n name: \"conditional\",\n type: \"array:Format\\\\ConditionalText\",\n required: false,\n description: \"An array of text components that can be applied conditionally, and the conditions that cause them to be applied.\",\n typed: false\n}, {\n name: \"format\",\n type: \"enum:string\",\n required: false,\n description: \"The formatting or markup method applied to the text.\",\n \"default\": \"none\",\n enum_values: [\"markdown\", \"html\", \"none\"],\n typed: false\n}, {\n name: \"hidden\",\n type: \"boolean\",\n required: false,\n description: \"A Boolean value that determines whether the component is hidden.\",\n \"default\": \"false\",\n typed: false\n}, {\n name: \"identifier\",\n type: \"string\",\n required: false,\n description: \"An optional unique identifier for this component. If used, this identifier must be unique across the entire document. You will need an identifier for your component if you want to anchor other components to it.\",\n typed: false\n}, {\n name: \"inlineTextStyles\",\n type: \"array:Format\\\\InlineTextStyle\",\n required: false,\n description: \"An array of InlineTextStyle objects that you can use to apply different text styles to ranges of text. For each InlineTextStyle, you should supply a rangeStart, a rangeLength, and either a TextStyle object or the identifier of a TextStyle that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"layout\",\n type: [\"Format\\\\ComponentLayout\", \"string\"],\n required: false,\n description: \"An inline ComponentLayout object that contains layout information, or a string reference to a ComponentLayout that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"style\",\n type: [\"Format\\\\ComponentStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentStyle object that defines the appearance of this component, or a string reference to a ComponentStyle that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"textStyle\",\n type: [\"Format\\\\ComponentTextStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentTextStyle object that contains styling information, or a string reference to a ComponentTextStyle object that is defined at the top level of the document.\",\n typed: false\n}];\nvar TitleDefinition = {\n name: name$1,\n description: description$1,\n version: version$1,\n from_class: from_class$1,\n \"extends\": \"Format\\\\Text\",\n typed: typed$1,\n url: url$1,\n properties: properties$1\n};\n\nvar Subtitle = function Subtitle(story, subtitle) {\n return TextElement(story, subtitle, 'title', TitleDefinition);\n};\n\nvar Text = function Text(story, text) {\n return TextElement(story, text, 'text', TextDefinition);\n};\n\nvar Title = function Title(story, title) {\n return TextElement(story, title, 'title', TitleDefinition);\n};\n\nvar name = \"Format\\\\Video\";\nvar description = \"The component for adding a video.\";\nvar version = \"1.7+\";\nvar from_class = null;\nvar typed = null;\nvar url = \"https://developer.apple.com/documentation/apple_news/video\";\nvar properties = [{\n name: \"role\",\n type: \"string\",\n required: true,\n description: \"Always video for this component.\",\n value: \"video\",\n read_only: true,\n typed: false\n}, {\n name: \"URL\",\n type: \"uri\",\n required: true,\n description: \"The URL of a video file that can be played using AVPlayer. HTTP Live Streaming (HLS) is highly recommended (.M3U8). For more information on HLS, refer to the iOS developer documentation on HTTP Live Streaming, especially the following sections of the HTTP Live Streaming Overview:\",\n typed: false\n}, {\n name: \"accessibilityCaption\",\n type: \"string\",\n required: false,\n description: \"A caption that describes the content of the video. The text is used for VoiceOver for iOS and VoiceOver for macOS. If accessibilityCaption is not provided, the caption value is used for VoiceOver for iOS and VoiceOver for macOS.\",\n typed: false\n}, {\n name: \"anchor\",\n type: \"Format\\\\Anchor\",\n required: false,\n description: \"An object that defines vertical alignment with another component.\",\n typed: false\n}, {\n name: \"animation\",\n type: \"Format\\\\ComponentAnimation\",\n required: false,\n description: \"An object that defines an animation to be applied to the component.\",\n typed: true\n}, {\n name: \"aspectRatio\",\n type: \"number\",\n required: false,\n description: \"The aspect ratio of the video: width divided by height. The aspect ratio determines the height of the video player.\",\n \"default\": 1.777,\n typed: false\n}, {\n name: \"behavior\",\n type: \"Format\\\\Behavior\",\n required: false,\n description: \"An object that defines behavior for a component, like Parallax or Springy.\",\n typed: true\n}, {\n name: \"caption\",\n type: \"string\",\n required: false,\n description: \"A caption that describes the content of the video file. This text is also used by VoiceOver for iOS and VoiceOver for macOS if accessibilityCaption is not provided, or it can be shown when the video cannot be played.\",\n typed: false\n}, {\n name: \"conditional\",\n type: \"array:Format\\\\ConditionalComponent\",\n required: false,\n description: \"An array of component properties that can be applied conditionally, and the conditions that cause them to be applied.\",\n typed: false\n}, {\n name: \"explicitContent\",\n type: \"boolean\",\n required: false,\n description: \"A Boolean value that indicates that the video or its still image may contain explicit content.\",\n typed: false\n}, {\n name: \"hidden\",\n type: \"boolean\",\n required: false,\n description: \"A Boolean value that determines whether the component is hidden.\",\n \"default\": \"false\",\n typed: false\n}, {\n name: \"identifier\",\n type: \"string\",\n required: false,\n description: \"An optional unique identifier for this component. If used, this identifier must be unique across the entire document. You will need an identifier for your component if you want to anchor other components to it.\",\n typed: false\n}, {\n name: \"layout\",\n type: [\"Format\\\\ComponentLayout\", \"string\"],\n required: false,\n description: \"An inline ComponentLayout object that contains layout information, or a string reference to a ComponentLayout object that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"stillURL\",\n type: \"uri\",\n required: false,\n description: \"The URL of an image file that should be shown when the video has not yet been played.\",\n typed: false\n}, {\n name: \"style\",\n type: [\"Format\\\\ComponentStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentStyle object that defines the appearance of this component, or a string reference to a ComponentStyle object that is defined at the top level of the document.\",\n typed: false\n}];\nvar VideoDefinition = {\n name: name,\n description: description,\n version: version,\n from_class: from_class,\n \"extends\": \"Format\\\\Component\",\n typed: typed,\n url: url,\n properties: properties\n};\n\nvar Video = function Video(story, video) {\n return MediaElement(story, video, 'video', VideoDefinition);\n};\n\nexports.Article = Article;\nexports.Audio = Audio;\nexports.Author = Author;\nexports.Container = Container;\nexports.Gallery = Gallery;\nexports.Heading1 = Heading1;\nexports.Heading2 = Heading2;\nexports.Image = Image;\nexports.Map = Map;\nexports.Mosaic = Mosaic;\nexports.Quote = Quote;\nexports.Subtitle = Subtitle;\nexports.Text = Text;\nexports.TextStyle = TextStyle;\nexports.Title = Title;\nexports.Video = Video;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar _defineProperty = require('@babel/runtime/helpers/defineProperty');\nvar _objectSpread = require('@babel/runtime/helpers/objectSpread2');\nvar isString = require('lodash/isString');\nvar isInteger = require('lodash/isInteger');\nvar isNumber = require('lodash/isNumber');\nvar isEmpty = require('lodash/isEmpty');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);\nvar _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);\nvar isString__default = /*#__PURE__*/_interopDefaultLegacy(isString);\nvar isInteger__default = /*#__PURE__*/_interopDefaultLegacy(isInteger);\nvar isNumber__default = /*#__PURE__*/_interopDefaultLegacy(isNumber);\nvar isEmpty__default = /*#__PURE__*/_interopDefaultLegacy(isEmpty);\n\nvar validate = function validate() {\n var content = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var definition = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var validated = content ? Object.keys(content).reduce(function (values, name) {\n var value = content[name] || null; // Find the reference\n\n if (definition && definition.properties) {\n var property = definition.properties.find(function (prop) {\n return prop.name === name;\n }) || null;\n\n if (property !== null) {\n var isValid = true;\n\n switch (property.type) {\n case 'string':\n isValid = isString__default[\"default\"](value);\n break;\n\n case 'integer':\n isValid = isInteger__default[\"default\"](value);\n break;\n\n case 'float':\n isValid = isNumber__default[\"default\"](value);\n break;\n\n default:\n isValid = value !== null;\n break;\n } // Skip the whole thing it cause it aint gonna work\n\n\n if (!isValid && property.required) {\n console.log('VALIDATION ERROR: SKIPPED BECAUSE REQUIRED', content, name); // eslint-disable-line\n\n return null;\n }\n\n if (values !== null && isValid) {\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, values), {}, _defineProperty__default[\"default\"]({}, name, value));\n }\n\n console.log('VALIDATION ERROR: VALID TYPE', name, content); // eslint-disable-line\n }\n }\n\n return values;\n }, {}) : {};\n return !isEmpty__default[\"default\"](validated) ? validated : null;\n};\n\nvar stripTags = function stripTags(str) {\n if (!str) {\n return null;\n }\n\n return str.replace(/(<([^>]+)>)/gi, '');\n};\n\nexports.stripTags = stripTags;\nexports.validate = validate;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar _objectSpread = require('@babel/runtime/helpers/objectSpread2');\nvar _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');\nvar React = require('react');\nvar PropTypes = require('prop-types');\nvar reactRouter = require('react-router');\nvar reactRouterDom = require('react-router-dom');\nvar screens = require('@micromag/screens');\nvar intl = require('@micromag/intl');\nvar fieldsManager = require('@micromag/fields/manager');\nvar core = require('@micromag/core');\nvar contexts = require('@micromag/core/contexts');\nvar _defineProperty = require('@babel/runtime/helpers/defineProperty');\nvar _slicedToArray = require('@babel/runtime/helpers/slicedToArray');\nvar _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');\nvar core$1 = require('@react-spring/core');\nvar web = require('@react-spring/web');\nvar react = require('@use-gesture/react');\nvar classNames = require('classnames');\nvar reactHelmet = require('react-helmet');\nvar reactIntl = require('react-intl');\nvar components = require('@micromag/core/components');\nvar hooks = require('@micromag/core/hooks');\nvar utils = require('@micromag/core/utils');\nvar freeSolidSvgIcons = require('@fortawesome/free-solid-svg-icons');\nvar reactFontawesome = require('@fortawesome/react-fontawesome');\nvar Scroll = require('@micromag/element-scroll');\nvar reactShare = require('react-share');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);\nvar _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);\nvar React__default = /*#__PURE__*/_interopDefaultLegacy(React);\nvar PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);\nvar fieldsManager__default = /*#__PURE__*/_interopDefaultLegacy(fieldsManager);\nvar _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);\nvar _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);\nvar _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);\nvar classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);\nvar Scroll__default = /*#__PURE__*/_interopDefaultLegacy(Scroll);\n\nvar routes = PropTypes__default[\"default\"].shape({\n home: PropTypes__default[\"default\"].string.isRequired,\n screen: PropTypes__default[\"default\"].string.isRequired\n});\n\nvar styles$6 = {\"container\":\"micromag-viewer-container\",\"menuPreview\":\"micromag-viewer-menuPreview\",\"menuPreviewContainer\":\"micromag-viewer-menuPreviewContainer\",\"screen\":\"micromag-viewer-screen\",\"screenInner\":\"micromag-viewer-screenInner\",\"content\":\"micromag-viewer-content\",\"menuDotsContainer\":\"micromag-viewer-menuDotsContainer\",\"menuDots\":\"micromag-viewer-menuDots\",\"current\":\"micromag-viewer-current\",\"landscape\":\"micromag-viewer-landscape\",\"hideMenu\":\"micromag-viewer-hideMenu\",\"ready\":\"micromag-viewer-ready\"};\n\nvar styles$5 = {\"container\":\"micromag-viewer-screen-container\",\"current\":\"micromag-viewer-screen-current\"};\n\nvar propTypes$8 = {\n screen: core.PropTypes.screenComponent,\n renderContext: core.PropTypes.renderContext,\n current: PropTypes__default[\"default\"].bool,\n active: PropTypes__default[\"default\"].bool,\n onPrevious: PropTypes__default[\"default\"].func,\n onNext: PropTypes__default[\"default\"].func,\n onEnableInteraction: PropTypes__default[\"default\"].func,\n onDisableInteraction: PropTypes__default[\"default\"].func,\n getMediaRef: PropTypes__default[\"default\"].func\n};\nvar defaultProps$8 = {\n screen: null,\n renderContext: null,\n current: false,\n active: true,\n onPrevious: null,\n onNext: null,\n onEnableInteraction: null,\n onDisableInteraction: null,\n getMediaRef: null\n};\n\nvar ViewerScreen = function ViewerScreen(_ref) {\n var _ref2;\n\n var screen = _ref.screen,\n renderContext = _ref.renderContext,\n active = _ref.active,\n current = _ref.current,\n onPrevious = _ref.onPrevious,\n onNext = _ref.onNext,\n onEnableInteraction = _ref.onEnableInteraction,\n onDisableInteraction = _ref.onDisableInteraction,\n getMediaRef = _ref.getMediaRef;\n return screen !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$5.container, (_ref2 = {}, _defineProperty__default[\"default\"](_ref2, styles$5.active, active), _defineProperty__default[\"default\"](_ref2, styles$5.current, current), _ref2)]),\n \"aria-hidden\": current ? null : 'true'\n }, /*#__PURE__*/React__default[\"default\"].createElement(components.Screen, {\n screen: screen,\n renderContext: renderContext,\n active: active,\n current: current,\n onPrevious: onPrevious,\n onNext: onNext,\n onEnableInteraction: onEnableInteraction,\n onDisableInteraction: onDisableInteraction,\n getMediaRef: getMediaRef\n })) : null;\n};\n\nViewerScreen.propTypes = propTypes$8;\nViewerScreen.defaultProps = defaultProps$8;\n\nvar styles$4 = {\"container\":\"micromag-viewer-menus-menu-dots-container\",\"closeButton\":\"micromag-viewer-menus-menu-dots-closeButton\",\"item\":\"micromag-viewer-menus-menu-dots-item\",\"button\":\"micromag-viewer-menus-menu-dots-button\",\"menuButton\":\"micromag-viewer-menus-menu-dots-menuButton\",\"items\":\"micromag-viewer-menus-menu-dots-items\",\"dot\":\"micromag-viewer-menus-menu-dots-dot\",\"menu\":\"micromag-viewer-menus-menu-dots-menu\",\"menuIcon\":\"micromag-viewer-menus-menu-dots-menuIcon\",\"vertical\":\"micromag-viewer-menus-menu-dots-vertical\",\"withShadow\":\"micromag-viewer-menus-menu-dots-withShadow\"};\n\nvar styles$3 = {};\n\nvar propTypes$7 = {\n size: PropTypes__default[\"default\"].number,\n spacing: PropTypes__default[\"default\"].number,\n color: PropTypes__default[\"default\"].string,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$7 = {\n size: 100,\n spacing: 8,\n color: 'white',\n className: null\n};\n\nvar MenuIcon = function MenuIcon(_ref) {\n var size = _ref.size,\n spacing = _ref.spacing,\n color = _ref.color,\n className = _ref.className;\n var squareSize = (size - 2 * spacing) / 3;\n return /*#__PURE__*/React__default[\"default\"].createElement(\"svg\", {\n className: classNames__default[\"default\"]([styles$3.container, _defineProperty__default[\"default\"]({}, className, className !== null)]),\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 \".concat(size, \" \").concat(size),\n \"aria-hidden\": \"true\"\n }, _toConsumableArray__default[\"default\"](new Array(9)).map(function (square, squareI) {\n var x = squareI % 3 * (squareSize + spacing);\n var y = Math.floor(squareI / 3) * (squareSize + spacing);\n return /*#__PURE__*/React__default[\"default\"].createElement(\"rect\", {\n key: \"square-\".concat(squareI),\n fill: color,\n x: x,\n y: y,\n width: squareSize,\n height: squareSize\n });\n }));\n};\n\nMenuIcon.propTypes = propTypes$7;\nMenuIcon.defaultProps = defaultProps$7;\n\nvar propTypes$6 = {\n direction: PropTypes__default[\"default\"].oneOf(['horizontal', 'vertical']),\n withShadow: PropTypes__default[\"default\"].bool,\n items: core.PropTypes.menuItems,\n current: PropTypes__default[\"default\"].number,\n onClickItem: PropTypes__default[\"default\"].func,\n colors: PropTypes__default[\"default\"].shape({\n primary: PropTypes__default[\"default\"].string,\n secondary: PropTypes__default[\"default\"].string\n }),\n closeable: PropTypes__default[\"default\"].bool,\n onClose: PropTypes__default[\"default\"].func,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$6 = {\n direction: 'horizontal',\n withShadow: false,\n items: [],\n current: 0,\n onClickItem: null,\n colors: null,\n closeable: false,\n onClose: null,\n className: null\n};\n\nvar ViewerMenuDots = function ViewerMenuDots(_ref) {\n var _ref3;\n\n var direction = _ref.direction,\n withShadow = _ref.withShadow,\n items = _ref.items,\n current = _ref.current,\n onClickItem = _ref.onClickItem,\n colors = _ref.colors,\n closeable = _ref.closeable,\n onClose = _ref.onClose,\n className = _ref.className;\n\n var _ref2 = colors || {},\n _ref2$primary = _ref2.primary,\n primary = _ref2$primary === void 0 ? 'rgba(255, 255, 255, 1)' : _ref2$primary,\n _ref2$secondary = _ref2.secondary,\n secondary = _ref2$secondary === void 0 ? 'rgba(200, 200, 200, 0.5)' : _ref2$secondary;\n\n var intl = reactIntl.useIntl();\n return /*#__PURE__*/React__default[\"default\"].createElement(\"nav\", {\n className: classNames__default[\"default\"]([styles$4.container, (_ref3 = {}, _defineProperty__default[\"default\"](_ref3, className, className !== null), _defineProperty__default[\"default\"](_ref3, styles$4.vertical, direction === 'vertical'), _defineProperty__default[\"default\"](_ref3, styles$4.withShadow, withShadow), _ref3)]),\n \"aria-label\": intl.formatMessage({\n id: \"bLYuuN\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"You are on screen \"\n }, {\n \"type\": 1,\n \"value\": \"current\"\n }, {\n \"type\": 0,\n \"value\": \" of \"\n }, {\n \"type\": 1,\n \"value\": \"total\"\n }, {\n \"type\": 0,\n \"value\": \".\"\n }]\n }, {\n current: current + 1,\n total: items.length\n })\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"ul\", {\n className: styles$4.items\n }, items.map(function (item, index) {\n return (item === null || item === void 0 ? void 0 : item.parentId) === null ? /*#__PURE__*/React__default[\"default\"].createElement(\"li\", {\n className: classNames__default[\"default\"]([styles$4.item, _defineProperty__default[\"default\"]({}, styles$4.active, current === index)]),\n key: \"item-\".concat(index),\n \"aria-hidden\": \"true\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"button\", {\n type: \"button\",\n className: styles$4.button,\n onClick: function onClick() {\n if (onClickItem !== null) {\n onClickItem(index);\n }\n },\n tabIndex: \"-1\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"span\", {\n className: styles$4.dot,\n style: {\n backgroundColor: index <= current ? primary : secondary\n }\n }))) : null;\n }), /*#__PURE__*/React__default[\"default\"].createElement(\"li\", {\n className: styles$4.menu\n }, /*#__PURE__*/React__default[\"default\"].createElement(MenuIcon, {\n className: styles$4.menuIcon,\n color: primary\n }), /*#__PURE__*/React__default[\"default\"].createElement(\"button\", {\n type: \"button\",\n title: intl.formatMessage({\n id: \"F/gl4b\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Menu\"\n }]\n }),\n \"aria-label\": intl.formatMessage({\n id: \"F/gl4b\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Menu\"\n }]\n }),\n className: styles$4.menuButton,\n onClick: function onClick() {\n if (onClickItem !== null) {\n onClickItem(null);\n }\n }\n })), closeable ? /*#__PURE__*/React__default[\"default\"].createElement(\"li\", {\n className: styles$4.closeButton,\n style: {\n color: primary\n }\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"button\", {\n type: \"button\",\n className: styles$4.closeButton,\n onClick: onClose,\n title: intl.formatMessage({\n id: \"dj/p/q\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Close\"\n }]\n }),\n \"aria-label\": intl.formatMessage({\n id: \"dj/p/q\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Close\"\n }]\n })\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: freeSolidSvgIcons.faTimes\n }))) : null));\n};\n\nViewerMenuDots.propTypes = propTypes$6;\nViewerMenuDots.defaultProps = defaultProps$6;\n\nvar styles$2 = {\"container\":\"micromag-viewer-menus-menu-preview-container\",\"screenButton\":\"micromag-viewer-menus-menu-preview-screenButton\",\"activeScreenBorder\":\"micromag-viewer-menus-menu-preview-activeScreenBorder\",\"itemContent\":\"micromag-viewer-menus-menu-preview-itemContent\",\"scroll\":\"micromag-viewer-menus-menu-preview-scroll\",\"header\":\"micromag-viewer-menus-menu-preview-header\",\"button\":\"micromag-viewer-menus-menu-preview-button\",\"shareButton\":\"micromag-viewer-menus-menu-preview-shareButton\",\"disabled\":\"micromag-viewer-menus-menu-preview-disabled\",\"icon\":\"micromag-viewer-menus-menu-preview-icon\",\"buttons\":\"micromag-viewer-menus-menu-preview-buttons\",\"organisation\":\"micromag-viewer-menus-menu-preview-organisation\",\"title\":\"micromag-viewer-menus-menu-preview-title\",\"content\":\"micromag-viewer-menus-menu-preview-content\",\"nav\":\"micromag-viewer-menus-menu-preview-nav\",\"item\":\"micromag-viewer-menus-menu-preview-item\",\"items\":\"micromag-viewer-menus-menu-preview-items\",\"active\":\"micromag-viewer-menus-menu-preview-active\",\"screenContainer\":\"micromag-viewer-menus-menu-preview-screenContainer\",\"screenContent\":\"micromag-viewer-menus-menu-preview-screenContent\"};\n\nvar styles$1 = {\"container\":\"micromag-viewer-partials-share-modal-container\",\"content\":\"micromag-viewer-partials-share-modal-content\",\"opened\":\"micromag-viewer-partials-share-modal-opened\"};\n\nvar propTypes$5 = {\n url: PropTypes__default[\"default\"].string,\n title: PropTypes__default[\"default\"].string,\n opened: PropTypes__default[\"default\"].bool,\n className: PropTypes__default[\"default\"].string,\n onShare: PropTypes__default[\"default\"].func,\n onCancel: PropTypes__default[\"default\"].func\n};\nvar defaultProps$5 = {\n url: null,\n title: null,\n opened: false,\n className: null,\n onShare: null,\n onCancel: null\n};\n\nvar ShareModal = function ShareModal(_ref) {\n var _ref2;\n\n var url = _ref.url,\n title = _ref.title,\n opened = _ref.opened,\n className = _ref.className,\n onShare = _ref.onShare,\n onCancel = _ref.onCancel;\n var containerRef = React.useRef(null);\n var onShareButtonClick = React.useCallback(function (type) {\n if (onShare !== null) {\n onShare(type);\n }\n }, [onShare]);\n var shareButtonProps = React.useMemo(function () {\n return {\n url: url,\n onShareWindowClose: function onShareWindowClose() {\n if (onCancel !== null) {\n onCancel();\n }\n }\n };\n }, [url, onCancel]);\n var shareIconProps = React.useMemo(function () {\n return {\n size: 32,\n round: true\n };\n }, []);\n var onDocumentClick = React.useCallback(function (e) {\n var target = e.currentTarget;\n\n if (!containerRef.current || containerRef.current.contains(target)) {\n return;\n }\n\n if (onCancel !== null) {\n onCancel();\n }\n }, [opened, onCancel]);\n hooks.useDocumentEvent('click', onDocumentClick, opened);\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$1.container, (_ref2 = {}, _defineProperty__default[\"default\"](_ref2, className, className), _defineProperty__default[\"default\"](_ref2, styles$1.opened, opened), _ref2)]),\n ref: containerRef,\n \"aria-hidden\": opened ? null : '-1'\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$1.content\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$1.buttons\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactShare.FacebookShareButton, Object.assign({}, shareButtonProps, {\n quote: title,\n beforeOnClick: function beforeOnClick() {\n onShareButtonClick('Facebook');\n return Promise.resolve();\n },\n tabIndex: opened ? null : '-1'\n }), /*#__PURE__*/React__default[\"default\"].createElement(reactShare.FacebookIcon, shareIconProps)), /*#__PURE__*/React__default[\"default\"].createElement(reactShare.TwitterShareButton, Object.assign({}, shareButtonProps, {\n title: title,\n beforeOnClick: function beforeOnClick() {\n onShareButtonClick('Twitter');\n return Promise.resolve();\n },\n tabIndex: opened ? null : '-1'\n }), /*#__PURE__*/React__default[\"default\"].createElement(reactShare.TwitterIcon, shareIconProps)), /*#__PURE__*/React__default[\"default\"].createElement(reactShare.EmailShareButton, Object.assign({}, shareButtonProps, {\n subject: title,\n beforeOnClick: function beforeOnClick() {\n onShareButtonClick('Email');\n return Promise.resolve();\n },\n tabIndex: opened ? null : '-1'\n }), /*#__PURE__*/React__default[\"default\"].createElement(reactShare.EmailIcon, shareIconProps)))));\n};\n\nShareModal.propTypes = propTypes$5;\nShareModal.defaultProps = defaultProps$5;\n\nvar styles = {\"container\":\"micromag-viewer-partials-share-button-container\",\"shareModal\":\"micromag-viewer-partials-share-button-shareModal\"};\n\nvar propTypes$4 = {\n title: PropTypes__default[\"default\"].string,\n url: PropTypes__default[\"default\"].string,\n className: PropTypes__default[\"default\"].string,\n buttonClassName: PropTypes__default[\"default\"].string,\n onShare: PropTypes__default[\"default\"].func,\n children: PropTypes__default[\"default\"].node,\n focusable: PropTypes__default[\"default\"].bool\n};\nvar defaultProps$4 = {\n title: null,\n url: null,\n className: null,\n buttonClassName: null,\n onShare: null,\n children: null,\n focusable: false\n};\n\nvar ShareButton = function ShareButton(_ref) {\n var title = _ref.title,\n url = _ref.url,\n className = _ref.className,\n buttonClassName = _ref.buttonClassName,\n onShare = _ref.onShare,\n children = _ref.children,\n focusable = _ref.focusable;\n var intl = reactIntl.useIntl();\n\n var _useState = React.useState(false),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n storyShareModalOpened = _useState2[0],\n setStoryShareModalOpened = _useState2[1];\n\n var onShareIconClick = React.useCallback(function () {\n setStoryShareModalOpened(function (opened) {\n return !opened;\n });\n }, [setStoryShareModalOpened]);\n var onStoryShared = React.useCallback(function (type) {\n setStoryShareModalOpened(false);\n\n if (onShare !== null) {\n onShare(type);\n }\n }, [setStoryShareModalOpened, onShare]);\n var onStoryShareCanceled = React.useCallback(function () {\n setStoryShareModalOpened(false);\n }, [setStoryShareModalOpened]);\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles.container, _defineProperty__default[\"default\"]({}, className, className !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(components.Button, {\n className: classNames__default[\"default\"]([_defineProperty__default[\"default\"]({}, buttonClassName, buttonClassName !== null)]),\n onClick: onShareIconClick,\n title: intl.formatMessage({\n id: \"7tw6U2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Share\"\n }]\n }),\n \"aria-label\": intl.formatMessage({\n id: \"7tw6U2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Share\"\n }]\n }),\n focusable: focusable\n }, children), /*#__PURE__*/React__default[\"default\"].createElement(ShareModal, {\n className: styles.shareModal,\n opened: storyShareModalOpened,\n title: title,\n url: url,\n onShare: onStoryShared,\n onCancel: onStoryShareCanceled\n }));\n};\n\nShareButton.propTypes = propTypes$4;\nShareButton.defaultProps = defaultProps$4;\n\nvar propTypes$3 = {\n viewerTheme: core.PropTypes.viewerTheme,\n screenWidth: PropTypes__default[\"default\"].number,\n title: PropTypes__default[\"default\"].string,\n shareUrl: PropTypes__default[\"default\"].string,\n items: core.PropTypes.menuItems,\n current: PropTypes__default[\"default\"].number,\n focusable: PropTypes__default[\"default\"].bool,\n onClickItem: PropTypes__default[\"default\"].func,\n onClose: PropTypes__default[\"default\"].func,\n onShare: PropTypes__default[\"default\"].func,\n thumbsPerLine: PropTypes__default[\"default\"].number,\n toggleFullscreen: PropTypes__default[\"default\"].func,\n fullscreenActive: PropTypes__default[\"default\"].bool,\n fullscreenEnabled: PropTypes__default[\"default\"].bool,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$3 = {\n viewerTheme: null,\n screenWidth: null,\n title: null,\n shareUrl: null,\n items: [],\n current: 0,\n focusable: true,\n onClickItem: null,\n onClose: null,\n onShare: null,\n thumbsPerLine: 4,\n toggleFullscreen: null,\n fullscreenActive: false,\n fullscreenEnabled: false,\n className: null\n};\n\nvar ViewerMenuPreview = function ViewerMenuPreview(_ref) {\n var viewerTheme = _ref.viewerTheme,\n screenWidth = _ref.screenWidth,\n title = _ref.title,\n shareUrl = _ref.shareUrl,\n items = _ref.items,\n current = _ref.current,\n focusable = _ref.focusable,\n onClickItem = _ref.onClickItem,\n onClose = _ref.onClose,\n onShare = _ref.onShare,\n thumbsPerLine = _ref.thumbsPerLine,\n toggleFullscreen = _ref.toggleFullscreen,\n fullscreenActive = _ref.fullscreenActive,\n fullscreenEnabled = _ref.fullscreenEnabled,\n className = _ref.className;\n var intl = reactIntl.useIntl();\n var screenSizeRatio = \"\".concat(3 / 2 / thumbsPerLine * 100, \"%\");\n var screenRatioHeight = screenWidth * 3 / 2;\n var hasSize = screenWidth > 0;\n var hasItems = items !== null && items.length > 0;\n\n var _useState = React.useState(null),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n thumbSize = _useState2[0],\n setThumbSize = _useState2[1];\n\n var firstScreenContainerRef = React.useRef(null);\n React.useEffect(function () {\n if (hasItems && hasSize && firstScreenContainerRef.current !== null) {\n var _firstScreenContainer = firstScreenContainerRef.current,\n offsetWidth = _firstScreenContainer.offsetWidth,\n offsetHeight = _firstScreenContainer.offsetHeight;\n setThumbSize({\n width: offsetWidth,\n height: offsetHeight\n });\n }\n }, [screenWidth, hasItems, hasSize]); // Viewer theme\n\n var _ref2 = viewerTheme || {},\n _ref2$colors = _ref2.colors,\n colors = _ref2$colors === void 0 ? null : _ref2$colors,\n _ref2$background = _ref2.background,\n background = _ref2$background === void 0 ? null : _ref2$background,\n _ref2$textStyles = _ref2.textStyles,\n textStyles = _ref2$textStyles === void 0 ? null : _ref2$textStyles,\n _ref2$logo = _ref2.logo,\n brandLogo = _ref2$logo === void 0 ? null : _ref2$logo;\n\n var _ref3 = textStyles || {},\n _ref3$title = _ref3.title,\n brandTextStyle = _ref3$title === void 0 ? null : _ref3$title;\n\n var _ref4 = colors || {},\n _ref4$primary = _ref4.primary,\n brandPrimaryColor = _ref4$primary === void 0 ? null : _ref4$primary,\n _ref4$secondary = _ref4.secondary,\n brandSecondaryColor = _ref4$secondary === void 0 ? null : _ref4$secondary;\n\n var _ref5 = background || {},\n _ref5$color = _ref5.color,\n brandBackgroundColor = _ref5$color === void 0 ? null : _ref5$color,\n _ref5$image = _ref5.image,\n image = _ref5$image === void 0 ? null : _ref5$image;\n\n var _ref6 = image || {},\n _ref6$url = _ref6.url,\n brandImageUrl = _ref6$url === void 0 ? null : _ref6$url;\n\n var borderPrimaryColorStyle = utils.getStyleFromColor(brandPrimaryColor, 'borderColor');\n var colorSecondaryColorStyle = utils.getStyleFromColor(brandSecondaryColor, 'color');\n var backgroundColorStyle = utils.getStyleFromColor(brandBackgroundColor, 'backgroundColor');\n\n var _ref7 = brandLogo || {},\n _ref7$url = _ref7.url,\n brandLogoUrl = _ref7$url === void 0 ? null : _ref7$url;\n\n var brandImageStyle = brandImageUrl !== null ? {\n backgroundImage: \"url(\".concat(brandImageUrl, \")\")\n } : null;\n var titleStyle = brandTextStyle !== null ? utils.getStyleFromText(brandTextStyle) : null;\n\n var _useState3 = React.useState(false),\n _useState4 = _slicedToArray__default[\"default\"](_useState3, 2),\n scrolledBottom = _useState4[0],\n setScrolledBottom = _useState4[1];\n\n var dragBind = react.useDrag(function (_ref8) {\n var _ref8$direction = _slicedToArray__default[\"default\"](_ref8.direction, 2),\n dy = _ref8$direction[1],\n last = _ref8.last,\n tap = _ref8.tap;\n\n if (!tap && last && scrolledBottom && dy < 0 && onClose !== null) {\n onClose();\n }\n }, {\n filterTaps: true,\n eventOptions: {\n capture: true\n }\n });\n var onScrolledBottom = React.useCallback(function () {\n setScrolledBottom(true);\n }, [setScrolledBottom]);\n var onScrolledNotBottom = React.useCallback(function () {\n setScrolledBottom(false);\n }, [setScrolledBottom]);\n return hasSize ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", Object.assign({\n className: classNames__default[\"default\"]([styles$2.container, _defineProperty__default[\"default\"]({}, className, className !== null)]),\n style: _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, backgroundColorStyle), brandImageStyle), {}, {\n width: screenWidth\n }),\n \"aria-hidden\": focusable ? null : 'true'\n }, dragBind()), /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$2.header\n }, brandLogoUrl !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$2.organisation,\n style: {\n backgroundImage: \"url(\".concat(brandLogoUrl, \")\")\n }\n }) : null, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$2.title,\n style: titleStyle\n }, title), /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$2.buttons,\n style: colorSecondaryColorStyle\n }, /*#__PURE__*/React__default[\"default\"].createElement(ShareButton, {\n className: styles$2.shareButton,\n buttonClassName: styles$2.button,\n onShare: onShare,\n url: shareUrl,\n title: title,\n focusable: focusable\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n className: styles$2.icon,\n icon: freeSolidSvgIcons.faShare\n })), fullscreenEnabled ? /*#__PURE__*/React__default[\"default\"].createElement(components.Button, {\n className: styles$2.button,\n onClick: toggleFullscreen,\n title: intl.formatMessage({\n id: \"AuxqcG\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Fullscreen\"\n }]\n }),\n \"aria-label\": intl.formatMessage({\n id: \"AuxqcG\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Fullscreen\"\n }]\n }),\n focusable: focusable\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n className: styles$2.icon,\n icon: fullscreenActive ? freeSolidSvgIcons.faCompress : freeSolidSvgIcons.faExpand\n })) : null, /*#__PURE__*/React__default[\"default\"].createElement(components.Button, {\n className: styles$2.button,\n onClick: onClose,\n title: intl.formatMessage({\n id: \"dj/p/q\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Close\"\n }]\n }),\n \"aria-label\": intl.formatMessage({\n id: \"dj/p/q\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Close\"\n }]\n }),\n focusable: focusable\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n className: styles$2.icon,\n icon: freeSolidSvgIcons.faTimes\n })))), /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$2.content\n }, /*#__PURE__*/React__default[\"default\"].createElement(Scroll__default[\"default\"], {\n className: styles$2.scroll,\n onScrolledBottom: onScrolledBottom,\n onScrolledNotBottom: onScrolledNotBottom\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"nav\", {\n className: styles$2.nav\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"ul\", {\n className: styles$2.items\n }, items.map(function (item, index) {\n var screenIndexLabel = intl.formatMessage({\n id: \"LkVfwW\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Screen \"\n }, {\n \"type\": 1,\n \"value\": \"index\"\n }]\n }, {\n index: index + 1\n });\n var isCurrentScreenLabel = current === index ? \" \".concat(intl.formatMessage({\n id: \"vmrJ8U\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"(current screen)\"\n }]\n })) : '';\n var screenAriaLabel = screenIndexLabel + isCurrentScreenLabel;\n return item.parentId === null ? /*#__PURE__*/React__default[\"default\"].createElement(\"li\", {\n className: classNames__default[\"default\"]([styles$2.item, _defineProperty__default[\"default\"]({}, styles$2.active, current === index)]),\n key: \"item-\".concat(index),\n style: {\n paddingBottom: screenSizeRatio,\n width: \"\".concat(100 / thumbsPerLine, \"%\")\n }\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$2.itemContent\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$2.screenContainer,\n ref: index === 0 ? firstScreenContainerRef : null\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$2.screenContent,\n style: thumbSize !== null ? {\n width: screenWidth,\n height: screenRatioHeight,\n transform: \"scale(\".concat(thumbSize.width / screenWidth)\n } : null,\n \"aria-hidden\": \"true\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(components.ScreenPreview, {\n width: screenWidth,\n height: screenRatioHeight,\n screen: item,\n focusable: false\n })), current === index ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$2.activeScreenBorder,\n style: borderPrimaryColorStyle\n }) : null)), /*#__PURE__*/React__default[\"default\"].createElement(\"button\", {\n type: \"button\",\n className: styles$2.screenButton,\n onClick: function onClick() {\n onClickItem(index);\n },\n \"aria-label\": screenAriaLabel,\n onKeyUp: function onKeyUp(e) {\n if (e.key === 'Enter') {\n onClickItem(index);\n }\n },\n tabIndex: focusable ? '0' : '-1'\n })) : null;\n })))))) : null;\n};\n\nViewerMenuPreview.propTypes = propTypes$3;\nViewerMenuPreview.defaultProps = defaultProps$3;\n\nvar propTypes$2 = {\n story: core.PropTypes.story,\n // .isRequired,\n basePath: PropTypes__default[\"default\"].string,\n theme: core.PropTypes.viewerTheme,\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number,\n screen: PropTypes__default[\"default\"].string,\n deviceScreens: core.PropTypes.deviceScreens,\n renderContext: core.PropTypes.renderContext,\n onScreenChange: PropTypes__default[\"default\"].func,\n tapNextScreenWidthPercent: PropTypes__default[\"default\"].number,\n neighborScreensActive: PropTypes__default[\"default\"].number,\n storyIsParsed: PropTypes__default[\"default\"].bool,\n landscapeScreenMargin: PropTypes__default[\"default\"].number,\n withMetadata: PropTypes__default[\"default\"].bool,\n withoutMenu: PropTypes__default[\"default\"].bool,\n withoutFullscreen: PropTypes__default[\"default\"].bool,\n closeable: PropTypes__default[\"default\"].bool,\n onClose: PropTypes__default[\"default\"].func,\n onInteraction: PropTypes__default[\"default\"].func,\n onEnd: PropTypes__default[\"default\"].func,\n onViewModeChange: PropTypes__default[\"default\"].func,\n currentScreenMedia: core.PropTypes.ref,\n screensMedias: core.PropTypes.ref,\n screenSizeOptions: PropTypes__default[\"default\"].shape({\n withoutMaxSize: PropTypes__default[\"default\"].bool,\n desktopHeightRatio: PropTypes__default[\"default\"].number,\n screenRatio: PropTypes__default[\"default\"].number\n }),\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$2 = {\n story: null,\n theme: null,\n basePath: null,\n width: null,\n height: null,\n screen: null,\n deviceScreens: utils.getDeviceScreens(),\n renderContext: 'view',\n onScreenChange: null,\n tapNextScreenWidthPercent: 0.5,\n neighborScreensActive: 2,\n storyIsParsed: false,\n landscapeScreenMargin: 50,\n withMetadata: false,\n withoutMenu: false,\n withoutFullscreen: false,\n closeable: false,\n onClose: null,\n onInteraction: null,\n onEnd: null,\n onViewModeChange: null,\n currentScreenMedia: null,\n screensMedias: null,\n screenSizeOptions: null,\n className: null\n};\n\nvar Viewer = function Viewer(_ref) {\n var _ref15;\n\n var story = _ref.story,\n basePath = _ref.basePath,\n viewerTheme = _ref.theme,\n width = _ref.width,\n height = _ref.height,\n screenId = _ref.screen,\n deviceScreens = _ref.deviceScreens,\n renderContext = _ref.renderContext,\n onScreenChange = _ref.onScreenChange,\n tapNextScreenWidthPercent = _ref.tapNextScreenWidthPercent,\n neighborScreensActive = _ref.neighborScreensActive,\n storyIsParsed = _ref.storyIsParsed,\n landscapeScreenMargin = _ref.landscapeScreenMargin,\n withMetadata = _ref.withMetadata,\n withoutMenu = _ref.withoutMenu;\n _ref.withoutFullscreen;\n var closeable = _ref.closeable,\n onClose = _ref.onClose,\n onInteraction = _ref.onInteraction,\n onEnd = _ref.onEnd,\n onViewModeChange = _ref.onViewModeChange,\n currentScreenMedia = _ref.currentScreenMedia,\n screensMedias = _ref.screensMedias,\n screenSizeOptions = _ref.screenSizeOptions,\n className = _ref.className;\n var intl = reactIntl.useIntl();\n var parsedStory = hooks.useParsedStory(story, {\n disabled: storyIsParsed\n }) || {};\n var _parsedStory$componen = parsedStory.components,\n screens = _parsedStory$componen === void 0 ? [] : _parsedStory$componen,\n _parsedStory$title = parsedStory.title,\n title = _parsedStory$title === void 0 ? null : _parsedStory$title,\n _parsedStory$metadata = parsedStory.metadata,\n metadata = _parsedStory$metadata === void 0 ? null : _parsedStory$metadata,\n _parsedStory$fonts = parsedStory.fonts,\n fonts = _parsedStory$fonts === void 0 ? null : _parsedStory$fonts; // Viewer Theme\n\n var _ref2 = viewerTheme || {},\n textStyles = _ref2.textStyles;\n\n var _ref3 = textStyles || {},\n _ref3$title = _ref3.title,\n themeTextStyle = _ref3$title === void 0 ? null : _ref3$title;\n\n var _ref4 = themeTextStyle || {},\n _ref4$fontFamily = _ref4.fontFamily,\n themeFont = _ref4$fontFamily === void 0 ? null : _ref4$fontFamily; // Fonts\n\n\n var finalFonts = React.useMemo(function () {\n return [].concat(_toConsumableArray__default[\"default\"](fonts || []), [themeFont]).filter(function (font) {\n return font !== null;\n });\n }, [fonts]);\n\n var _useLoadedFonts = hooks.useLoadedFonts(finalFonts);\n _useLoadedFonts.loaded; // eslint-disable-line\n\n\n var shareUrl = React.useMemo(function () {\n var origin = typeof window !== 'undefined' ? window.location.origin.replace(/\\/+$/, '') : '';\n var path = basePath !== null ? \"\".concat(origin).concat(basePath) : origin;\n return path;\n }, [basePath]);\n var isView = renderContext === 'view';\n var isStatic = renderContext === 'static';\n var isCapture = renderContext === 'capture';\n var withoutScreensTransforms = isStatic || isCapture;\n var trackScreenView = hooks.useTrackScreenView();\n var trackEvent = hooks.useTrackEvent();\n var contentRef = React.useRef(null); // Get screen size\n\n var _useScreenSizeFromEle = hooks.useScreenSizeFromElement(_objectSpread__default[\"default\"]({\n width: width,\n height: height,\n screens: deviceScreens\n }, screenSizeOptions)),\n containerRef = _useScreenSizeFromEle.ref,\n screenSize = _useScreenSizeFromEle.screenSize;\n\n var _ref5 = screenSize || {},\n _ref5$width = _ref5.width,\n screenWidth = _ref5$width === void 0 ? null : _ref5$width,\n _ref5$height = _ref5.height,\n screenHeight = _ref5$height === void 0 ? null : _ref5$height,\n _ref5$landscape = _ref5.landscape,\n landscape = _ref5$landscape === void 0 ? false : _ref5$landscape,\n _ref5$menuOverScreen = _ref5.menuOverScreen,\n menuOverScreen = _ref5$menuOverScreen === void 0 ? false : _ref5$menuOverScreen;\n\n var hasSize = screenWidth > 0 && screenHeight > 0;\n var ready = hasSize; // && fontsLoaded;\n\n React.useEffect(function () {\n if (ready && onViewModeChange !== null) {\n onViewModeChange({\n landscape: landscape\n });\n }\n }, [ready, landscape, onViewModeChange]); // Get dots menu height\n\n var _useResizeObserver = hooks.useResizeObserver(),\n menuDotsContainerRef = _useResizeObserver.ref,\n menuDotsContainerRect = _useResizeObserver.entry.contentRect;\n\n var _ref6 = menuDotsContainerRect || {},\n _ref6$height = _ref6.height,\n menuDotsContainerHeight = _ref6$height === void 0 ? 0 : _ref6$height; // Get preview menu height\n\n\n var _useResizeObserver2 = hooks.useResizeObserver(),\n menuPreviewContainerRef = _useResizeObserver2.ref,\n menuPreviewContainerRect = _useResizeObserver2.entry.contentRect;\n\n var _ref7 = menuPreviewContainerRect || {},\n _ref7$height = _ref7.height,\n menuPreviewContainerHeight = _ref7$height === void 0 ? 0 : _ref7$height;\n\n var screensMediasRef = React.useRef([]); // Screen index\n\n var screenIndex = React.useMemo(function () {\n return Math.max(0, screens.findIndex(function (it) {\n return String(it.id) === String(screenId);\n }));\n }, [screenId, screens]);\n\n if (currentScreenMedia !== null) {\n currentScreenMedia.current = screensMediasRef.current[screenIndex];\n }\n\n if (screensMedias !== null) {\n screensMedias.current = screensMediasRef.current;\n }\n\n var changeIndex = React.useCallback(function (index) {\n if (index === screenIndex) {\n return;\n }\n\n if (currentScreenMedia !== null) {\n currentScreenMedia.current = screensMediasRef.current[index];\n }\n\n if (onScreenChange !== null) {\n onScreenChange(screens[index], index);\n }\n }, [screenIndex, screens, onScreenChange]); // Track screen view\n\n var trackingEnabled = isView;\n var validIndex = screens.length > 0 && screenIndex < screens.length;\n var currentScreen = validIndex ? screens[screenIndex] : null;\n\n var _ref8 = currentScreen || {},\n _ref8$type = _ref8.type,\n screenType = _ref8$type === void 0 ? null : _ref8$type;\n\n React.useEffect(function () {\n if (trackingEnabled && currentScreen !== null) {\n trackScreenView(currentScreen, screenIndex);\n }\n }, [currentScreen, trackScreenView, trackingEnabled]); // Handle interaction enable\n\n var currentScreenRef = React.useRef(null);\n var onScreenPrevious = React.useCallback(function () {\n changeIndex(Math.max(0, screenIndex - 1));\n currentScreenRef.current.focus();\n }, [changeIndex]);\n var onScreenNext = React.useCallback(function () {\n changeIndex(Math.min(screens.length - 1, screenIndex + 1));\n currentScreenRef.current.focus();\n }, [changeIndex]);\n var screensCount = screens.length;\n\n var _useState = React.useState(screens.map(function () {\n return true;\n })),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n screensInteractionEnabled = _useState2[0],\n setScreensInteractionEnabled = _useState2[1];\n\n var currentScreenInteractionEnabled = screensInteractionEnabled[screenIndex];\n var menuVisible = screensCount === 0 || currentScreenInteractionEnabled;\n React.useEffect(function () {\n setScreensInteractionEnabled(_toConsumableArray__default[\"default\"](Array(screensCount).keys()).map(function () {\n return true;\n }));\n }, [screensCount]);\n var onEnableInteraction = React.useCallback(function () {\n if (!screensInteractionEnabled[screenIndex]) {\n var newArray = _toConsumableArray__default[\"default\"](screensInteractionEnabled);\n\n newArray[screenIndex] = true;\n setScreensInteractionEnabled(newArray);\n }\n }, [screenIndex, screensInteractionEnabled, setScreensInteractionEnabled]);\n var onDisableInteraction = React.useCallback(function () {\n if (screensInteractionEnabled[screenIndex]) {\n var newArray = _toConsumableArray__default[\"default\"](screensInteractionEnabled);\n\n newArray[screenIndex] = false;\n setScreensInteractionEnabled(newArray);\n }\n }, [screenIndex, screensInteractionEnabled, setScreensInteractionEnabled]); // handle screenClick\n\n var onInteractionPrivate = React.useCallback(function () {\n if (onInteraction !== null) {\n onInteraction();\n }\n }, [onInteraction]);\n var onScreenClick = React.useCallback(function (e, index) {\n onInteractionPrivate();\n\n var checkClickable = function checkClickable(el) {\n var maxDistance = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;\n var distance = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n\n var _ref9 = el || {},\n _ref9$tagName = _ref9.tagName,\n tagName = _ref9$tagName === void 0 ? null : _ref9$tagName,\n _ref9$parentNode = _ref9.parentNode,\n parentNode = _ref9$parentNode === void 0 ? null : _ref9$parentNode;\n\n if (tagName === 'BODY') {\n return false;\n }\n\n var tags = ['BUTTON', 'A', 'INPUT', 'TEXTAREA'];\n\n if (tags.indexOf(tagName) > -1) {\n return true;\n }\n\n if (distance < maxDistance) {\n return checkClickable(parentNode, maxDistance, distance + 1);\n }\n\n return false;\n };\n\n var tappedCurrent = screenIndex === index;\n\n if (!isView && tappedCurrent || checkClickable(e.target)) {\n return;\n }\n\n var it = screens[screenIndex] || null;\n var interactionEnabled = screensInteractionEnabled[screenIndex];\n\n if (it === null || tappedCurrent && !interactionEnabled) {\n return;\n }\n\n var nextIndex = screenIndex;\n\n var _e$currentTarget$getB = e.currentTarget.getBoundingClientRect(),\n _e$currentTarget$getB2 = _e$currentTarget$getB.left,\n contentX = _e$currentTarget$getB2 === void 0 ? 0 : _e$currentTarget$getB2;\n\n var tapX = e.clientX;\n var hasTappedLeft = tappedCurrent ? tapX - contentX < screenWidth * (1 - tapNextScreenWidthPercent) : screenIndex > index;\n\n if (hasTappedLeft) {\n nextIndex = landscape ? index : Math.max(0, screenIndex - 1);\n } else {\n nextIndex = landscape ? index : Math.min(screens.length - 1, screenIndex + 1);\n var isLastScreen = screenIndex === screens.length - 1;\n\n if (isLastScreen && onEnd !== null) {\n onEnd();\n }\n }\n\n changeIndex(nextIndex);\n }, [onScreenChange, screenWidth, screens, changeIndex, screenIndex, screensInteractionEnabled, isView, onInteractionPrivate, onEnd]); // swipe menu open\n\n var menuOpened = React.useRef(false);\n\n var _useState3 = React.useState(false),\n _useState4 = _slicedToArray__default[\"default\"](_useState3, 2),\n previewMenuOpen = _useState4[0],\n setPreviewMenuOpen = _useState4[1];\n\n var _useSpring = core$1.useSpring(function () {\n return {\n y: 0,\n config: _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, core$1.config.stiff), {}, {\n clamp: true\n })\n };\n }),\n _useSpring2 = _slicedToArray__default[\"default\"](_useSpring, 2),\n menuY = _useSpring2[0].y,\n setMenuSpring = _useSpring2[1];\n\n var menuPreviewStyle = {\n transform: menuY.to(function (y) {\n return \"translateY(\".concat(y * menuPreviewContainerHeight, \"px)\");\n })\n };\n var menuDragBind = react.useDrag(function (_ref10) {\n var _ref10$movement = _slicedToArray__default[\"default\"](_ref10.movement, 2),\n my = _ref10$movement[1],\n first = _ref10.first,\n last = _ref10.last,\n _ref10$direction = _slicedToArray__default[\"default\"](_ref10.direction, 2),\n dy = _ref10$direction[1],\n cancel = _ref10.cancel,\n canceled = _ref10.canceled,\n tap = _ref10.tap;\n\n if (canceled || tap) {\n return;\n }\n\n var isMenuOpened = menuOpened.current;\n\n if (first) {\n if (isMenuOpened) {\n cancel();\n return;\n }\n }\n\n var yProgress = Math.max(0, Math.min(1, my / menuPreviewContainerHeight + (isMenuOpened ? 1 : 0)));\n\n if (last) {\n var menuNowOpened = dy > 0 && yProgress > 0.1;\n menuOpened.current = menuNowOpened;\n setMenuSpring.start({\n y: menuNowOpened ? 1 : 0\n });\n setPreviewMenuOpen(menuNowOpened);\n } else {\n setMenuSpring.start({\n y: yProgress\n });\n }\n }, {\n axis: 'y',\n filterTaps: true\n });\n\n var setPreviewMenu = function setPreviewMenu(opened) {\n setMenuSpring.start({\n y: opened ? 1 : 0\n });\n menuOpened.current = opened;\n setPreviewMenuOpen(opened);\n };\n\n var openPreviewMenu = React.useCallback(function () {\n setPreviewMenu(true);\n }, [setMenuSpring, setPreviewMenuOpen]);\n var closePreviewMenu = React.useCallback(function () {\n setPreviewMenu(false);\n }, [setMenuSpring, setPreviewMenuOpen]); // Handle dot menu item click\n\n var onClickDotsMenuItem = React.useCallback(function (index) {\n onInteractionPrivate();\n var clickedOnDot = index !== null;\n var goToScreen = landscape && clickedOnDot;\n\n if (goToScreen) {\n changeIndex(index);\n } else {\n openPreviewMenu();\n }\n\n if (trackingEnabled) {\n var trackAction = goToScreen ? 'click_screen_change' : 'click_open';\n var trackLabel = clickedOnDot ? \"Screen \".concat(index + 1) : 'Menu icon';\n trackEvent('viewer_menu', trackAction, trackLabel, {\n screenId: screenId,\n screenType: screenType,\n screenIndex: index\n });\n }\n }, [changeIndex, landscape, trackingEnabled, trackEvent, screenType, onInteractionPrivate]); // handle preview menu item click\n\n var onClickPreviewMenuItem = React.useCallback(function (index) {\n changeIndex(index);\n closePreviewMenu();\n\n if (trackingEnabled) {\n trackEvent('viewer_menu', 'click_screen_change', \"Screen \".concat(index + 1), {\n screenId: screenId,\n screenType: screenType,\n screenIndex: index\n });\n }\n }, [changeIndex, trackingEnabled, trackEvent, screenId, screenType]); // Handle preview menu close click\n\n var onClickPreviewMenuClose = React.useCallback(function () {\n closePreviewMenu();\n\n if (trackingEnabled) {\n trackEvent('viewer_menu', 'click_close', 'Close icon', {\n screenId: screenId,\n screenIndex: screenIndex,\n screenType: screenType\n });\n }\n }, [closePreviewMenu, trackingEnabled, trackEvent, screenId, screenIndex, screenType]); // Handle preview menu share click\n\n var onClickShare = React.useCallback(function (type) {\n if (trackingEnabled) {\n trackEvent('viewer_menu', 'click_share', type, {\n screenId: screenId,\n screenIndex: screenIndex,\n screenType: screenType\n });\n }\n }, [trackingEnabled, trackEvent, screenId, screenIndex, screenType]);\n var onContextMenu = React.useCallback(function (e) {\n if (!landscape) {\n e.preventDefault();\n return false;\n }\n\n return true;\n }, [landscape]);\n var overscrollStyle = /*#__PURE__*/React__default[\"default\"].createElement(\"style\", {\n type: \"text/css\"\n }, \"body { overscroll-behavior: contain; }\"); // Fullscreen\n\n var _useFullscreen = hooks.useFullscreen(containerRef.current || null),\n toggleFullscreen = _useFullscreen.toggle,\n fullscreenActive = _useFullscreen.active,\n fullscreenEnabled = _useFullscreen.enabled; // Keyboard Events\n\n\n React.useEffect(function () {\n var onKey = function onKey(e) {\n if (['input', 'textarea'].reduce(function (foundMatch, match) {\n return foundMatch || e.target.matches(match);\n }, false)) {\n return;\n }\n\n var key = e.key;\n var lowercaseKey = key.toLowerCase();\n\n switch (lowercaseKey) {\n case 'f':\n toggleFullscreen();\n break;\n\n case 'm':\n setPreviewMenu(!menuOpened.current);\n break;\n\n case 'escape':\n closePreviewMenu();\n break;\n\n case 'arrowleft':\n onScreenPrevious();\n break;\n\n case 'arrowright':\n case ' ':\n // spacebar\n onScreenNext();\n break;\n }\n };\n\n if (renderContext === 'view') {\n window.addEventListener('keydown', onKey);\n }\n\n return function () {\n window.removeEventListener('keydown', onKey);\n };\n }, [renderContext, closePreviewMenu, onScreenPrevious, onScreenNext]);\n\n var _ref11 = currentScreen || {},\n screenParameters = _ref11.parameters;\n\n var _ref12 = screenParameters || {},\n screenMetadata = _ref12.metadata;\n\n var _ref13 = screenMetadata || {},\n _ref13$title = _ref13.title,\n screenTitle = _ref13$title === void 0 ? null : _ref13$title,\n _ref13$description = _ref13.description,\n screenDescription = _ref13$description === void 0 ? null : _ref13$description;\n\n var finalTitle = screenTitle !== null ? screenTitle : title;\n var finalMetadata = React.useMemo(function () {\n return screenDescription !== null ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, metadata), {}, {\n description: screenDescription\n }) : metadata;\n }, [metadata]);\n\n var _ref14 = viewerTheme || {},\n _ref14$menuTheme = _ref14.menuTheme,\n menuTheme = _ref14$menuTheme === void 0 ? null : _ref14$menuTheme;\n\n return /*#__PURE__*/React__default[\"default\"].createElement(contexts.ScreenSizeProvider, {\n size: screenSize\n }, /*#__PURE__*/React__default[\"default\"].createElement(contexts.ViewerProvider, {\n menuVisible: menuVisible,\n menuSize: menuDotsContainerHeight\n }, withMetadata ? /*#__PURE__*/React__default[\"default\"].createElement(components.Meta, {\n title: finalTitle,\n metadata: finalMetadata\n }, overscrollStyle) : /*#__PURE__*/React__default[\"default\"].createElement(reactHelmet.Helmet, null, overscrollStyle), /*#__PURE__*/React__default[\"default\"].createElement(components.FontFaces, {\n fonts: finalFonts\n }), /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$6.container, screenSize.screens.map(function (screenName) {\n return \"story-screen-\".concat(screenName);\n }), (_ref15 = {}, _defineProperty__default[\"default\"](_ref15, styles$6.landscape, landscape), _defineProperty__default[\"default\"](_ref15, styles$6.hideMenu, !menuVisible), _defineProperty__default[\"default\"](_ref15, styles$6.ready, ready || withoutScreensTransforms), _defineProperty__default[\"default\"](_ref15, className, className), _ref15)]),\n ref: containerRef,\n onContextMenu: onContextMenu\n }, !withoutMenu ? /*#__PURE__*/React__default[\"default\"].createElement(React__default[\"default\"].Fragment, null, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", Object.assign({\n className: styles$6.menuDotsContainer,\n ref: menuDotsContainerRef,\n style: {\n width: screenWidth\n }\n }, menuDragBind()), /*#__PURE__*/React__default[\"default\"].createElement(ViewerMenuDots, Object.assign({}, menuTheme, {\n direction: \"horizontal\",\n withShadow: menuOverScreen,\n items: screens,\n current: screenIndex,\n onClickItem: onClickDotsMenuItem,\n closeable: closeable,\n onClose: onClose,\n className: styles$6.menuDots\n }))), /*#__PURE__*/React__default[\"default\"].createElement(web.animated.div, {\n className: styles$6.menuPreviewContainer,\n style: menuPreviewStyle,\n ref: menuPreviewContainerRef\n }, /*#__PURE__*/React__default[\"default\"].createElement(ViewerMenuPreview, {\n viewerTheme: viewerTheme,\n title: title,\n shareUrl: shareUrl,\n className: styles$6.menuPreview,\n screenWidth: screenWidth,\n focusable: previewMenuOpen,\n items: screens,\n current: screenIndex,\n onClickItem: onClickPreviewMenuItem,\n onClose: onClickPreviewMenuClose,\n onShare: onClickShare,\n toggleFullscreen: toggleFullscreen,\n fullscreenActive: fullscreenActive,\n fullscreenEnabled: fullscreenEnabled\n }))) : null, ready || withoutScreensTransforms ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n ref: contentRef,\n className: styles$6.content\n }, screens.map(function (scr, i) {\n var current = i === screenIndex;\n var active = i > screenIndex - neighborScreensActive && i < screenIndex + neighborScreensActive;\n var viewerScreen = /*#__PURE__*/React__default[\"default\"].createElement(ViewerScreen, {\n screen: scr,\n renderContext: renderContext,\n index: i,\n current: current,\n active: active,\n onPrevious: onScreenPrevious,\n onNext: onScreenNext,\n onEnableInteraction: onEnableInteraction,\n onDisableInteraction: onDisableInteraction,\n getMediaRef: function getMediaRef(mediaRef) {\n screensMediasRef.current[i] = mediaRef;\n }\n });\n var key = \"screen-viewer-\".concat(scr.id || '', \"-\").concat(i + 1);\n var screenTransform = landscape ? \"translateX(calc(\".concat((screenWidth + landscapeScreenMargin) * (i - screenIndex), \"px - 50%)) scale(\").concat(current ? 1 : 0.9, \")\") : \"translateX(\".concat(current ? 0 : '100%', \")\");\n return /*#__PURE__*/React__default[\"default\"].createElement(React__default[\"default\"].Fragment, {\n key: key\n }, current && screenIndex > 0 ? /*#__PURE__*/React__default[\"default\"].createElement(\"button\", {\n type: \"button\",\n className: \"sr-only\",\n onClick: onScreenPrevious,\n tabIndex: \"-1\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactIntl.FormattedMessage, {\n id: \"zYH/31\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Go to previous screen\"\n }]\n })) : null, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n ref: current ? currentScreenRef : null,\n style: {\n width: landscape ? screenWidth : null,\n height: landscape ? screenHeight : null,\n transform: !withoutScreensTransforms ? screenTransform : null\n },\n className: classNames__default[\"default\"]([styles$6.screen, _defineProperty__default[\"default\"]({}, styles$6.current, current)]),\n tabIndex: active ? '0' : '-1'\n /* eslint-disable-line */\n ,\n \"aria-hidden\": current ? null : 'true',\n \"aria-label\": intl.formatMessage({\n id: \"LkVfwW\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Screen \"\n }, {\n \"type\": 1,\n \"value\": \"index\"\n }]\n }, {\n index: i + 1\n }),\n onKeyUp: function onKeyUp(e) {\n if (e.key === 'Enter') {\n onScreenClick(e, i);\n }\n },\n onClick: function onClick(e) {\n onScreenClick(e, i);\n }\n }, viewerScreen), current && screenIndex < screens.length ? /*#__PURE__*/React__default[\"default\"].createElement(\"button\", {\n type: \"button\",\n className: \"sr-only\",\n onClick: onScreenNext,\n tabIndex: \"-1\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactIntl.FormattedMessage, {\n id: \"v9bqYj\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Go to next screen\"\n }]\n })) : null);\n })) : null)));\n};\n\nViewer.propTypes = propTypes$2;\nViewer.defaultProps = defaultProps$2;\n\nvar _excluded$1 = [\"children\", \"onScreenChange\"];\nvar propTypes$1 = {\n children: PropTypes__default[\"default\"].func,\n onScreenChange: PropTypes__default[\"default\"].func\n};\nvar defaultProps$1 = {\n children: null,\n onScreenChange: null\n};\n\nvar ViewerRoutes = function ViewerRoutes(_ref) {\n _ref.children;\n var onScreenChange = _ref.onScreenChange,\n otherProps = _objectWithoutProperties__default[\"default\"](_ref, _excluded$1);\n\n var routes = contexts.useRoutes();\n var push = contexts.useRoutePush();\n var finalOnScreenChange = React.useCallback(function (it) {\n push('screen', {\n screen: it.id\n });\n\n if (onScreenChange !== null) {\n onScreenChange(it);\n }\n }, [push, onScreenChange]);\n return /*#__PURE__*/React__default[\"default\"].createElement(reactRouter.Switch, null, /*#__PURE__*/React__default[\"default\"].createElement(reactRouter.Route, {\n path: routes.home,\n exact: true,\n render: function render() {\n return /*#__PURE__*/React__default[\"default\"].createElement(Viewer, Object.assign({}, otherProps, {\n onScreenChange: finalOnScreenChange\n }));\n }\n }), /*#__PURE__*/React__default[\"default\"].createElement(reactRouter.Route, {\n path: routes.screen,\n render: function render(_ref2) {\n var screen = _ref2.match.params.screen;\n return /*#__PURE__*/React__default[\"default\"].createElement(Viewer, Object.assign({}, otherProps, {\n screen: screen,\n onScreenChange: finalOnScreenChange\n }));\n }\n }));\n};\n\nViewerRoutes.propTypes = propTypes$1;\nViewerRoutes.defaultProps = defaultProps$1;\n\nvar home = \"/\";\nvar screen = \"/:screen\";\nvar defaultRoutes = {\n home: home,\n screen: screen\n};\n\nvar _excluded = [\"story\", \"memoryRouter\", \"basePath\", \"routes\", \"withoutRouter\", \"googleApiKey\", \"trackingVariables\", \"locale\", \"locales\", \"translations\"];\nvar propTypes = {\n story: core.PropTypes.story,\n screen: PropTypes__default[\"default\"].string,\n memoryRouter: PropTypes__default[\"default\"].bool,\n basePath: PropTypes__default[\"default\"].string,\n routes: routes,\n withoutRouter: PropTypes__default[\"default\"].bool,\n googleApiKey: PropTypes__default[\"default\"].string,\n trackingVariables: core.PropTypes.trackingVariables,\n locale: PropTypes__default[\"default\"].string,\n locales: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].string),\n translations: PropTypes__default[\"default\"].objectOf(PropTypes__default[\"default\"].string),\n children: PropTypes__default[\"default\"].func\n};\nvar defaultProps = {\n story: null,\n screen: null,\n memoryRouter: false,\n basePath: null,\n routes: defaultRoutes,\n withoutRouter: false,\n googleApiKey: null,\n trackingVariables: null,\n locale: 'en',\n locales: ['fr', 'en'],\n translations: null,\n children: null\n};\n\nvar ViewerContainer = function ViewerContainer(_ref) {\n var story = _ref.story,\n memoryRouter = _ref.memoryRouter,\n basePath = _ref.basePath,\n routes = _ref.routes,\n withoutRouter = _ref.withoutRouter,\n googleApiKey = _ref.googleApiKey,\n trackingVariables = _ref.trackingVariables,\n locale = _ref.locale,\n locales = _ref.locales,\n translations = _ref.translations,\n otherProps = _objectWithoutProperties__default[\"default\"](_ref, _excluded);\n\n var Router = memoryRouter ? reactRouter.MemoryRouter : reactRouterDom.BrowserRouter;\n var finalTrackingVariables = React.useMemo(function () {\n if (story === null && trackingVariables === null) {\n return null;\n }\n\n var _story$id = story.id,\n id = _story$id === void 0 ? null : _story$id,\n _story$slug = story.slug,\n slug = _story$slug === void 0 ? null : _story$slug,\n _story$title = story.title,\n title = _story$title === void 0 ? null : _story$title,\n _story$components = story.components,\n components = _story$components === void 0 ? [] : _story$components;\n return _objectSpread__default[\"default\"]({\n storyId: id,\n storySlug: slug,\n storyTitle: title,\n screensCount: (components || []).length\n }, trackingVariables);\n }, [story, trackingVariables]);\n\n var _ref2 = story || {},\n metadata = _ref2.metadata;\n\n var _ref3 = metadata || {},\n _ref3$language = _ref3.language,\n finalLocale = _ref3$language === void 0 ? locale : _ref3$language;\n\n var content = /*#__PURE__*/React__default[\"default\"].createElement(intl.IntlProvider, {\n locale: finalLocale,\n locales: locales,\n extraMessages: translations\n }, /*#__PURE__*/React__default[\"default\"].createElement(contexts.GoogleKeysProvider, {\n apiKey: googleApiKey\n }, /*#__PURE__*/React__default[\"default\"].createElement(contexts.GoogleMapsClientProvider, {\n locale: finalLocale\n }, /*#__PURE__*/React__default[\"default\"].createElement(contexts.FieldsProvider, {\n manager: fieldsManager__default[\"default\"]\n }, /*#__PURE__*/React__default[\"default\"].createElement(screens.ScreensProvider, null, /*#__PURE__*/React__default[\"default\"].createElement(contexts.UserInteractionProvider, null, /*#__PURE__*/React__default[\"default\"].createElement(contexts.TrackingProvider, {\n variables: finalTrackingVariables\n }, withoutRouter ? /*#__PURE__*/React__default[\"default\"].createElement(Viewer, Object.assign({\n story: story,\n basePath: basePath\n }, otherProps)) : /*#__PURE__*/React__default[\"default\"].createElement(ViewerRoutes, Object.assign({\n story: story,\n basePath: basePath\n }, otherProps)))))))));\n return withoutRouter ? content : /*#__PURE__*/React__default[\"default\"].createElement(Router, {\n basename: !memoryRouter ? basePath : null\n }, /*#__PURE__*/React__default[\"default\"].createElement(contexts.RoutesProvider, {\n routes: routes\n }, content));\n};\n\nViewerContainer.propTypes = propTypes;\nViewerContainer.defaultProps = defaultProps;\n\nexports.Viewer = Viewer;\nexports[\"default\"] = ViewerContainer;\n"],"names":["initialStory","window","MICROMAG_STORY","initialProps","MICROMAG_VIEWER_PROPS","rootElementId","MICROMAG_ROOT_ELEMENT_ID","defaultRootElement","MICROMAG_ROOT_ELEMENT","document","getElementById","renderStoryFnc","MICROMAG_RENDER_STORY_FNC","renderStory","story","props","root","render","React","Viewer","__webpack_public_path__","MICROMAG_PUBLIC_PATH","styles","propTypes","width","height","disabled","verticalAlign","className","children","onScrolledBottom","onScrolledNotBottom","contain","scrollContainerRef","Scroll","_ref","_ref5","finalStyle","_useState","useState","_useState2","withArrow","setWithArrow","_useResizeObserver","useResizeObserver","scrollableRef","ref","scrollableHeight","entry","contentRect","current","_useResizeObserver2","scrolleeRef","scrolleeHeight","scrolledBottomOnce","useRef","scrolledNotBottomOnce","reachedBottom","bind","useScroll","_ref4","scrollY","xy","newWithArrow","nowReachedBottom","initial","enabled","useEffect","Math","round","maxScrollAmount","scrollTop","container","withScroll","containOverscroll","style","Object","assign","scrollable","scrollee","arrowContainer","FontAwesomeIcon","arrow","icon","faArrowDown","defaultProps","Scroll$1","defineProperty","exports","value","_defineProperty","_objectWithoutProperties","PropTypes","classNames","reactRouterDom","core","reactIntl","utils","reactFontawesome","freeSolidSvgIcons","_toConsumableArray","_slicedToArray","hooks","contexts","_objectSpread","get","ReactDOM","isArray","react","dayjs","throttle","isObject","reactHelmet","isString","isNumber","core$1","web","_interopDefaultLegacy","e","_defineProperty__default","_objectWithoutProperties__default","React__default","PropTypes__default","classNames__default","_toConsumableArray__default","_slicedToArray__default","_objectSpread__default","get__default","ReactDOM__default","isArray__default","dayjs__default","throttle__default","isObject__default","isString__default","isNumber__default","propTypes$J","label","isRequired","isHtml","bool","values","object","Label","Message","FormattedMessage","isMessage","createElement","styles$s","_excluded$8","propTypes$I","type","string","theme","buttonTheme","size","buttonSize","href","external","direct","target","focusable","active","node","iconPosition","oneOf","loading","disableOnLoading","small","big","withShadow","withoutStyle","withoutTheme","outline","asLink","iconClassName","labelClassName","onClick","func","refButton","oneOfType","shape","any","Button$1","_ref7","_ref8","finalLabel","text","hasChildren","hasIcon","hasInlineIcon","hasIconColumns","content","Fragment","left","center","right","withStyle","buttonClassNames","btn","concat","withIcon","withIconColumns","withText","isSmall","isBig","isLink","isDisabled","isLoading","linkClassNames","linkDisabled","tabIndex","Link","to","styles$r","_excluded$7","propTypes$H","buttons","renderButton","onClickButton","buttonClassName","Buttons","role","map","button","index","_button$className","customClassName","_button$onClick","_onClick","_button$theme","buttonProps","fixedProps","key","undefined","_excluded$6","propTypes$G","BackButton","faAngleLeft","_excluded$5","_excluded2","propTypes$F","name","component","form","formComponents","components","fields","onChange","gotoFieldForm","closeFieldForm","fieldContext","FieldForm","fieldsManager","useFieldsManager","field","getFieldFromPath","split","_ref2","_ref2$type","fieldProps","_ref3","getDefinition","_ref3$component","fieldComponent","id","settings","definitionProps","FieldComponent","useFieldComponent","fieldValue","onFieldChange","useCallback","newFieldValue","newValue","setFieldValue","closeForm","formProps","FormComponent","getComponentFromName","FieldContextProvider","context","isForm","styles$q","propTypes$E","action","method","formFields","initialValue","postForm","submitButtonLabel","submitButtonLoadingLabel","actionsAlign","withoutActions","withoutComplete","withoutBackButton","onComplete","onResponse","onMessage","onCancel","onCancelHref","onOpenFieldForm","onCloseFieldForm","fieldsClassName","actionsClassName","cancelClassName","defaultProps$E","defaultMessage","Form","initialFields","complete","setComplete","setTimeout","clearTimeout","onCompleteForm","data","_useForm","useForm","onSubmit","status","setValue","errors","response","generalError","FieldsComponent","message","canSave","validateFields","_useState3","_useState4","fieldPaths","setFieldPaths","formName","arguments","length","fieldKey","newFields","pop","fieldParams","panel","replace","actions","styles$p","_excluded$4","propTypes$D","rel","_excluded$3","propTypes$C","header","image","imageAlt","imageOverlay","beforeBody","title","subtitle","afterBody","links","arrayOf","linksInSameBody","footer","imageClassName","headerClassName","titleClassName","subtitleClassName","bodyClassName","footerClassName","onClickBody","onClickFooter","Card","_ref10","linksElements","_ref2$className","linkClassName","linkProps","bodyInner","cardInner","src","alt","cardClassName","propTypes$B","animated","color","Spinner","viewBox","xmlns","x1","y1","x2","y2","stopColor","stopOpacity","offset","fill","fillRule","transform","d","stroke","strokeWidth","attributeName","from","dur","repeatCount","cx","cy","r","styles$o","_excluded$2","propTypes$A","description","FormPanel","propTypes$z","items","menuItems","bootstrapThemes","separator","withoutBar","noWrap","Breadcrumb","url","_ref2$active","_ref2$onClick","_excluded$1","propTypes$y","visible","align","dropdownAlign","itemClassName","onClickItem","onClickOutside","Dropdown","refContainer","onDocumentClick","contains","currentTarget","useDocumentEvent","it","_it$type","_it$className","_it$label","_it$children","itemChildren","_it$onClick","customOnClick","_it$active","itemProps","ItemComponent","finalOnClickItem","_excluded","propTypes$x","tagName","itemTagName","linkAsItem","hasSubMenuClassName","subMenuClassName","subMenuItemClassName","subMenuLinkClassName","hasDropdownClassName","dropdownClassName","dropdownItemClassName","dropdownLinkClassName","Menu","dropdownsVisible","setDropdownsVisible","ListComponent","_classNames","_classNames2","_classNames3","_classNames4","_classNames5","_classNames6","_classNames7","_classNames8","_it$linkClassName","customLinkClassName","_it$href","_it$external","_it$items","subItems","_it$dropdown","dropdown","preventDefault","slice","closeDropdown","propTypes$w","brand","brandLink","breadcrumbs","compact","withoutCollapse","brandClassName","breadCrumbsClassName","Navbar","menuVisible","setMenuVisible","onClickMenu","show","styles$m","messages","defineMessages","previous","next","propTypes$v","page","number","total","withPreviousNext","paginationClassName","onClickPage","PaginationMenu","getUrl","currentPage","indexOf","pages","Array","keys","pageNumber","styles$l","propTypes$u","renderItemButton","TabsMenu","propTypes$t","modals","setModalsContainer","ModalsContainer","containerRef","Modals","withModals","propTypes$s","register","unregister","ElementPortal","finalId","useMemo","Date","getTime","createPortal","propTypes$r","ModalPortal","_useModals","useModals","_useModals$register","_useModals$unregister","styles$j","propTypes$q","position","Modal","getDisplayName","inner","styles$i","propTypes$p","onClickClose","ModalDialog","body","propTypes$o","mediaTypes","array","opened","sources","onUploaded","onRequestClose","UploadModal","onUpppyComplete","fileTypes","t","filter","uppy","useUppy","allowedFileTypes","reset","DashboardModal","open","closeAfterFinish","plugins","styles$h","propTypes$n","panels","setPanelsContainer","PanelsContainer","hasPanels","Panels","withPanels","propTypes$m","PanelPortal","_usePanels","usePanels","_usePanels$panels","_usePanels$register","_usePanels$unregister","propTypes$l","Panel","styles$f","propTypes$k","topClassName","contentClassName","openedClassName","CollapsablePanel","setOpened","isOpened","top","faAngleUp","faAngleDown","propTypes$j","date","withTime","timeSeparator","Date$1","dateObject","toDate","FormattedDate","year","month","day","FormattedTime","propTypes$i","throttleDelay","threshold","onEnter","onLeave","Detector","_useIntersectionObser","useIntersectionObserver","isIntersecting","enteredRef","triggerChange","callback","intersecting","entered","trailing","leading","cancel","propTypes$h","boxClassName","PlaceholderBlock","propTypes$g","isPlaceholder","placeholderProps","ElementComponent","RealComponent","pascalCase","styles$d","propTypes$f","withoutBorder","light","Empty","middle","propTypes$e","fonts","formats","format","FontFaces","fontFaces","media","_ref2$name","_ref2$media","_ref3$files","files","urls","reduce","currentUrls","finalFormat","formatExtension","file","join","styles$c","propTypes$d","thumbnail","thumbnailAlign","thumbnailClassName","Media","listen","push","pathname","search","locale","formatMessage","defaultMessageContent","interaction","objectOf","firstname","lastname","email","gender","birthdate","menuItem","breadcrumb","device","modal","bootstrapThemeStrings","selectOption","formField","mediaMetadataShape","filename","mime","mediaFile","handle","mediaShape","thumbnail_url","metadata","imageMedia","fontMedia","videoMedia","duration","audioMedia","closedCaptionsMedia","font","textAlign","alpha","textStyle","fontFamily","fontSize","fontStyle","bold","italic","underline","upperCase","letterSpacing","lineHeight","borderTypes","radius","backgroundColor","borderRadius","borderWidth","borderColor","borderStyle","bottom","rows","columns","objectFitSize","fit","horizontalPosition","verticalPosition","textElement","headingElement","imageElement","autoPlay","loop","closedCaptions","withSeekBar","withPlayPause","backgroundElement","video","imageElementWithCaption","caption","stackDirection","stackAlign","stackSpacing","direction","spacing","reverse","layout","geoPosition","lat","lng","markerShape","marker","markerWithImage","answerShape","answer","quizAnswer","good","callToActionTypes","speaker","avatar","side","speakers","conversationMessage","conversationMessages","fieldShape","isSection","screenDefinition","layouts","fieldDefinition","storyComponentShape","storyComponent","screenComponent","screenComponents","textStyles","background","colors","logo","shareUrl","shareImage","favIcon","deviceScreen","mediaQuery","screen","screens","iframe","track","trackLng","controls","slide","transitionName","transitionParams","easing","transition","out","searchFilter","paymentItem","invoice_link","amount","pageMetadata","canonical","keywords","favicon","rssUrl","atomUrl","microformats","propTypes$c","fullTitle","suffix","Meta","_ref2$canonical","_ref2$description","_ref2$keywords","_ref2$image","_ref2$favicon","_ref2$rssUrl","_ref2$atomUrl","_ref2$microformats","_ref2$language","language","realTitle","_ref3$url","imageUrl","_ref3$metadata","_ref4$width","imageWidth","_ref4$height","imageHeight","_ref5$url","faviconUrl","Helmet","property","identifier","JSON","stringify","propTypes$b","auto","delay","Slideshow","setIndex","i","styles$a","AdFrame","faAd","AdImage","faImage","Audio","_ref$width","_ref$height","faMusic","propTypes$a","lines","lineMargin","PlaceholderText","oddWidth","marginTop","marginBottom","Button","line","Image","Line","shortText","styles$8","Map","withImages","faMapMarkerAlt","MapPath","mapPath","faMapMarkedAlt","Quote","ShortText","Subtitle","TextPlaceholder","_props$height","_props$lines","_props$lineMargin","Timeline","timeline","Title","Video","faVideo","Video360","VideoLoop","faPlay","faRedo","propTypes$9","renderContext","onPrevious","onNext","onEnableInteraction","onDisableInteraction","getMediaRef","Screen","CustomScreenComponent","ContextScreenComponent","useScreenComponent","ScreenComponent","ScreenProvider","Screen$1","memo","propTypes$8","ScreenPlaceholder","screenSize","ScreenSizeProvider","Placeholder","propTypes$7","ScreenPreview","Preview","styles$4","Placeholders","freeze","__proto__","Conversation","idx","faCommentDots","InputText","QuizAnswer","_ref$good","faCheck","faTimes","SurveyAnswer","faPercent","Text","propTypes$6","placeholder","preview","empty","emptyLabel","isEmpty","emptyClassName","ScreenElement","_useScreenRenderConte","useScreenRenderContext","isEdit","isPreview","PlaceholderComponent","propTypes$5","storyComponents","Screens","screenId","propTypes$4","fullscreen","playing","onStart","Transition","_useSpring","useSpring","_useSpring2","springProps","setSpringProps","immediate","onRest","config","timeout","start","div","TransitionComponents","Fade","opacity","Scale","propTypes$3","transitions","Transitions","_useScreenSize$landsc","useScreenSize","landscape","finalPlaying","finalTransitions","transitionsObject","forEach","transitionKey","currentTransition","_finalTransitions$in","transitionIn","_finalTransitions$out","transitionOut","finalTransitionIn","finalTransitionOut","transitionInName","_ref3$name","transitionOutName","sameTransitionInOut","TransitionIn","TransitionOut","transitionInProps","transitionOutProps","renderTransitionOut","propTypes$2","stagger","TransitionsStagger","validIndex","Children","child","_child$type","_ref2$withoutTransiti","withoutTransitionsWrapper","el","propTypes$1","selector","highlightSelector","HighlightStyle","convertStyleToString","linkSelector","LinkStyle","DropdownMenu","Element","Pagination","PlaceholderAdFrame","PlaceholderAdImage","PlaceholderAudio","PlaceholderButton","PlaceholderImage","PlaceholderLine","PlaceholderMap","PlaceholderMapPath","PlaceholderQuote","PlaceholderShortText","PlaceholderSubtitle","PlaceholderTimeline","PlaceholderTitle","PlaceholderVideo","PlaceholderVideo360","PlaceholderVideoLoop","Tabs","uniqBy","fetch","services","reactRouter","tracking","uuid","_interopNamespace","__esModule","n","create","k","getOwnPropertyDescriptor","enumerable","uniqBy__default","MODALS_NAMESPACE","FIELDS_NAMESPACE","FORMS_NAMESPACE","SCREENS_NAMESPACE","ELEMENTS_NAMESPACE","ComponentsContext","createContext","useComponentsManager","namespace","manager","useContext","finalManager","ComponentsManager","getComponents","useComponents","defaultComponents","useComponent","defaultComponent","getComponent","instanceOf","ComponentsProvider","previousManager","addNamespace","Provider","FieldsContext","fieldDefinitions","FieldsManager","FieldsProvider","getDefinitions","newComponents","ScreensContext","ScreensManager","useScreensManager","screenDefinitions","ScreensProvider","newManager","merge","initialComponents","setComponents","on","off","StoryContext","useStoryContext","useStory","StoryProvider","EditorContext","useEditor","EditorProvider","screensManager","parser","ColorsParser","parse","currentStory","getColors","FieldContext","GoogleKeysContext","apiKey","useGoogleKeys","GoogleKeysProvider","previousApiKey","FontsContext","systemFonts","googleFonts","customFonts","useGoogleFonts","_ref$disabled","_ref$setFonts","setFonts","_useGoogleKeys","setGoogleFonts","canceled","getJSON","then","_ref2$items","newFonts","family","variants","useFonts","_ref3$withoutGoogleFo","withoutGoogleFonts","_useContext","_useContext$setGoogle","_useContext$systemFon","_useContext$googleFon","_useContext$customFon","FontsProvider","_useFonts","_useFonts$systemFonts","previousSystemFonts","_useFonts$googleFonts","previousGoogleFonts","previousCustomFonts","GoogleApiClientContext","GoogleApiClientProvider","client","setClient","loadGoogleApi","gapi","init","GoogleMapsClientContext","useGoogleMapsClient","libraries","GoogleMapsClientProvider","exisitingClient","loadGoogleMaps","newClient","ModalsContext","ModalsProvider","initialContainer","setContainer","setModals","modalsRef","currentModals","newModals","findIndex","PanelsContext","PanelsProvider","setPanels","panelsRef","currentPanels","newPanels","RoutesContext","useUrlGenerator","_useContext2","routes","basePath","generatePath","RoutesProvider","ScreenContext","definition","useScreen","_ref6","_ref6$data","previousData","_ref6$definition","previousDefinition","_ref6$renderContext","previousContext","finalData","_ref7$type","contextDefinition","finalDefinition","finalRenderContext","ScreenSizeContext","currentSize","setSize","prevWidth","prevHeight","nextWidth","nextHeight","useTracking","TrackingContext","variables","trackingVariables","TrackingProvider","contextTracking","tracking$1","Tracking","getVariables","TrackingContainer","packageCache","packagesCache$2","defaultPackagesMap$2","fr","Promise","resolve","en","packagesCache$1","defaultPackagesMap$1","transloadit","tus","xhr","packagesCache","defaultPackagesMap","webcam","facebook","instagram","dropbox","getTransloaditMediasFromResponse","successful","find","subIt","assembly_id","assembly","results","resultKey","result","itResult","original","meta","ssl_url","user","convertToMedia","UppyContext","transport","templateId","waitForEncoding","companion","allowedHosts","endpoint","UppyProvider","loadedPackage","setLoadedPackage","providedTransport","providedLocale","providedSources","providedTransloadit","providedCompanion","providedTus","providedXhr","intlLocale","useIntl","_ref6$transport","contextTransport","_ref6$locale","contextLocale","_ref6$sources","contextSources","_ref6$transloadit","contextTransloadit","_ref6$companion","contextCompanion","_ref6$tus","contextTus","_ref6$xhr","Uppy","uppyTransport","_ref$packagesMap","packagesMap","packageLoader","pack","others","dep","useUppyTransport","uppySources","packages","source","sourcePackage","loadedPackages","setLoadedPackages","sourcesToLoad","sourcesLoaded","all","promise","packagesLoaded","newLoadedPackages","_packagesLoaded$index","otherMap","useUppySources","uppyLocale","useUppyLocale","buildUppy","opts","_ref7$sources","customSources","uppyOpts","newUppy","_transloadit$waitForE","transloaditOpts","use","params","auth","template_id","resume","retryDelays","currentUppy","sourceId","COMPANION","COMPANION_PATTERN","companionUrl","companionAllowedHosts","defaultValue$1","userInteracted","UserInteractionContext","UserInteractionProvider","setUserInteracted","setted","set","addEventListener","removeEventListener","defaultValue","menuSize","ViewerContext","ViewerProvider","useElementComponent","useElementsComponents","useElementsComponentsManager","useFieldContext","useFieldDefinition","useFieldsComponents","useFieldsComponentsManager","useFormComponent","useFormsComponents","useFormsComponentsManager","useGetColors","_ref$getColors","useGoogleApiClient","useModalComponent","useModalsComponents","useModalsComponentsManager","useRouteBack","history","useHistory","goBack","useRoutePush","route","_len","args","_key","apply","_ref$pathname","_ref$search","useRoutes","useScreenData","useScreenDefinition","intl","finalFields","getScreenExtraField","_ref4$renderContext","isStatic","isCapture","isView","useScreensComponents","useScreensComponentsManager","_ref$onComplete","_ref$onFail","onFail","_ref$getFileName","getFileName","_ref2$extension","extension","v1","_ref$meta","_ref$maxNumberOfFiles","maxNumberOfFiles","_ref$allowedFileTypes","_ref$autoProceed","autoProceed","restrictions","onUppyComplete","_response$successful","_response$failed","failed","finalSuccessful","onUpload","_ref4$fileIDs","fileIDs","getFile","newName","setFileMeta","close","useUserInteracted","useViewer","withGoogleApiClient","WrappedComponent","_ref$displayName","displayName","_ref$name","WithGoogleApiClientComponent","Consumer","googleApiClient","withGoogleMapsClient","WithGoogleMapsClientComponent","WithModalsComponent","modalsContainer","registerModal","unregisterModal","WithPanelsComponent","panelsContainer","registerPanel","unregisterPanel","forms","screenfull","cssMediaquery","react$1","clamp","screenfull__default","clamp__default","eventsManager$1","EventsManager","createUseEvent","observersCache","getOptionsKey","_ref$root","rootMargin","_ref$threshold","createObserver","Observer","options","subscribers","addSubscriber","element","callbacks","removeSubscriber","subCallback","onUpdate","entries","observer","unsubscribe","unobserve","disconnect","subscriber","observe","currentSubscriber","subscribe","getObserver","observerKey","has","observers","useObserver","initialEntry","_opts$root","_opts$rootMargin","_opts$threshold","_opts$disabled","setEntry","nodeRef","currentElement","elementChanged","nodeElement","newEntry","newOpts","_getObserver","localUnsubscribe","thresholdArray","intersectionObserverInitialEntry","time","isVisible","intersectionRatio","intersectionRect","boundingClientRect","rootBounds","_ref3$root","_ref3$rootMargin","_ref3$threshold","_ref3$disabled","IntersectionObserver","resizeObserverInitialEntry","contentBoxSize","borderBoxSize","_ref4$disabled","ResizeObserver","fontsMap","event","isTouchEvent","touches","preventClickDefault","stopPropagation","progressSteps","_ref$landscape","_ref$menuOverScreen","menuOverScreen","_ref$screens","_ref$mediaType","mediaType","_ref$media","providedMedia","matchingScreens","_ref2$mediaQuery","match","getWindowSize","innerWidth","getScreenOptions","screenContext","_ref$data","_ref2$id","ctxScreenId","ctxScreenType","_ref3$screenId","optsScreenId","_ref3$screenType","screenType","hasTracking","eventsManager","useWindowEvent","useAnimationFrame","onFrame","requestRef","startTimeRef","progress","requestAnimationFrame","cancelAnimationFrame","_ref$fields","providedFields","_ref$injectInFields","injectInFields","fieldsNames","_useBaseForm","useFormTransition","paths","lastPageRef","currentPartsCount","previousPartsCount","enter","enterRight","enterLeft","enterTop","enterBottom","enterActive","enterActiveHorizontal","enterActiveVertical","leave","leaveActive","leaveActiveRight","leaveActiveLeft","leaveActiveTop","leaveActiveBottom","useFormattedDate","_ref$format","_ref$showToday","showToday","today","dateToFormat","formatDate","useFormattedTime","_ref2$format","_ref2$showNow","showNow","_ref2$timeGap","timeGap","now","hour","minute","formatTime","useFullscreen","isEnabled","setActive","request","unFullscreen","exit","toggle","isFullscreen","useIsVisible","_ref$persist","persist","wasIntersecting","useLoadedFonts","loaded","setLoaded","newConfig","isFontLoading","isFontActive","families","load","fontloading","addFontLoading","fontactive","addFontActive","fontinactive","removeFontLoading","useLongPress","_ref$onLongPress","onLongPress","_ref$onClick","_ref$shouldPreventDef","shouldPreventDefault","_ref$delay","longPressTriggered","setLongPressTriggered","passive","clear","shouldTriggerClick","onMouseDown","onTouchStart","onMouseUp","onMouseLeave","onTouchEnd","useMediaApi","_ref$url","_ref$initialMuted","initialMuted","_ref$onTimeUpdate","onTimeUpdate","_ref$onProgressStep","onProgressStep","_ref$onDurationChange","onDurationChanged","_ref$onVolumeChanged","onVolumeChanged","_ref$onPlay","onPlay","_ref$onPause","onPause","_ref$onEnded","onEnded","_ref$onSeeked","onSeeked","_ref$onLoadStart","onLoadStart","_ref$onCanPlayThough","onCanPlayThough","_ref$onCanPlay","onCanPlay","_ref$onLoadedData","onLoadedData","_ref$onLoadedMetadata","onLoadedMetadata","muted","setMuted","currentTime","setCurrentTime","_useState5","_useState6","setDuration","_useState7","_useState8","setPlaying","_useState9","_useState10","ready","setReady","_useState11","_useState12","dataReady","setDataReady","_useState13","_useState14","initialPlay","setInitialPlay","progressStepsReached","paused","play","pause","togglePlay","stop","seek","mute","unMute","toggleMute","onCustomPlay","onCustomPause","midway","onCustomEnded","onCustomTimeUpdate","currentSteps","step","onCustomDurationChange","onCustomSeeked","onCustomVolumeChange","volume","onCustomLoadStart","onCustomCanPlayThrough","onCustomCanPlay","onCustomLoadedMetadata","onCustomLoadedData","_ref$current","readyState","useMediasParser","MediasParser","toPath","fromPath","useParsedStory","_ref$withTheme","withTheme","_ref$withMedias","withMedias","_ref$withFonts","withFonts","StoryParser","newStory","useScreenSizeFromElement","_ref5$width","calculatedWidth","_ref5$height","calculatedHeight","fullWidth","fullHeight","_ref6$withoutMaxSize","withoutMaxSize","_ref6$desktopHeightTh","desktopHeightThreshold","_ref6$desktopHeightRa","desktopHeightRatio","_ref6$screenRatio","screenRatio","landscapeWithMaxSize","finalWidth","finalHeight","useScreenSizeFromWindow","windowSize","setWindowSize","onResize","useSwipe","_ref$items","_ref$withSpring","withSpring","_ref$swipeWidthThresh","swipeWidthThreshold","_ref$animateScale","animateScale","_ref$lockAxis","lockAxis","_ref$onSwipeStart","onSwipeStart","_ref$onSwipeEnd","onSwipeEnd","_ref$onSwipeCancel","onSwipeCancel","_ref$onTap","onTap","swipingIndex","lockedAxis","hasWidth","windowWidth","currentWidth","count","getItem","x","scale","zIndex","getItems","_ref2$down","down","_ref2$mx","mx","item","abs","_useSprings","useSprings","y","_useSprings2","itemsWithProps","useDrag","_ref3$movement","movement","my","xDir","tap","movementX","movementY","distanceX","distanceY","filterTaps","useThemeParser","ThemeParser","useTrackEvent","category","trackEvent","useTrackMedia","trackMedia","useTrackScreenEvent","useTrackScreenMedia","useTrackScreenView","trackScreenView","PropTypes$1","snakeCase","_classCallCheck","_createClass","uniqWith","sortBy","_inherits","_createSuper","EventEmitter","changeCase","_typeof","uniq","_classCallCheck__default","_createClass__default","uniqWith__default","sortBy__default","_inherits__default","_createSuper__default","EventEmitter__default","_typeof__default","uniq__default","location","statusCode","interactions","devices","formControlSize","formErrors","selectOptions","medias","imageMedias","fontMedias","videoMedias","audioMedias","buttonStyle","margin","gridLayout","objectFit","inputElement","imageElements","videoElement","audioElement","closedCaptionsElement","imageElementsWithCaption","stackElement","gridElement","markers","markersWithImage","answers","quizAnswers","callToAction","conversation","viewerTheme","deviceScreens","adFormats","adFormat","audioComponent","slides","containerStyle","searchFilters","paymentItems","componentNames","Components","sortedColors","uniqueColors","colorA","colorB","this","_this","_ref2$theme","_ref2$components","_components$reduce","_ref3$colors","currentColors","_ref4$fields","fieldsPattern","getColorFieldPatterns","newColors","getColorsFromPath","themeColors","_this2","namePrefix","patterns","_field$name","_field$type","path","_fieldDefinition$fiel","subFields","_fieldDefinition$item","itemsField","_fieldDefinition$sett","fieldIsColor","RegExp","_ref5$id","keyPrefix","dataIsArray","currentData","_ref6$colors","patternMatch","found","pattern","test","subColors","innerColor","hex","toUpperCase","subReturn","pascalName","_EventEmitter","_super","call","addComponents","componentsMaps","emit","componentsMap","_this3","matches","exec","DefinitionsManager","definitions","addDefinitions","_ref$component","allComponents","_ref2$component","events","listeners","newEvents","eventName","newListeners","listener","_DefinitionsManager","fieldsPatternCache","_ref2$fields","getMediaFieldsPattern","_ref3$theme","_ref3$components","previousComponents","currentMedias","getFieldsPatternByScreen","_MediasParser$replace","replaceMediasWithPaths","newScreen","newMedias","_this$toPath","themeMedias","newTheme","defaultMedias","_ref5$theme","_ref5$components","_ref5$medias","componentsPattern","getMediaPatternsFromData","replacePathsWithMedias","fieldIsMedia","fieldIsFontFamily","_ref6$media","_ref7$id","newData","_ref8$id","_ref9","subMedias","mediaPath","getMediaPath","obj","dotObj","dot","acc","flattenedChild","childAcc","childKey","_ref2$layouts","definitionCache","themeComponents","themeScreen","_theme$components","_theme$background","themeBackground","_theme$colors","_theme$textStyles","themeTextStyles","currentComponents","_this$getDefinitionBy","getDefinitionByScreen","parseScreen","themeValue","themeTextSyle","_definition$fields","newThemeValue","newScreenValue","currentValue","fieldThemeValue","parseField","_definition$theme","fieldTheme","innerField","newInnerField","innerFieldName","_ref3$textStyle","innerFieldTextStyle","_ref3$color","innerFieldColor","colorValue","textStyleValue","_ref4$textStyle","fieldTextStyleName","_ref4$color","fieldColorName","fieldColor","fieldTextStyle","fieldThemeComponentTextStyle","FontsParser","getFieldsPattern","currentFonts","extractFontsWithPaths","_this$parse","_this$parse$fonts","themeFonts","_ref4$id","_ref5$type","subFonts","valueIsFont","themeParser","mediasParser","fontsParser","_ref2$withTheme","_ref2$withMedias","_ref2$withFonts","parsers","parsedStory","_BaseTracking","_this$options$variabl","screensViewed","setVariables","screenIndex","_ref$screensCount","screensCount","_ref2$metadata","screenTitle","screenProgress","screensViewedProgress","_ref4$value","eventCategory","eventAction","eventLabel","eventValue","_ref5$value","_ref5$currentTime","optsCurrentTime","_ref6$id","mediaId","_ref6$name","_ref6$duration","rootDuration","_ref6$currentTime","_ref6$metadata","_ref7$duration","mediaCurrentTime","mediaProgress","paramCase","tinycolor","slugify","tinycolor__default","slugify__default","getColorAsString","overideAlpha","_ref$color","_ref$alpha","setAlpha","toRgbString","getFieldByName","foundField","_it$name","fieldName","_it$fields","getFontFamily","_ref$fallback","fallback","getRemainder","floor","toFixed","getStyleFromColor","getStyleFromBorder","_value$width","_value$style","_value$color","createNullableOnChange","nullableValue","getDeviceScreens","fieldManager","_foundField$type","_foundField$fields","fieldFields","_foundField$field","finalType","_ref$settings","_ref$itemsField","listItems","getFontFamilyFromFont","getGridLayoutName","getLargestRemainderRound","numbers","desiredTotal","remainder","sort","a","b","delta","sum","res","getLayersFromBackground","layers","_ref$image","_ref$video","getLayoutParts","horizontal","vertical","getMediaFilesAsArray","newFiles","getOptimalImageUrl","containerWidth","containerHeight","maxDiff","_ref$sizes","sizes","defaultUrl","_ref$metadata","imgWidth","imgHeight","finalSizes","_Object$keys$reduce","currentDiff","diff","currentIsLarger","isLarger","_finalSizes$key","_finalSizes$key$width","_finalSizes$key$heigh","diffWidth","diffHeight","Infinity","sizeIsLarger","finalUrl","getSecondsFromTime","s","parseFloat","getStyleFromButton","_value$backgroundColo","_value$borderRadius","_value$borderWidth","_value$borderStyle","_value$borderColor","border","getStyleFromContainer","_value$size","_size$width","_size$height","getStyleFromHighlight","_value$textColor","textColor","colorString","boxShadow","mozBoxShadow","msBoxShadow","webkitBoxShadow","getStyleFromImage","_value$fit","_fit$size","_fit$position","_position$axisAlign","axisAlign","_position$crossAlign","crossAlign","objectPosition","getStyleFromLink","_ref$italic","_ref$bold","_ref$underline","fontWeight","textDecoration","getStyleFromMargin","_value$top","_value$bottom","getStyleFromText","_value$fontFamily","_value$fontSize","_value$fontStyle","_value$lineHeight","_value$letterSpacing","_value$align","textTransform","_ref$outline","WebkitTextStroke","isImageFilled","isIos","includes","navigator","platform","userAgent","isLabelFilled","_ref$label","_ref2$length","isTextFilled","_ref$body","isValidUrl","URL","_","protocol","schemaId","str","keyParts","shift","parseInt","newArrayValue","slug","toSlug","lower","unique","arrArg","elem","pos","arr","val","required","defineMessage","labelPath","isList","noItemLabel","addItemLabel","breadcrumbLabel","isHorizontal","dataList","firstOptionAsDefault","textOnly","entriesWithImage","entriesWithVisual","entryWithImage","entryWithVisual","graphBarStyle","inline","imageWithCaption","thumbnailPath","imagesWithCaption","images","noValueLabel","parameters","getDefaultValue","fontStyleName","alignName","transformName","visualWithCaption","visualsWithCaption","visuals","audio","buttonElement","checkboxes","fieldWithForm","itemTextStyle","iconName","prefix","iconRotation","mapZoom","min","max","password","radios","screenLayout","select","tokens","visual","allFields","manager$1","module","IntlManager","locales","currentLocale","getLocale","localeObj","intlManager","defaultLocales","LocalesContext","useLocales","extraMessages","IntlProvider","previousLocales","IntlContext","_ref2$locale","previousLocale","_ref2$messages","previousMessages","currentMessages","getMessages","useOtherLocales","styles$1","sampleWidth","sampleMargin","minSampleHeight","progressColor","audioLevels","onSeek","onResume","onReady","AudioWave","canvasBackgroundRef","canvasProgressRef","elRef","_ref2$width","elWidth","elHeight","sampleOuterWidth","samplesCount","levelsBySamples","amplitudes","newAmplitudes","levelStartIndex","levelEndIndex","newValues","minAmplitude","normalizedAmplitudes","canvasBg","canvasProgress","devicePixelRatio","ctxBG","getContext","ctxProgress","clearRect","fillStyle","offsetLeft","amplitude","amplitudeI","sampleHeight","sampleX","sampleY","fillRect","seekFromX","elX","getBoundingClientRect","useGesture","onDrag","elapsedTime","drag","axis","clipPath","apiRef","waveFake","waveProps","reduceBufferFactor","_ref2$url","_ref3$waveform","waveform","finalInitialMuted","_useMediaApi","api","mediaRef","audioReady","setAudioLevels","blobUrl","setBlobUrl","AudioContext","webkitAudioContext","random","mode","Error","arrayBuffer","createObjectURL","Blob","decodeAudioData","buffer","numberOfChannels","leftChannelData","getChannelData","newArray","level","levelIndex","crossOrigin","preload","Audio$1","timeOffset","ClosedCaptions","setLines","lineIndex","setLineIndex","startOffset","startSeconds","srt","parsed","console","error","getLineIndexFromTime","currentLineIndex","end","nextLineIndex","dangerouslySetInnerHTML","__html","SeekBar","onSeekClick","currentTargetRect","seekProgress","pageX","onTogglePlay","onToggleMute","MediaControls","faPause","faVolumeUp","playsInline","withoutCors","supportedMimes","mediaUrl","_ref2$files","_ref3$description","_ref3$mime","mediaMime","filesArray","sourceFiles","supportVideo","finalSupportedMimes","canPlayType","_file$mime","_ref4$type","originalType","_ref4$mime","originalMime","isImageWithoutSourceFile","withSize","firstPreloadRef","hasLoadedRef","canLoad","preloadHasChanged","sourceUrl","sourceMime","Video$1","horizontalAlign","repeat","loadingMode","shouldLoad","Background","mediaMetadata","mediaThumbnailUrl","_ref3$width","mediaWidth","_ref3$height","mediaHeight","isVideo","isImage","newShouldLoad","wasLoadedRef","finalShouldLoad","backgroundImage","backgroundRepeat","backgroundPosition","backgroundSize","videoContainerStyle","_getSizeWithinBounds","cover","_getSizeWithinBounds$","videoWidth","_getSizeWithinBounds$2","videoHeight","videoContainer","BackgroundLayers","hasSize","maxZIndex","_ref3$horizontalAlign","_ref3$verticalAlign","layer","Container","StackContext","StackProvider","minSize","maxSize","Spacer","minWidth","maxWidth","minHeight","maxHeight","Stack","flexDirection","alignItems","justifyContent","space","lastIndex","allChildren","HStack","VStack","distribution","Layout","linksStyle","lineClamp","showEmpty","_ref2$link","link","linkStyle","_ref2$highlight","highlight","highlightStyle","finalLinkStyle","finalHighlightStyle","WebkitLineClamp","needsId","tagProps","Tag","animationDisabled","dragAmount","CallToAction","_ref2$label","swipeUpEnabled","validUrl","buttonRef","_ref3$textStyle$fontS","_ref3$textStyle$color","arrowStyle","selfTargetLinkRef","leaving","setLeaving","onDragEnd","click","onPageHide","faChevronUp","CallToAction$1","AudioScreen","trackScreenMedia","_useScreenSize","hasCallToAction","backgroundPlaying","backgroundShouldLoad","transitionPlaying","transitionDisabled","hasAudio","_ref2$autoPlay","_ref2$closedCaptions","_ref2$withPlayPause","hasAudioUrl","finalAudio","hasClosedCaptions","onAudioReady","_ref4$mediaRef","apiMediaRef","isIOS","isMuted","longPressBind","elements","bottomContent","mediaControls","padding","paddingTop","AudioScreen$1","transforms","appleNews","_Audio","titleStory","titleComponent","log","_Container","containerStory","containerComponent","group","order","Base","baseUrl","query","queryString","arrayFormat","getFullUrl","credentials","headers","getCSRFHeaders","postJSON","_method","requestPost","_route","ContributionsApi","_Base","store","update","finalQuery","requestGet","MediasApi","tags","authors","requestPut","requestDelete","QuizApi","Api","contributions","quiz","ApiContext","useApi","ApiProvider","initialApi","previousApi","useData","loadData","_ref$initialData","initialData","_ref$autoload","autoload","setLoading","setError","setData","newError","loader","useQuizCreate","_ref$onSuccess","onSuccess","creating","setCreating","screen_id","apiBaseUrl","DataProvider","Heading","HeadingComponent","labelOutside","labelOutsideStyle","multiline","onFocus","onBlur","TextInput","labelStyle","elementStyle","containerProps","elementProps","submit","nameStyle","messageStyle","transitionStagger","resizeTransitionDuration","ContributionScreen","trackScreenEvent","scrollingDisabled","hasTitle","hasNameLabel","hasMessageLabel","hasSubmit","contributionsRef","formRef","interactiveContainerHeight","setInteractiveContainerHeight","userName","setUserName","userMessage","setUserMessage","submitState","setSubmitState","onContributionSubmitted","_useContributionCreat","useContributionCreate","submitContribution","_useContributions","_ref$opts","defaultContributions","useContributions","onNameChange","onMessageChange","nameFilled","onNameBlur","messageFilled","onMessageBlur","scrolledBottom","setScrolledBottom","swipeUpLinkActive","callToActionRef","_ref2$height","callToActionHeight","offsetHeight","emptyTitle","allContributions","interactiveContainer","transitionDuration","formContent","emptyInputName","inputName","emptyInputMessage","inputMessage","emptySubmit","buttonSubmit","formLoading","loadingIcon","faSpinner","contributionsContainer","contributionsContent","contribution","contributionIndex","nameInnerStyle","messageInnerStyle","contributionName","contributionMessage","submitting","submitted","showContributions","imageStyle","onLoaded","finalContainerStyle","finalImageStyle","mediaRatio","_useState2$","_useState2$$width","realWidth","_useState2$$height","realHeight","setRealSize","onImageLoaded","_e$target","_e$target$naturalWidt","naturalWidth","_e$target$naturalHeig","naturalHeight","mediaHasSize","imageTop","imageLeft","imageObjectFit","imageObjectPosition","_ref4$fit","_ref4$horizontalPosit","_ref4$verticalPositio","resizedImageWidth","resizedImageHeight","_finalWidth","_finalHeight","_finalImageStyle","_finalImageStyle$widt","_finalImageStyle$heig","onLoad","videoLoop","videoInitialMuted","videoClassName","Visual","_ref2$thumbnail_url","thumbnailUrl","isGIF","elProps","imageElProps","tmpProps","_ref5$metadata","_ref6$width","_ref6$height","resizedVideoWidth","resizedVideoHeight","previousMessage","nextMessage","nextMessageState","currentSpeaker","conversationTiming","typingTiming","withAnimation","isPlaying","speakerStyle","ConversationMessage","messageBody","_ref3$avatar","_ref3$avatar$url","avatarUrl","speakerName","_ref3$side","currentSpeakerId","isPrevSpeakerTheSame","isNextSpeakerTheSame","messageState","setMessageState","pauseBeforeTyping","typingDuration","betweenStyle","messageContainer","loadingContainer","loadingSpeakerName","normalRight","nextTheSame","inBetweenRight","normalLeft","inBetweenLeft","last","speakerDetails","avatarContainer","imageContainer","timing","ConversationScreen","timingMode","_ref2$speakers","conversationState","setConversationState","chatBottomRef","contentRef","scrollHeight","scrollRef","scrollTo","behavior","animationFinished","conversationStateChange","state","newConversationState","filteredMessages","m","timings","_ref4$timing","_ref4$message","messageI","finalTime","hesitationTimings","_ref5$hesitation","hesitation","messagesUniqueId","viewCTA","shouldPlay","pauseTiming","ConversationScreen$1","axisClassName","crossClassName","Grid","itemIndex","finalLayout","crossTotal","_ref2$rows","_ref2$columns","crossIndex","crossSize","axisItems","finalAxisItems","axisTotal","axisItem","axisIndex","axisSize","layoutProps","withCaptions","captionMaxLines","GalleryScreen","finalSpacing","grid","_grid$layout","_grid$vertical","gridSpaces","imagesLoaded","setImagesLoaded","imagesCount","imagesEl","imagesSizes","setImagesSizes","contentWidth","contentHeight","imageEl","offsetWidth","itemI","imageSize","finalImage","_ref5$caption","hasImage","hasCaption","gridItem","emptyImage","emptyCaption","captionText","paddingBottom","GalleryScreen$1","_Mosaic","GalleryFeedScreen","isReversed","editImages","finalImages","firstImageRef","firstImageRefWidth","_ref3$caption","captionElement","GalleryFeedScreen$1","_Gallery","imageFit","defaultImageFit","legend","withTitle","withLegend","ImageScreen","finalImageFit","hasText","hasLegend","isTitleTop","isCard","isCardReverse","imageCntRef","cardImageMargin","imageMargin","placeholderImage","emptyText","emptyLegend","splice","ImageScreen$1","_Image","imageStory","imageComponent","_Heading","_Text","textStory","textComponent","styles$2","elementType","stylers","visibility","featureType","eventsMapping","getCenter","onCenterChanged","onBoundsChanged","getBounds","onTilesLoaded","zoom","maxZoom","bounds","draggable","fitBounds","zoomControl","mapTypeControl","scaleControl","streetViewControl","rotateControl","fullscreenControl","Map$1","_useGoogleMap","_ref$maxZoom","_ref$center","_ref$withoutStyle","_ref$fitBounds","_ref$bounds","_ref$draggable","mapRef","resizeRef","_ref3$lat","_ref3$lng","panTo","setZoom","updateBounds","newBounds","equals","getZoom","panToBounds","setOptions","scrollWheel","disableDoubleClickZoom","gestureHandling","maps","addListener","useGoogleMap","eventMapping","onDoubleClick","iconSize","Marker","_ref$position","_ref$icon","_ref$iconSize","markerRef","setPosition","updateIcon","newIcon","iconUrl","setIcon","scaledSize","Size","clearInstanceListeners","setMap","useGoogleMapMarker","onClickMap","onClickMarker","_ref2$geoPosition","extend","LatLng","LatLngBounds","_ref5$active","_ref5$geoPosition","_ref5$image","_ref5$title","defaultCenter","openedMarkerSpacerHeight","withMarkerImages","MapScreen","_ref13","_useGoogleKeys$apiKey","selectedMarkerIndex","setSelectedMarkerIndex","hasSelectedMarker","lastRenderedMarker","markerOverlayContentStyle","onMapReady","finalMarkers","markerI","closeMarker","lastMarker","markerIndex","onButtonClick","onCloseClick","onMapDragEnd","coords","toJSON","selectedMarker","markerOverContentInnerRef","markerOverContentInnerWidth","markerImagesLoaded","setMarkerImagesLoaded","allMarkersImagesLoaded","finalReady","imgs","_ref6$url","img","onload","staticUrl","_ref7$lat","_ref7$lng","_ref8$geoPosition","_ref9$lat","_ref9$lng","_ref10$image","_ref11$url","_ref12","_ref12$title","markerTitle","_ref12$subtitle","markerSubtitle","_ref12$description","markerDescription","_ref12$image","markerImage","hasMarkerTitle","hasMarkerSubtitle","hasMarkerDescription","hasMarkerImage","hasDescription","hasButton","markerOverlayContainer","markerOverlayScrollable","markerOverlaySafe","markerOverlay","markerOverlayContent","swipeIndicator","markerOverlayContentInner","splash","emptyDescription","emptyButton","splashButton","closeButton","_ref3$geoPosition","latitude","longitude","_ref4$lat","_ref4$lng","_Map","question","buttonsStyle","goodAnswerColor","badAnswerColor","showResultsDelay","resultsTransitionDuration","QuizScreen","hasQuestion","hasResult","showInstantAnswer","goodAnswerIndex","userAnswerIndex","setUserAnswerIndex","showResults","setShowResults","answerTransitionComplete","setAnswerTransitionComplete","answered","_ref2$good","hasUserAnsweredRight","isSplitted","submitQuiz","onAnswerClick","answerI","answerIndex","answerRef","answerHeight","_useResizeObserver3","rightAnswerRef","rightAnswerHeight","_useResizeObserver4","resultRef","resultHeight","rightAnswerTop","setRightAnswerTop","offsetTop","_ref7$good","isGood","_ref7$label","_ref8$body","choice","userAnswer","_ref9$good","rightAnswer","_ref9$label","_ref9$buttonStyle","answerButtonStyle","_ref10$textStyle","hasAnswer","itemContent","emptyAnswer","resultIcon","faIcon","optionLabel","resultContent","emptyResult","resultText","quote","author","QuoteScreen","hasQuote","hasAuthor","isTopLayout","isMiddleLayout","quoteWithMargin","emptyQuote","withMargin","emptyAuthor","QuoteScreen$1","_Quote","quoteStory","quoteComponent","_Author","authorStory","authorComponent","fieldType","numbersStyle","ascending","RankingScreen","finalItems","itemsCount","_ref2$title","titleElement","descriptionElement","rankText","rank","scroll","_ref$ascending","allItems","_Text2","descriptionStory","descriptionComponent","reducedStory","reducedComponents","_Container2","bigContainerStory","bigContainerComponent","SlideshowScreen","_ref3$visual","SlideshowScreen$1","resultsStyle","barColor","withPercentLabels","resultTransitionDuration","SurveyScreen","_ref14","_useQuiz","useQuiz","_useQuiz$quiz","quizAnswersComputed","points","_ref2$count","computed","answersTotal","ans","_ref3$label","_ref4$body","_ref5$count","qa","countWithUser","percent","quizAnswersPct","evenlySplit","emptyQuestion","buttonsRefs","labelsRefs","buttonMaxWidth","setButtonMaxWidth","finalTransitionDuration","currentMaxWidth","totalWidth","clientWidth","_ref6$barColor","resultsBarColor","_ref6$textColor","resultsTextColor","_ref7$buttonStyle","_ref7$resultStyle","resultStyle","_ref8$barColor","answerResultBarColor","answerResultTextColor","_ref9$body","_ref10$percent","_ref11$textStyle","_ref12$color","labelColor","hasAnswerLabel","placeholderAnswer","itemInner","itemLabel","itemText","resultContainer","transitionDelay","resultLabel","TextScreen","titleWithMargin","TextScreen$1","bulletColor","lineColor","bulletShape","bulletFilled","illustrated","curr","transitionsPlaying","firstLineRef","firstContentRef","setImageWidth","timelineElements","_ref3$title","_ref3$image","elementsTypes","titleIndex","imageIndex","typesCount","typeI","elementContent","hasElement","firstItem","lastItem","lastType","topLineHidden","bottomLineHidden","hidden","bullet","lastContent","_ref7$height","withoutLines","withSubtitle","withDescription","descriptionEmptyLabel","TitleScreen","hasSubtitle","layoutParts","subtitleWithMargin","TitleScreen$1","credits","TitleSubtitleCreditsScreen","_Heading2","subtitleStory","subtitleComponent","creditsStory","creditsComponent","VideoScreen","videoShouldLoad","_ref2$mediaRef","hasVideo","_ref5$autoPlay","_ref5$media","_ref5$closedCaptions","_ref5$withSeekBar","_ref5$withPlayPause","finalVideo","videoMetadata","videoUrl","_ref6$thumbnail_url","hasVideoUrl","_ref7$width","resizedVideoLeft","resizedVideoTop","onVideoReady","emptyContainer","VideoScreen$1","_Video","Video360Screen","THREE","Scene","PerspectiveCamera","SphereBufferGeometry","VideoTexture","MeshBasicMaterial","Mesh","WebGLRenderer","MathUtils","useThree","videoContainerRef","hasThumbnail","posterReady","setPosterReady","withVideoSphere","onPosterLoaded","canvasRef","camera","scene","renderer","lon","phi","theta","distance","pointerDown","pointerDownX","pointerDownY","pointerLon","pointerLat","render3D","degToRad","sin","cos","z","lookAt","_canvasRef$current","canvasWidth","canvasHeight","geometry","_ref8$mediaRef","_ref9$current","mesh","add","canvas","setPixelRatio","aspect","updateProjectionMatrix","togglePlayTimeout","onPointerDown","clientX","clientY","pixelsMoved","lastPointerClient","pixelsMovedTracked","onPointerMove","_ref10$clientX","_ref10$clientY","downDeltaX","downDeltaY","_ref11","_ref11$x","lastX","_ref11$y","lastY","deltaX","deltaY","onPointerUp","distX","distY","_videoContainer$getBo","_videoContainer$getBo2","containerX","canvasButton","showVideo","Video360Screen$1","addDefinition","hash","hash__default","TextStyleDefinition","version","from_class","typed","properties","enum_values","TextStyle","_ref$fontFamily","_ref$fontSize","_ref$lineHeight","validate","AudioDefinition","read_only","MediaElement","_story$componentLayou","componentLayouts","TextDefinition","TextElement","_ref$textStyle","styleName","hasStyle","componentStyles","ContainerDefinition","GalleryDefinition","GalleryElement","gallery","_ref$images","galleryImages","_ref2$caption","hasUrl","imageCaption","stripTags","HeadingDefinition","ImageDefinition","MapDefinition","MosaicDefinition","QuoteDefinition","VideoDefinition","heading","ImageElement","_ref$latitude","_ref$longitude","MapElement","mosaic","isInteger","isInteger__default","isEmpty__default","validated","prop","isValid","reactShare","fieldsManager__default","Scroll__default","home","styles$5","ViewerScreen","styles$3","MenuIcon","squareSize","square","squareI","primary","secondary","closeable","onClose","ViewerMenuDots","_ref2$primary","_ref2$secondary","parentId","menu","menuIcon","menuButton","onShare","ShareModal","onShareButtonClick","shareButtonProps","onShareWindowClose","shareIconProps","FacebookShareButton","beforeOnClick","FacebookIcon","TwitterShareButton","TwitterIcon","EmailShareButton","subject","EmailIcon","ShareButton","storyShareModalOpened","setStoryShareModalOpened","onShareIconClick","onStoryShared","onStoryShareCanceled","screenWidth","thumbsPerLine","toggleFullscreen","fullscreenActive","fullscreenEnabled","ViewerMenuPreview","screenSizeRatio","screenRatioHeight","hasItems","thumbSize","setThumbSize","firstScreenContainerRef","_firstScreenContainer","_ref2$colors","_ref2$background","_ref2$textStyles","_ref2$logo","brandLogo","brandTextStyle","_ref4$primary","brandPrimaryColor","_ref4$secondary","brandSecondaryColor","_ref5$color","brandBackgroundColor","brandImageUrl","borderPrimaryColorStyle","colorSecondaryColorStyle","backgroundColorStyle","_ref7$url","brandLogoUrl","brandImageStyle","titleStyle","dragBind","dy","eventOptions","capture","faShare","faCompress","faExpand","screenAriaLabel","onKeyUp","onScreenChange","tapNextScreenWidthPercent","neighborScreensActive","storyIsParsed","landscapeScreenMargin","withMetadata","withoutMenu","withoutFullscreen","onInteraction","onEnd","onViewModeChange","currentScreenMedia","screensMedias","screenSizeOptions","defaultProps$2","_ref15","_parsedStory$componen","_parsedStory$title","_parsedStory$metadata","_parsedStory$fonts","_ref4$fontFamily","themeFont","finalFonts","origin","withoutScreensTransforms","_useScreenSizeFromEle","screenHeight","_ref5$landscape","_ref5$menuOverScreen","menuDotsContainerRef","menuDotsContainerHeight","menuPreviewContainerRef","menuPreviewContainerHeight","screensMediasRef","String","changeIndex","trackingEnabled","currentScreen","_ref8$type","currentScreenRef","onScreenPrevious","focus","onScreenNext","screensInteractionEnabled","setScreensInteractionEnabled","currentScreenInteractionEnabled","onInteractionPrivate","onScreenClick","tappedCurrent","checkClickable","maxDistance","_ref9$tagName","_ref9$parentNode","parentNode","interactionEnabled","nextIndex","_e$currentTarget$getB2","contentX","tapX","menuOpened","previewMenuOpen","setPreviewMenuOpen","stiff","menuY","setMenuSpring","menuPreviewStyle","menuDragBind","first","isMenuOpened","yProgress","menuNowOpened","setPreviewMenu","openPreviewMenu","closePreviewMenu","onClickDotsMenuItem","clickedOnDot","goToScreen","trackAction","trackLabel","onClickPreviewMenuItem","onClickPreviewMenuClose","onClickShare","onContextMenu","overscrollStyle","_useFullscreen","onKey","foundMatch","toLowerCase","_ref13$title","_ref13$description","screenDescription","finalTitle","finalMetadata","_ref14$menuTheme","menuTheme","screenName","scr","viewerScreen","screenTransform","ViewerRoutes","otherProps","finalOnScreenChange","Switch","Route","exact","memoryRouter","withoutRouter","googleApiKey","translations","ViewerContainer","Router","MemoryRouter","BrowserRouter","finalTrackingVariables","_story$id","_story$slug","_story$title","_story$components","storyId","storySlug","storyTitle","_ref3$language","finalLocale","basename"],"sourceRoot":""}