{"version":3,"file":"js/2415-554d9eb62a1ad91fadec.js","mappings":"iGAEA,IAAIA,EAAe,EAAQ,OAEvBC,EAAW,EAAQ,OAEnBC,EAAWD,EAASD,EAAa,6BAErCG,EAAOC,QAAU,SAA4BC,EAAMC,GAClD,IAAIC,EAAYP,EAAaK,IAAQC,GACrC,MAAyB,oBAAdC,GAA4BL,EAASG,EAAM,gBAAkB,EAChEJ,EAASM,GAEVA,CACR,C,qCCZA,IAAIC,EAAO,EAAQ,OACfR,EAAe,EAAQ,OAEvBS,EAAST,EAAa,8BACtBU,EAAQV,EAAa,6BACrBW,EAAgBX,EAAa,mBAAmB,IAASQ,EAAKI,KAAKF,EAAOD,GAE1EI,EAAQb,EAAa,qCAAqC,GAC1Dc,EAAkBd,EAAa,2BAA2B,GAC1De,EAAOf,EAAa,cAExB,GAAIc,EACH,IACCA,EAAgB,CAAC,EAAG,IAAK,CAAEE,MAAO,GAInC,CAHE,MAAOC,GAERH,EAAkB,IACnB,CAGDX,EAAOC,QAAU,SAAkBc,GAClC,IAAIC,EAAOR,EAAcH,EAAME,EAAOU,WACtC,GAAIP,GAASC,EAAiB,CAC7B,IAAIO,EAAOR,EAAMM,EAAM,UACnBE,EAAKC,cAERR,EACCK,EACA,SACA,CAAEH,MAAO,EAAID,EAAK,EAAGG,EAAiBK,QAAUH,UAAUG,OAAS,KAGtE,CACA,OAAOJ,CACR,EAEA,IAAIK,EAAY,WACf,OAAOb,EAAcH,EAAMC,EAAQW,UACpC,EAEIN,EACHA,EAAgBX,EAAOC,QAAS,QAAS,CAAEY,MAAOQ,IAElDrB,EAAOC,QAAQqB,MAAQD,C,wBC7CxB,IAAIE,EAAa,EAAQ,OACrBC,EAAc,EAAQ,OACtBC,EAAK,EAAQ,OACbC,EAAU,EAAQ,OAClBC,EAAQ,EAAQ,MAChBC,EAAS,EAAQ,OAEjBC,EAAUC,KAAKC,UAAUF,QAE7B,SAASG,EAAUC,EAAQC,EAAUC,GACnC,IAAIC,EAAOD,GAAW,CAAC,EAGvB,SAAIC,EAAKC,OAASZ,EAAGQ,EAAQC,GAAYD,IAAWC,MAK/CD,IAAWC,GAA+B,kBAAXD,GAA2C,kBAAbC,EACzDE,EAAKC,OAASZ,EAAGQ,EAAQC,GAAYD,GAAUC,EAgC1D,SAAkBI,EAAGC,EAAGH,GAEtB,IAAII,EAAGC,EACP,UAAWH,WAAaC,EAAK,OAAO,EACpC,GAAIG,EAAkBJ,IAAMI,EAAkBH,GAAM,OAAO,EAG3D,GAAID,EAAEP,YAAcQ,EAAER,UAAa,OAAO,EAE1C,GAAIP,EAAYc,KAAOd,EAAYe,GAAM,OAAO,EAEhD,IAAII,EAAWjB,EAAQY,GACnBM,EAAWlB,EAAQa,GACvB,GAAII,IAAaC,EAAY,OAAO,EACpC,GAAID,GAAYC,EACd,OAAON,EAAEO,SAAWN,EAAEM,QAAUlB,EAAMW,KAAOX,EAAMY,GAGrD,GAAIX,EAAOU,IAAMV,EAAOW,GACtB,OAAOV,EAAQpB,KAAK6B,KAAOT,EAAQpB,KAAK8B,GAG1C,IAAIO,EAAYC,EAAST,GACrBU,EAAYD,EAASR,GACzB,GAAIO,IAAcE,EAAa,OAAO,EACtC,GAAIF,GAAaE,EAAW,CAC1B,GAAIV,EAAElB,SAAWmB,EAAEnB,OAAU,OAAO,EACpC,IAAKoB,EAAI,EAAGA,EAAIF,EAAElB,OAAQoB,IACxB,GAAIF,EAAEE,KAAOD,EAAEC,GAAM,OAAO,EAE9B,OAAO,CACT,CAEA,UAAWF,WAAaC,EAAK,OAAO,EAEpC,IACE,IAAIU,EAAK1B,EAAWe,GAChBY,EAAK3B,EAAWgB,EAGtB,CAFE,MAAOzB,GACP,OAAO,CACT,CAEA,GAAImC,EAAG7B,SAAW8B,EAAG9B,OAAU,OAAO,EAMtC,IAHA6B,EAAGE,OACHD,EAAGC,OAEEX,EAAIS,EAAG7B,OAAS,EAAGoB,GAAK,EAAGA,IAC9B,GAAIS,EAAGT,IAAMU,EAAGV,GAAM,OAAO,EAG/B,IAAKA,EAAIS,EAAG7B,OAAS,EAAGoB,GAAK,EAAGA,IAE9B,IAAKR,EAAUM,EADfG,EAAMQ,EAAGT,IACcD,EAAEE,GAAML,GAAS,OAAO,EAGjD,OAAO,CACT,CA9ESgB,CAASnB,EAAQC,EAAUE,GACpC,CAEA,SAASM,EAAkB7B,GACzB,OAAiB,OAAVA,QAA4BwC,IAAVxC,CAC3B,CAEA,SAASkC,EAASO,GAChB,SAAKA,GAAkB,kBAANA,GAAsC,kBAAbA,EAAElC,UAGtB,oBAAXkC,EAAEC,MAA0C,oBAAZD,EAAEE,SAGzCF,EAAElC,OAAS,GAAqB,kBAATkC,EAAE,IAI/B,CA8DAtD,EAAOC,QAAU+B,C,qCC7GjB,IAAIyB,EAAyB,EAAQ,MAAR,GAEzB5D,EAAe,EAAQ,OAEvBc,EAAkB8C,GAA0B5D,EAAa,2BAA2B,GAEpF6D,EAAe7D,EAAa,iBAC5B8D,EAAa9D,EAAa,eAE1B+D,EAAO,EAAQ,OAGnB5D,EAAOC,QAAU,SAChB4D,EACAC,EACAjD,GAEA,IAAKgD,GAAuB,kBAARA,GAAmC,oBAARA,EAC9C,MAAM,IAAIF,EAAW,0CAEtB,GAAwB,kBAAbG,GAA6C,kBAAbA,EAC1C,MAAM,IAAIH,EAAW,4CAEtB,GAAI1C,UAAUG,OAAS,GAA6B,mBAAjBH,UAAU,IAAqC,OAAjBA,UAAU,GAC1E,MAAM,IAAI0C,EAAW,2DAEtB,GAAI1C,UAAUG,OAAS,GAA6B,mBAAjBH,UAAU,IAAqC,OAAjBA,UAAU,GAC1E,MAAM,IAAI0C,EAAW,yDAEtB,GAAI1C,UAAUG,OAAS,GAA6B,mBAAjBH,UAAU,IAAqC,OAAjBA,UAAU,GAC1E,MAAM,IAAI0C,EAAW,6DAEtB,GAAI1C,UAAUG,OAAS,GAA6B,mBAAjBH,UAAU,GAC5C,MAAM,IAAI0C,EAAW,2CAGtB,IAAII,EAAgB9C,UAAUG,OAAS,EAAIH,UAAU,GAAK,KACtD+C,EAAc/C,UAAUG,OAAS,EAAIH,UAAU,GAAK,KACpDgD,EAAkBhD,UAAUG,OAAS,EAAIH,UAAU,GAAK,KACxDiD,EAAQjD,UAAUG,OAAS,GAAIH,UAAU,GAGzCC,IAAS0C,GAAQA,EAAKC,EAAKC,GAE/B,GAAInD,EACHA,EAAgBkD,EAAKC,EAAU,CAC9B3C,aAAkC,OAApB8C,GAA4B/C,EAAOA,EAAKC,cAAgB8C,EACtEE,WAA8B,OAAlBJ,GAA0B7C,EAAOA,EAAKiD,YAAcJ,EAChElD,MAAOA,EACPuD,SAA0B,OAAhBJ,GAAwB9C,EAAOA,EAAKkD,UAAYJ,QAErD,KAAIE,IAAWH,GAAkBC,GAAgBC,GAIvD,MAAM,IAAIP,EAAa,+GAFvBG,EAAIC,GAAYjD,CAGjB,CACD,C,oCCzDA,IAAIwD,EAAO,EAAQ,OACfC,EAA+B,oBAAXC,QAAkD,kBAAlBA,OAAO,OAE3DC,EAAQC,OAAO1C,UAAU2C,SACzBC,EAASC,MAAM7C,UAAU4C,OACzBE,EAAqB,EAAQ,OAM7BC,EAAsB,EAAQ,MAAR,GAEtBC,EAAiB,SAAUC,EAAQ9E,EAAMW,EAAOoE,GACnD,GAAI/E,KAAQ8E,EACX,IAAkB,IAAdC,GACH,GAAID,EAAO9E,KAAUW,EACpB,YAEK,GAXa,oBADKqE,EAYFD,IAX8B,sBAAnBT,EAAM/D,KAAKyE,KAWPD,IACrC,OAbc,IAAUC,EAiBtBJ,EACHD,EAAmBG,EAAQ9E,EAAMW,GAAO,GAExCgE,EAAmBG,EAAQ9E,EAAMW,EAEnC,EAEIsE,EAAmB,SAAUH,EAAQI,GACxC,IAAIC,EAAapE,UAAUG,OAAS,EAAIH,UAAU,GAAK,CAAC,EACpDqE,EAAQjB,EAAKe,GACbd,IACHgB,EAAQX,EAAOlE,KAAK6E,EAAOb,OAAOc,sBAAsBH,KAEzD,IAAK,IAAI5C,EAAI,EAAGA,EAAI8C,EAAMlE,OAAQoB,GAAK,EACtCuC,EAAeC,EAAQM,EAAM9C,GAAI4C,EAAIE,EAAM9C,IAAK6C,EAAWC,EAAM9C,IAEnE,EAEA2C,EAAiBL,sBAAwBA,EAEzC9E,EAAOC,QAAUkF,C,iCC5CjB,IAAIK,EAASf,OAAO1C,UAAU0D,eAC1BjB,EAAQC,OAAO1C,UAAU2C,SACzBK,EAAiBN,OAAOM,eACxBW,EAAOjB,OAAOkB,yBAEdC,EAAU,SAAiBC,GAC9B,MAA6B,oBAAlBjB,MAAMgB,QACThB,MAAMgB,QAAQC,GAGK,mBAApBrB,EAAM/D,KAAKoF,EACnB,EAEIC,EAAgB,SAAuBjC,GAC1C,IAAKA,GAA2B,oBAApBW,EAAM/D,KAAKoD,GACtB,OAAO,EAGR,IASIpB,EATAsD,EAAoBP,EAAO/E,KAAKoD,EAAK,eACrCmC,EAAmBnC,EAAIoC,aAAepC,EAAIoC,YAAYlE,WAAayD,EAAO/E,KAAKoD,EAAIoC,YAAYlE,UAAW,iBAE9G,GAAI8B,EAAIoC,cAAgBF,IAAsBC,EAC7C,OAAO,EAMR,IAAKvD,KAAOoB,GAEZ,MAAsB,qBAARpB,GAAuB+C,EAAO/E,KAAKoD,EAAKpB,EACvD,EAGIyD,EAAc,SAAqBC,EAAQhE,GAC1C4C,GAAmC,cAAjB5C,EAAQjC,KAC7B6E,EAAeoB,EAAQhE,EAAQjC,KAAM,CACpCiE,YAAY,EACZhD,cAAc,EACdN,MAAOsB,EAAQiE,SACfhC,UAAU,IAGX+B,EAAOhE,EAAQjC,MAAQiC,EAAQiE,QAEjC,EAGIC,EAAc,SAAqBxC,EAAK3D,GAC3C,GAAa,cAATA,EAAsB,CACzB,IAAKsF,EAAO/E,KAAKoD,EAAK3D,GACrB,OACM,GAAIwF,EAGV,OAAOA,EAAK7B,EAAK3D,GAAMW,KAEzB,CAEA,OAAOgD,EAAI3D,EACZ,EAEAF,EAAOC,QAAU,SAASqG,IACzB,IAAInE,EAASjC,EAAMqG,EAAKhD,EAAMiD,EAAaC,EACvCN,EAASlF,UAAU,GACnBuB,EAAI,EACJpB,EAASH,UAAUG,OACnBsF,GAAO,EAaX,IAVsB,mBAAXP,IACVO,EAAOP,EACPA,EAASlF,UAAU,IAAM,CAAC,EAE1BuB,EAAI,IAES,MAAV2D,GAAqC,kBAAXA,GAAyC,oBAAXA,KAC3DA,EAAS,CAAC,GAGJ3D,EAAIpB,IAAUoB,EAGpB,GAAe,OAFfL,EAAUlB,UAAUuB,IAInB,IAAKtC,KAAQiC,EACZoE,EAAMF,EAAYF,EAAQjG,GAItBiG,KAHJ5C,EAAO8C,EAAYlE,EAASjC,MAKvBwG,GAAQnD,IAASuC,EAAcvC,KAAUiD,EAAcZ,EAAQrC,MAC9DiD,GACHA,GAAc,EACdC,EAAQF,GAAOX,EAAQW,GAAOA,EAAM,IAEpCE,EAAQF,GAAOT,EAAcS,GAAOA,EAAM,CAAC,EAI5CL,EAAYC,EAAQ,CAAEjG,KAAMA,EAAMkG,SAAUE,EAAOI,EAAMD,EAAOlD,MAGtC,qBAATA,GACjB2C,EAAYC,EAAQ,CAAEjG,KAAMA,EAAMkG,SAAU7C,KAQjD,OAAO4C,CACR,C,oBCrFA,IAAIQ,GAAe,EAanB,SAASC,EAAUC,EAAOC,EAAOC,GAE/B,GAAIF,GAASC,EACX,OAAID,EACK,CAAC,CAfG,EAeUA,IAEhB,IAILE,EAAa,GAAKF,EAAMzF,OAAS2F,KACnCA,EAAa,MAIf,IAAIC,EAAeC,EAAkBJ,EAAOC,GACxCI,EAAeL,EAAMM,UAAU,EAAGH,GAKtCA,EAAeI,EAJfP,EAAQA,EAAMM,UAAUH,GACxBF,EAAQA,EAAMK,UAAUH,IAIxB,IAAIK,EAAeR,EAAMM,UAAUN,EAAMzF,OAAS4F,GAK9CM,EAyBN,SAAuBT,EAAOC,GAC5B,IAAIQ,EAEJ,IAAKT,EAEH,MAAO,CAAC,CArEM,EAqEQC,IAGxB,IAAKA,EAEH,MAAO,CAAC,CAACH,EAAaE,IAGxB,IAAIU,EAAWV,EAAMzF,OAAS0F,EAAM1F,OAASyF,EAAQC,EACjDU,EAAYX,EAAMzF,OAAS0F,EAAM1F,OAAS0F,EAAQD,EAClDrE,EAAI+E,EAASE,QAAQD,GACzB,IAAU,GAANhF,EASF,OAPA8E,EAAQ,CAAC,CAlFK,EAkFSC,EAASJ,UAAU,EAAG3E,IACpC,CAlFI,EAkFSgF,GACb,CApFK,EAoFSD,EAASJ,UAAU3E,EAAIgF,EAAUpG,UAEpDyF,EAAMzF,OAAS0F,EAAM1F,SACvBkG,EAAM,GAAG,GAAKA,EAAM,GAAG,GAAKX,GAEvBW,EAGT,GAAwB,GAApBE,EAAUpG,OAGZ,MAAO,CAAC,CAACuF,EAAaE,GAAQ,CA/FhB,EA+F8BC,IAI9C,IAAIY,EAwON,SAAyBb,EAAOC,GAC9B,IAAIS,EAAWV,EAAMzF,OAAS0F,EAAM1F,OAASyF,EAAQC,EACjDU,EAAYX,EAAMzF,OAAS0F,EAAM1F,OAAS0F,EAAQD,EACtD,GAAIU,EAASnG,OAAS,GAAwB,EAAnBoG,EAAUpG,OAAamG,EAASnG,OACzD,OAAO,KAeT,SAASuG,EAAiBJ,EAAUC,EAAWhF,GAM7C,IAJA,IAGIoF,EAAiBC,EAAiBC,EAAkBC,EAHpDC,EAAOT,EAASJ,UAAU3E,EAAGA,EAAIyF,KAAKC,MAAMX,EAASnG,OAAS,IAC9D+G,GAAK,EACLC,EAAc,IAE8B,IAAxCD,EAAIX,EAAUC,QAAQO,EAAMG,EAAI,KAAW,CACjD,IAAIE,EAAepB,EAAkBM,EAASJ,UAAU3E,GACnBgF,EAAUL,UAAUgB,IACrDG,EAAelB,EAAkBG,EAASJ,UAAU,EAAG3E,GACtBgF,EAAUL,UAAU,EAAGgB,IACxDC,EAAYhH,OAASkH,EAAeD,IACtCD,EAAcZ,EAAUL,UAAUgB,EAAIG,EAAcH,GAChDX,EAAUL,UAAUgB,EAAGA,EAAIE,GAC/BT,EAAkBL,EAASJ,UAAU,EAAG3E,EAAI8F,GAC5CT,EAAkBN,EAASJ,UAAU3E,EAAI6F,GACzCP,EAAmBN,EAAUL,UAAU,EAAGgB,EAAIG,GAC9CP,EAAmBP,EAAUL,UAAUgB,EAAIE,GAE/C,CACA,OAAyB,EAArBD,EAAYhH,QAAcmG,EAASnG,OAC9B,CAACwG,EAAiBC,EACjBC,EAAkBC,EAAkBK,GAErC,IAEX,CAGA,IAKIV,EAaAa,EAASC,EAASC,EAASC,EAlB3BC,EAAMhB,EAAiBJ,EAAUC,EACVS,KAAKW,KAAKrB,EAASnG,OAAS,IAEnDyH,EAAMlB,EAAiBJ,EAAUC,EACVS,KAAKW,KAAKrB,EAASnG,OAAS,IAEvD,IAAKuH,IAAQE,EACX,OAAO,KAOPnB,EANUmB,EAEAF,GAILA,EAAI,GAAGvH,OAASyH,EAAI,GAAGzH,OAASuH,EAHhCE,EAFAF,EAUH9B,EAAMzF,OAAS0F,EAAM1F,QACvBmH,EAAUb,EAAG,GACbc,EAAUd,EAAG,GACbe,EAAUf,EAAG,GACbgB,EAAUhB,EAAG,KAEbe,EAAUf,EAAG,GACbgB,EAAUhB,EAAG,GACba,EAAUb,EAAG,GACbc,EAAUd,EAAG,IAEf,IAAIoB,EAAapB,EAAG,GACpB,MAAO,CAACa,EAASC,EAASC,EAASC,EAASI,EAC9C,CAxTWC,CAAgBlC,EAAOC,GAChC,GAAIY,EAAI,CAEN,IAAIa,EAAUb,EAAG,GACbc,EAAUd,EAAG,GACbe,EAAUf,EAAG,GACbgB,EAAUhB,EAAG,GACboB,EAAapB,EAAG,GAEhBsB,EAAUpC,EAAU2B,EAASE,GAC7BQ,EAAUrC,EAAU4B,EAASE,GAEjC,OAAOM,EAAQrE,OAAO,CAAC,CA9GV,EA8GuBmE,IAAcG,EACpD,CAEA,OAaF,SAAsBpC,EAAOC,GAW3B,IATA,IAAIoC,EAAerC,EAAMzF,OACrB+H,EAAerC,EAAM1F,OACrBgI,EAAQnB,KAAKW,MAAMM,EAAeC,GAAgB,GAClDE,EAAWD,EACXE,EAAW,EAAIF,EACfG,EAAK,IAAI3E,MAAM0E,GACfE,EAAK,IAAI5E,MAAM0E,GAGVhG,EAAI,EAAGA,EAAIgG,EAAUhG,IAC5BiG,EAAGjG,IAAM,EACTkG,EAAGlG,IAAM,EAEXiG,EAAGF,EAAW,GAAK,EACnBG,EAAGH,EAAW,GAAK,EAWnB,IAVA,IAAII,EAAQP,EAAeC,EAGvBO,EAASD,EAAQ,GAAK,EAGtBE,EAAU,EACVC,EAAQ,EACRC,EAAU,EACVC,EAAQ,EACHC,EAAI,EAAGA,EAAIX,EAAOW,IAAK,CAE9B,IAAK,IAAIC,GAAMD,EAAIJ,EAASK,GAAMD,EAAIH,EAAOI,GAAM,EAAG,CASpD,IARA,IAAIC,EAAYZ,EAAWW,EAOvBE,GAJFC,EADEH,IAAOD,GAAMC,GAAMD,GAAKR,EAAGU,EAAY,GAAKV,EAAGU,EAAY,GACxDV,EAAGU,EAAY,GAEfV,EAAGU,EAAY,GAAK,GAEbD,EACPG,EAAKjB,GAAgBgB,EAAKf,GAC1BtC,EAAMuD,OAAOD,IAAOrD,EAAMsD,OAAOF,IACtCC,IACAD,IAGF,GADAX,EAAGU,GAAaE,EACZA,EAAKjB,EAEPU,GAAS,OACJ,GAAIM,EAAKf,EAEdQ,GAAW,OACN,GAAID,EAAO,CAEhB,IADIW,EAAYhB,EAAWI,EAAQO,IAClB,GAAKK,EAAYf,IAA8B,GAAlBE,EAAGa,GAG/C,GAAIF,IADAG,EAAKpB,EAAeM,EAAGa,IAGzB,OAAOE,EAAkB1D,EAAOC,EAAOqD,EAAID,EAGjD,CACF,CAGA,IAAK,IAAIM,GAAMT,EAAIF,EAASW,GAAMT,EAAID,EAAOU,GAAM,EAAG,CASpD,IARA,IACIF,EADAD,EAAYhB,EAAWmB,EAOvBC,GAJFH,EADEE,IAAOT,GAAMS,GAAMT,GAAKP,EAAGa,EAAY,GAAKb,EAAGa,EAAY,GACxDb,EAAGa,EAAY,GAEfb,EAAGa,EAAY,GAAK,GAEbG,EACPF,EAAKpB,GAAgBuB,EAAKtB,GAC1BtC,EAAMuD,OAAOlB,EAAeoB,EAAK,IACjCxD,EAAMsD,OAAOjB,EAAesB,EAAK,IACtCH,IACAG,IAGF,GADAjB,EAAGa,GAAaC,EACZA,EAAKpB,EAEPY,GAAS,OACJ,GAAIW,EAAKtB,EAEdU,GAAW,OACN,IAAKH,EAAO,CAEjB,IADIO,EAAYZ,EAAWI,EAAQe,IAClB,GAAKP,EAAYX,IAA8B,GAAlBC,EAAGU,GAAkB,CACjE,IAAIE,EACAD,EAAKb,GADLc,EAAKZ,EAAGU,IACaA,EAGzB,GAAIE,IADJG,EAAKpB,EAAeoB,GAGlB,OAAOC,EAAkB1D,EAAOC,EAAOqD,EAAID,EAE/C,CACF,CACF,CACF,CAGA,MAAO,CAAC,CAACvD,EAAaE,GAAQ,CAtOd,EAsO4BC,GAC9C,CArHS4D,CAAa7D,EAAOC,EAC7B,CA5Ec6D,CAJZ9D,EAAQA,EAAMM,UAAU,EAAGN,EAAMzF,OAAS4F,GAC1CF,EAAQA,EAAMK,UAAU,EAAGL,EAAM1F,OAAS4F,IAiB1C,OAXIE,GACFI,EAAMsD,QAAQ,CA1CD,EA0Cc1D,IAEzBG,GACFC,EAAMuD,KAAK,CA7CE,EA6CWxD,IAE1ByD,EAAkBxD,GACA,MAAdP,IACFO,EA2iBJ,SAAqBA,EAAOP,GAC1B,IAAIgE,EA9CN,SAAgCzD,EAAOP,GACrC,GAAmB,IAAfA,EACF,MAAO,CAjjBM,EAijBOO,GAEtB,IAAK,IAAI0D,EAAc,EAAGxI,EAAI,EAAGA,EAAI8E,EAAMlG,OAAQoB,IAAK,CACtD,IAAIuH,EAAIzC,EAAM9E,GACd,GAAIuH,EAAE,KAAOpD,GArjBA,IAqjBeoD,EAAE,GAAmB,CAC/C,IAAIkB,EAAWD,EAAcjB,EAAE,GAAG3I,OAClC,GAAI2F,IAAekE,EACjB,MAAO,CAACzI,EAAI,EAAG8E,GACV,GAAIP,EAAakE,EAAU,CAEhC3D,EAAQA,EAAM9D,QAEd,IAAI0H,EAAYnE,EAAaiE,EACzBG,EAAS,CAACpB,EAAE,GAAIA,EAAE,GAAGvG,MAAM,EAAG0H,IAC9BE,EAAU,CAACrB,EAAE,GAAIA,EAAE,GAAGvG,MAAM0H,IAEhC,OADA5D,EAAM+D,OAAO7I,EAAG,EAAG2I,EAAQC,GACpB,CAAC5I,EAAI,EAAG8E,EACjB,CACE0D,EAAcC,CAElB,CACF,CACA,MAAM,IAAIK,MAAM,+BAClB,CAqBaC,CAAsBjE,EAAOP,GACpCyE,EAAST,EAAK,GACdU,EAAiBV,EAAK,GACtBhB,EAAIyB,EAAOC,GACXC,EAASF,EAAOC,EAAiB,GAErC,GAAS,MAAL1B,EAGF,OAAOzC,EACF,GAvmBQ,IAumBJyC,EAAE,GAGX,OAAOzC,EAEP,GAAc,MAAVoE,GAAkB3B,EAAE,GAAK2B,EAAO,KAAOA,EAAO,GAAK3B,EAAE,GAIvD,OADAyB,EAAOH,OAAOI,EAAgB,EAAGC,EAAQ3B,GAClC4B,EAAaH,EAAQC,EAAgB,GACvC,GAAc,MAAVC,GAA8C,IAA5BA,EAAO,GAAGjE,QAAQsC,EAAE,IAAW,CAK1DyB,EAAOH,OAAOI,EAAgB,EAAG,CAACC,EAAO,GAAI3B,EAAE,IAAK,CAAC,EAAGA,EAAE,KAC1D,IAAI6B,EAASF,EAAO,GAAGlI,MAAMuG,EAAE,GAAG3I,QAIlC,OAHIwK,EAAOxK,OAAS,GAClBoK,EAAOH,OAAOI,EAAiB,EAAG,EAAG,CAACC,EAAO,GAAIE,IAE5CD,EAAaH,EAAQC,EAAgB,EAC9C,CAEE,OAAOnE,CAGb,CAhlBYuE,CAAWvE,EAAOP,IAE5BO,EAwlBF,SAAoBA,GAQlB,IAPA,IAAIwE,GAAU,EACVC,EAAuB,SAASC,GAClC,OAAOA,EAAIC,WAAW,IAAM,OAAUD,EAAIC,WAAW,IAAM,KAC7D,EACIC,EAAuB,SAASF,GAClC,OAAOA,EAAIC,WAAWD,EAAI5K,OAAO,IAAM,OAAU4K,EAAIC,WAAWD,EAAI5K,OAAO,IAAM,KACnF,EACSoB,EAAI,EAAGA,EAAI8E,EAAMlG,OAAQoB,GAAK,EAnpBxB,IAopBT8E,EAAM9E,EAAE,GAAG,IAAqB0J,EAAqB5E,EAAM9E,EAAE,GAAG,KAChE8E,EAAM9E,EAAE,GAAG,KAAOmE,GAAeoF,EAAqBzE,EAAM9E,EAAE,GAAG,KAtpBvD,IAupBV8E,EAAM9E,GAAG,IAAsBuJ,EAAqBzE,EAAM9E,GAAG,MAC/DsJ,GAAU,EAEVxE,EAAM9E,EAAE,GAAG,GAAK8E,EAAM9E,EAAE,GAAG,GAAGgB,OAAO,GAAK8D,EAAM9E,EAAE,GAAG,GACrD8E,EAAM9E,GAAG,GAAK8E,EAAM9E,EAAE,GAAG,GAAGgB,OAAO,GAAK8D,EAAM9E,GAAG,GAEjD8E,EAAM9E,EAAE,GAAG,GAAK8E,EAAM9E,EAAE,GAAG,GAAGgB,MAAM,GAAI,IAG5C,IAAKsI,EACH,OAAOxE,EAET,IAAI6E,EAAc,GAClB,IAAS3J,EAAI,EAAGA,EAAI8E,EAAMlG,OAAQoB,GAAK,EACjC8E,EAAM9E,GAAG,GAAGpB,OAAS,GACvB+K,EAAYtB,KAAKvD,EAAM9E,IAG3B,OAAO2J,CACT,CAtnBUC,CAAU9E,EAEpB,CA6LA,SAASiD,EAAkB1D,EAAOC,EAAOxD,EAAG+I,GAC1C,IAAIC,EAASzF,EAAMM,UAAU,EAAG7D,GAC5BiJ,EAASzF,EAAMK,UAAU,EAAGkF,GAC5BG,EAAS3F,EAAMM,UAAU7D,GACzBmJ,EAAS3F,EAAMK,UAAUkF,GAGzB/E,EAAQV,EAAU0F,EAAQC,GAC1BG,EAAS9F,EAAU4F,EAAQC,GAE/B,OAAOnF,EAAM3C,OAAO+H,EACtB,CAUA,SAASzF,EAAkBJ,EAAOC,GAEhC,IAAKD,IAAUC,GAASD,EAAMuD,OAAO,IAAMtD,EAAMsD,OAAO,GACtD,OAAO,EAQT,IAJA,IAAIuC,EAAa,EACbC,EAAa3E,KAAK4E,IAAIhG,EAAMzF,OAAQ0F,EAAM1F,QAC1C0L,EAAaF,EACbG,EAAe,EACZJ,EAAaG,GACdjG,EAAMM,UAAU4F,EAAcD,IAC9BhG,EAAMK,UAAU4F,EAAcD,GAEhCC,EADAJ,EAAaG,EAGbF,EAAaE,EAEfA,EAAa7E,KAAKC,OAAO0E,EAAaD,GAAc,EAAIA,GAE1D,OAAOG,CACT,CASA,SAAS1F,EAAkBP,EAAOC,GAEhC,IAAKD,IAAUC,GACXD,EAAMuD,OAAOvD,EAAMzF,OAAS,IAAM0F,EAAMsD,OAAOtD,EAAM1F,OAAS,GAChE,OAAO,EAQT,IAJA,IAAIuL,EAAa,EACbC,EAAa3E,KAAK4E,IAAIhG,EAAMzF,OAAQ0F,EAAM1F,QAC1C0L,EAAaF,EACbI,EAAa,EACVL,EAAaG,GACdjG,EAAMM,UAAUN,EAAMzF,OAAS0L,EAAYjG,EAAMzF,OAAS4L,IAC1DlG,EAAMK,UAAUL,EAAM1F,OAAS0L,EAAYhG,EAAM1F,OAAS4L,GAE5DA,EADAL,EAAaG,EAGbF,EAAaE,EAEfA,EAAa7E,KAAKC,OAAO0E,EAAaD,GAAc,EAAIA,GAE1D,OAAOG,CACT,CAqGA,SAAShC,EAAkBxD,GACzBA,EAAMuD,KAAK,CAnaI,EAmaS,KAOxB,IANA,IAKI7D,EALAiG,EAAU,EACVC,EAAe,EACfC,EAAe,EACfC,EAAc,GACdC,EAAc,GAEXJ,EAAU3F,EAAMlG,QACrB,OAAQkG,EAAM2F,GAAS,IACrB,KA7aY,EA8aVE,IACAE,GAAe/F,EAAM2F,GAAS,GAC9BA,IACA,MACF,KAAKtG,EACHuG,IACAE,GAAe9F,EAAM2F,GAAS,GAC9BA,IACA,MACF,KAtbW,EAwbLC,EAAeC,EAAe,GACX,IAAjBD,GAAuC,IAAjBC,IAGH,KADrBnG,EAAeC,EAAkBoG,EAAaD,MAEvCH,EAAUC,EAAeC,EAAgB,GA7b3C,GA8bC7F,EAAM2F,EAAUC,EAAeC,EAAe,GAAG,GAEnD7F,EAAM2F,EAAUC,EAAeC,EAAe,GAAG,IAC7CE,EAAYlG,UAAU,EAAGH,IAE7BM,EAAM+D,OAAO,EAAG,EAAG,CAnclB,EAocmBgC,EAAYlG,UAAU,EAAGH,KAC7CiG,KAEFI,EAAcA,EAAYlG,UAAUH,GACpCoG,EAAcA,EAAYjG,UAAUH,IAIjB,KADrBA,EAAeI,EAAkBiG,EAAaD,MAE5C9F,EAAM2F,GAAS,GAAKI,EAAYlG,UAAUkG,EAAYjM,OAClD4F,GAAgBM,EAAM2F,GAAS,GACnCI,EAAcA,EAAYlG,UAAU,EAAGkG,EAAYjM,OAC/C4F,GACJoG,EAAcA,EAAYjG,UAAU,EAAGiG,EAAYhM,OAC/C4F,KAIa,IAAjBkG,EACF5F,EAAM+D,OAAO4B,EAAUE,EACnBD,EAAeC,EAAc,CAzd3B,EAydyCE,IACrB,IAAjBF,EACT7F,EAAM+D,OAAO4B,EAAUC,EACnBA,EAAeC,EAAc,CAACxG,EAAayG,IAE/C9F,EAAM+D,OAAO4B,EAAUC,EAAeC,EAClCD,EAAeC,EAAc,CAACxG,EAAayG,GAC3C,CAheE,EAgeYC,IAEpBJ,EAAUA,EAAUC,EAAeC,GACxBD,EAAe,EAAI,IAAMC,EAAe,EAAI,GAAK,GACvC,IAAZF,GAneF,GAmemB3F,EAAM2F,EAAU,GAAG,IAE7C3F,EAAM2F,EAAU,GAAG,IAAM3F,EAAM2F,GAAS,GACxC3F,EAAM+D,OAAO4B,EAAS,IAEtBA,IAEFE,EAAe,EACfD,EAAe,EACfE,EAAc,GACdC,EAAc,GAIe,KAA/B/F,EAAMA,EAAMlG,OAAS,GAAG,IAC1BkG,EAAMgG,MAMR,IAAIC,GAAU,EAGd,IAFAN,EAAU,EAEHA,EAAU3F,EAAMlG,OAAS,GA3fjB,GA4fTkG,EAAM2F,EAAU,GAAG,IA5fV,GA6fT3F,EAAM2F,EAAU,GAAG,KAEjB3F,EAAM2F,GAAS,GAAG9F,UAAUG,EAAM2F,GAAS,GAAG7L,OAC9CkG,EAAM2F,EAAU,GAAG,GAAG7L,SAAWkG,EAAM2F,EAAU,GAAG,IAEtD3F,EAAM2F,GAAS,GAAK3F,EAAM2F,EAAU,GAAG,GACnC3F,EAAM2F,GAAS,GAAG9F,UAAU,EAAGG,EAAM2F,GAAS,GAAG7L,OACrBkG,EAAM2F,EAAU,GAAG,GAAG7L,QACtDkG,EAAM2F,EAAU,GAAG,GAAK3F,EAAM2F,EAAU,GAAG,GAAK3F,EAAM2F,EAAU,GAAG,GACnE3F,EAAM+D,OAAO4B,EAAU,EAAG,GAC1BM,GAAU,GACDjG,EAAM2F,GAAS,GAAG9F,UAAU,EAAGG,EAAM2F,EAAU,GAAG,GAAG7L,SAC5DkG,EAAM2F,EAAU,GAAG,KAErB3F,EAAM2F,EAAU,GAAG,IAAM3F,EAAM2F,EAAU,GAAG,GAC5C3F,EAAM2F,GAAS,GACX3F,EAAM2F,GAAS,GAAG9F,UAAUG,EAAM2F,EAAU,GAAG,GAAG7L,QAClDkG,EAAM2F,EAAU,GAAG,GACvB3F,EAAM+D,OAAO4B,EAAU,EAAG,GAC1BM,GAAU,IAGdN,IAGEM,GACFzC,EAAkBxD,EAEtB,CAGA,IAAIkG,EAAO5G,EAwJX,SAAS+E,EAAcrE,EAAOmG,EAAOrM,GAEnC,IAAK,IAAIoB,EAAIiL,EAAQrM,EAAS,EAAGoB,GAAK,GAAKA,GAAKiL,EAAQ,EAAGjL,IACzD,GAAIA,EAAI,EAAI8E,EAAMlG,OAAQ,CACxB,IAAIsM,EAASpG,EAAM9E,GACfmL,EAAUrG,EAAM9E,EAAE,GAClBkL,EAAO,KAAOC,EAAQ,IACxBrG,EAAM+D,OAAO7I,EAAG,EAAG,CAACkL,EAAO,GAAIA,EAAO,GAAKC,EAAQ,IAEvD,CAEF,OAAOrG,CACT,CAnKAkG,EAAKI,OA9hBa,EA+hBlBJ,EAAKK,OAASlH,EACd6G,EAAKM,MA/hBY,EAiiBjB9N,EAAOC,QAAUuN,C,iCC9jBjB,IAAIO,EAAgB,kDAChBvK,EAAQoB,MAAM7C,UAAUyB,MACxBgB,EAAQC,OAAO1C,UAAU2C,SACzBsJ,EAAW,oBAEfhO,EAAOC,QAAU,SAAcgO,GAC3B,IAAI9H,EAAS+H,KACb,GAAsB,oBAAX/H,GAAyB3B,EAAM/D,KAAK0F,KAAY6H,EACvD,MAAM,IAAIG,UAAUJ,EAAgB5H,GAyBxC,IAvBA,IAEIiI,EAFAC,EAAO7K,EAAM/C,KAAKQ,UAAW,GAG7BqN,EAAS,WACT,GAAIJ,gBAAgBE,EAAO,CACvB,IAAIG,EAASpI,EAAO7E,MAChB4M,KACAG,EAAK1J,OAAOnB,EAAM/C,KAAKQ,aAE3B,OAAIwD,OAAO8J,KAAYA,EACZA,EAEJL,IACX,CACI,OAAO/H,EAAO7E,MACV2M,EACAI,EAAK1J,OAAOnB,EAAM/C,KAAKQ,YAGnC,EAEIuN,EAAcvG,KAAKwG,IAAI,EAAGtI,EAAO/E,OAASiN,EAAKjN,QAC/CsN,EAAY,GACPlM,EAAI,EAAGA,EAAIgM,EAAahM,IAC7BkM,EAAU7D,KAAK,IAAMrI,GAKzB,GAFA4L,EAAQO,SAAS,SAAU,oBAAsBD,EAAUE,KAAK,KAAO,4CAA/DD,CAA4GL,GAEhHnI,EAAOpE,UAAW,CAClB,IAAI8M,EAAQ,WAAkB,EAC9BA,EAAM9M,UAAYoE,EAAOpE,UACzBqM,EAAMrM,UAAY,IAAI8M,EACtBA,EAAM9M,UAAY,IACtB,CAEA,OAAOqM,CACX,C,qCCjDA,IAAIU,EAAiB,EAAQ,OAE7B9O,EAAOC,QAAU0O,SAAS5M,UAAU1B,MAAQyO,C,iCCF5C,IAAIC,EAAqB,WACxB,MAAuC,kBAAzB,WAAc,EAAE7O,IAC/B,EAEIwF,EAAOjB,OAAOkB,yBAClB,GAAID,EACH,IACCA,EAAK,GAAI,SAIV,CAHE,MAAO5E,GAER4E,EAAO,IACR,CAGDqJ,EAAmBC,+BAAiC,WACnD,IAAKD,MAAyBrJ,EAC7B,OAAO,EAER,IAAIxE,EAAOwE,GAAK,WAAa,GAAG,QAChC,QAASxE,KAAUA,EAAKC,YACzB,EAEA,IAAI8N,EAAQN,SAAS5M,UAAU1B,KAE/B0O,EAAmBG,wBAA0B,WAC5C,OAAOH,KAAyC,oBAAVE,GAAwD,KAAhC,WAAc,EAAE5O,OAAOH,IACtF,EAEAF,EAAOC,QAAU8O,C,qCC5BjB,IAAI1L,EAEAK,EAAeyL,YACfC,EAAYT,SACZhL,EAAawK,UAGbkB,EAAwB,SAAUC,GACrC,IACC,OAAOF,EAAU,yBAA2BE,EAAmB,iBAAxDF,EACK,CAAX,MAAOtO,GAAI,CACd,EAEIJ,EAAQ+D,OAAOkB,yBACnB,GAAIjF,EACH,IACCA,EAAM,CAAC,EAAG,GAGX,CAFE,MAAOI,GACRJ,EAAQ,IACT,CAGD,IAAI6O,EAAiB,WACpB,MAAM,IAAI5L,CACX,EACI6L,EAAiB9O,EACjB,WACF,IAGC,OAAO6O,CAQR,CAPE,MAAOE,GACR,IAEC,OAAO/O,EAAMO,UAAW,UAAUyO,GAGnC,CAFE,MAAOC,GACR,OAAOJ,CACR,CACD,CACD,CAbE,GAcAA,EAECjL,EAAa,EAAQ,MAAR,GACbsL,EAAW,EAAQ,MAAR,GAEXC,EAAWpL,OAAOqL,iBACrBF,EACG,SAAUtM,GAAK,OAAOA,EAAEyM,SAAW,EACnC,MAGAC,EAAY,CAAC,EAEbC,EAAmC,qBAAfC,YAA+BL,EAAuBA,EAASK,YAArB7M,EAE9D8M,EAAa,CAChB,mBAA8C,qBAAnBC,eAAiC/M,EAAY+M,eACxE,UAAWxL,MACX,gBAAwC,qBAAhByL,YAA8BhN,EAAYgN,YAClE,2BAA4B/L,GAAcuL,EAAWA,EAAS,GAAGtL,OAAO+L,aAAejN,EACvF,mCAAoCA,EACpC,kBAAmB2M,EACnB,mBAAoBA,EACpB,2BAA4BA,EAC5B,2BAA4BA,EAC5B,YAAgC,qBAAZO,QAA0BlN,EAAYkN,QAC1D,WAA8B,qBAAXC,OAAyBnN,EAAYmN,OACxD,kBAA4C,qBAAlBC,cAAgCpN,EAAYoN,cACtE,mBAA8C,qBAAnBC,eAAiCrN,EAAYqN,eACxE,YAAaC,QACb,aAAkC,qBAAbC,SAA2BvN,EAAYuN,SAC5D,SAAU9O,KACV,cAAe+O,UACf,uBAAwBC,mBACxB,cAAeC,UACf,uBAAwBC,mBACxB,UAAW1F,MACX,SAAU2F,KACV,cAAeC,UACf,iBAA0C,qBAAjBC,aAA+B9N,EAAY8N,aACpE,iBAA0C,qBAAjBC,aAA+B/N,EAAY+N,aACpE,yBAA0D,qBAAzBC,qBAAuChO,EAAYgO,qBACpF,aAAcjC,EACd,sBAAuBY,EACvB,cAAoC,qBAAdsB,UAA4BjO,EAAYiO,UAC9D,eAAsC,qBAAfC,WAA6BlO,EAAYkO,WAChE,eAAsC,qBAAfC,WAA6BnO,EAAYmO,WAChE,aAAcC,SACd,UAAWC,MACX,sBAAuBpN,GAAcuL,EAAWA,EAASA,EAAS,GAAGtL,OAAO+L,cAAgBjN,EAC5F,SAA0B,kBAATsO,KAAoBA,KAAOtO,EAC5C,QAAwB,qBAARuO,IAAsBvO,EAAYuO,IAClD,yBAAyC,qBAARA,KAAwBtN,GAAeuL,EAAuBA,GAAS,IAAI+B,KAAMrN,OAAO+L,aAAtCjN,EACnF,SAAU4E,KACV,WAAY4J,OACZ,WAAYpN,OACZ,eAAgBqN,WAChB,aAAcC,SACd,YAAgC,qBAAZC,QAA0B3O,EAAY2O,QAC1D,UAA4B,qBAAVC,MAAwB5O,EAAY4O,MACtD,eAAgBC,WAChB,mBAAoBC,eACpB,YAAgC,qBAAZC,QAA0B/O,EAAY+O,QAC1D,WAAYC,OACZ,QAAwB,qBAARC,IAAsBjP,EAAYiP,IAClD,yBAAyC,qBAARA,KAAwBhO,GAAeuL,EAAuBA,GAAS,IAAIyC,KAAM/N,OAAO+L,aAAtCjN,EACnF,sBAAoD,qBAAtBkP,kBAAoClP,EAAYkP,kBAC9E,WAAYC,OACZ,4BAA6BlO,GAAcuL,EAAWA,EAAS,GAAGtL,OAAO+L,aAAejN,EACxF,WAAYiB,EAAaC,OAASlB,EAClC,gBAAiBK,EACjB,mBAAoB8L,EACpB,eAAgBS,EAChB,cAAetM,EACf,eAAsC,qBAAfuM,WAA6B7M,EAAY6M,WAChE,sBAAoD,qBAAtBuC,kBAAoCpP,EAAYoP,kBAC9E,gBAAwC,qBAAhBC,YAA8BrP,EAAYqP,YAClE,gBAAwC,qBAAhBC,YAA8BtP,EAAYsP,YAClE,aAAcC,SACd,YAAgC,qBAAZC,QAA0BxP,EAAYwP,QAC1D,YAAgC,qBAAZC,QAA0BzP,EAAYyP,QAC1D,YAAgC,qBAAZC,QAA0B1P,EAAY0P,SAG3D,GAAIlD,EACH,IACC,KAAKmD,KAKN,CAJE,MAAOlS,GAER,IAAImS,EAAapD,EAASA,EAAS/O,IACnCqP,EAAW,qBAAuB8C,CACnC,CAGD,IAAIC,EAAS,SAASA,EAAOhT,GAC5B,IAAIW,EACJ,GAAa,oBAATX,EACHW,EAAQwO,EAAsB,6BACxB,GAAa,wBAATnP,EACVW,EAAQwO,EAAsB,wBACxB,GAAa,6BAATnP,EACVW,EAAQwO,EAAsB,8BACxB,GAAa,qBAATnP,EAA6B,CACvC,IAAIgF,EAAKgO,EAAO,4BACZhO,IACHrE,EAAQqE,EAAGnD,UAEb,MAAO,GAAa,6BAAT7B,EAAqC,CAC/C,IAAIiT,EAAMD,EAAO,oBACbC,GAAOtD,IACVhP,EAAQgP,EAASsD,EAAIpR,WAEvB,CAIA,OAFAoO,EAAWjQ,GAAQW,EAEZA,CACR,EAEIuS,EAAiB,CACpB,yBAA0B,CAAC,cAAe,aAC1C,mBAAoB,CAAC,QAAS,aAC9B,uBAAwB,CAAC,QAAS,YAAa,WAC/C,uBAAwB,CAAC,QAAS,YAAa,WAC/C,oBAAqB,CAAC,QAAS,YAAa,QAC5C,sBAAuB,CAAC,QAAS,YAAa,UAC9C,2BAA4B,CAAC,gBAAiB,aAC9C,mBAAoB,CAAC,yBAA0B,aAC/C,4BAA6B,CAAC,yBAA0B,YAAa,aACrE,qBAAsB,CAAC,UAAW,aAClC,sBAAuB,CAAC,WAAY,aACpC,kBAAmB,CAAC,OAAQ,aAC5B,mBAAoB,CAAC,QAAS,aAC9B,uBAAwB,CAAC,YAAa,aACtC,0BAA2B,CAAC,eAAgB,aAC5C,0BAA2B,CAAC,eAAgB,aAC5C,sBAAuB,CAAC,WAAY,aACpC,cAAe,CAAC,oBAAqB,aACrC,uBAAwB,CAAC,oBAAqB,YAAa,aAC3D,uBAAwB,CAAC,YAAa,aACtC,wBAAyB,CAAC,aAAc,aACxC,wBAAyB,CAAC,aAAc,aACxC,cAAe,CAAC,OAAQ,SACxB,kBAAmB,CAAC,OAAQ,aAC5B,iBAAkB,CAAC,MAAO,aAC1B,oBAAqB,CAAC,SAAU,aAChC,oBAAqB,CAAC,SAAU,aAChC,sBAAuB,CAAC,SAAU,YAAa,YAC/C,qBAAsB,CAAC,SAAU,YAAa,WAC9C,qBAAsB,CAAC,UAAW,aAClC,sBAAuB,CAAC,UAAW,YAAa,QAChD,gBAAiB,CAAC,UAAW,OAC7B,mBAAoB,CAAC,UAAW,UAChC,oBAAqB,CAAC,UAAW,WACjC,wBAAyB,CAAC,aAAc,aACxC,4BAA6B,CAAC,iBAAkB,aAChD,oBAAqB,CAAC,SAAU,aAChC,iBAAkB,CAAC,MAAO,aAC1B,+BAAgC,CAAC,oBAAqB,aACtD,oBAAqB,CAAC,SAAU,aAChC,oBAAqB,CAAC,SAAU,aAChC,yBAA0B,CAAC,cAAe,aAC1C,wBAAyB,CAAC,aAAc,aACxC,uBAAwB,CAAC,YAAa,aACtC,wBAAyB,CAAC,aAAc,aACxC,+BAAgC,CAAC,oBAAqB,aACtD,yBAA0B,CAAC,cAAe,aAC1C,yBAA0B,CAAC,cAAe,aAC1C,sBAAuB,CAAC,WAAY,aACpC,qBAAsB,CAAC,UAAW,aAClC,qBAAsB,CAAC,UAAW,cAG/B/S,EAAO,EAAQ,OACfmF,EAAS,EAAQ,OACjB6N,EAAUhT,EAAKI,KAAKkO,SAASlO,KAAMmE,MAAM7C,UAAU4C,QACnD2O,EAAejT,EAAKI,KAAKkO,SAASrN,MAAOsD,MAAM7C,UAAUsJ,QACzDkI,EAAWlT,EAAKI,KAAKkO,SAASlO,KAAM+R,OAAOzQ,UAAUyR,SACrDC,EAAYpT,EAAKI,KAAKkO,SAASlO,KAAM+R,OAAOzQ,UAAUyB,OACtDkQ,EAAQrT,EAAKI,KAAKkO,SAASlO,KAAM4R,OAAOtQ,UAAU4R,MAGlDC,EAAa,qGACbC,EAAe,WACfC,EAAe,SAAsBC,GACxC,IAAIC,EAAQP,EAAUM,EAAQ,EAAG,GAC7BE,EAAOR,EAAUM,GAAS,GAC9B,GAAc,MAAVC,GAA0B,MAATC,EACpB,MAAM,IAAIvQ,EAAa,kDACjB,GAAa,MAATuQ,GAA0B,MAAVD,EAC1B,MAAM,IAAItQ,EAAa,kDAExB,IAAI6K,EAAS,GAIb,OAHAgF,EAASQ,EAAQH,GAAY,SAAUM,EAAOC,EAAQC,EAAOC,GAC5D9F,EAAOA,EAAOnN,QAAUgT,EAAQb,EAASc,EAAWR,EAAc,MAAQM,GAAUD,CACrF,IACO3F,CACR,EAGI+F,EAAmB,SAA0BpU,EAAMC,GACtD,IACIoU,EADAC,EAAgBtU,EAOpB,GALIsF,EAAO4N,EAAgBoB,KAE1BA,EAAgB,KADhBD,EAAQnB,EAAeoB,IACK,GAAK,KAG9BhP,EAAO2K,EAAYqE,GAAgB,CACtC,IAAI3T,EAAQsP,EAAWqE,GAIvB,GAHI3T,IAAUmP,IACbnP,EAAQqS,EAAOsB,IAEK,qBAAV3T,IAA0BV,EACpC,MAAM,IAAIwD,EAAW,aAAezD,EAAO,wDAG5C,MAAO,CACNqU,MAAOA,EACPrU,KAAMsU,EACN3T,MAAOA,EAET,CAEA,MAAM,IAAI6C,EAAa,aAAexD,EAAO,mBAC9C,EAEAF,EAAOC,QAAU,SAAsBC,EAAMC,GAC5C,GAAoB,kBAATD,GAAqC,IAAhBA,EAAKkB,OACpC,MAAM,IAAIuC,EAAW,6CAEtB,GAAI1C,UAAUG,OAAS,GAA6B,mBAAjBjB,EAClC,MAAM,IAAIwD,EAAW,6CAGtB,GAAmC,OAA/B+P,EAAM,cAAexT,GACxB,MAAM,IAAIwD,EAAa,sFAExB,IAAI+Q,EAAQX,EAAa5T,GACrBwU,EAAoBD,EAAMrT,OAAS,EAAIqT,EAAM,GAAK,GAElDrU,EAAYkU,EAAiB,IAAMI,EAAoB,IAAKvU,GAC5DwU,EAAoBvU,EAAUF,KAC9BW,EAAQT,EAAUS,MAClB+T,GAAqB,EAErBL,EAAQnU,EAAUmU,MAClBA,IACHG,EAAoBH,EAAM,GAC1BjB,EAAamB,EAAOpB,EAAQ,CAAC,EAAG,GAAIkB,KAGrC,IAAK,IAAI/R,EAAI,EAAGqS,GAAQ,EAAMrS,EAAIiS,EAAMrT,OAAQoB,GAAK,EAAG,CACvD,IAAIsS,EAAOL,EAAMjS,GACbwR,EAAQP,EAAUqB,EAAM,EAAG,GAC3Bb,EAAOR,EAAUqB,GAAO,GAC5B,IAEa,MAAVd,GAA2B,MAAVA,GAA2B,MAAVA,GACtB,MAATC,GAAyB,MAATA,GAAyB,MAATA,IAElCD,IAAUC,EAEb,MAAM,IAAIvQ,EAAa,wDASxB,GAPa,gBAAToR,GAA2BD,IAC9BD,GAAqB,GAMlBpP,EAAO2K,EAFXwE,EAAoB,KADpBD,GAAqB,IAAMI,GACmB,KAG7CjU,EAAQsP,EAAWwE,QACb,GAAa,MAAT9T,EAAe,CACzB,KAAMiU,KAAQjU,GAAQ,CACrB,IAAKV,EACJ,MAAM,IAAIwD,EAAW,sBAAwBzD,EAAO,+CAErD,MACD,CACA,GAAIQ,GAAU8B,EAAI,GAAMiS,EAAMrT,OAAQ,CACrC,IAAIF,EAAOR,EAAMG,EAAOiU,GAWvBjU,GAVDgU,IAAU3T,IASG,QAASA,KAAU,kBAAmBA,EAAKwO,KAC/CxO,EAAKwO,IAEL7O,EAAMiU,EAEhB,MACCD,EAAQrP,EAAO3E,EAAOiU,GACtBjU,EAAQA,EAAMiU,GAGXD,IAAUD,IACbzE,EAAWwE,GAAqB9T,EAElC,CACD,CACA,OAAOA,CACR,C,qCC5VA,IAEIH,EAFe,EAAQ,MAEfb,CAAa,qCAAqC,GAE9D,GAAIa,EACH,IACCA,EAAM,GAAI,SAIX,CAHE,MAAOI,GAERJ,EAAQ,IACT,CAGDV,EAAOC,QAAUS,C,qCCbjB,IAEIC,EAFe,EAAQ,MAELd,CAAa,2BAA2B,GAE1D4D,EAAyB,WAC5B,GAAI9C,EACH,IAEC,OADAA,EAAgB,CAAC,EAAG,IAAK,CAAEE,MAAO,KAC3B,CAIR,CAHE,MAAOC,GAER,OAAO,CACR,CAED,OAAO,CACR,EAEA2C,EAAuBsR,wBAA0B,WAEhD,IAAKtR,IACJ,OAAO,KAER,IACC,OAA8D,IAAvD9C,EAAgB,GAAI,SAAU,CAAEE,MAAO,IAAKO,MAIpD,CAHE,MAAON,GAER,OAAO,CACR,CACD,EAEAd,EAAOC,QAAUwD,C,iCC9BjB,IAAIuR,EAAO,CACVC,IAAK,CAAC,GAGHC,EAAUzQ,OAEdzE,EAAOC,QAAU,WAChB,MAAO,CAAE8P,UAAWiF,GAAOC,MAAQD,EAAKC,OAAS,CAAElF,UAAW,gBAAkBmF,EACjF,C,qCCRA,IAAIC,EAA+B,qBAAX5Q,QAA0BA,OAC9C6Q,EAAgB,EAAQ,OAE5BpV,EAAOC,QAAU,WAChB,MAA0B,oBAAfkV,IACW,oBAAX5Q,SACsB,kBAAtB4Q,EAAW,SACO,kBAAlB5Q,OAAO,QAEX6Q,MACR,C,iCCTApV,EAAOC,QAAU,WAChB,GAAsB,oBAAXsE,QAAiE,oBAAjCE,OAAOc,sBAAwC,OAAO,EACjG,GAA+B,kBAApBhB,OAAO+L,SAAyB,OAAO,EAElD,IAAIzM,EAAM,CAAC,EACPwR,EAAM9Q,OAAO,QACb+Q,EAAS7Q,OAAO4Q,GACpB,GAAmB,kBAARA,EAAoB,OAAO,EAEtC,GAA4C,oBAAxC5Q,OAAO1C,UAAU2C,SAASjE,KAAK4U,GAA8B,OAAO,EACxE,GAA+C,oBAA3C5Q,OAAO1C,UAAU2C,SAASjE,KAAK6U,GAAiC,OAAO,EAY3E,IAAKD,KADLxR,EAAIwR,GADS,GAEDxR,EAAO,OAAO,EAC1B,GAA2B,oBAAhBY,OAAOJ,MAAmD,IAA5BI,OAAOJ,KAAKR,GAAKzC,OAAgB,OAAO,EAEjF,GAA0C,oBAA/BqD,OAAO8Q,qBAAiF,IAA3C9Q,OAAO8Q,oBAAoB1R,GAAKzC,OAAgB,OAAO,EAE/G,IAAIoU,EAAO/Q,OAAOc,sBAAsB1B,GACxC,GAAoB,IAAhB2R,EAAKpU,QAAgBoU,EAAK,KAAOH,EAAO,OAAO,EAEnD,IAAK5Q,OAAO1C,UAAU0T,qBAAqBhV,KAAKoD,EAAKwR,GAAQ,OAAO,EAEpE,GAA+C,oBAApC5Q,OAAOkB,yBAAyC,CAC1D,IAAI+P,EAAajR,OAAOkB,yBAAyB9B,EAAKwR,GACtD,GAdY,KAcRK,EAAW7U,QAA8C,IAA1B6U,EAAWvR,WAAuB,OAAO,CAC7E,CAEA,OAAO,CACR,C,qCCvCA,IAAIG,EAAa,EAAQ,OAEzBtE,EAAOC,QAAU,WAChB,OAAOqE,OAAkBC,OAAOoR,WACjC,C,qCCJA,IAAItV,EAAO,EAAQ,OAEnBL,EAAOC,QAAUI,EAAKI,KAAKkO,SAASlO,KAAMgE,OAAO1C,UAAU0D,e,qCCF3D,IAAImQ,EAAiB,EAAQ,MAAR,GAGjBC,EAFY,EAAQ,MAERC,CAAU,6BAEtBC,EAAsB,SAAqBlV,GAC9C,QAAI+U,GAAkB/U,GAA0B,kBAAVA,GAAsB0D,OAAOoR,eAAe9U,IAGtD,uBAArBgV,EAAUhV,EAClB,EAEImV,EAAoB,SAAqBnV,GAC5C,QAAIkV,EAAoBlV,IAGP,OAAVA,GACW,kBAAVA,GACiB,kBAAjBA,EAAMO,QACbP,EAAMO,QAAU,GACK,mBAArByU,EAAUhV,IACkB,sBAA5BgV,EAAUhV,EAAMoV,OAClB,EAEIC,EAA6B,WAChC,OAAOH,EAAoB9U,UAC5B,CAFgC,GAIhC8U,EAAoBC,kBAAoBA,EAExChW,EAAOC,QAAUiW,EAA4BH,EAAsBC,C,qCC9BnE,IAAIG,EAASrU,KAAKC,UAAUoU,OAUxB3R,EAAQC,OAAO1C,UAAU2C,SAEzBkR,EAAiB,EAAQ,MAAR,GAErB5V,EAAOC,QAAU,SAAsBY,GACtC,MAAqB,kBAAVA,GAAgC,OAAVA,IAG1B+U,EAjBY,SAA2B/U,GAC9C,IAEC,OADAsV,EAAO1V,KAAKI,IACL,CAGR,CAFE,MAAOC,GACR,OAAO,CACR,CACD,CAUyBsV,CAAcvV,GAPvB,kBAOgC2D,EAAM/D,KAAKI,GAC3D,C,qCCnBA,IAEIwV,EACA3C,EACA4C,EACAC,EALAT,EAAY,EAAQ,OACpBF,EAAiB,EAAQ,MAAR,GAMrB,GAAIA,EAAgB,CACnBS,EAAMP,EAAU,mCAChBpC,EAAQoC,EAAU,yBAClBQ,EAAgB,CAAC,EAEjB,IAAIE,EAAmB,WACtB,MAAMF,CACP,EACAC,EAAiB,CAChB7R,SAAU8R,EACVC,QAASD,GAGwB,kBAAvBjS,OAAOmS,cACjBH,EAAehS,OAAOmS,aAAeF,EAEvC,CAEA,IAAIX,EAAYC,EAAU,6BACtBpQ,EAAOjB,OAAOkB,yBAGlB3F,EAAOC,QAAU2V,EAEd,SAAiB/U,GAClB,IAAKA,GAA0B,kBAAVA,EACpB,OAAO,EAGR,IAAI6U,EAAahQ,EAAK7E,EAAO,aAE7B,KAD+B6U,GAAcW,EAAIX,EAAY,UAE5D,OAAO,EAGR,IACChC,EAAM7S,EAAO0V,EAGd,CAFE,MAAOzV,GACR,OAAOA,IAAMwV,CACd,CACD,EACE,SAAiBzV,GAElB,SAAKA,GAA2B,kBAAVA,GAAuC,oBAAVA,IAvBpC,oBA2BRgV,EAAUhV,EAClB,C,iCCvDD,IAAI8V,EAAc,SAAU9V,GAC3B,OAAOA,IAAUA,CAClB,EAEAb,EAAOC,QAAU,SAAYqC,EAAGC,GAC/B,OAAU,IAAND,GAAiB,IAANC,EACP,EAAID,IAAM,EAAIC,EAElBD,IAAMC,MAGNoU,EAAYrU,KAAMqU,EAAYpU,GAInC,C,qCCfA,IAAIqU,EAAS,EAAQ,MACjB9W,EAAW,EAAQ,OAEnBgP,EAAiB,EAAQ,OACzB+H,EAAc,EAAQ,OACtBC,EAAO,EAAQ,OAEfC,EAAWjX,EAAS+W,IAAepS,QAEvCmS,EAAOG,EAAU,CAChBF,YAAaA,EACb/H,eAAgBA,EAChBgI,KAAMA,IAGP9W,EAAOC,QAAU8W,C,qCCfjB,IAAIjI,EAAiB,EAAQ,OAE7B9O,EAAOC,QAAU,WAChB,MAA4B,oBAAdwE,OAAOhD,GAAoBgD,OAAOhD,GAAKqN,CACtD,C,qCCJA,IAAI+H,EAAc,EAAQ,OACtBD,EAAS,EAAQ,MAErB5W,EAAOC,QAAU,WAChB,IAAI8W,EAAWF,IAMf,OALAD,EAAOnS,OAAQ,CAAEhD,GAAIsV,GAAY,CAChCtV,GAAI,WACH,OAAOgD,OAAOhD,KAAOsV,CACtB,IAEMA,CACR,C,qCCXA,IAAIC,EACJ,IAAKvS,OAAOJ,KAAM,CAEjB,IAAIgS,EAAM5R,OAAO1C,UAAU0D,eACvBjB,EAAQC,OAAO1C,UAAU2C,SACzBuS,EAAS,EAAQ,OACjBC,EAAezS,OAAO1C,UAAU0T,qBAChC0B,GAAkBD,EAAazW,KAAK,CAAEiE,SAAU,MAAQ,YACxD0S,EAAkBF,EAAazW,MAAK,WAAa,GAAG,aACpD4W,EAAY,CACf,WACA,iBACA,UACA,iBACA,gBACA,uBACA,eAEGC,EAA6B,SAAUC,GAC1C,IAAIC,EAAOD,EAAEtR,YACb,OAAOuR,GAAQA,EAAKzV,YAAcwV,CACnC,EACIE,EAAe,CAClBC,mBAAmB,EACnBC,UAAU,EACVC,WAAW,EACXC,QAAQ,EACRC,eAAe,EACfC,SAAS,EACTC,cAAc,EACdC,aAAa,EACbC,wBAAwB,EACxBC,uBAAuB,EACvBC,cAAc,EACdC,aAAa,EACbC,cAAc,EACdC,cAAc,EACdC,SAAS,EACTC,aAAa,EACbC,YAAY,EACZC,UAAU,EACVC,UAAU,EACVC,OAAO,EACPC,kBAAkB,EAClBC,oBAAoB,EACpBC,SAAS,GAENC,EAA4B,WAE/B,GAAsB,qBAAXC,OAA0B,OAAO,EAC5C,IAAK,IAAIC,KAAKD,OACb,IACC,IAAKzB,EAAa,IAAM0B,IAAM9C,EAAI5V,KAAKyY,OAAQC,IAAoB,OAAdD,OAAOC,IAAoC,kBAAdD,OAAOC,GACxF,IACC7B,EAA2B4B,OAAOC,GAGnC,CAFE,MAAOrY,GACR,OAAO,CACR,CAIF,CAFE,MAAOA,GACR,OAAO,CACR,CAED,OAAO,CACR,CAjB+B,GA8B/BkW,EAAW,SAAchS,GACxB,IAAIoU,EAAsB,OAAXpU,GAAqC,kBAAXA,EACrCqU,EAAoC,sBAAvB7U,EAAM/D,KAAKuE,GACxBxD,EAAcyV,EAAOjS,GACrBsU,EAAWF,GAAmC,oBAAvB5U,EAAM/D,KAAKuE,GAClCuU,EAAU,GAEd,IAAKH,IAAaC,IAAe7X,EAChC,MAAM,IAAI2M,UAAU,sCAGrB,IAAIqL,EAAYpC,GAAmBiC,EACnC,GAAIC,GAAYtU,EAAO5D,OAAS,IAAMiV,EAAI5V,KAAKuE,EAAQ,GACtD,IAAK,IAAIxC,EAAI,EAAGA,EAAIwC,EAAO5D,SAAUoB,EACpC+W,EAAQ1O,KAAK2H,OAAOhQ,IAItB,GAAIhB,GAAewD,EAAO5D,OAAS,EAClC,IAAK,IAAI+G,EAAI,EAAGA,EAAInD,EAAO5D,SAAU+G,EACpCoR,EAAQ1O,KAAK2H,OAAOrK,SAGrB,IAAK,IAAIjI,KAAQ8E,EACVwU,GAAsB,cAATtZ,IAAyBmW,EAAI5V,KAAKuE,EAAQ9E,IAC5DqZ,EAAQ1O,KAAK2H,OAAOtS,IAKvB,GAAIiX,EAGH,IAFA,IAAIsC,EA3CqC,SAAUlC,GAEpD,GAAsB,qBAAX2B,SAA2BD,EACrC,OAAO3B,EAA2BC,GAEnC,IACC,OAAOD,EAA2BC,EAGnC,CAFE,MAAOzW,GACR,OAAO,CACR,CACD,CAiCwB4Y,CAAqC1U,GAElDmU,EAAI,EAAGA,EAAI9B,EAAUjW,SAAU+X,EACjCM,GAAoC,gBAAjBpC,EAAU8B,KAAyB9C,EAAI5V,KAAKuE,EAAQqS,EAAU8B,KACtFI,EAAQ1O,KAAKwM,EAAU8B,IAI1B,OAAOI,CACR,CACD,CACAvZ,EAAOC,QAAU+W,C,qCCvHjB,IAAIxT,EAAQoB,MAAM7C,UAAUyB,MACxByT,EAAS,EAAQ,OAEjB0C,EAAWlV,OAAOJ,KAClB2S,EAAW2C,EAAW,SAAcpC,GAAK,OAAOoC,EAASpC,EAAI,EAAI,EAAQ,OAEzEqC,EAAenV,OAAOJ,KAE1B2S,EAASF,KAAO,WACf,GAAIrS,OAAOJ,KAAM,CAChB,IAAIwV,EAA0B,WAE7B,IAAIxL,EAAO5J,OAAOJ,KAAKpD,WACvB,OAAOoN,GAAQA,EAAKjN,SAAWH,UAAUG,MAC1C,CAJ6B,CAI3B,EAAG,GACAyY,IACJpV,OAAOJ,KAAO,SAAcW,GAC3B,OAAIiS,EAAOjS,GACH4U,EAAapW,EAAM/C,KAAKuE,IAEzB4U,EAAa5U,EACrB,EAEF,MACCP,OAAOJ,KAAO2S,EAEf,OAAOvS,OAAOJ,MAAQ2S,CACvB,EAEAhX,EAAOC,QAAU+W,C,iCC7BjB,IAAIxS,EAAQC,OAAO1C,UAAU2C,SAE7B1E,EAAOC,QAAU,SAAqBY,GACrC,IAAImL,EAAMxH,EAAM/D,KAAKI,GACjBoW,EAAiB,uBAARjL,EASb,OARKiL,IACJA,EAAiB,mBAARjL,GACE,OAAVnL,GACiB,kBAAVA,GACiB,kBAAjBA,EAAMO,QACbP,EAAMO,QAAU,GACa,sBAA7BoD,EAAM/D,KAAKI,EAAMoV,SAEZgB,CACR,C,oBChBA,IAAiD6C,EAS9B,qBAATC,MAAuBA,KATgBD,EASH,WAC9C,OAAgB,SAAUE,GAEhB,IAAIC,EAAmB,CAAC,EAGxB,SAAS,EAAoBC,GAG5B,GAAGD,EAAiBC,GACnB,OAAOD,EAAiBC,GAAUja,QAGnC,IAAID,EAASia,EAAiBC,GAAY,CACzC1X,EAAG0X,EACHC,GAAG,EACHla,QAAS,CAAC,GAUX,OANA+Z,EAAQE,GAAUzZ,KAAKT,EAAOC,QAASD,EAAQA,EAAOC,QAAS,GAG/DD,EAAOma,GAAI,EAGJna,EAAOC,OACf,CAoCA,OAhCA,EAAoBma,EAAIJ,EAGxB,EAAoBK,EAAIJ,EAGxB,EAAoBlQ,EAAI,SAAS9J,EAASC,EAAMoa,GAC3C,EAAoB/C,EAAEtX,EAASC,IAClCuE,OAAOM,eAAe9E,EAASC,EAAM,CACpCiB,cAAc,EACdgD,YAAY,EACZuL,IAAK4K,GAGR,EAGA,EAAoBC,EAAI,SAASva,GAChC,IAAIsa,EAASta,GAAUA,EAAOwa,WAC7B,WAAwB,OAAOxa,EAAgB,OAAG,EAClD,WAA8B,OAAOA,CAAQ,EAE9C,OADA,EAAoB+J,EAAEuQ,EAAQ,IAAKA,GAC5BA,CACR,EAGA,EAAoB/C,EAAI,SAASvS,EAAQlB,GAAY,OAAOW,OAAO1C,UAAU0D,eAAehF,KAAKuE,EAAQlB,EAAW,EAGpH,EAAoB2W,EAAI,GAGjB,EAAoB,EAAoBC,EAAI,EACnD,CA/DM,CAiEN,CAEJ,SAAU1a,EAAQC,EAAS0a,GAEjC,aAEA,IACQC,EADJC,EAAa3M,MAAQA,KAAK2M,YACtBD,EAAgBnW,OAAOqW,gBACtB,CAAE/K,UAAW,cAAgBnL,OAAS,SAAUmF,EAAGxH,GAAKwH,EAAEgG,UAAYxN,CAAG,GAC1E,SAAUwH,EAAGxH,GAAK,IAAK,IAAIkY,KAAKlY,EAAOA,EAAEkD,eAAegV,KAAI1Q,EAAE0Q,GAAKlY,EAAEkY,GAAI,EACtE,SAAU1Q,EAAGxH,GAEhB,SAASwY,IAAO7M,KAAKjI,YAAc8D,CAAG,CADtC6Q,EAAc7Q,EAAGxH,GAEjBwH,EAAEhI,UAAkB,OAANQ,EAAakC,OAAOuW,OAAOzY,IAAMwY,EAAGhZ,UAAYQ,EAAER,UAAW,IAAIgZ,EACnF,GAEJtW,OAAOM,eAAe9E,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAIoa,EAAgC,SAAUC,GAE1C,SAASD,EAAeE,GACpB,IAAIC,EAAQlN,KAKZ,OAJAiN,EAAU,eAAiBA,GAC3BC,EAAQF,EAAOza,KAAKyN,KAAMiN,IAAYjN,MAChCiN,QAAUA,EAChBC,EAAMlb,KAAOkb,EAAMnV,YAAY/F,KACxBkb,CACX,CACA,OATAP,EAAUI,EAAgBC,GASnBD,CACX,CAXmC,CAWjC3P,OACFrL,EAAQgb,eAAiBA,EACzB,IAKII,EALAC,EAAa,CAAC,EACdC,EAAU,CAAC,EACXC,EAAO,CAAC,EACRC,EAAQ,CAAC,EAwCb,SAASC,EAAMA,EAAOC,GAElB,IAAIzH,EACJ,QAFc,IAAVyH,IAAoBA,EAAQN,EAAMO,KAEjB,kBAAVF,EACPxH,EAAQuH,EAAMC,IAAUJ,EAAWI,QAGlC,GAAIA,aAAiBG,MAAQH,EAAgB,WAAMI,KAAKC,UACzD7H,EAAQuH,EAAY,UAEnB,GAAqB,kBAAVC,EACRA,EAAQL,EAAMW,MAAQX,EAAMY,MAC5B/H,EAAQuH,EAAa,MAEhBC,EAAQL,EAAMW,MAAQX,EAAMa,SACjChI,EAAQuH,EAAc,aAGzB,GAAIC,aAAiBS,YAAa,CACnC,IAAIC,GAASV,EAAMW,aAAa,UAAY,IAAIC,MAAM,OACtD,IAAK,IAAI9Z,KAAK4Z,EAEV,GADAlI,EAAQqH,EAAQa,EAAM5Z,IAElB,MAER0R,EAAQA,GAASsH,EAAKE,EAAMa,QAChC,CACA,OAAa,MAATrI,EACO,KAEPyH,EAAQN,EAAMW,MAAQ9H,EAAMyH,OAASA,EAAQN,EAAMmB,KAAOtI,EAAMyH,MACzDzH,EACJ,IACX,CAxEAjU,EAAQwc,SAAW,SAEnB,SAAWpB,GACPA,EAAMA,EAAY,KAAI,GAAK,OAC3BA,EAAMA,EAAa,MAAI,IAAM,QAC7BA,EAAMA,EAAiB,UAAI,IAAM,YACjCA,EAAMA,EAAY,KAAI,IAAM,OAC5BA,EAAMA,EAAc,OAAI,GAAK,SAC7BA,EAAMA,EAAa,MAAI,IAAM,QAC7BA,EAAMA,EAAkB,WAAI,IAAM,aAClCA,EAAMA,EAAmB,YAAI,GAAK,cAClCA,EAAMA,EAAuB,gBAAI,GAAK,kBACtCA,EAAMA,EAAwB,iBAAI,GAAK,mBACvCA,EAAMA,EAAW,IAAI,IAAM,KAC9B,CAZD,CAYGA,EAAQpb,EAAQob,QAAUpb,EAAQob,MAAQ,CAAC,IAY9Cpb,EAAQ+a,OAXR,SAAgB0B,EAAO7b,GACnB,IAAIqT,EAAQwH,EAAMgB,GAClB,GAAa,MAATxI,EACA,MAAM,IAAI+G,EAAe,oBAAsByB,EAAQ,SAE3D,IAAIC,EAAYzI,EACZ0I,EAEJF,aAAiBZ,MAAQY,EAAgB,WAAMZ,KAAKC,UAAYW,EAAQC,EAAU3B,OAAOna,GACzF,OAAO,IAAI8b,EAAUC,EAAM/b,EAC/B,EAaAZ,EAAQ4c,KAXR,SAASA,EAAKD,EAAME,GAEhB,YADe,IAAXA,IAAqBA,GAAS,GACtB,MAARF,EACO,KAEmB,MAA1BA,EAAK3c,EAAQwc,UACNG,EAAK3c,EAAQwc,UAAUM,KAC9BD,EACOD,EAAKD,EAAKI,WAAYF,GAC1B,IACX,EAoCA7c,EAAQyb,MAAQA,EA6ChBzb,EAAQgd,SA5CR,SAASA,IAEL,IADA,IAAIC,EAAc,GACTC,EAAK,EAAGA,EAAKlc,UAAUG,OAAQ+b,IACpCD,EAAYC,GAAMlc,UAAUkc,GAEhC,GAAID,EAAY9b,OAAS,EACrB,OAAO8b,EAAY9X,KAAI,SAAU2E,GAC7B,OAAOkT,EAASlT,EACpB,IAEJ,IAAIqT,EAAaF,EAAY,GAC7B,GAAmC,kBAAxBE,EAAWC,UAAwD,kBAAxBD,EAAWE,SAC7D,MAAM,IAAIrC,EAAe,sBAExB,GAA4B,aAAxBmC,EAAWC,SAChB,MAAM,IAAIpC,EAAe,kCAG7B,GADAQ,EAAM2B,EAAWC,UAAYD,EAAWE,UAAYF,EAClB,kBAAvBA,EAAWG,QAClBjC,EAAW8B,EAAWG,SAAWH,OAMjC,GAH4B,MAAxBA,EAAWI,YACXjC,EAAQ6B,EAAWI,WAAaJ,GAEV,MAAtBA,EAAWb,QAAiB,CACxB3X,MAAMgB,QAAQwX,EAAWb,SACzBa,EAAWb,QAAUa,EAAWb,QAAQnX,KAAI,SAAUmX,GAClD,OAAOA,EAAQkB,aACnB,IAGAL,EAAWb,QAAUa,EAAWb,QAAQkB,cAE5C,IAAIC,EAAW9Y,MAAMgB,QAAQwX,EAAWb,SAAWa,EAAWb,QAAU,CAACa,EAAWb,SACpFmB,EAASC,SAAQ,SAAUC,GACN,MAAbpC,EAAKoC,IAAwC,MAAxBR,EAAWI,YAChChC,EAAKoC,GAAOR,EAEpB,GACJ,CAEJ,OAAOA,CACX,CAIO,EAED,SAAUpd,EAAQC,EAAS,GAEjC,aAEAwE,OAAOM,eAAe9E,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAIgd,EAAW,EAAoB,GAC/BC,EAA4B,WAC5B,SAASA,EAAWR,EAAUC,EAASpb,QACnB,IAAZA,IAAsBA,EAAU,CAAC,GACrC+L,KAAKoP,SAAWA,EAChBpP,KAAKqP,QAAUA,EACf,IAAIQ,EAAeF,EAASxC,MAAMmB,KAAOqB,EAASxC,MAAM2C,UACnC,MAAjB7b,EAAQwZ,MAERzN,KAAKyN,MAASxZ,EAAQwZ,MAAQkC,EAASxC,MAAMW,MAAS+B,EAGtD7P,KAAKyN,MAAQkC,EAASxC,MAAM2C,UAEP,MAArB7b,EAAQ8b,YACR/P,KAAK+P,UAAY9b,EAAQ8b,UACjC,CAmCA,OAlCAH,EAAWzZ,KAAO,SAAUuY,GACxB,MAAO,GAAGxX,IAAI3E,KAAKmc,EAAKtB,YAAY,SAAU4C,GAC1C,OAAOA,EAAKhe,IAChB,GACJ,EACA4d,EAAW/b,UAAUoc,IAAM,SAAUvB,EAAM/b,GACvC,QAAKqN,KAAKkQ,OAAOxB,EAAM/b,KAEvB+b,EAAKyB,aAAanQ,KAAKqP,QAAS1c,IACzB,EACX,EACAid,EAAW/b,UAAUqc,OAAS,SAAUxB,EAAM/b,GAE1C,OAAa,MADDgd,EAASnC,MAAMkB,EAAMiB,EAASxC,MAAMiD,MAAQpQ,KAAKyN,MAAQkC,EAASxC,MAAMmB,SAG9D,MAAlBtO,KAAK+P,YAEY,kBAAVpd,EACAqN,KAAK+P,UAAUxW,QAAQ5G,EAAM2S,QAAQ,QAAS,MAAQ,EAGtDtF,KAAK+P,UAAUxW,QAAQ5G,IAAU,GAEhD,EACAid,EAAW/b,UAAUwc,OAAS,SAAU3B,GACpCA,EAAK4B,gBAAgBtQ,KAAKqP,QAC9B,EACAO,EAAW/b,UAAUlB,MAAQ,SAAU+b,GACnC,IAAI/b,EAAQ+b,EAAKP,aAAanO,KAAKqP,SACnC,OAAIrP,KAAKkQ,OAAOxB,EAAM/b,IAAUA,EACrBA,EAEJ,EACX,EACOid,CACX,CAnD+B,GAoD/B7d,EAAQwe,QAAUX,CAGX,EAED,SAAU9d,EAAQC,EAAS,GAEjC,aAEA,IACQ2a,EADJC,EAAa3M,MAAQA,KAAK2M,YACtBD,EAAgBnW,OAAOqW,gBACtB,CAAE/K,UAAW,cAAgBnL,OAAS,SAAUmF,EAAGxH,GAAKwH,EAAEgG,UAAYxN,CAAG,GAC1E,SAAUwH,EAAGxH,GAAK,IAAK,IAAIkY,KAAKlY,EAAOA,EAAEkD,eAAegV,KAAI1Q,EAAE0Q,GAAKlY,EAAEkY,GAAI,EACtE,SAAU1Q,EAAGxH,GAEhB,SAASwY,IAAO7M,KAAKjI,YAAc8D,CAAG,CADtC6Q,EAAc7Q,EAAGxH,GAEjBwH,EAAEhI,UAAkB,OAANQ,EAAakC,OAAOuW,OAAOzY,IAAMwY,EAAGhZ,UAAYQ,EAAER,UAAW,IAAIgZ,EACnF,GAEJtW,OAAOM,eAAe9E,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAI6d,EAAgB,EAAoB,IACpCC,EAAW,EAAoB,GAC/Bd,EAAW,EAAoB,GAC/Be,EAA+B,SAAU1D,GAEzC,SAAS0D,EAAcC,GACnB,IAAIzD,EAAQF,EAAOza,KAAKyN,KAAM2Q,IAAY3Q,KAE1C,OADAkN,EAAM0D,QACC1D,CACX,CAuNA,OA5NAP,EAAU+D,EAAe1D,GAMzB0D,EAAc7c,UAAUgd,YAAc,SAAUC,GAC5C9Q,KAAK+Q,aAAaD,EACtB,EACAJ,EAAc7c,UAAUmd,OAAS,WAC7BhE,EAAOnZ,UAAUmd,OAAOze,KAAKyN,MAC7BA,KAAKiR,SAASxB,SAAQ,SAAUyB,GAC5BA,EAAMF,QACV,GACJ,EACAN,EAAc7c,UAAU+c,MAAQ,WAC5B,IAAI1D,EAAQlN,KACZA,KAAKiR,SAAW,IAAIT,EAAcD,QAElC,GAAGjb,MACE/C,KAAKyN,KAAK2Q,QAAQQ,YAClBC,UACA3B,SAAQ,SAAUf,GACnB,IACI,IAAIwC,EAAQG,EAAS3C,GACrBxB,EAAM6D,aAAaG,EAAOhE,EAAM+D,SAASK,WAAQnc,EAOrD,CALA,MAAOoc,GACH,GAAIA,aAAe5B,EAAS5C,eACxB,OAEA,MAAMwE,CACd,CACJ,GACJ,EACAb,EAAc7c,UAAU2d,SAAW,SAAUC,EAAOve,GAChD,GAAc,IAAVue,GAAeve,IAAW8M,KAAK9M,SAC/B,OAAO8M,KAAKqQ,SAEhBrQ,KAAKiR,SAASS,UAAUD,EAAOve,GAAQ,SAAUge,EAAOS,EAAQze,GAC5Dge,EAAMM,SAASG,EAAQze,EAC3B,GACJ,EACAwd,EAAc7c,UAAU+d,WAAa,SAAUC,EAAUJ,GACrD,IAAIK,EAAK9R,KAAKiR,SAAStC,KAAK8C,GAAQP,EAAQY,EAAG,GAAIH,EAASG,EAAG,GAC/D,OAA0B,MAArBD,EAAS1C,UAAoB0C,EAASX,IACjB,MAArBW,EAAS1C,UAAoB+B,aAAiBW,EACxC,CAACX,EAAOS,GAEVT,aAAiBR,EACfQ,EAAMU,WAAWC,EAAUF,GAG3B,CAAC,MAAO,EAEvB,EACAjB,EAAc7c,UAAUke,YAAc,SAAUF,EAAUJ,EAAOve,QAC/C,IAAVue,IAAoBA,EAAQ,QACjB,IAAXve,IAAqBA,EAASyQ,OAAOqO,WACzC,IAAID,EAAc,GACdE,EAAa/e,EAWjB,OAVA8M,KAAKiR,SAASS,UAAUD,EAAOve,GAAQ,SAAUge,EAAOO,EAAOve,IACjC,MAArB2e,EAAS1C,UAAoB0C,EAASX,IACjB,MAArBW,EAAS1C,UAAoB+B,aAAiBW,IAC/CE,EAAYpV,KAAKuU,GAEjBA,aAAiBR,IACjBqB,EAAcA,EAAYtb,OAAOya,EAAMa,YAAYF,EAAUJ,EAAOQ,KAExEA,GAAc/e,CAClB,IACO6e,CACX,EACArB,EAAc7c,UAAUqe,OAAS,WAC7BlS,KAAKiR,SAASxB,SAAQ,SAAUyB,GAC5BA,EAAMgB,QACV,IACAlF,EAAOnZ,UAAUqe,OAAO3f,KAAKyN,KACjC,EACA0Q,EAAc7c,UAAUse,SAAW,SAAUV,EAAOve,EAAQlB,EAAMW,GAC9DqN,KAAKiR,SAASS,UAAUD,EAAOve,GAAQ,SAAUge,EAAOS,EAAQze,GAC5Dge,EAAMiB,SAASR,EAAQze,EAAQlB,EAAMW,EACzC,GACJ,EACA+d,EAAc7c,UAAUue,SAAW,SAAUX,EAAO9e,EAAO0f,GACvD,IAAIP,EAAK9R,KAAKiR,SAAStC,KAAK8C,GAAQP,EAAQY,EAAG,GAAIH,EAASG,EAAG,GAC/D,GAAIZ,EACAA,EAAMkB,SAAST,EAAQhf,EAAO0f,OAE7B,CACD,IAAIxD,EAAc,MAAPwD,EAAc1C,EAAS7C,OAAO,OAAQna,GAASgd,EAAS7C,OAAOna,EAAO0f,GACjFrS,KAAK6Q,YAAYhC,EACrB,CACJ,EACA6B,EAAc7c,UAAUkd,aAAe,SAAUuB,EAAWC,GACxD,GAAoC,MAAhCvS,KAAKwS,QAAQC,kBACZzS,KAAKwS,QAAQC,gBAAgBC,MAAK,SAAUxB,GACzC,OAAOoB,aAAqBpB,CAChC,IACA,MAAM,IAAIvB,EAAS5C,eAAe,iBAAmBuF,EAAUE,QAAQrD,SAAW,SAAWnP,KAAKwS,QAAQrD,UAE9GmD,EAAUK,WAAW3S,KAAMuS,EAC/B,EACA7B,EAAc7c,UAAUX,OAAS,WAC7B,OAAO8M,KAAKiR,SAAS2B,QAAO,SAAUC,EAAM3B,GACxC,OAAO2B,EAAO3B,EAAMhe,QACxB,GAAG,EACP,EACAwd,EAAc7c,UAAUif,aAAe,SAAUC,EAAcC,GAC3DhT,KAAKiR,SAASxB,SAAQ,SAAUyB,GAC5B6B,EAAahC,aAAaG,EAAO8B,EACrC,GACJ,EACAtC,EAAc7c,UAAUof,SAAW,SAAUC,GAEzC,GADAlG,EAAOnZ,UAAUof,SAAS1gB,KAAKyN,KAAMkT,GACR,IAAzBlT,KAAKiR,SAAS/d,OACd,GAAiC,MAA7B8M,KAAKwS,QAAQW,aAAsB,CACnC,IAAIjC,EAAQvB,EAAS7C,OAAO9M,KAAKwS,QAAQW,cACzCnT,KAAK6Q,YAAYK,GACjBA,EAAM+B,SAASC,EACnB,MAEIlT,KAAKqQ,QAGjB,EACAK,EAAc7c,UAAUuf,KAAO,SAAU3B,EAAO4B,QAC1B,IAAdA,IAAwBA,GAAY,GACxC,IAAIvB,EAAK9R,KAAKiR,SAAStC,KAAK8C,EAAO4B,GAAYnC,EAAQY,EAAG,GAAIH,EAASG,EAAG,GACtEwB,EAAW,CAAC,CAACtT,KAAMyR,IACvB,OAAIP,aAAiBR,EACV4C,EAAS7c,OAAOya,EAAMkC,KAAKzB,EAAQ0B,KAE5B,MAATnC,GACLoC,EAAS3W,KAAK,CAACuU,EAAOS,IAEnB2B,EACX,EACA5C,EAAc7c,UAAU0f,YAAc,SAAUrC,GAC5ClR,KAAKiR,SAASZ,OAAOa,EACzB,EACAR,EAAc7c,UAAUyR,QAAU,SAAUrN,GACpCA,aAAkByY,GAClBzY,EAAO6a,aAAa9S,MAExBgN,EAAOnZ,UAAUyR,QAAQ/S,KAAKyN,KAAM/H,EACxC,EACAyY,EAAc7c,UAAUua,MAAQ,SAAUqD,EAAO+B,GAE7C,QADc,IAAVA,IAAoBA,GAAQ,IAC3BA,EAAO,CACR,GAAc,IAAV/B,EACA,OAAOzR,KACX,GAAIyR,IAAUzR,KAAK9M,SACf,OAAO8M,KAAKyT,IACpB,CACA,IAAIC,EAAQ1T,KAAKzH,QAMjB,OALAyH,KAAK2T,OAAO5C,aAAa2C,EAAO1T,KAAKyT,MACrCzT,KAAKiR,SAASS,UAAUD,EAAOzR,KAAK9M,UAAU,SAAUge,EAAOS,EAAQze,GACnEge,EAAQA,EAAM9C,MAAMuD,EAAQ6B,GAC5BE,EAAM7C,YAAYK,EACtB,IACOwC,CACX,EACAhD,EAAc7c,UAAU+f,OAAS,WAC7B5T,KAAK8S,aAAa9S,KAAK2T,OAAQ3T,KAAKyT,MACpCzT,KAAKqQ,QACT,EACAK,EAAc7c,UAAUggB,OAAS,SAAUC,EAAWZ,GAClD,IAAIhG,EAAQlN,KACR+T,EAAa,GACbC,EAAe,GACnBF,EAAUrE,SAAQ,SAAUwE,GACpBA,EAAShc,SAAWiV,EAAMyD,SAA6B,cAAlBsD,EAASC,OAC9CH,EAAWpX,KAAKvJ,MAAM2gB,EAAYE,EAASF,YAC3CC,EAAarX,KAAKvJ,MAAM4gB,EAAcC,EAASD,cAEvD,IACAA,EAAavE,SAAQ,SAAUf,GAI3B,KAAuB,MAAnBA,EAAKI,YAEY,WAAjBJ,EAAKL,SACL8F,SAASC,KAAKC,wBAAwB3F,GAAQd,KAAK0G,gCAHvD,CAMA,IAAIzF,EAAOc,EAAShB,KAAKD,GACb,MAARG,IAE2B,MAA3BA,EAAK8B,QAAQ7B,YAAsBD,EAAK8B,QAAQ7B,aAAe5B,EAAMyD,SACrE9B,EAAKqD,SALT,CAOJ,IACA6B,EACKQ,QAAO,SAAU7F,GAClB,OAAOA,EAAKI,YAAc5B,EAAMyD,OACpC,IACK1b,MAAK,SAAUb,EAAGC,GACnB,OAAID,IAAMC,EACC,EACPD,EAAEigB,wBAAwBhgB,GAAKuZ,KAAK4G,4BAC7B,GAEH,CACZ,IACK/E,SAAQ,SAAUf,GACnB,IAAI6D,EAAU,KACU,MAApB7D,EAAK+F,cACLlC,EAAU5C,EAAShB,KAAKD,EAAK+F,cAEjC,IAAI5F,EAAOwC,EAAS3C,GAChBG,EAAK4E,MAAQlB,GAAwB,MAAb1D,EAAK4E,OACV,MAAf5E,EAAK8E,QACL9E,EAAK8E,OAAOJ,YAAYrG,GAE5BA,EAAM6D,aAAalC,EAAM0D,QAAWpd,GAE5C,GACJ,EACOub,CACX,CA9NkC,CA8NhCD,EAASF,SACX,SAASc,EAAS3C,GACd,IAAIG,EAAOc,EAAShB,KAAKD,GACzB,GAAY,MAARG,EACA,IACIA,EAAOc,EAAS7C,OAAO4B,EAY3B,CAVA,MAAO9b,GACHic,EAAOc,EAAS7C,OAAO6C,EAASxC,MAAMa,QACtC,GAAG1Y,MAAM/C,KAAKmc,EAAKyC,YAAY1B,SAAQ,SAAUyB,GAE7CrC,EAAK8B,QAAQE,YAAYK,EAC7B,IACIxC,EAAKI,YACLJ,EAAKI,WAAW4F,aAAa7F,EAAK8B,QAASjC,GAE/CG,EAAKmC,QACT,CAEJ,OAAOnC,CACX,CACA9c,EAAQwe,QAAUG,CAGX,EAED,SAAU5e,EAAQC,EAAS,GAEjC,aAEA,IACQ2a,EADJC,EAAa3M,MAAQA,KAAK2M,YACtBD,EAAgBnW,OAAOqW,gBACtB,CAAE/K,UAAW,cAAgBnL,OAAS,SAAUmF,EAAGxH,GAAKwH,EAAEgG,UAAYxN,CAAG,GAC1E,SAAUwH,EAAGxH,GAAK,IAAK,IAAIkY,KAAKlY,EAAOA,EAAEkD,eAAegV,KAAI1Q,EAAE0Q,GAAKlY,EAAEkY,GAAI,EACtE,SAAU1Q,EAAGxH,GAEhB,SAASwY,IAAO7M,KAAKjI,YAAc8D,CAAG,CADtC6Q,EAAc7Q,EAAGxH,GAEjBwH,EAAEhI,UAAkB,OAANQ,EAAakC,OAAOuW,OAAOzY,IAAMwY,EAAGhZ,UAAYQ,EAAER,UAAW,IAAIgZ,EACnF,GAEJtW,OAAOM,eAAe9E,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAIgiB,EAAe,EAAoB,GACnCC,EAAU,EAAoB,GAC9BC,EAAc,EAAoB,GAClClF,EAAW,EAAoB,GAC/BmF,EAA4B,SAAU9H,GAEtC,SAAS8H,EAAWnE,GAChB,IAAIzD,EAAQF,EAAOza,KAAKyN,KAAM2Q,IAAY3Q,KAE1C,OADAkN,EAAME,WAAa,IAAIwH,EAAQrE,QAAQrD,EAAMyD,SACtCzD,CACX,CAkDA,OAvDAP,EAAUmI,EAAY9H,GAMtB8H,EAAWC,QAAU,SAAUpE,GAC3B,MAA4B,kBAAjB3Q,KAAKqO,UAGP3X,MAAMgB,QAAQsI,KAAKqO,SACjBsC,EAAQtC,QAAQ2G,mBADtB,EAIT,EACAF,EAAWjhB,UAAUohB,OAAS,SAAUjjB,EAAMW,GAC1C,IAAIsiB,EAAStF,EAASnC,MAAMxb,GACxBijB,aAAkBN,EAAapE,QAC/BvQ,KAAKoN,WAAW8H,UAAUD,EAAQtiB,GAE7BA,IACS,MAAVsiB,GAAmBjjB,IAASgO,KAAKwS,QAAQrD,UAAYnP,KAAK+U,UAAU/iB,KAAUW,GAC9EqN,KAAKmV,YAAYnjB,EAAMW,GAGnC,EACAmiB,EAAWjhB,UAAUkhB,QAAU,WAC3B,IAAIA,EAAU/U,KAAKoN,WAAWgI,SAC1BH,EAASjV,KAAKwS,QAAQuC,QAAQ/U,KAAK2Q,SAIvC,OAHc,MAAVsE,IACAF,EAAQ/U,KAAKwS,QAAQrD,UAAY8F,GAE9BF,CACX,EACAD,EAAWjhB,UAAUshB,YAAc,SAAUnjB,EAAMW,GAC/C,IAAI0iB,EAAcrI,EAAOnZ,UAAUshB,YAAY5iB,KAAKyN,KAAMhO,EAAMW,GAEhE,OADAqN,KAAKoN,WAAW/X,KAAKggB,GACdA,CACX,EACAP,EAAWjhB,UAAUggB,OAAS,SAAUC,EAAWZ,GAC/C,IAAIhG,EAAQlN,KACZgN,EAAOnZ,UAAUggB,OAAOthB,KAAKyN,KAAM8T,EAAWZ,GAC1CY,EAAUpB,MAAK,SAAUuB,GACzB,OAAOA,EAAShc,SAAWiV,EAAMyD,SAA6B,eAAlBsD,EAASC,IACzD,KACIlU,KAAKoN,WAAWwD,OAExB,EACAkE,EAAWjhB,UAAUyhB,KAAO,SAAUtjB,EAAMW,GACxC,IAAI4iB,EAAUvI,EAAOnZ,UAAUyhB,KAAK/iB,KAAKyN,KAAMhO,EAAMW,GAIrD,OAHI4iB,aAAmBT,GAAcS,EAAQ/C,QAAQ/E,QAAUzN,KAAKwS,QAAQ/E,OACxEzN,KAAKoN,WAAWoI,KAAKD,GAElBA,CACX,EACOT,CACX,CAzD+B,CAyD7BD,EAAYtE,SACdxe,EAAQwe,QAAUuE,CAGX,EAED,SAAUhjB,EAAQC,EAAS,GAEjC,aAEA,IACQ2a,EADJC,EAAa3M,MAAQA,KAAK2M,YACtBD,EAAgBnW,OAAOqW,gBACtB,CAAE/K,UAAW,cAAgBnL,OAAS,SAAUmF,EAAGxH,GAAKwH,EAAEgG,UAAYxN,CAAG,GAC1E,SAAUwH,EAAGxH,GAAK,IAAK,IAAIkY,KAAKlY,EAAOA,EAAEkD,eAAegV,KAAI1Q,EAAE0Q,GAAKlY,EAAEkY,GAAI,EACtE,SAAU1Q,EAAGxH,GAEhB,SAASwY,IAAO7M,KAAKjI,YAAc8D,CAAG,CADtC6Q,EAAc7Q,EAAGxH,GAEjBwH,EAAEhI,UAAkB,OAANQ,EAAakC,OAAOuW,OAAOzY,IAAMwY,EAAGhZ,UAAYQ,EAAER,UAAW,IAAIgZ,EACnF,GAEJtW,OAAOM,eAAe9E,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAI8d,EAAW,EAAoB,GAC/Bd,EAAW,EAAoB,GAC/B8F,EAA0B,SAAUzI,GAEpC,SAASyI,IACL,OAAkB,OAAXzI,GAAmBA,EAAO5Z,MAAM4M,KAAMjN,YAAciN,IAC/D,CAsBA,OAzBA2M,EAAU8I,EAAUzI,GAIpByI,EAAS9iB,MAAQ,SAAUge,GACvB,OAAO,CACX,EACA8E,EAAS5hB,UAAU4d,MAAQ,SAAU/C,EAAMiD,GACvC,OAAI3R,KAAK2Q,UAAYjC,GACjB1O,KAAK2Q,QAAQ0D,wBAAwB3F,GAAQd,KAAK0G,+BAC3Cva,KAAK4E,IAAIgT,EAAQ,IAEpB,CACZ,EACA8D,EAAS5hB,UAAUyf,SAAW,SAAU7B,EAAO4B,GAC3C,IAAI1B,EAAS,GAAGpY,QAAQhH,KAAKyN,KAAK2T,OAAOhD,QAAQQ,WAAYnR,KAAK2Q,SAGlE,OAFIc,EAAQ,IACRE,GAAU,GACP,CAAC3R,KAAK2T,OAAOhD,QAASgB,EACjC,EACA8D,EAAS5hB,UAAUlB,MAAQ,WACvB,OAAOmf,EAAK,CAAC,GAAM9R,KAAKwS,QAAQrD,UAAYnP,KAAKwS,QAAQ7f,MAAMqN,KAAK2Q,WAAY,EAAMmB,EACtF,IAAIA,CACR,EACA2D,EAAShI,MAAQkC,EAASxC,MAAMuI,YACzBD,CACX,CA3B6B,CA2B3BhF,EAASF,SACXxe,EAAQwe,QAAUkF,CAGX,EAED,SAAU3jB,EAAQC,EAAS,GAEjC,aAEAwE,OAAOM,eAAe9E,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAIgd,EAAW,EAAoB,GAC/BgG,EAA4B,WAC5B,SAASA,EAAWhF,GAChB3Q,KAAK2Q,QAAUA,EAEf3Q,KAAK2Q,QAAQhB,EAASpB,UAAY,CAAEM,KAAM7O,KAC9C,CAiJA,OAhJAzJ,OAAOM,eAAe8e,EAAW9hB,UAAW,UAAW,CAEnD2N,IAAK,WACD,OAAOxB,KAAKjI,WAChB,EACA9B,YAAY,EACZhD,cAAc,IAElB0iB,EAAW7I,OAAS,SAAUna,GAC1B,GAAoB,MAAhBqN,KAAKqO,QACL,MAAM,IAAIsB,EAAS5C,eAAe,mCAEtC,IAAI2B,EAwBJ,OAvBIhY,MAAMgB,QAAQsI,KAAKqO,UACE,kBAAV1b,IACPA,EAAQA,EAAM4c,cACV1L,SAASlR,GAAO6D,aAAe7D,IAC/BA,EAAQkR,SAASlR,KAIrB+b,EADiB,kBAAV/b,EACAwhB,SAASyB,cAAc5V,KAAKqO,QAAQ1b,EAAQ,IAE9CqN,KAAKqO,QAAQ9U,QAAQ5G,IAAU,EAC7BwhB,SAASyB,cAAcjjB,GAGvBwhB,SAASyB,cAAc5V,KAAKqO,QAAQ,KAI/CK,EAAOyF,SAASyB,cAAc5V,KAAKqO,SAEnCrO,KAAKsP,WACLZ,EAAKmH,UAAU5F,IAAIjQ,KAAKsP,WAErBZ,CACX,EACAiH,EAAW9hB,UAAUmd,OAAS,WACP,MAAfhR,KAAK2T,SACL3T,KAAK8V,OAAS9V,KAAK2T,OAAOmC,OAElC,EACAH,EAAW9hB,UAAU0E,MAAQ,WACzB,IAAIoY,EAAU3Q,KAAK2Q,QAAQoF,WAAU,GACrC,OAAOpG,EAAS7C,OAAO6D,EAC3B,EACAgF,EAAW9hB,UAAUqe,OAAS,WACP,MAAflS,KAAK2T,QACL3T,KAAK2T,OAAOJ,YAAYvT,aAErBA,KAAK2Q,QAAQhB,EAASpB,SACjC,EACAoH,EAAW9hB,UAAU2d,SAAW,SAAUC,EAAOve,GAClC8M,KAAKgW,QAAQvE,EAAOve,GAC1Bmd,QACT,EACAsF,EAAW9hB,UAAUse,SAAW,SAAUV,EAAOve,EAAQlB,EAAMW,GAC3D,IAAIkc,EAAO7O,KAAKgW,QAAQvE,EAAOve,GAC/B,GAAiD,MAA7Cyc,EAASnC,MAAMxb,EAAM2d,EAASxC,MAAMiD,OAAiBzd,EACrDkc,EAAKyG,KAAKtjB,EAAMW,QAEf,GAAsD,MAAlDgd,EAASnC,MAAMxb,EAAM2d,EAASxC,MAAM2C,WAAoB,CAC7D,IAAImG,EAAWtG,EAAS7C,OAAO9M,KAAKwS,QAAQ/E,OAC5CoB,EAAKyG,KAAKW,GACVA,EAAShB,OAAOjjB,EAAMW,EAC1B,CACJ,EACAgjB,EAAW9hB,UAAUue,SAAW,SAAUX,EAAO9e,EAAO0f,GACpD,IAAIxD,EAAc,MAAPwD,EAAc1C,EAAS7C,OAAO,OAAQna,GAASgd,EAAS7C,OAAOna,EAAO0f,GAC7E6D,EAAMlW,KAAKoO,MAAMqD,GACrBzR,KAAK2T,OAAO5C,aAAalC,EAAMqH,EACnC,EACAP,EAAW9hB,UAAU8e,WAAa,SAAUwD,EAAY5D,QACpC,IAAZA,IAAsBA,EAAU,MACjB,MAAfvS,KAAK2T,QACL3T,KAAK2T,OAAO1C,SAASZ,OAAOrQ,MAEhC,IAAIoW,EAAa,KACjBD,EAAWlF,SAASF,aAAa/Q,KAAMuS,GACxB,MAAXA,IACA6D,EAAa7D,EAAQ5B,SAErB3Q,KAAK2Q,QAAQ7B,YAAcqH,EAAWxF,SACtC3Q,KAAK2Q,QAAQ8D,aAAe2B,GAC5BD,EAAWxF,QAAQI,aAAa/Q,KAAK2Q,QAASyF,GAElDpW,KAAK2T,OAASwC,EACdnW,KAAKgR,QACT,EACA2E,EAAW9hB,UAAUmiB,QAAU,SAAUvE,EAAOve,GAC5C,IAAI+E,EAAS+H,KAAKoO,MAAMqD,GAExB,OADAxZ,EAAOmW,MAAMlb,GACN+E,CACX,EACA0d,EAAW9hB,UAAUX,OAAS,WAC1B,OAAO,CACX,EACAyiB,EAAW9hB,UAAU8d,OAAS,SAAU0E,GAEpC,YADa,IAATA,IAAmBA,EAAOrW,KAAK2T,QAChB,MAAf3T,KAAK2T,QAAkB3T,MAAQqW,EACxB,EACJrW,KAAK2T,OAAO1C,SAASU,OAAO3R,MAAQA,KAAK2T,OAAOhC,OAAO0E,EAClE,EACAV,EAAW9hB,UAAUof,SAAW,SAAUC,GAGC,MAAnClT,KAAK2Q,QAAQhB,EAASpB,kBAEfvO,KAAK2Q,QAAQhB,EAASpB,UAAUuF,SAE/C,EACA6B,EAAW9hB,UAAUwc,OAAS,WACK,MAA3BrQ,KAAK2Q,QAAQ7B,YACb9O,KAAK2Q,QAAQ7B,WAAWyE,YAAYvT,KAAK2Q,SAE7C3Q,KAAKkS,QACT,EACAyD,EAAW9hB,UAAUyR,QAAU,SAAUrN,GAChB,MAAjBA,EAAO0b,SAEX1b,EAAO0b,OAAO5C,aAAa/Q,KAAM/H,EAAOwb,MACxCxb,EAAOoY,SACX,EACAsF,EAAW9hB,UAAUshB,YAAc,SAAUnjB,EAAMW,GAC/C,IAAI0iB,EAA8B,kBAATrjB,EAAoB2d,EAAS7C,OAAO9a,EAAMW,GAASX,EAE5E,OADAqjB,EAAY/P,QAAQtF,MACbqV,CACX,EACAM,EAAW9hB,UAAUua,MAAQ,SAAUqD,EAAO+B,GAC1C,OAAiB,IAAV/B,EAAczR,KAAOA,KAAKyT,IACrC,EACAkC,EAAW9hB,UAAUggB,OAAS,SAAUC,EAAWZ,GAEnD,EACAyC,EAAW9hB,UAAUyhB,KAAO,SAAUtjB,EAAMW,GACxC,IAAI4iB,EAA0B,kBAATvjB,EAAoB2d,EAAS7C,OAAO9a,EAAMW,GAASX,EAKxE,OAJmB,MAAfgO,KAAK2T,QACL3T,KAAK2T,OAAO5C,aAAawE,EAASvV,KAAKyT,MAE3C8B,EAAQ1E,YAAY7Q,MACbuV,CACX,EACAI,EAAWxG,SAAW,WACfwG,CACX,CAvJ+B,GAwJ/B5jB,EAAQwe,QAAUoF,CAGX,EAED,SAAU7jB,EAAQC,EAAS,GAEjC,aAEAwE,OAAOM,eAAe9E,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAIgiB,EAAe,EAAoB,GACnC2B,EAAU,EAAoB,GAC9BC,EAAU,EAAoB,GAC9B5G,EAAW,EAAoB,GAC/B6G,EAAiC,WACjC,SAASA,EAAgB7F,GACrB3Q,KAAKoN,WAAa,CAAC,EACnBpN,KAAK2Q,QAAUA,EACf3Q,KAAK4Q,OACT,CAwDA,OAvDA4F,EAAgB3iB,UAAUqhB,UAAY,SAAUA,EAAWviB,GAEnDA,EACIuiB,EAAUjF,IAAIjQ,KAAK2Q,QAAShe,KACS,MAAjCuiB,EAAUviB,MAAMqN,KAAK2Q,SACrB3Q,KAAKoN,WAAW8H,EAAU9F,UAAY8F,SAG/BlV,KAAKoN,WAAW8H,EAAU9F,YAKzC8F,EAAU7E,OAAOrQ,KAAK2Q,gBACf3Q,KAAKoN,WAAW8H,EAAU9F,UAEzC,EACAoH,EAAgB3iB,UAAU+c,MAAQ,WAC9B,IAAI1D,EAAQlN,KACZA,KAAKoN,WAAa,CAAC,EACnB,IAAIA,EAAauH,EAAapE,QAAQpa,KAAK6J,KAAK2Q,SAC5CtD,EAAUiJ,EAAQ/F,QAAQpa,KAAK6J,KAAK2Q,SACpC8F,EAASF,EAAQhG,QAAQpa,KAAK6J,KAAK2Q,SACvCvD,EACK3W,OAAO4W,GACP5W,OAAOggB,GACPhH,SAAQ,SAAUzd,GACnB,IAAI0kB,EAAO/G,EAASnC,MAAMxb,EAAM2d,EAASxC,MAAM2C,WAC3C4G,aAAgB/B,EAAapE,UAC7BrD,EAAME,WAAWsJ,EAAKtH,UAAYsH,EAE1C,GACJ,EACAF,EAAgB3iB,UAAUwB,KAAO,SAAU4C,GACvC,IAAIiV,EAAQlN,KACZzJ,OAAOJ,KAAK6J,KAAKoN,YAAYqC,SAAQ,SAAUlb,GAC3C,IAAI5B,EAAQua,EAAME,WAAW7Y,GAAK5B,MAAMua,EAAMyD,SAC9C1Y,EAAOgd,OAAO1gB,EAAK5B,EACvB,GACJ,EACA6jB,EAAgB3iB,UAAU2hB,KAAO,SAAUvd,GACvC,IAAIiV,EAAQlN,KACZA,KAAK3K,KAAK4C,GACV1B,OAAOJ,KAAK6J,KAAKoN,YAAYqC,SAAQ,SAAUlb,GAC3C2Y,EAAME,WAAW7Y,GAAK8b,OAAOnD,EAAMyD,QACvC,IACA3Q,KAAKoN,WAAa,CAAC,CACvB,EACAoJ,EAAgB3iB,UAAUuhB,OAAS,WAC/B,IAAIlI,EAAQlN,KACZ,OAAOzJ,OAAOJ,KAAK6J,KAAKoN,YAAYwF,QAAO,SAAUxF,EAAYpb,GAE7D,OADAob,EAAWpb,GAAQkb,EAAME,WAAWpb,GAAMW,MAAMua,EAAMyD,SAC/CvD,CACX,GAAG,CAAC,EACR,EACOoJ,CACX,CA9DoC,GA+DpCzkB,EAAQwe,QAAUiG,CAGX,EAED,SAAU1kB,EAAQC,EAAS,GAEjC,aAEA,IACQ2a,EADJC,EAAa3M,MAAQA,KAAK2M,YACtBD,EAAgBnW,OAAOqW,gBACtB,CAAE/K,UAAW,cAAgBnL,OAAS,SAAUmF,EAAGxH,GAAKwH,EAAEgG,UAAYxN,CAAG,GAC1E,SAAUwH,EAAGxH,GAAK,IAAK,IAAIkY,KAAKlY,EAAOA,EAAEkD,eAAegV,KAAI1Q,EAAE0Q,GAAKlY,EAAEkY,GAAI,EACtE,SAAU1Q,EAAGxH,GAEhB,SAASwY,IAAO7M,KAAKjI,YAAc8D,CAAG,CADtC6Q,EAAc7Q,EAAGxH,GAEjBwH,EAAEhI,UAAkB,OAANQ,EAAakC,OAAOuW,OAAOzY,IAAMwY,EAAGhZ,UAAYQ,EAAER,UAAW,IAAIgZ,EACnF,GAIJ,SAAS7G,EAAM0I,EAAMiI,GAEjB,OADgBjI,EAAKP,aAAa,UAAY,IAC7BC,MAAM,OAAOmG,QAAO,SAAUviB,GAC3C,OAAsC,IAA/BA,EAAKuH,QAAQod,EAAS,IACjC,GACJ,CAPApgB,OAAOM,eAAe9E,EAAS,aAAc,CAAEY,OAAO,IAQtD,IAAIikB,EAAiC,SAAU5J,GAE3C,SAAS4J,IACL,OAAkB,OAAX5J,GAAmBA,EAAO5Z,MAAM4M,KAAMjN,YAAciN,IAC/D,CA8BA,OAjCA2M,EAAUiK,EAAiB5J,GAI3B4J,EAAgBzgB,KAAO,SAAUuY,GAC7B,OAAQA,EAAKP,aAAa,UAAY,IAAIC,MAAM,OAAOlX,KAAI,SAAUlF,GACjE,OAAOA,EACFoc,MAAM,KACN9Y,MAAM,GAAI,GACVoL,KAAK,IACd,GACJ,EACAkW,EAAgB/iB,UAAUoc,IAAM,SAAUvB,EAAM/b,GAC5C,QAAKqN,KAAKkQ,OAAOxB,EAAM/b,KAEvBqN,KAAKqQ,OAAO3B,GACZA,EAAKmH,UAAU5F,IAAIjQ,KAAKqP,QAAU,IAAM1c,IACjC,EACX,EACAikB,EAAgB/iB,UAAUwc,OAAS,SAAU3B,GAC3B1I,EAAM0I,EAAM1O,KAAKqP,SACvBI,SAAQ,SAAUzd,GACtB0c,EAAKmH,UAAUxF,OAAOre,EAC1B,IAC8B,IAA1B0c,EAAKmH,UAAU3iB,QACfwb,EAAK4B,gBAAgB,QAE7B,EACAsG,EAAgB/iB,UAAUlB,MAAQ,SAAU+b,GACxC,IACI/b,GADSqT,EAAM0I,EAAM1O,KAAKqP,SAAS,IAAM,IAC1B/Z,MAAM0K,KAAKqP,QAAQnc,OAAS,GAC/C,OAAO8M,KAAKkQ,OAAOxB,EAAM/b,GAASA,EAAQ,EAC9C,EACOikB,CACX,CAnCoC,CAPjB,EAAoB,GA0CxBrG,SACfxe,EAAQwe,QAAUqG,CAGX,EAED,SAAU9kB,EAAQC,EAAS,GAEjC,aAEA,IACQ2a,EADJC,EAAa3M,MAAQA,KAAK2M,YACtBD,EAAgBnW,OAAOqW,gBACtB,CAAE/K,UAAW,cAAgBnL,OAAS,SAAUmF,EAAGxH,GAAKwH,EAAEgG,UAAYxN,CAAG,GAC1E,SAAUwH,EAAGxH,GAAK,IAAK,IAAIkY,KAAKlY,EAAOA,EAAEkD,eAAegV,KAAI1Q,EAAE0Q,GAAKlY,EAAEkY,GAAI,EACtE,SAAU1Q,EAAGxH,GAEhB,SAASwY,IAAO7M,KAAKjI,YAAc8D,CAAG,CADtC6Q,EAAc7Q,EAAGxH,GAEjBwH,EAAEhI,UAAkB,OAANQ,EAAakC,OAAOuW,OAAOzY,IAAMwY,EAAGhZ,UAAYQ,EAAER,UAAW,IAAIgZ,EACnF,GAIJ,SAASgK,EAAS7kB,GACd,IAAIuU,EAAQvU,EAAKoc,MAAM,KACnB0I,EAAOvQ,EACNjR,MAAM,GACN4B,KAAI,SAAU0P,GACf,OAAOA,EAAK,GAAG2I,cAAgB3I,EAAKtR,MAAM,EAC9C,IACKoL,KAAK,IACV,OAAO6F,EAAM,GAAKuQ,CACtB,CAXAvgB,OAAOM,eAAe9E,EAAS,aAAc,CAAEY,OAAO,IAYtD,IAAIokB,EAAiC,SAAU/J,GAE3C,SAAS+J,IACL,OAAkB,OAAX/J,GAAmBA,EAAO5Z,MAAM4M,KAAMjN,YAAciN,IAC/D,CA0BA,OA7BA2M,EAAUoK,EAAiB/J,GAI3B+J,EAAgB5gB,KAAO,SAAUuY,GAC7B,OAAQA,EAAKP,aAAa,UAAY,IAAIC,MAAM,KAAKlX,KAAI,SAAUvE,GAE/D,OADUA,EAAMyb,MAAM,KACX,GAAG4I,MAClB,GACJ,EACAD,EAAgBljB,UAAUoc,IAAM,SAAUvB,EAAM/b,GAC5C,QAAKqN,KAAKkQ,OAAOxB,EAAM/b,KAGvB+b,EAAKuI,MAAMJ,EAAS7W,KAAKqP,UAAY1c,GAC9B,EACX,EACAokB,EAAgBljB,UAAUwc,OAAS,SAAU3B,GAEzCA,EAAKuI,MAAMJ,EAAS7W,KAAKqP,UAAY,GAChCX,EAAKP,aAAa,UACnBO,EAAK4B,gBAAgB,QAE7B,EACAyG,EAAgBljB,UAAUlB,MAAQ,SAAU+b,GAExC,IAAI/b,EAAQ+b,EAAKuI,MAAMJ,EAAS7W,KAAKqP,UACrC,OAAOrP,KAAKkQ,OAAOxB,EAAM/b,GAASA,EAAQ,EAC9C,EACOokB,CACX,CA/BoC,CAXjB,EAAoB,GA0CxBxG,SACfxe,EAAQwe,QAAUwG,CAGX,EAED,SAAUjlB,EAAQC,EAAS,GAEjCD,EAAOC,QAAU,EAAoB,GAG9B,EAED,SAAUD,EAAQC,EAAS,GAEjC,aAEAwE,OAAOM,eAAe9E,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAIkiB,EAAc,EAAoB,GAClCqC,EAAW,EAAoB,GAC/BC,EAAS,EAAoB,GAC7BC,EAAW,EAAoB,IAC/BC,EAAW,EAAoB,IAC/BC,EAAU,EAAoB,IAC9BC,EAAU,EAAoB,IAC9BC,EAAS,EAAoB,IAC7B7C,EAAe,EAAoB,GACnC2B,EAAU,EAAoB,GAC9BC,EAAU,EAAoB,GAC9B3B,EAAU,EAAoB,GAC9BjF,EAAW,EAAoB,GAC/B8H,EAAY,CACZtK,MAAOwC,EAASxC,MAChBL,OAAQ6C,EAAS7C,OACjB6B,KAAMgB,EAAShB,KACfnB,MAAOmC,EAASnC,MAChBuB,SAAUY,EAASZ,SACnB2I,UAAW7C,EAAYtE,QACvBoH,OAAQT,EAAS3G,QACjBqH,KAAMT,EAAO5G,QACbsH,MAAON,EAAQhH,QACfuH,OAAQV,EAAS7G,QACjBwH,MAAOT,EAAQ/G,QACfyH,OAAQX,EAAS9G,QACjB5C,KAAM6J,EAAOjH,QACbX,WAAY,CACRqI,UAAWtD,EAAapE,QACxB2H,MAAO5B,EAAQ/F,QACf4H,MAAO5B,EAAQhG,QACf6H,MAAOxD,EAAQrE,UAGvBxe,EAAQwe,QAAUkH,CAGX,EAED,SAAU3lB,EAAQC,EAAS0a,GAEjC,aAEAlW,OAAOM,eAAe9E,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAI0lB,EAA4B,WAC5B,SAASA,IACLrY,KAAKsR,KAAOtR,KAAKsY,KAAO,KACxBtY,KAAK9M,OAAS,CAClB,CA6HA,OA5HAmlB,EAAWxkB,UAAU0kB,OAAS,WAE1B,IADA,IAAIC,EAAQ,GACHvJ,EAAK,EAAGA,EAAKlc,UAAUG,OAAQ+b,IACpCuJ,EAAMvJ,GAAMlc,UAAUkc,GAE1BjP,KAAK+Q,aAAayH,EAAM,GAAI,MACxBA,EAAMtlB,OAAS,GACf8M,KAAKuY,OAAOnlB,MAAM4M,KAAMwY,EAAMljB,MAAM,GAE5C,EACA+iB,EAAWxkB,UAAU4kB,SAAW,SAAU/J,GAEtC,IADA,IAAIgK,EAAKjF,EAAOzT,KAAKoC,WACbsW,EAAMjF,KACV,GAAIiF,IAAQhK,EACR,OAAO,EAEf,OAAO,CACX,EACA2J,EAAWxkB,UAAUkd,aAAe,SAAUrC,EAAMsE,GAC3CtE,IAELA,EAAK+E,KAAOT,EACG,MAAXA,GACAtE,EAAKiK,KAAO3F,EAAQ2F,KACA,MAAhB3F,EAAQ2F,OACR3F,EAAQ2F,KAAKlF,KAAO/E,GAExBsE,EAAQ2F,KAAOjK,EACXsE,IAAYhT,KAAKsR,OACjBtR,KAAKsR,KAAO5C,IAGE,MAAb1O,KAAKsY,MACVtY,KAAKsY,KAAK7E,KAAO/E,EACjBA,EAAKiK,KAAO3Y,KAAKsY,KACjBtY,KAAKsY,KAAO5J,IAGZA,EAAKiK,KAAO,KACZ3Y,KAAKsR,KAAOtR,KAAKsY,KAAO5J,GAE5B1O,KAAK9M,QAAU,EACnB,EACAmlB,EAAWxkB,UAAU8d,OAAS,SAAU1Z,GAEpC,IADA,IAAIwZ,EAAQ,EAAGiH,EAAM1Y,KAAKsR,KACZ,MAAPoH,GAAa,CAChB,GAAIA,IAAQzgB,EACR,OAAOwZ,EACXA,GAASiH,EAAIxlB,SACbwlB,EAAMA,EAAIjF,IACd,CACA,OAAQ,CACZ,EACA4E,EAAWxkB,UAAUwc,OAAS,SAAU3B,GAC/B1O,KAAKyY,SAAS/J,KAEF,MAAbA,EAAKiK,OACLjK,EAAKiK,KAAKlF,KAAO/E,EAAK+E,MACT,MAAb/E,EAAK+E,OACL/E,EAAK+E,KAAKkF,KAAOjK,EAAKiK,MACtBjK,IAAS1O,KAAKsR,OACdtR,KAAKsR,KAAO5C,EAAK+E,MACjB/E,IAAS1O,KAAKsY,OACdtY,KAAKsY,KAAO5J,EAAKiK,MACrB3Y,KAAK9M,QAAU,EACnB,EACAmlB,EAAWxkB,UAAUuO,SAAW,SAAUwW,GAGtC,YAFgB,IAAZA,IAAsBA,EAAU5Y,KAAKsR,MAElC,WACH,IAAIuH,EAAMD,EAGV,OAFe,MAAXA,IACAA,EAAUA,EAAQnF,MACfoF,CACX,CACJ,EACAR,EAAWxkB,UAAU8a,KAAO,SAAU8C,EAAO4B,QACvB,IAAdA,IAAwBA,GAAY,GAExC,IADA,IAAIqF,EAAKjF,EAAOzT,KAAKoC,WACbsW,EAAMjF,KAAS,CACnB,IAAIqF,EAAWJ,EAAIxlB,SACnB,GAAIue,EAAQqH,GACPzF,GAAa5B,IAAUqH,IAAyB,MAAZJ,EAAIjF,MAAsC,IAAtBiF,EAAIjF,KAAKvgB,UAClE,MAAO,CAACwlB,EAAKjH,GAEjBA,GAASqH,CACb,CACA,MAAO,CAAC,KAAM,EAClB,EACAT,EAAWxkB,UAAU4b,QAAU,SAAUsJ,GAErC,IADA,IAAIL,EAAKjF,EAAOzT,KAAKoC,WACbsW,EAAMjF,KACVsF,EAASL,EAEjB,EACAL,EAAWxkB,UAAU6d,UAAY,SAAUD,EAAOve,EAAQ6lB,GACtD,KAAI7lB,GAAU,GAId,IAFA,IACIwlB,EADA5G,EAAK9R,KAAK2O,KAAK8C,GAAQuH,EAAYlH,EAAG,GACjCmH,EAAWxH,EADmCK,EAAG,GACtB2B,EAAOzT,KAAKoC,SAAS4W,IACjDN,EAAMjF,MAAWwF,EAAWxH,EAAQve,GAAQ,CAChD,IAAIgmB,EAAYR,EAAIxlB,SAChBue,EAAQwH,EACRF,EAASL,EAAKjH,EAAQwH,EAAUlf,KAAK4E,IAAIzL,EAAQ+lB,EAAWC,EAAYzH,IAGxEsH,EAASL,EAAK,EAAG3e,KAAK4E,IAAIua,EAAWzH,EAAQve,EAAS+lB,IAE1DA,GAAYC,CAChB,CACJ,EACAb,EAAWxkB,UAAUqD,IAAM,SAAU6hB,GACjC,OAAO/Y,KAAK4S,QAAO,SAAUC,EAAM6F,GAE/B,OADA7F,EAAKlW,KAAKoc,EAASL,IACZ7F,CACX,GAAG,GACP,EACAwF,EAAWxkB,UAAU+e,OAAS,SAAUmG,EAAUlG,GAE9C,IADA,IAAI6F,EAAKjF,EAAOzT,KAAKoC,WACbsW,EAAMjF,KACVZ,EAAOkG,EAASlG,EAAM6F,GAE1B,OAAO7F,CACX,EACOwF,CACX,CAlI+B,GAmI/BtmB,EAAQwe,QAAU8H,CAGX,EAED,SAAUvmB,EAAQC,EAAS,GAEjC,aAEA,IACQ2a,EADJC,EAAa3M,MAAQA,KAAK2M,YACtBD,EAAgBnW,OAAOqW,gBACtB,CAAE/K,UAAW,cAAgBnL,OAAS,SAAUmF,EAAGxH,GAAKwH,EAAEgG,UAAYxN,CAAG,GAC1E,SAAUwH,EAAGxH,GAAK,IAAK,IAAIkY,KAAKlY,EAAOA,EAAEkD,eAAegV,KAAI1Q,EAAE0Q,GAAKlY,EAAEkY,GAAI,EACtE,SAAU1Q,EAAGxH,GAEhB,SAASwY,IAAO7M,KAAKjI,YAAc8D,CAAG,CADtC6Q,EAAc7Q,EAAGxH,GAEjBwH,EAAEhI,UAAkB,OAANQ,EAAakC,OAAOuW,OAAOzY,IAAMwY,EAAGhZ,UAAYQ,EAAER,UAAW,IAAIgZ,EACnF,GAEJtW,OAAOM,eAAe9E,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAIkiB,EAAc,EAAoB,GAClClF,EAAW,EAAoB,GAC/BwJ,EAAkB,CAClB/L,YAAY,EACZgM,eAAe,EACfC,uBAAuB,EACvBC,WAAW,EACXC,SAAS,GAGTC,EAA4B,SAAUxM,GAEtC,SAASwM,EAAW9K,GAChB,IAAIxB,EAAQF,EAAOza,KAAKyN,KAAM0O,IAAS1O,KAOvC,OANAkN,EAAM4I,OAAS5I,EACfA,EAAMuM,SAAW,IAAIC,kBAAiB,SAAU5F,GAC5C5G,EAAM2G,OAAOC,EACjB,IACA5G,EAAMuM,SAASE,QAAQzM,EAAMyD,QAASwI,GACtCjM,EAAM8D,SACC9D,CACX,CA6IA,OAvJAP,EAAU6M,EAAYxM,GAWtBwM,EAAW3lB,UAAUqe,OAAS,WAC1BlF,EAAOnZ,UAAUqe,OAAO3f,KAAKyN,MAC7BA,KAAKyZ,SAASG,YAClB,EACAJ,EAAW3lB,UAAU2d,SAAW,SAAUC,EAAOve,GAC7C8M,KAAK6T,SACS,IAAVpC,GAAeve,IAAW8M,KAAK9M,SAC/B8M,KAAKiR,SAASxB,SAAQ,SAAUyB,GAC5BA,EAAMb,QACV,IAGArD,EAAOnZ,UAAU2d,SAASjf,KAAKyN,KAAMyR,EAAOve,EAEpD,EACAsmB,EAAW3lB,UAAUse,SAAW,SAAUV,EAAOve,EAAQlB,EAAMW,GAC3DqN,KAAK6T,SACL7G,EAAOnZ,UAAUse,SAAS5f,KAAKyN,KAAMyR,EAAOve,EAAQlB,EAAMW,EAC9D,EACA6mB,EAAW3lB,UAAUue,SAAW,SAAUX,EAAO9e,EAAO0f,GACpDrS,KAAK6T,SACL7G,EAAOnZ,UAAUue,SAAS7f,KAAKyN,KAAMyR,EAAO9e,EAAO0f,EACvD,EACAmH,EAAW3lB,UAAUof,SAAW,SAAUa,EAAWZ,GACjD,IAAIhG,EAAQlN,UACM,IAAd8T,IAAwBA,EAAY,SACxB,IAAZZ,IAAsBA,EAAU,CAAC,GACrClG,EAAOnZ,UAAUof,SAAS1gB,KAAKyN,KAAMkT,GAKrC,IAHA,IAAI2G,EAAU,GAAGvkB,MAAM/C,KAAKyN,KAAKyZ,SAASK,eAGnCD,EAAQ3mB,OAAS,GACpB4gB,EAAUnX,KAAKkd,EAAQza,OA+B3B,IA7BA,IAAI2a,EAAO,SAAUlL,EAAMmL,QACJ,IAAfA,IAAyBA,GAAa,GAC9B,MAARnL,GAAgBA,IAAS3B,GAEE,MAA3B2B,EAAK8B,QAAQ7B,aAGgC,MAA7CD,EAAK8B,QAAQhB,EAASpB,UAAUuF,YAEhCjF,EAAK8B,QAAQhB,EAASpB,UAAUuF,UAAY,IAE5CkG,GACAD,EAAKlL,EAAK8E,QAClB,EACIV,EAAW,SAAUpE,GAIc,MAAnCA,EAAK8B,QAAQhB,EAASpB,WAE2B,MAA7CM,EAAK8B,QAAQhB,EAASpB,UAAUuF,YAGhCjF,aAAgBgG,EAAYtE,SAC5B1B,EAAKoC,SAASxB,QAAQwD,GAE1BpE,EAAKoE,SAASC,GAClB,EACI+G,EAAYnG,EACPxf,EAAI,EAAG2lB,EAAU/mB,OAAS,EAAGoB,GAAK,EAAG,CAC1C,GAAIA,GA9Ec,IA+Ed,MAAM,IAAI8I,MAAM,mDA4BpB,IA1BA6c,EAAUxK,SAAQ,SAAUwE,GACxB,IAAIpF,EAAOc,EAAShB,KAAKsF,EAAShc,QAAQ,GAC9B,MAAR4W,IAEAA,EAAK8B,UAAYsD,EAAShc,SACJ,cAAlBgc,EAASC,MACT6F,EAAKpK,EAAShB,KAAKsF,EAASiG,iBAAiB,IAC7C,GAAGzK,QAAQld,KAAK0hB,EAASF,YAAY,SAAUrF,GAC3C,IAAIwC,EAAQvB,EAAShB,KAAKD,GAAM,GAChCqL,EAAK7I,GAAO,GACRA,aAAiB2D,EAAYtE,SAC7BW,EAAMD,SAASxB,SAAQ,SAAU0K,GAC7BJ,EAAKI,GAAY,EACrB,GAER,KAEuB,eAAlBlG,EAASC,MACd6F,EAAKlL,EAAK8J,OAGlBoB,EAAKlL,GACT,IACA7O,KAAKiR,SAASxB,QAAQwD,GAEtB4G,GADAI,EAAY,GAAG3kB,MAAM/C,KAAKyN,KAAKyZ,SAASK,gBACpBxkB,QACbukB,EAAQ3mB,OAAS,GACpB4gB,EAAUnX,KAAKkd,EAAQza,MAC/B,CACJ,EACAoa,EAAW3lB,UAAUggB,OAAS,SAAUC,EAAWZ,GAC/C,IAAIhG,EAAQlN,UACI,IAAZkT,IAAsBA,EAAU,CAAC,IACrCY,EAAYA,GAAa9T,KAAKyZ,SAASK,eAGlC5iB,KAAI,SAAU+c,GACf,IAAIpF,EAAOc,EAAShB,KAAKsF,EAAShc,QAAQ,GAC1C,OAAY,MAAR4W,EACO,KAEsC,MAA7CA,EAAK8B,QAAQhB,EAASpB,UAAUuF,WAEhCjF,EAAK8B,QAAQhB,EAASpB,UAAUuF,UAAY,CAACG,GACtCpF,IAIPA,EAAK8B,QAAQhB,EAASpB,UAAUuF,UAAUnX,KAAKsX,GACxC,KAEf,IACKxE,SAAQ,SAAUZ,GACP,MAARA,GACAA,IAAS3B,GAE0B,MAAnC2B,EAAK8B,QAAQhB,EAASpB,WAG1BM,EAAKgF,OAAOhF,EAAK8B,QAAQhB,EAASpB,UAAUuF,WAAa,GAAIZ,EACjE,IAEiD,MAA7ClT,KAAK2Q,QAAQhB,EAASpB,UAAUuF,WAEhC9G,EAAOnZ,UAAUggB,OAAOthB,KAAKyN,KAAMA,KAAK2Q,QAAQhB,EAASpB,UAAUuF,UAAWZ,GAElFlT,KAAKiT,SAASa,EAAWZ,EAC7B,EACAsG,EAAWrK,SAAW,SACtBqK,EAAWrG,aAAe,QAC1BqG,EAAW/L,MAAQkC,EAASxC,MAAMiN,WAClCZ,EAAWnL,QAAU,MACdmL,CACX,CAzJ+B,CAyJ7B3E,EAAYtE,SACdxe,EAAQwe,QAAUiJ,CAGX,EAED,SAAU1nB,EAAQC,EAAS,GAEjC,aAEA,IACQ2a,EADJC,EAAa3M,MAAQA,KAAK2M,YACtBD,EAAgBnW,OAAOqW,gBACtB,CAAE/K,UAAW,cAAgBnL,OAAS,SAAUmF,EAAGxH,GAAKwH,EAAEgG,UAAYxN,CAAG,GAC1E,SAAUwH,EAAGxH,GAAK,IAAK,IAAIkY,KAAKlY,EAAOA,EAAEkD,eAAegV,KAAI1Q,EAAE0Q,GAAKlY,EAAEkY,GAAI,EACtE,SAAU1Q,EAAGxH,GAEhB,SAASwY,IAAO7M,KAAKjI,YAAc8D,CAAG,CADtC6Q,EAAc7Q,EAAGxH,GAEjBwH,EAAEhI,UAAkB,OAANQ,EAAakC,OAAOuW,OAAOzY,IAAMwY,EAAGhZ,UAAYQ,EAAER,UAAW,IAAIgZ,EACnF,GAEJtW,OAAOM,eAAe9E,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAIukB,EAAW,EAAoB,GAC/BvH,EAAW,EAAoB,GAa/B0K,EAA4B,SAAUrN,GAEtC,SAASqN,IACL,OAAkB,OAAXrN,GAAmBA,EAAO5Z,MAAM4M,KAAMjN,YAAciN,IAC/D,CA6CA,OAhDA2M,EAAU0N,EAAYrN,GAItBqN,EAAWtF,QAAU,SAAUpE,GAC3B,GAAIA,EAAQtC,UAAYgM,EAAWhM,QAEnC,OAAOrB,EAAO+H,QAAQxiB,KAAKyN,KAAM2Q,EACrC,EACA0J,EAAWxmB,UAAUohB,OAAS,SAAUjjB,EAAMW,GAC1C,IAAIua,EAAQlN,KACRhO,IAASgO,KAAKwS,QAAQrD,UAAaxc,EAUnCqa,EAAOnZ,UAAUohB,OAAO1iB,KAAKyN,KAAMhO,EAAMW,IATzCqN,KAAKiR,SAASxB,SAAQ,SAAUyB,GACtBA,aAAiBgG,EAAS3G,UAC5BW,EAAQA,EAAMoE,KAAK+E,EAAWlL,UAAU,IAE5CjC,EAAME,WAAW/X,KAAK6b,EAC1B,IACAlR,KAAK4T,SAKb,EACAyG,EAAWxmB,UAAUse,SAAW,SAAUV,EAAOve,EAAQlB,EAAMW,GAC/B,MAAxBqN,KAAK+U,UAAU/iB,IAAiB2d,EAASnC,MAAMxb,EAAM2d,EAASxC,MAAM2C,WACzD9P,KAAKgW,QAAQvE,EAAOve,GAC1B+hB,OAAOjjB,EAAMW,GAGlBqa,EAAOnZ,UAAUse,SAAS5f,KAAKyN,KAAMyR,EAAOve,EAAQlB,EAAMW,EAElE,EACA0nB,EAAWxmB,UAAUof,SAAW,SAAUC,GACtClG,EAAOnZ,UAAUof,SAAS1gB,KAAKyN,KAAMkT,GACrC,IAAI6B,EAAU/U,KAAK+U,UACnB,GAAoC,IAAhCxe,OAAOJ,KAAK4e,GAAS7hB,OACrB,OAAO8M,KAAK4T,SAEhB,IAAIH,EAAOzT,KAAKyT,KACZA,aAAgB4G,GAAc5G,EAAKkF,OAAS3Y,MApDxD,SAAiBsa,EAAMC,GACnB,GAAIhkB,OAAOJ,KAAKmkB,GAAMpnB,SAAWqD,OAAOJ,KAAKokB,GAAMrnB,OAC/C,OAAO,EAEX,IAAK,IAAIsnB,KAAQF,EAEb,GAAIA,EAAKE,KAAUD,EAAKC,GACpB,OAAO,EAEf,OAAO,CACX,CA0CgEC,CAAQ1F,EAAStB,EAAKsB,aAC1EtB,EAAKX,aAAa9S,MAClByT,EAAKpD,SAEb,EACAgK,EAAWlL,SAAW,SACtBkL,EAAW5M,MAAQkC,EAASxC,MAAMuI,YAClC2E,EAAWhM,QAAU,OACdgM,CACX,CAlD+B,CAkD7BnD,EAAS3G,SACXxe,EAAQwe,QAAU8J,CAGX,EAED,SAAUvoB,EAAQC,EAAS,GAEjC,aAEA,IACQ2a,EADJC,EAAa3M,MAAQA,KAAK2M,YACtBD,EAAgBnW,OAAOqW,gBACtB,CAAE/K,UAAW,cAAgBnL,OAAS,SAAUmF,EAAGxH,GAAKwH,EAAEgG,UAAYxN,CAAG,GAC1E,SAAUwH,EAAGxH,GAAK,IAAK,IAAIkY,KAAKlY,EAAOA,EAAEkD,eAAegV,KAAI1Q,EAAE0Q,GAAKlY,EAAEkY,GAAI,EACtE,SAAU1Q,EAAGxH,GAEhB,SAASwY,IAAO7M,KAAKjI,YAAc8D,CAAG,CADtC6Q,EAAc7Q,EAAGxH,GAEjBwH,EAAEhI,UAAkB,OAANQ,EAAakC,OAAOuW,OAAOzY,IAAMwY,EAAGhZ,UAAYQ,EAAER,UAAW,IAAIgZ,EACnF,GAEJtW,OAAOM,eAAe9E,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAIukB,EAAW,EAAoB,GAC/BvH,EAAW,EAAoB,GAC/B+K,EAA2B,SAAU1N,GAErC,SAAS0N,IACL,OAAkB,OAAX1N,GAAmBA,EAAO5Z,MAAM4M,KAAMjN,YAAciN,IAC/D,CAgDA,OAnDA2M,EAAU+N,EAAW1N,GAIrB0N,EAAU3F,QAAU,SAAUpE,GAC1B,IAAItC,EAAUsB,EAASnC,MAAMkN,EAAUvL,UAAUd,QACjD,GAAIsC,EAAQtC,UAAYA,EAExB,OAAOrB,EAAO+H,QAAQxiB,KAAKyN,KAAM2Q,EACrC,EACA+J,EAAU7mB,UAAUohB,OAAS,SAAUjjB,EAAMW,GACS,MAA9Cgd,EAASnC,MAAMxb,EAAM2d,EAASxC,MAAMY,SAG/B/b,IAASgO,KAAKwS,QAAQrD,UAAaxc,EAIxCqa,EAAOnZ,UAAUohB,OAAO1iB,KAAKyN,KAAMhO,EAAMW,GAHzCqN,KAAKmV,YAAYuF,EAAUvL,UAKnC,EACAuL,EAAU7mB,UAAUse,SAAW,SAAUV,EAAOve,EAAQlB,EAAMW,GACR,MAA9Cgd,EAASnC,MAAMxb,EAAM2d,EAASxC,MAAMY,OACpC/N,KAAKiV,OAAOjjB,EAAMW,GAGlBqa,EAAOnZ,UAAUse,SAAS5f,KAAKyN,KAAMyR,EAAOve,EAAQlB,EAAMW,EAElE,EACA+nB,EAAU7mB,UAAUue,SAAW,SAAUX,EAAO9e,EAAO0f,GACnD,GAAW,MAAPA,GAA+D,MAAhD1C,EAASnC,MAAM7a,EAAOgd,EAASxC,MAAMa,QAEpDhB,EAAOnZ,UAAUue,SAAS7f,KAAKyN,KAAMyR,EAAO9e,EAAO0f,OAElD,CACD,IAAIqB,EAAQ1T,KAAKoO,MAAMqD,GACnB5C,EAAOc,EAAS7C,OAAOna,EAAO0f,GAClCqB,EAAMC,OAAO5C,aAAalC,EAAM6E,EACpC,CACJ,EACAgH,EAAU7mB,UAAUggB,OAAS,SAAUC,EAAWZ,GAC1CyH,UAAUC,UAAU5U,MAAM,WAC1BhG,KAAK4Q,QAGL5D,EAAOnZ,UAAUggB,OAAOthB,KAAKyN,KAAM8T,EAAWZ,EAEtD,EACAwH,EAAUvL,SAAW,QACrBuL,EAAUjN,MAAQkC,EAASxC,MAAMiN,WACjCM,EAAUrM,QAAU,IACbqM,CACX,CArD8B,CAqD5BxD,EAAS3G,SACXxe,EAAQwe,QAAUmK,CAGX,EAED,SAAU5oB,EAAQC,EAAS,GAEjC,aAEA,IACQ2a,EADJC,EAAa3M,MAAQA,KAAK2M,YACtBD,EAAgBnW,OAAOqW,gBACtB,CAAE/K,UAAW,cAAgBnL,OAAS,SAAUmF,EAAGxH,GAAKwH,EAAEgG,UAAYxN,CAAG,GAC1E,SAAUwH,EAAGxH,GAAK,IAAK,IAAIkY,KAAKlY,EAAOA,EAAEkD,eAAegV,KAAI1Q,EAAE0Q,GAAKlY,EAAEkY,GAAI,EACtE,SAAU1Q,EAAGxH,GAEhB,SAASwY,IAAO7M,KAAKjI,YAAc8D,CAAG,CADtC6Q,EAAc7Q,EAAGxH,GAEjBwH,EAAEhI,UAAkB,OAANQ,EAAakC,OAAOuW,OAAOzY,IAAMwY,EAAGhZ,UAAYQ,EAAER,UAAW,IAAIgZ,EACnF,GAEJtW,OAAOM,eAAe9E,EAAS,aAAc,CAAEY,OAAO,IACtD,IACIkoB,EAA2B,SAAU7N,GAErC,SAAS6N,IACL,OAAkB,OAAX7N,GAAmBA,EAAO5Z,MAAM4M,KAAMjN,YAAciN,IAC/D,CAqBA,OAxBA2M,EAAUkO,EAAW7N,GAIrB6N,EAAU9F,QAAU,SAAUpE,GAE9B,EACAkK,EAAUhnB,UAAUohB,OAAS,SAAUjjB,EAAMW,GAIzCqa,EAAOnZ,UAAUse,SAAS5f,KAAKyN,KAAM,EAAGA,KAAK9M,SAAUlB,EAAMW,EACjE,EACAkoB,EAAUhnB,UAAUse,SAAW,SAAUV,EAAOve,EAAQlB,EAAMW,GAC5C,IAAV8e,GAAeve,IAAW8M,KAAK9M,SAC/B8M,KAAKiV,OAAOjjB,EAAMW,GAGlBqa,EAAOnZ,UAAUse,SAAS5f,KAAKyN,KAAMyR,EAAOve,EAAQlB,EAAMW,EAElE,EACAkoB,EAAUhnB,UAAUkhB,QAAU,WAC1B,OAAO/U,KAAKwS,QAAQuC,QAAQ/U,KAAK2Q,QACrC,EACOkK,CACX,CA1B8B,CADjB,EAAoB,GA2BxBtK,SACTxe,EAAQwe,QAAUsK,CAGX,EAED,SAAU/oB,EAAQC,EAAS,GAEjC,aAEA,IACQ2a,EADJC,EAAa3M,MAAQA,KAAK2M,YACtBD,EAAgBnW,OAAOqW,gBACtB,CAAE/K,UAAW,cAAgBnL,OAAS,SAAUmF,EAAGxH,GAAKwH,EAAEgG,UAAYxN,CAAG,GAC1E,SAAUwH,EAAGxH,GAAK,IAAK,IAAIkY,KAAKlY,EAAOA,EAAEkD,eAAegV,KAAI1Q,EAAE0Q,GAAKlY,EAAEkY,GAAI,EACtE,SAAU1Q,EAAGxH,GAEhB,SAASwY,IAAO7M,KAAKjI,YAAc8D,CAAG,CADtC6Q,EAAc7Q,EAAGxH,GAEjBwH,EAAEhI,UAAkB,OAANQ,EAAakC,OAAOuW,OAAOzY,IAAMwY,EAAGhZ,UAAYQ,EAAER,UAAW,IAAIgZ,EACnF,GAEJtW,OAAOM,eAAe9E,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAIwkB,EAAS,EAAoB,GAC7BxH,EAAW,EAAoB,GAC/BmL,EAA0B,SAAU9N,GAEpC,SAAS8N,EAASpM,GACd,IAAIxB,EAAQF,EAAOza,KAAKyN,KAAM0O,IAAS1O,KAEvC,OADAkN,EAAM6N,KAAO7N,EAAMsF,QAAQ7f,MAAMua,EAAMyD,SAChCzD,CACX,CAyEA,OA9EAP,EAAUmO,EAAU9N,GAMpB8N,EAAShO,OAAS,SAAUna,GACxB,OAAOwhB,SAAS6G,eAAeroB,EACnC,EACAmoB,EAASnoB,MAAQ,SAAUge,GACvB,IAAIoK,EAAOpK,EAAQsK,KAInB,OAFIF,EAAgB,YAChBA,EAAOA,EAAgB,aACpBA,CACX,EACAD,EAASjnB,UAAU2d,SAAW,SAAUC,EAAOve,GAC3C8M,KAAK2Q,QAAQsK,KAAOjb,KAAK+a,KAAO/a,KAAK+a,KAAKzlB,MAAM,EAAGmc,GAASzR,KAAK+a,KAAKzlB,MAAMmc,EAAQve,EACxF,EACA4nB,EAASjnB,UAAU4d,MAAQ,SAAU/C,EAAMiD,GACvC,OAAI3R,KAAK2Q,UAAYjC,EACViD,GAEH,CACZ,EACAmJ,EAASjnB,UAAUue,SAAW,SAAUX,EAAO9e,EAAO0f,GACvC,MAAPA,GACArS,KAAK+a,KAAO/a,KAAK+a,KAAKzlB,MAAM,EAAGmc,GAAS9e,EAAQqN,KAAK+a,KAAKzlB,MAAMmc,GAChEzR,KAAK2Q,QAAQsK,KAAOjb,KAAK+a,MAGzB/N,EAAOnZ,UAAUue,SAAS7f,KAAKyN,KAAMyR,EAAO9e,EAAO0f,EAE3D,EACAyI,EAASjnB,UAAUX,OAAS,WACxB,OAAO8M,KAAK+a,KAAK7nB,MACrB,EACA4nB,EAASjnB,UAAUof,SAAW,SAAUC,GACpClG,EAAOnZ,UAAUof,SAAS1gB,KAAKyN,KAAMkT,GACrClT,KAAK+a,KAAO/a,KAAKwS,QAAQ7f,MAAMqN,KAAK2Q,SACX,IAArB3Q,KAAK+a,KAAK7nB,OACV8M,KAAKqQ,SAEArQ,KAAKyT,gBAAgBqH,GAAY9a,KAAKyT,KAAKkF,OAAS3Y,OACzDA,KAAKoS,SAASpS,KAAK9M,SAAU8M,KAAKyT,KAAK9gB,SACvCqN,KAAKyT,KAAKpD,SAElB,EACAyK,EAASjnB,UAAUyf,SAAW,SAAU7B,EAAO4B,GAE3C,YADkB,IAAdA,IAAwBA,GAAY,GACjC,CAACrT,KAAK2Q,QAASc,EAC1B,EACAqJ,EAASjnB,UAAUua,MAAQ,SAAUqD,EAAO+B,GAExC,QADc,IAAVA,IAAoBA,GAAQ,IAC3BA,EAAO,CACR,GAAc,IAAV/B,EACA,OAAOzR,KACX,GAAIyR,IAAUzR,KAAK9M,SACf,OAAO8M,KAAKyT,IACpB,CACA,IAAIC,EAAQ/D,EAAS7C,OAAO9M,KAAK2Q,QAAQuK,UAAUzJ,IAGnD,OAFAzR,KAAK2T,OAAO5C,aAAa2C,EAAO1T,KAAKyT,MACrCzT,KAAK+a,KAAO/a,KAAKwS,QAAQ7f,MAAMqN,KAAK2Q,SAC7B+C,CACX,EACAoH,EAASjnB,UAAUggB,OAAS,SAAUC,EAAWZ,GAC7C,IAAIhG,EAAQlN,KACR8T,EAAUpB,MAAK,SAAUuB,GACzB,MAAyB,kBAAlBA,EAASC,MAA4BD,EAAShc,SAAWiV,EAAMyD,OAC1E,MACI3Q,KAAK+a,KAAO/a,KAAKwS,QAAQ7f,MAAMqN,KAAK2Q,SAE5C,EACAmK,EAASjnB,UAAUlB,MAAQ,WACvB,OAAOqN,KAAK+a,IAChB,EACAD,EAAS3L,SAAW,OACpB2L,EAASrN,MAAQkC,EAASxC,MAAMuI,YACzBoF,CACX,CAhF6B,CAgF3B3D,EAAO5G,SACTxe,EAAQwe,QAAUuK,CAGX,GAEP,EAjtDEhpB,EAAOC,QAAU6Z,G,wBCFnB,IAAItM,EAAO,EAAQ,OACf6b,EAAQ,EAAQ,OAChB/iB,EAAS,EAAQ,OACjBgjB,EAAK,EAAQ,OAGbC,EAAiB/W,OAAOgX,aAAa,GAGrCC,EAAQ,SAAUC,GAEhB9kB,MAAMgB,QAAQ8jB,GAChBxb,KAAKwb,IAAMA,EACK,MAAPA,GAAe9kB,MAAMgB,QAAQ8jB,EAAIA,KAC1Cxb,KAAKwb,IAAMA,EAAIA,IAEfxb,KAAKwb,IAAM,EAEf,EAGAD,EAAM1nB,UAAU4nB,OAAS,SAAUV,EAAM3N,GACvC,IAAIsO,EAAQ,CAAC,EACb,OAAoB,IAAhBX,EAAK7nB,OAAqB8M,MAC9B0b,EAAMD,OAASV,EACG,MAAd3N,GAA4C,kBAAfA,GAA2B7W,OAAOJ,KAAKiX,GAAYla,OAAS,IAC3FwoB,EAAMtO,WAAaA,GAEdpN,KAAKrD,KAAK+e,GACnB,EAEAH,EAAM1nB,UAAkB,OAAI,SAAUX,GACpC,OAAIA,GAAU,EAAU8M,KACjBA,KAAKrD,KAAK,CAAE,OAAUzJ,GAC/B,EAEAqoB,EAAM1nB,UAAU8nB,OAAS,SAAUzoB,EAAQka,GACzC,GAAIla,GAAU,EAAG,OAAO8M,KACxB,IAAI0b,EAAQ,CAAEC,OAAQzoB,GAItB,OAHkB,MAAdka,GAA4C,kBAAfA,GAA2B7W,OAAOJ,KAAKiX,GAAYla,OAAS,IAC3FwoB,EAAMtO,WAAaA,GAEdpN,KAAKrD,KAAK+e,EACnB,EAEAH,EAAM1nB,UAAU8I,KAAO,SAAU+e,GAC/B,IAAIjK,EAAQzR,KAAKwb,IAAItoB,OACjB0oB,EAAS5b,KAAKwb,IAAI/J,EAAQ,GAE9B,GADAiK,EAAQtjB,GAAO,EAAM,CAAC,EAAGsjB,GACH,kBAAXE,EAAqB,CAC9B,GAA+B,kBAApBF,EAAc,QAA8C,kBAArBE,EAAe,OAE/D,OADA5b,KAAKwb,IAAI/J,EAAQ,GAAK,CAAE,OAAUmK,EAAe,OAAIF,EAAc,QAC5D1b,KAIT,GAAgC,kBAArB4b,EAAe,QAAkC,MAAhBF,EAAMD,SAChDhK,GAAS,EAEa,kBADtBmK,EAAS5b,KAAKwb,IAAI/J,EAAQ,KAGxB,OADAzR,KAAKwb,IAAI9e,QAAQgf,GACV1b,KAGX,GAAImb,EAAMO,EAAMtO,WAAYwO,EAAOxO,YAAa,CAC9C,GAA4B,kBAAjBsO,EAAMD,QAAgD,kBAAlBG,EAAOH,OAGpD,OAFAzb,KAAKwb,IAAI/J,EAAQ,GAAK,CAAEgK,OAAQG,EAAOH,OAASC,EAAMD,QACtB,kBAArBC,EAAMtO,aAAyBpN,KAAKwb,IAAI/J,EAAQ,GAAGrE,WAAasO,EAAMtO,YAC1EpN,KACF,GAA4B,kBAAjB0b,EAAMC,QAAgD,kBAAlBC,EAAOD,OAG3D,OAFA3b,KAAKwb,IAAI/J,EAAQ,GAAK,CAAEkK,OAAQC,EAAOD,OAASD,EAAMC,QACtB,kBAArBD,EAAMtO,aAAyBpN,KAAKwb,IAAI/J,EAAQ,GAAGrE,WAAasO,EAAMtO,YAC1EpN,IAEX,CACF,CAMA,OALIyR,IAAUzR,KAAKwb,IAAItoB,OACrB8M,KAAKwb,IAAI7e,KAAK+e,GAEd1b,KAAKwb,IAAIre,OAAOsU,EAAO,EAAGiK,GAErB1b,IACT,EAEAub,EAAM1nB,UAAUgoB,KAAO,WACrB,IAAID,EAAS5b,KAAKwb,IAAIxb,KAAKwb,IAAItoB,OAAS,GAIxC,OAHI0oB,GAAUA,EAAOD,SAAWC,EAAOxO,YACrCpN,KAAKwb,IAAIpc,MAEJY,IACT,EAEAub,EAAM1nB,UAAU0gB,OAAS,SAAUxd,GACjC,OAAOiJ,KAAKwb,IAAIjH,OAAOxd,EACzB,EAEAwkB,EAAM1nB,UAAU4b,QAAU,SAAU1Y,GAClCiJ,KAAKwb,IAAI/L,QAAQ1Y,EACnB,EAEAwkB,EAAM1nB,UAAUqD,IAAM,SAAUH,GAC9B,OAAOiJ,KAAKwb,IAAItkB,IAAIH,EACtB,EAEAwkB,EAAM1nB,UAAUioB,UAAY,SAAU/kB,GACpC,IAAIglB,EAAS,GAAIC,EAAS,GAK1B,OAJAhc,KAAKyP,SAAQ,SAAS2L,IACPrkB,EAAUqkB,GAAMW,EAASC,GAC/Brf,KAAKye,EACd,IACO,CAACW,EAAQC,EAClB,EAEAT,EAAM1nB,UAAU+e,OAAS,SAAU7b,EAAWklB,GAC5C,OAAOjc,KAAKwb,IAAI5I,OAAO7b,EAAWklB,EACpC,EAEAV,EAAM1nB,UAAUqoB,aAAe,WAC7B,OAAOlc,KAAK4S,QAAO,SAAU1f,EAAQipB,GACnC,OAAIA,EAAKV,OACAvoB,EAASkoB,EAAGloB,OAAOipB,GACjBA,EAAKC,OACPlpB,EAASipB,EAAKC,OAEhBlpB,CACT,GAAG,EACL,EAEAqoB,EAAM1nB,UAAUX,OAAS,WACvB,OAAO8M,KAAK4S,QAAO,SAAU1f,EAAQipB,GACnC,OAAOjpB,EAASkoB,EAAGloB,OAAOipB,EAC5B,GAAG,EACL,EAEAZ,EAAM1nB,UAAUyB,MAAQ,SAAUiK,EAAO8c,GACvC9c,EAAQA,GAAS,EACE,kBAAR8c,IAAkBA,EAAMC,KAInC,IAHA,IAAId,EAAM,GACNe,EAAOnB,EAAGhZ,SAASpC,KAAKwb,KACxB/J,EAAQ,EACLA,EAAQ4K,GAAOE,EAAKC,WAAW,CACpC,IAAIC,EACAhL,EAAQlS,EACVkd,EAASF,EAAK9I,KAAKlU,EAAQkS,IAE3BgL,EAASF,EAAK9I,KAAK4I,EAAM5K,GACzB+J,EAAI7e,KAAK8f,IAEXhL,GAAS2J,EAAGloB,OAAOupB,EACrB,CACA,OAAO,IAAIlB,EAAMC,EACnB,EAGAD,EAAM1nB,UAAU6oB,QAAU,SAAU5L,GAClC,IAAI6L,EAAWvB,EAAGhZ,SAASpC,KAAKwb,KAC5BoB,EAAYxB,EAAGhZ,SAAS0O,EAAM0K,KAC9BA,EAAM,GACNqB,EAAaD,EAAUE,OAC3B,GAAkB,MAAdD,GAAmD,kBAAtBA,EAAWlB,QAAgD,MAAzBkB,EAAWzP,WAAoB,CAEhG,IADA,IAAI2P,EAAYF,EAAWlB,OACI,WAAxBgB,EAASK,YAA2BL,EAASM,cAAgBF,GAClEA,GAAaJ,EAASM,aACtBzB,EAAI7e,KAAKggB,EAASlJ,QAEhBoJ,EAAWlB,OAASoB,EAAY,GAClCH,EAAUnJ,KAAKoJ,EAAWlB,OAASoB,EAEvC,CAEA,IADA,IAAIxhB,EAAQ,IAAIggB,EAAMC,GACfmB,EAASH,WAAaI,EAAUJ,WACrC,GAA6B,WAAzBI,EAAUI,WACZzhB,EAAMoB,KAAKigB,EAAUnJ,aAChB,GAA4B,WAAxBkJ,EAASK,WAClBzhB,EAAMoB,KAAKggB,EAASlJ,YACf,CACL,IAAIvgB,EAAS6G,KAAK4E,IAAIge,EAASM,aAAcL,EAAUK,cACnDC,EAASP,EAASlJ,KAAKvgB,GACvBiqB,EAAUP,EAAUnJ,KAAKvgB,GAC7B,GAA8B,kBAAnBiqB,EAAQxB,OAAqB,CACtC,IAAID,EAAQ,CAAC,EACgB,kBAAlBwB,EAAOvB,OAChBD,EAAMC,OAASzoB,EAEfwoB,EAAMD,OAASyB,EAAOzB,OAGxB,IAAIrO,EAAagO,EAAGhO,WAAWsP,QAAQQ,EAAO9P,WAAY+P,EAAQ/P,WAAqC,kBAAlB8P,EAAOvB,QAK5F,GAJIvO,IAAYsO,EAAMtO,WAAaA,GACnC7R,EAAMoB,KAAK+e,IAGNkB,EAAUJ,WAAarB,EAAM5f,EAAMigB,IAAIjgB,EAAMigB,IAAItoB,OAAS,GAAIwoB,GAAQ,CACzE,IAAI5E,EAAO,IAAIyE,EAAMoB,EAAS7F,QAC9B,OAAOvb,EAAM9E,OAAOqgB,GAAM+E,MAC5B,CAIF,KAAwC,kBAAtBsB,EAAgB,QAA2C,kBAAlBD,EAAOvB,QAChEpgB,EAAMoB,KAAKwgB,EAEf,CAEF,OAAO5hB,EAAMsgB,MACf,EAEAN,EAAM1nB,UAAU4C,OAAS,SAAUqa,GACjC,IAAIvV,EAAQ,IAAIggB,EAAMvb,KAAKwb,IAAIlmB,SAK/B,OAJIwb,EAAM0K,IAAItoB,OAAS,IACrBqI,EAAMoB,KAAKmU,EAAM0K,IAAI,IACrBjgB,EAAMigB,IAAMjgB,EAAMigB,IAAI/kB,OAAOqa,EAAM0K,IAAIlmB,MAAM,KAExCiG,CACT,EAEAggB,EAAM1nB,UAAUyL,KAAO,SAAUwR,EAAOW,GACtC,GAAIzR,KAAKwb,MAAQ1K,EAAM0K,IACrB,OAAO,IAAID,EAEb,IAAI6B,EAAU,CAACpd,KAAM8Q,GAAO5Z,KAAI,SAAUqE,GACxC,OAAOA,EAAMrE,KAAI,SAAUkkB,GACzB,GAAiB,MAAbA,EAAGK,OACL,MAA4B,kBAAdL,EAAGK,OAAsBL,EAAGK,OAASJ,EAGrD,MAAM,IAAIje,MAAM,kBADJ7B,IAAUuV,EAAS,KAAO,QACI,gBAC5C,IAAGpQ,KAAK,GACV,IACInF,EAAQ,IAAIggB,EACZ8B,EAAa/d,EAAK8d,EAAQ,GAAIA,EAAQ,GAAI3L,GAC1CkL,EAAWvB,EAAGhZ,SAASpC,KAAKwb,KAC5BoB,EAAYxB,EAAGhZ,SAAS0O,EAAM0K,KA6BlC,OA5BA6B,EAAW5N,SAAQ,SAAU6N,GAE3B,IADA,IAAIpqB,EAASoqB,EAAU,GAAGpqB,OACnBA,EAAS,GAAG,CACjB,IAAIqqB,EAAW,EACf,OAAQD,EAAU,IAChB,KAAKhe,EAAKI,OACR6d,EAAWxjB,KAAK4E,IAAIie,EAAUK,aAAc/pB,GAC5CqI,EAAMoB,KAAKigB,EAAUnJ,KAAK8J,IAC1B,MACF,KAAKje,EAAKK,OACR4d,EAAWxjB,KAAK4E,IAAIzL,EAAQypB,EAASM,cACrCN,EAASlJ,KAAK8J,GACdhiB,EAAc,OAAEgiB,GAChB,MACF,KAAKje,EAAKM,MACR2d,EAAWxjB,KAAK4E,IAAIge,EAASM,aAAcL,EAAUK,aAAc/pB,GACnE,IAAIgqB,EAASP,EAASlJ,KAAK8J,GACvBJ,EAAUP,EAAUnJ,KAAK8J,GACzBpC,EAAM+B,EAAOzB,OAAQ0B,EAAQ1B,QAC/BlgB,EAAMogB,OAAO4B,EAAUnC,EAAGhO,WAAW9N,KAAK4d,EAAO9P,WAAY+P,EAAQ/P,aAErE7R,EAAMoB,KAAKwgB,GAAiB,OAAEI,GAIpCrqB,GAAUqqB,CACZ,CACF,IACOhiB,EAAMsgB,MACf,EAEAN,EAAM1nB,UAAU2pB,SAAW,SAAUzmB,EAAW0mB,GAC9CA,EAAUA,GAAW,KAIrB,IAHA,IAAIlB,EAAOnB,EAAGhZ,SAASpC,KAAKwb,KACxBkC,EAAO,IAAInC,EACXjnB,EAAI,EACDioB,EAAKC,WAAW,CACrB,GAAwB,WAApBD,EAAKS,WAAyB,OAClC,IAAIE,EAASX,EAAKO,OACdvd,EAAQ6b,EAAGloB,OAAOgqB,GAAUX,EAAKU,aACjCxL,EAAiC,kBAAlByL,EAAOzB,OACxByB,EAAOzB,OAAOliB,QAAQkkB,EAASle,GAASA,GAAS,EACnD,GAAIkS,EAAQ,EACViM,EAAK/gB,KAAK4f,EAAK9I,aACV,GAAIhC,EAAQ,EACjBiM,EAAK/gB,KAAK4f,EAAK9I,KAAKhC,QACf,CACL,IAA0D,IAAtD1a,EAAU2mB,EAAMnB,EAAK9I,KAAK,GAAGrG,YAAc,CAAC,EAAG9Y,GACjD,OAEFA,GAAK,EACLopB,EAAO,IAAInC,CACb,CACF,CACImC,EAAKxqB,SAAW,GAClB6D,EAAU2mB,EAAM,CAAC,EAAGppB,EAExB,EAEAinB,EAAM1nB,UAAU8pB,UAAY,SAAU7M,EAAO8M,GAE3C,GADAA,IAAaA,EACQ,kBAAV9M,EACT,OAAO9Q,KAAK6d,kBAAkB/M,EAAO8M,GAKvC,IAHA,IAAIjB,EAAWvB,EAAGhZ,SAASpC,KAAKwb,KAC5BoB,EAAYxB,EAAGhZ,SAAS0O,EAAM0K,KAC9BjgB,EAAQ,IAAIggB,EACToB,EAASH,WAAaI,EAAUJ,WACrC,GAA4B,WAAxBG,EAASK,aAA4BY,GAAqC,WAAzBhB,EAAUI,WAExD,GAA6B,WAAzBJ,EAAUI,WACnBzhB,EAAMoB,KAAKigB,EAAUnJ,YAChB,CACL,IAAIvgB,EAAS6G,KAAK4E,IAAIge,EAASM,aAAcL,EAAUK,cACnDC,EAASP,EAASlJ,KAAKvgB,GACvBiqB,EAAUP,EAAUnJ,KAAKvgB,GAC7B,GAAIgqB,EAAe,OAEjB,SACSC,EAAgB,OACzB5hB,EAAMoB,KAAKwgB,GAGX5hB,EAAMogB,OAAOzoB,EAAQkoB,EAAGhO,WAAWuQ,UAAUT,EAAO9P,WAAY+P,EAAQ/P,WAAYwQ,GAExF,MAhBEriB,EAAMogB,OAAOP,EAAGloB,OAAOypB,EAASlJ,SAkBpC,OAAOlY,EAAMsgB,MACf,EAEAN,EAAM1nB,UAAUgqB,kBAAoB,SAAUpM,EAAOmM,GACnDA,IAAaA,EAGb,IAFA,IAAIjB,EAAWvB,EAAGhZ,SAASpC,KAAKwb,KAC5B7J,EAAS,EACNgL,EAASH,WAAa7K,GAAUF,GAAO,CAC5C,IAAIve,EAASypB,EAASM,aAClBa,EAAWnB,EAASK,WACxBL,EAASlJ,OACQ,WAAbqK,GAGoB,WAAbA,IAA0BnM,EAASF,IAAUmM,KACtDnM,GAASve,GAEXye,GAAUze,GALRue,GAAS1X,KAAK4E,IAAIzL,EAAQue,EAAQE,EAMtC,CACA,OAAOF,CACT,EAGA3f,EAAOC,QAAUwpB,C,wBCvVjB,IAAIJ,EAAQ,EAAQ,OAChB/iB,EAAS,EAAQ,OAGjB2lB,EAAM,CACR3Q,WAAY,CACVsP,QAAS,SAAUtoB,EAAGC,EAAG2pB,GACN,kBAAN5pB,IAAgBA,EAAI,CAAC,GACf,kBAANC,IAAgBA,EAAI,CAAC,GAChC,IAAI+Y,EAAahV,GAAO,EAAM,CAAC,EAAG/D,GASlC,IAAK,IAAIE,KARJypB,IACH5Q,EAAa7W,OAAOJ,KAAKiX,GAAYwF,QAAO,SAAUvd,EAAMd,GAI1D,OAHuB,MAAnB6Y,EAAW7Y,KACbc,EAAKd,GAAO6Y,EAAW7Y,IAElBc,CACT,GAAG,CAAC,IAEUjB,OACCe,IAAXf,EAAEG,SAAiCY,IAAXd,EAAEE,KAC5B6Y,EAAW7Y,GAAOH,EAAEG,IAGxB,OAAOgC,OAAOJ,KAAKiX,GAAYla,OAAS,EAAIka,OAAajY,CAC3D,EAEAmK,KAAM,SAASlL,EAAGC,GACC,kBAAND,IAAgBA,EAAI,CAAC,GACf,kBAANC,IAAgBA,EAAI,CAAC,GAChC,IAAI+Y,EAAa7W,OAAOJ,KAAK/B,GAAGqC,OAAOF,OAAOJ,KAAK9B,IAAIue,QAAO,SAAUxF,EAAY7Y,GAIlF,OAHK4mB,EAAM/mB,EAAEG,GAAMF,EAAEE,MACnB6Y,EAAW7Y,QAAkBY,IAAXd,EAAEE,GAAqB,KAAOF,EAAEE,IAE7C6Y,CACT,GAAG,CAAC,GACJ,OAAO7W,OAAOJ,KAAKiX,GAAYla,OAAS,EAAIka,OAAajY,CAC3D,EAEAwoB,UAAW,SAAUvpB,EAAGC,EAAGupB,GACzB,GAAiB,kBAANxpB,EAAgB,OAAOC,EAClC,GAAiB,kBAANA,EAAX,CACA,IAAKupB,EAAU,OAAOvpB,EACtB,IAAI+Y,EAAa7W,OAAOJ,KAAK9B,GAAGue,QAAO,SAAUxF,EAAY7Y,GAE3D,YADeY,IAAXf,EAAEG,KAAoB6Y,EAAW7Y,GAAOF,EAAEE,IACvC6Y,CACT,GAAG,CAAC,GACJ,OAAO7W,OAAOJ,KAAKiX,GAAYla,OAAS,EAAIka,OAAajY,CANd,CAO7C,GAGFiN,SAAU,SAAUoZ,GAClB,OAAO,IAAIyC,EAASzC,EACtB,EAEAtoB,OAAQ,SAAUkoB,GAChB,MAA4B,kBAAjBA,EAAW,OACbA,EAAW,OACY,kBAAdA,EAAGO,OACZP,EAAGO,OAEkB,kBAAdP,EAAGK,OAAsBL,EAAGK,OAAOvoB,OAAS,CAE9D,GAIF,SAAS+qB,EAASzC,GAChBxb,KAAKwb,IAAMA,EACXxb,KAAKyR,MAAQ,EACbzR,KAAK2R,OAAS,CAChB,CAEAsM,EAASpqB,UAAU2oB,QAAU,WAC3B,OAAOxc,KAAKid,aAAeX,GAC7B,EAEA2B,EAASpqB,UAAU4f,KAAO,SAAUvgB,GAC7BA,IAAQA,EAASopB,KACtB,IAAIG,EAASzc,KAAKwb,IAAIxb,KAAKyR,OAC3B,GAAIgL,EAAQ,CACV,IAAI9K,EAAS3R,KAAK2R,OACd4L,EAAWQ,EAAI7qB,OAAOupB,GAQ1B,GAPIvpB,GAAUqqB,EAAW5L,GACvBze,EAASqqB,EAAW5L,EACpB3R,KAAKyR,OAAS,EACdzR,KAAK2R,OAAS,GAEd3R,KAAK2R,QAAUze,EAEe,kBAArBupB,EAAe,OACxB,MAAO,CAAE,OAAUvpB,GAEnB,IAAIgrB,EAAQ,CAAC,EAYb,OAXIzB,EAAOrP,aACT8Q,EAAM9Q,WAAaqP,EAAOrP,YAEC,kBAAlBqP,EAAOd,OAChBuC,EAAMvC,OAASzoB,EACmB,kBAAlBupB,EAAOhB,OACvByC,EAAMzC,OAASgB,EAAOhB,OAAO0C,OAAOxM,EAAQze,GAG5CgrB,EAAMzC,OAASgB,EAAOhB,OAEjByC,CAEX,CACE,MAAO,CAAEvC,OAAQW,IAErB,EAEA2B,EAASpqB,UAAUipB,KAAO,WACxB,OAAO9c,KAAKwb,IAAIxb,KAAKyR,MACvB,EAEAwM,EAASpqB,UAAUopB,WAAa,WAC9B,OAAIjd,KAAKwb,IAAIxb,KAAKyR,OAETsM,EAAI7qB,OAAO8M,KAAKwb,IAAIxb,KAAKyR,QAAUzR,KAAK2R,OAExC2K,GAEX,EAEA2B,EAASpqB,UAAUmpB,SAAW,WAC5B,OAAIhd,KAAKwb,IAAIxb,KAAKyR,OAC8B,kBAAnCzR,KAAKwb,IAAIxb,KAAKyR,OAAe,OAC/B,SACyC,kBAAhCzR,KAAKwb,IAAIxb,KAAKyR,OAAOkK,OAC9B,SAEA,SAGJ,QACT,EAEAsC,EAASpqB,UAAUijB,KAAO,WACxB,GAAK9W,KAAKwc,UAEH,IAAoB,IAAhBxc,KAAK2R,OACd,OAAO3R,KAAKwb,IAAIlmB,MAAM0K,KAAKyR,OAE3B,IAAIE,EAAS3R,KAAK2R,OACdF,EAAQzR,KAAKyR,MACbgC,EAAOzT,KAAKyT,OACZqD,EAAO9W,KAAKwb,IAAIlmB,MAAM0K,KAAKyR,OAG/B,OAFAzR,KAAK2R,OAASA,EACd3R,KAAKyR,MAAQA,EACN,CAACgC,GAAMhd,OAAOqgB,EACvB,CAXE,MAAO,EAYX,EAGAhlB,EAAOC,QAAUgsB,C,8JCvJjB,MAAMK,UAAc,UAClBC,eAEA,CAEA1L,WAAWgB,EAAQuC,GACc,IAA3BvC,EAAO1C,SAAS/d,OAClBorB,MAAM3L,WAAWgB,EAAQuC,GAEzBlW,KAAKqQ,QAET,CAEAnd,SACE,OAAO,CACT,CAEAP,QACE,MAAO,EACT,EAEFyrB,EAAMjP,SAAW,QACjBiP,EAAM/P,QAAU,KAGhB,Q,sBCjBA,MAAMkQ,UAAmB,UACvBvN,SACEsN,MAAMtN,SACNhR,KAAKoN,WAAa,IAAI,sBAA2BpN,KAAK2Q,QACxD,CAEApV,QACE,OAAO,IAAI,MAAQkgB,OAAOzb,KAAKrN,QAAS,IAAOqN,KAAK+U,UAAW/U,KAAKoN,WAAWgI,UACjF,CAEAH,OAAOjjB,EAAMW,GACX,IAAIuiB,EAAY,UAAgBljB,EAAM,2BACrB,MAAbkjB,GACFlV,KAAKoN,WAAW8H,UAAUA,EAAWviB,EAEzC,CAEAwf,SAASV,EAAOve,EAAQlB,EAAMW,GAC5BqN,KAAKiV,OAAOjjB,EAAMW,EACpB,CAEAyf,SAASX,EAAO9e,EAAO0f,GACrB,GAAqB,kBAAV1f,GAAsBA,EAAM6rB,SAAS,MAAO,CACrD,IAAIC,EAAQ,WAAiB1G,EAAM5I,UACnCnP,KAAK2T,OAAO5C,aAAa0N,EAAiB,IAAVhN,EAAczR,KAAOA,KAAKyT,MAC1DgL,EAAMrM,SAAS,EAAGzf,EAAM2C,MAAM,GAAI,GACpC,MACEgpB,MAAMlM,SAASX,EAAO9e,EAAO0f,EAEjC,EAEFkM,EAAW9Q,MAAQ,qBAInB,MAAMsK,UAAc,UAClBhgB,YAAY4Y,GACV2N,MAAM3N,GACN3Q,KAAK0e,MAAQ,CAAC,CAChB,CAEAnjB,QAUE,OATwB,MAApByE,KAAK0e,MAAMnjB,QACbyE,KAAK0e,MAAMnjB,MAAQyE,KAAK+R,YAAY,UAAgBa,QAAO,CAACrX,EAAOojB,IAC3C,IAAlBA,EAAKzrB,SACAqI,EAEAA,EAAMkgB,OAAOkD,EAAKhsB,QAASisB,EAAcD,KAEjD,IAAI,MAASlD,OAAO,KAAMmD,EAAc5e,QAEtCA,KAAK0e,MAAMnjB,KACpB,CAEAiW,SAASC,EAAOve,GACdorB,MAAM9M,SAASC,EAAOve,GACtB8M,KAAK0e,MAAQ,CAAC,CAChB,CAEAvM,SAASV,EAAOve,EAAQlB,EAAMW,GACxBO,GAAU,IACV,UAAgBlB,EAAM,iBACpByf,EAAQve,IAAW8M,KAAK9M,UAC1B8M,KAAKiV,OAAOjjB,EAAMW,GAGpB2rB,MAAMnM,SAASV,EAAO1X,KAAK4E,IAAIzL,EAAQ8M,KAAK9M,SAAWue,EAAQ,GAAIzf,EAAMW,GAE3EqN,KAAK0e,MAAQ,CAAC,EAChB,CAEAtM,SAASX,EAAO9e,EAAO0f,GACrB,GAAW,MAAPA,EAAa,OAAOiM,MAAMlM,SAASX,EAAO9e,EAAO0f,GACrD,GAAqB,IAAjB1f,EAAMO,OAAc,OACxB,IAAI2rB,EAAQlsB,EAAMyb,MAAM,MACpB2M,EAAO8D,EAAMC,QACb/D,EAAK7nB,OAAS,IACZue,EAAQzR,KAAK9M,SAAW,GAA2B,MAAtB8M,KAAKiR,SAASqH,KAC7CgG,MAAMlM,SAASrY,KAAK4E,IAAI8S,EAAOzR,KAAK9M,SAAW,GAAI6nB,GAEnD/a,KAAKiR,SAASqH,KAAKlG,SAASpS,KAAKiR,SAASqH,KAAKplB,SAAU6nB,GAE3D/a,KAAK0e,MAAQ,CAAC,GAEhB,IAAID,EAAQze,KACZ6e,EAAMjM,QAAO,SAASnB,EAAOiM,GAG3B,OAFAe,EAAQA,EAAMrQ,MAAMqD,GAAO,GAC3BgN,EAAMrM,SAAS,EAAGsL,GACXA,EAAKxqB,MACd,GAAGue,EAAQsJ,EAAK7nB,OAClB,CAEA6d,aAAalC,EAAMqH,GACjB,IAAI5E,EAAOtR,KAAKiR,SAASK,KACzBgN,MAAMvN,aAAalC,EAAMqH,GACrB5E,aAAgB,GAClBA,EAAKjB,SAEPrQ,KAAK0e,MAAQ,CAAC,CAChB,CAEAxrB,SAIE,OAHyB,MAArB8M,KAAK0e,MAAMxrB,SACb8M,KAAK0e,MAAMxrB,OAASorB,MAAMprB,SA1GT,GA4GZ8M,KAAK0e,MAAMxrB,MACpB,CAEA4f,aAAa7a,EAAQie,GACnBoI,MAAMxL,aAAa7a,EAAQie,GAC3BlW,KAAK0e,MAAQ,CAAC,CAChB,CAEAzL,SAASC,GACPoL,MAAMrL,SAASC,GACflT,KAAK0e,MAAQ,CAAC,CAChB,CAEAtL,KAAK3B,GACH,OAAO6M,MAAMlL,KAAK3B,GAAO,EAC3B,CAEA8B,YAAYrC,GACVoN,MAAM/K,YAAYrC,GAClBlR,KAAK0e,MAAQ,CAAC,CAChB,CAEAtQ,MAAMqD,EAAO+B,GAAQ,GACnB,GAAIA,IAAoB,IAAV/B,GAAeA,GAASzR,KAAK9M,SAnIxB,GAmIoD,CACrE,IAAIqF,EAAQyH,KAAKzH,QACjB,OAAc,IAAVkZ,GACFzR,KAAK2T,OAAO5C,aAAaxY,EAAOyH,MACzBA,OAEPA,KAAK2T,OAAO5C,aAAaxY,EAAOyH,KAAKyT,MAC9Blb,EAEX,CAAO,CACL,IAAIkb,EAAO6K,MAAMlQ,MAAMqD,EAAO+B,GAE9B,OADAxT,KAAK0e,MAAQ,CAAC,EACPjL,CACT,CACF,EAQF,SAASmL,EAAc/P,EAAMkG,EAAU,CAAC,GACtC,OAAY,MAARlG,EAAqBkG,GACG,oBAAjBlG,EAAKkG,UACdA,EAAU,IAAOA,EAASlG,EAAKkG,YAEd,MAAflG,EAAK8E,QAA0C,UAAxB9E,EAAK8E,OAAOxE,UAAwBN,EAAK8E,OAAOnB,QAAQ/E,QAAUoB,EAAK2D,QAAQ/E,MACjGsH,EAEF6J,EAAc/P,EAAK8E,OAAQoB,GACpC,CAfAgD,EAAM5I,SAAW,QACjB4I,EAAM1J,QAAU,IAChB0J,EAAM5E,aAAe,QACrB4E,EAAMtF,gBAAkB,CAAC,IAAQ,UAAiB,I,wEC1JlD,MAAMuF,UAAe,WACnBqG,eAAexS,EAAMiF,GACnB,IAAIiO,EAAY/G,EAAOgH,MAAMzlB,QAAQsS,GACjCoT,EAAajH,EAAOgH,MAAMzlB,QAAQuX,GACtC,OAAIiO,GAAa,GAAKE,GAAc,EAC3BF,EAAYE,EACVpT,IAASiF,EACX,EACEjF,EAAOiF,GACR,EAED,CAEX,CAEAqB,SAASV,EAAOve,EAAQlB,EAAMW,GAC5B,GAAIqlB,EAAOkH,QAAQlf,KAAKwS,QAAQrD,SAAUnd,GAAQ,GAAK,UAAgBA,EAAM,gBAAuB,CAClG,IAAI6c,EAAO7O,KAAKgW,QAAQvE,EAAOve,GAC3BP,GACFkc,EAAKyG,KAAKtjB,EAAMW,EAEpB,MACE2rB,MAAMnM,SAASV,EAAOve,EAAQlB,EAAMW,EAExC,CAEAsgB,SAASC,GAEP,GADAoL,MAAMrL,SAASC,GACXlT,KAAK2T,kBAAkBqE,GACvBA,EAAOkH,QAAQlf,KAAKwS,QAAQrD,SAAUnP,KAAK2T,OAAOnB,QAAQrD,UAAY,EAAG,CAC3E,IAAIwE,EAAS3T,KAAK2T,OAAOqC,QAAQhW,KAAK2R,SAAU3R,KAAK9M,UACrD8M,KAAK8S,aAAaa,GAClBA,EAAO2B,KAAKtV,KACd,CACF,EAEFgY,EAAOvF,gBAAkB,CAACuF,EAAQ,UAAiB,KAEnDA,EAAOgH,MAAQ,CACb,SAAU,SACV,YAAa,SAAU,SAAU,OAAQ,SACzC,OAAQ,QAIV,K,6DC/CA,MAAMlE,UAAiB,UAEvB,K,kJCGA,MAAMqE,UAAa,KACnBA,EAAKhQ,SAAW,OAChBgQ,EAAK9Q,QAAU,OAGf,MAAM+Q,UAAkB,KACtBf,cAAc1rB,GACZ,IAAIge,EAAU2N,MAAMxR,OAAOna,GAE3B,OADAge,EAAQR,aAAa,cAAc,GAC5BQ,CACT,CAEA0N,iBACE,OAAO,CACT,CAEA9iB,QACE,IAAIwf,EAAO/a,KAAK2Q,QAAQ0O,YAIxB,OAHItE,EAAKyD,SAAS,QAChBzD,EAAOA,EAAKzlB,MAAM,GAAI,IAEjBylB,EAAK3M,MAAM,MAAMwE,QAAO,CAACrX,EAAO+jB,IAC9B/jB,EAAMkgB,OAAO6D,GAAM7D,OAAO,KAAMzb,KAAK+U,YAC3C,IAAI,KACT,CAEAE,OAAOjjB,EAAMW,GACX,GAAIX,IAASgO,KAAKwS,QAAQrD,UAAYxc,EAAO,OAC7C,IAAKooB,GAAU/a,KAAK4R,WAAW,IAAU5R,KAAK9M,SAAW,GAC7C,MAAR6nB,GACFA,EAAKvJ,SAASuJ,EAAK7nB,SAAW,EAAG,GAEnCorB,MAAMrJ,OAAOjjB,EAAMW,EACrB,CAEAwf,SAASV,EAAOve,EAAQlB,EAAMW,GAC5B,GAAe,IAAXO,EAAc,OAClB,GAAoD,MAAhD,UAAgBlB,EAAM,kBACrBA,IAASgO,KAAKwS,QAAQrD,UAAYxc,IAAUqN,KAAKwS,QAAQuC,QAAQ/U,KAAK2Q,SACzE,OAEF,IAAI4O,EAAcvf,KAAKwf,aAAa/N,GACpC,GAAI8N,EAAc,GAAKA,GAAe9N,EAAQve,EAAQ,OACtD,IAAIusB,EAAczf,KAAKwf,aAAa/N,GAAO,GAAQ,EAC/CiO,EAAgBH,EAAcE,EAAc,EAC5C5Q,EAAO7O,KAAKgW,QAAQyJ,EAAaC,GACjCjM,EAAO5E,EAAK4E,KAChB5E,EAAKoG,OAAOjjB,EAAMW,GACd8gB,aAAgB2L,GAClB3L,EAAKtB,SAAS,EAAGV,EAAQgO,EAAcvsB,EAASwsB,EAAe1tB,EAAMW,EAEzE,CAEAyf,SAASX,EAAO9e,EAAO0f,GACrB,GAAW,MAAPA,EAAa,OACjB,IAAK0I,EAAMpJ,GAAU3R,KAAK4R,WAAW,IAAUH,GAC/CsJ,EAAK3I,SAAST,EAAQhf,EACxB,CAEAO,SACE,IAAIA,EAAS8M,KAAK2Q,QAAQ0O,YAAYnsB,OACtC,OAAK8M,KAAK2Q,QAAQ0O,YAAYb,SAAS,MAGhCtrB,EAFEA,EAAS,CAGpB,CAEAssB,aAAaG,EAAavO,GAAU,GAClC,GAAKA,EAIH,OAAOpR,KAAK2Q,QAAQ0O,YAAY/pB,MAAM,EAAGqqB,GAAaC,YAAY,MAJtD,CACZ,IAAIjO,EAAS3R,KAAK2Q,QAAQ0O,YAAY/pB,MAAMqqB,GAAapmB,QAAQ,MACjE,OAAOoY,GAAU,EAAIgO,EAAchO,GAAU,CAC/C,CAGF,CAEAsB,SAASC,GACFlT,KAAK2Q,QAAQ0O,YAAYb,SAAS,OACrCxe,KAAK6Q,YAAY,WAAiB,OAAQ,OAE5CyN,MAAMrL,SAASC,GACf,IAAIO,EAAOzT,KAAKyT,KACJ,MAARA,GAAgBA,EAAKkF,OAAS3Y,MAC9ByT,EAAKjB,QAAQrD,WAAanP,KAAKwS,QAAQrD,UACvCnP,KAAKwS,QAAQuC,QAAQ/U,KAAK2Q,WAAa8C,EAAKjB,QAAQuC,QAAQtB,EAAK9C,WACnE8C,EAAKR,SAASC,GACdO,EAAKX,aAAa9S,MAClByT,EAAKpD,SAET,CAEA/K,QAAQrN,GACNqmB,MAAMhZ,QAAQrN,GACd,GAAG3C,MAAM/C,KAAKyN,KAAK2Q,QAAQkP,iBAAiB,MAAMpQ,SAAQ,SAASf,GACjE,IAAIG,EAAO,SAAeH,GACd,MAARG,EACFH,EAAKI,WAAWyE,YAAY7E,GACnBG,aAAgB,UACzBA,EAAKwB,SAELxB,EAAK+E,QAET,GACF,EAEFwL,EAAUjQ,SAAW,aACrBiQ,EAAU/Q,QAAU,MACpB+Q,EAAUU,IAAM,I,qCChHhB,IAAIC,EAAkB,EAAQ,OAE1B/Y,EAAUzQ,OACVd,EAAawK,UAEjBnO,EAAOC,QAAUguB,GAAgB,WAChC,GAAY,MAAR/f,MAAgBA,OAASgH,EAAQhH,MACpC,MAAM,IAAIvK,EAAW,sDAEtB,IAAI4K,EAAS,GAyBb,OAxBIL,KAAKggB,aACR3f,GAAU,KAEPL,KAAKigB,SACR5f,GAAU,KAEPL,KAAKkgB,aACR7f,GAAU,KAEPL,KAAKmgB,YACR9f,GAAU,KAEPL,KAAKogB,SACR/f,GAAU,KAEPL,KAAKqgB,UACRhgB,GAAU,KAEPL,KAAKsgB,cACRjgB,GAAU,KAEPL,KAAKugB,SACRlgB,GAAU,KAEJA,CACR,GAAG,aAAa,E,oCCnChB,IAAIqI,EAAS,EAAQ,MACjB9W,EAAW,EAAQ,OAEnBgP,EAAiB,EAAQ,OACzB+H,EAAc,EAAQ,OACtBC,EAAO,EAAQ,OAEf4X,EAAa5uB,EAAS+W,KAE1BD,EAAO8X,EAAY,CAClB7X,YAAaA,EACb/H,eAAgBA,EAChBgI,KAAMA,IAGP9W,EAAOC,QAAUyuB,C,qCCfjB,IAAI5f,EAAiB,EAAQ,OAEzBhK,EAAsB,4BACtBpE,EAAQ+D,OAAOkB,yBAEnB3F,EAAOC,QAAU,WAChB,GAAI6E,GAA0C,QAAnB,OAASnD,MAAiB,CACpD,IAAI+T,EAAahV,EAAM2R,OAAOtQ,UAAW,SACzC,GACC2T,GAC6B,oBAAnBA,EAAWhG,KACiB,mBAA5B2C,OAAOtQ,UAAUusB,QACe,mBAAhCjc,OAAOtQ,UAAUmsB,WAC1B,CAED,IAAIS,EAAQ,GACRpX,EAAI,CAAC,EAWT,GAVA9S,OAAOM,eAAewS,EAAG,aAAc,CACtC7H,IAAK,WACJif,GAAS,GACV,IAEDlqB,OAAOM,eAAewS,EAAG,SAAU,CAClC7H,IAAK,WACJif,GAAS,GACV,IAEa,OAAVA,EACH,OAAOjZ,EAAWhG,GAEpB,CACD,CACA,OAAOZ,CACR,C,qCCjCA,IAAIhK,EAAsB,4BACtB+R,EAAc,EAAQ,OACtBnR,EAAOjB,OAAOkB,yBACdZ,EAAiBN,OAAOM,eACxB6pB,EAAUzgB,UACV0B,EAAWpL,OAAOqL,eAClB+e,EAAQ,IAEZ7uB,EAAOC,QAAU,WAChB,IAAK6E,IAAwB+K,EAC5B,MAAM,IAAI+e,EAAQ,6FAEnB,IAAI7X,EAAWF,IACXiY,EAAQjf,EAASgf,GACjBnZ,EAAahQ,EAAKopB,EAAO,SAQ7B,OAPKpZ,GAAcA,EAAWhG,MAAQqH,GACrChS,EAAe+pB,EAAO,QAAS,CAC9B3tB,cAAc,EACdgD,YAAY,EACZuL,IAAKqH,IAGAA,CACR,C,qCCvBA,IAAIH,EAAS,EAAQ,OACjBmY,EAAiB,EAAQ,MAAR,GACjB/f,EAAiC,0CAEjCrL,EAAawK,UAEjBnO,EAAOC,QAAU,SAAyBiF,EAAIhF,GAC7C,GAAkB,oBAAPgF,EACV,MAAM,IAAIvB,EAAW,0BAEtB,IAAIO,EAAQjD,UAAUG,OAAS,KAAOH,UAAU,GAQhD,OAPKiD,IAAS8K,IACT+f,EACHnY,EAAO1R,EAAI,OAAQhF,GAAM,GAAM,GAE/B0W,EAAO1R,EAAI,OAAQhF,IAGdgF,CACR,C","sources":["webpack://app/./node_modules/call-bind/callBound.js","webpack://app/./node_modules/call-bind/index.js","webpack://app/./node_modules/deep-equal/index.js","webpack://app/./node_modules/define-data-property/index.js","webpack://app/./node_modules/define-properties/index.js","webpack://app/./node_modules/extend/index.js","webpack://app/./node_modules/fast-diff/diff.js","webpack://app/./node_modules/function-bind/implementation.js","webpack://app/./node_modules/function-bind/index.js","webpack://app/./node_modules/functions-have-names/index.js","webpack://app/./node_modules/get-intrinsic/index.js","webpack://app/./node_modules/gopd/index.js","webpack://app/./node_modules/has-property-descriptors/index.js","webpack://app/./node_modules/has-proto/index.js","webpack://app/./node_modules/has-symbols/index.js","webpack://app/./node_modules/has-symbols/shams.js","webpack://app/./node_modules/has-tostringtag/shams.js","webpack://app/./node_modules/has/src/index.js","webpack://app/./node_modules/is-arguments/index.js","webpack://app/./node_modules/is-date-object/index.js","webpack://app/./node_modules/is-regex/index.js","webpack://app/./node_modules/object-is/implementation.js","webpack://app/./node_modules/object-is/index.js","webpack://app/./node_modules/object-is/polyfill.js","webpack://app/./node_modules/object-is/shim.js","webpack://app/./node_modules/object-keys/implementation.js","webpack://app/./node_modules/object-keys/index.js","webpack://app/./node_modules/object-keys/isArguments.js","webpack://app/./node_modules/parchment/dist/parchment.js","webpack://app/./node_modules/quill-delta/lib/delta.js","webpack://app/./node_modules/quill-delta/lib/op.js","webpack://app/./node_modules/quill/blots/break.js","webpack://app/./node_modules/quill/blots/block.js","webpack://app/./node_modules/quill/blots/inline.js","webpack://app/./node_modules/quill/blots/text.js","webpack://app/./node_modules/quill/formats/code.js","webpack://app/./node_modules/regexp.prototype.flags/implementation.js","webpack://app/./node_modules/regexp.prototype.flags/index.js","webpack://app/./node_modules/regexp.prototype.flags/polyfill.js","webpack://app/./node_modules/regexp.prototype.flags/shim.js","webpack://app/./node_modules/set-function-name/index.js"],"sourcesContent":["'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = $reflectApply(bind, $call, arguments);\n\tif ($gOPD && $defineProperty) {\n\t\tvar desc = $gOPD(func, 'length');\n\t\tif (desc.configurable) {\n\t\t\t// original length, plus the receiver, minus any additional arguments (after the receiver)\n\t\t\t$defineProperty(\n\t\t\t\tfunc,\n\t\t\t\t'length',\n\t\t\t\t{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n\t\t\t);\n\t\t}\n\t}\n\treturn func;\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","var objectKeys = require('object-keys');\nvar isArguments = require('is-arguments');\nvar is = require('object-is');\nvar isRegex = require('is-regex');\nvar flags = require('regexp.prototype.flags');\nvar isDate = require('is-date-object');\n\nvar getTime = Date.prototype.getTime;\n\nfunction deepEqual(actual, expected, options) {\n var opts = options || {};\n\n // 7.1. All identical values are equivalent, as determined by ===.\n if (opts.strict ? is(actual, expected) : actual === expected) {\n return true;\n }\n\n // 7.3. Other pairs that do not both pass typeof value == 'object', equivalence is determined by ==.\n if (!actual || !expected || (typeof actual !== 'object' && typeof expected !== 'object')) {\n return opts.strict ? is(actual, expected) : actual == expected;\n }\n\n /*\n * 7.4. For all other Object pairs, including Array objects, equivalence is\n * determined by having the same number of owned properties (as verified\n * with Object.prototype.hasOwnProperty.call), the same set of keys\n * (although not necessarily the same order), equivalent values for every\n * corresponding key, and an identical 'prototype' property. Note: this\n * accounts for both named and indexed properties on Arrays.\n */\n // eslint-disable-next-line no-use-before-define\n return objEquiv(actual, expected, opts);\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer(x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') {\n return false;\n }\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') {\n return false;\n }\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n /* eslint max-statements: [2, 50] */\n var i, key;\n if (typeof a !== typeof b) { return false; }\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b)) { return false; }\n\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) { return false; }\n\n if (isArguments(a) !== isArguments(b)) { return false; }\n\n var aIsRegex = isRegex(a);\n var bIsRegex = isRegex(b);\n if (aIsRegex !== bIsRegex) { return false; }\n if (aIsRegex || bIsRegex) {\n return a.source === b.source && flags(a) === flags(b);\n }\n\n if (isDate(a) && isDate(b)) {\n return getTime.call(a) === getTime.call(b);\n }\n\n var aIsBuffer = isBuffer(a);\n var bIsBuffer = isBuffer(b);\n if (aIsBuffer !== bIsBuffer) { return false; }\n if (aIsBuffer || bIsBuffer) { // && would work too, because both are true or both false here\n if (a.length !== b.length) { return false; }\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) { return false; }\n }\n return true;\n }\n\n if (typeof a !== typeof b) { return false; }\n\n try {\n var ka = objectKeys(a);\n var kb = objectKeys(b);\n } catch (e) { // happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates hasOwnProperty)\n if (ka.length !== kb.length) { return false; }\n\n // the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n // ~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i]) { return false; }\n }\n // equivalent values for every corresponding key, and ~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) { return false; }\n }\n\n return true;\n}\n\nmodule.exports = deepEqual;\n","'use strict';\n\nvar hasPropertyDescriptors = require('has-property-descriptors')();\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = hasPropertyDescriptors && GetIntrinsic('%Object.defineProperty%', true);\n\nvar $SyntaxError = GetIntrinsic('%SyntaxError%');\nvar $TypeError = GetIntrinsic('%TypeError%');\n\nvar gopd = require('gopd');\n\n/** @type {(obj: Record, property: PropertyKey, value: unknown, nonEnumerable?: boolean | null, nonWritable?: boolean | null, nonConfigurable?: boolean | null, loose?: boolean) => void} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar defineDataProperty = require('define-data-property');\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar supportsDescriptors = require('has-property-descriptors')();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object) {\n\t\tif (predicate === true) {\n\t\t\tif (object[name] === value) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (!isFunction(predicate) || !predicate()) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\tif (supportsDescriptors) {\n\t\tdefineDataProperty(object, name, value, true);\n\t} else {\n\t\tdefineDataProperty(object, name, value);\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n","/**\n * This library modifies the diff-patch-match library by Neil Fraser\n * by removing the patch and match functionality and certain advanced\n * options in the diff function. The original license is as follows:\n *\n * ===\n *\n * Diff Match and Patch\n *\n * Copyright 2006 Google Inc.\n * http://code.google.com/p/google-diff-match-patch/\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/**\n * The data structure representing a diff is an array of tuples:\n * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]\n * which means: delete 'Hello', add 'Goodbye' and keep ' world.'\n */\nvar DIFF_DELETE = -1;\nvar DIFF_INSERT = 1;\nvar DIFF_EQUAL = 0;\n\n\n/**\n * Find the differences between two texts. Simplifies the problem by stripping\n * any common prefix or suffix off the texts before diffing.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {Int} cursor_pos Expected edit position in text1 (optional)\n * @return {Array} Array of diff tuples.\n */\nfunction diff_main(text1, text2, cursor_pos) {\n // Check for equality (speedup).\n if (text1 == text2) {\n if (text1) {\n return [[DIFF_EQUAL, text1]];\n }\n return [];\n }\n\n // Check cursor_pos within bounds\n if (cursor_pos < 0 || text1.length < cursor_pos) {\n cursor_pos = null;\n }\n\n // Trim off common prefix (speedup).\n var commonlength = diff_commonPrefix(text1, text2);\n var commonprefix = text1.substring(0, commonlength);\n text1 = text1.substring(commonlength);\n text2 = text2.substring(commonlength);\n\n // Trim off common suffix (speedup).\n commonlength = diff_commonSuffix(text1, text2);\n var commonsuffix = text1.substring(text1.length - commonlength);\n text1 = text1.substring(0, text1.length - commonlength);\n text2 = text2.substring(0, text2.length - commonlength);\n\n // Compute the diff on the middle block.\n var diffs = diff_compute_(text1, text2);\n\n // Restore the prefix and suffix.\n if (commonprefix) {\n diffs.unshift([DIFF_EQUAL, commonprefix]);\n }\n if (commonsuffix) {\n diffs.push([DIFF_EQUAL, commonsuffix]);\n }\n diff_cleanupMerge(diffs);\n if (cursor_pos != null) {\n diffs = fix_cursor(diffs, cursor_pos);\n }\n diffs = fix_emoji(diffs);\n return diffs;\n};\n\n\n/**\n * Find the differences between two texts. Assumes that the texts do not\n * have any common prefix or suffix.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_compute_(text1, text2) {\n var diffs;\n\n if (!text1) {\n // Just add some text (speedup).\n return [[DIFF_INSERT, text2]];\n }\n\n if (!text2) {\n // Just delete some text (speedup).\n return [[DIFF_DELETE, text1]];\n }\n\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n var i = longtext.indexOf(shorttext);\n if (i != -1) {\n // Shorter text is inside the longer text (speedup).\n diffs = [[DIFF_INSERT, longtext.substring(0, i)],\n [DIFF_EQUAL, shorttext],\n [DIFF_INSERT, longtext.substring(i + shorttext.length)]];\n // Swap insertions for deletions if diff is reversed.\n if (text1.length > text2.length) {\n diffs[0][0] = diffs[2][0] = DIFF_DELETE;\n }\n return diffs;\n }\n\n if (shorttext.length == 1) {\n // Single character string.\n // After the previous speedup, the character can't be an equality.\n return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n }\n\n // Check to see if the problem can be split in two.\n var hm = diff_halfMatch_(text1, text2);\n if (hm) {\n // A half-match was found, sort out the return data.\n var text1_a = hm[0];\n var text1_b = hm[1];\n var text2_a = hm[2];\n var text2_b = hm[3];\n var mid_common = hm[4];\n // Send both pairs off for separate processing.\n var diffs_a = diff_main(text1_a, text2_a);\n var diffs_b = diff_main(text1_b, text2_b);\n // Merge the results.\n return diffs_a.concat([[DIFF_EQUAL, mid_common]], diffs_b);\n }\n\n return diff_bisect_(text1, text2);\n};\n\n\n/**\n * Find the 'middle snake' of a diff, split the problem in two\n * and return the recursively constructed diff.\n * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n * @private\n */\nfunction diff_bisect_(text1, text2) {\n // Cache the text lengths to prevent multiple calls.\n var text1_length = text1.length;\n var text2_length = text2.length;\n var max_d = Math.ceil((text1_length + text2_length) / 2);\n var v_offset = max_d;\n var v_length = 2 * max_d;\n var v1 = new Array(v_length);\n var v2 = new Array(v_length);\n // Setting all elements to -1 is faster in Chrome & Firefox than mixing\n // integers and undefined.\n for (var x = 0; x < v_length; x++) {\n v1[x] = -1;\n v2[x] = -1;\n }\n v1[v_offset + 1] = 0;\n v2[v_offset + 1] = 0;\n var delta = text1_length - text2_length;\n // If the total number of characters is odd, then the front path will collide\n // with the reverse path.\n var front = (delta % 2 != 0);\n // Offsets for start and end of k loop.\n // Prevents mapping of space beyond the grid.\n var k1start = 0;\n var k1end = 0;\n var k2start = 0;\n var k2end = 0;\n for (var d = 0; d < max_d; d++) {\n // Walk the front path one step.\n for (var k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {\n var k1_offset = v_offset + k1;\n var x1;\n if (k1 == -d || (k1 != d && v1[k1_offset - 1] < v1[k1_offset + 1])) {\n x1 = v1[k1_offset + 1];\n } else {\n x1 = v1[k1_offset - 1] + 1;\n }\n var y1 = x1 - k1;\n while (x1 < text1_length && y1 < text2_length &&\n text1.charAt(x1) == text2.charAt(y1)) {\n x1++;\n y1++;\n }\n v1[k1_offset] = x1;\n if (x1 > text1_length) {\n // Ran off the right of the graph.\n k1end += 2;\n } else if (y1 > text2_length) {\n // Ran off the bottom of the graph.\n k1start += 2;\n } else if (front) {\n var k2_offset = v_offset + delta - k1;\n if (k2_offset >= 0 && k2_offset < v_length && v2[k2_offset] != -1) {\n // Mirror x2 onto top-left coordinate system.\n var x2 = text1_length - v2[k2_offset];\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n\n // Walk the reverse path one step.\n for (var k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {\n var k2_offset = v_offset + k2;\n var x2;\n if (k2 == -d || (k2 != d && v2[k2_offset - 1] < v2[k2_offset + 1])) {\n x2 = v2[k2_offset + 1];\n } else {\n x2 = v2[k2_offset - 1] + 1;\n }\n var y2 = x2 - k2;\n while (x2 < text1_length && y2 < text2_length &&\n text1.charAt(text1_length - x2 - 1) ==\n text2.charAt(text2_length - y2 - 1)) {\n x2++;\n y2++;\n }\n v2[k2_offset] = x2;\n if (x2 > text1_length) {\n // Ran off the left of the graph.\n k2end += 2;\n } else if (y2 > text2_length) {\n // Ran off the top of the graph.\n k2start += 2;\n } else if (!front) {\n var k1_offset = v_offset + delta - k2;\n if (k1_offset >= 0 && k1_offset < v_length && v1[k1_offset] != -1) {\n var x1 = v1[k1_offset];\n var y1 = v_offset + x1 - k1_offset;\n // Mirror x2 onto top-left coordinate system.\n x2 = text1_length - x2;\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n }\n // Diff took too long and hit the deadline or\n // number of diffs equals number of characters, no commonality at all.\n return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n};\n\n\n/**\n * Given the location of the 'middle snake', split the diff in two parts\n * and recurse.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {number} x Index of split point in text1.\n * @param {number} y Index of split point in text2.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_bisectSplit_(text1, text2, x, y) {\n var text1a = text1.substring(0, x);\n var text2a = text2.substring(0, y);\n var text1b = text1.substring(x);\n var text2b = text2.substring(y);\n\n // Compute both diffs serially.\n var diffs = diff_main(text1a, text2a);\n var diffsb = diff_main(text1b, text2b);\n\n return diffs.concat(diffsb);\n};\n\n\n/**\n * Determine the common prefix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the start of each\n * string.\n */\nfunction diff_commonPrefix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 || text1.charAt(0) != text2.charAt(0)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerstart = 0;\n while (pointermin < pointermid) {\n if (text1.substring(pointerstart, pointermid) ==\n text2.substring(pointerstart, pointermid)) {\n pointermin = pointermid;\n pointerstart = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n return pointermid;\n};\n\n\n/**\n * Determine the common suffix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of each string.\n */\nfunction diff_commonSuffix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 ||\n text1.charAt(text1.length - 1) != text2.charAt(text2.length - 1)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerend = 0;\n while (pointermin < pointermid) {\n if (text1.substring(text1.length - pointermid, text1.length - pointerend) ==\n text2.substring(text2.length - pointermid, text2.length - pointerend)) {\n pointermin = pointermid;\n pointerend = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n return pointermid;\n};\n\n\n/**\n * Do the two texts share a substring which is at least half the length of the\n * longer text?\n * This speedup can produce non-minimal diffs.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {Array.} Five element Array, containing the prefix of\n * text1, the suffix of text1, the prefix of text2, the suffix of\n * text2 and the common middle. Or null if there was no match.\n */\nfunction diff_halfMatch_(text1, text2) {\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n if (longtext.length < 4 || shorttext.length * 2 < longtext.length) {\n return null; // Pointless.\n }\n\n /**\n * Does a substring of shorttext exist within longtext such that the substring\n * is at least half the length of longtext?\n * Closure, but does not reference any external variables.\n * @param {string} longtext Longer string.\n * @param {string} shorttext Shorter string.\n * @param {number} i Start index of quarter length substring within longtext.\n * @return {Array.} Five element Array, containing the prefix of\n * longtext, the suffix of longtext, the prefix of shorttext, the suffix\n * of shorttext and the common middle. Or null if there was no match.\n * @private\n */\n function diff_halfMatchI_(longtext, shorttext, i) {\n // Start with a 1/4 length substring at position i as a seed.\n var seed = longtext.substring(i, i + Math.floor(longtext.length / 4));\n var j = -1;\n var best_common = '';\n var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;\n while ((j = shorttext.indexOf(seed, j + 1)) != -1) {\n var prefixLength = diff_commonPrefix(longtext.substring(i),\n shorttext.substring(j));\n var suffixLength = diff_commonSuffix(longtext.substring(0, i),\n shorttext.substring(0, j));\n if (best_common.length < suffixLength + prefixLength) {\n best_common = shorttext.substring(j - suffixLength, j) +\n shorttext.substring(j, j + prefixLength);\n best_longtext_a = longtext.substring(0, i - suffixLength);\n best_longtext_b = longtext.substring(i + prefixLength);\n best_shorttext_a = shorttext.substring(0, j - suffixLength);\n best_shorttext_b = shorttext.substring(j + prefixLength);\n }\n }\n if (best_common.length * 2 >= longtext.length) {\n return [best_longtext_a, best_longtext_b,\n best_shorttext_a, best_shorttext_b, best_common];\n } else {\n return null;\n }\n }\n\n // First check if the second quarter is the seed for a half-match.\n var hm1 = diff_halfMatchI_(longtext, shorttext,\n Math.ceil(longtext.length / 4));\n // Check again based on the third quarter.\n var hm2 = diff_halfMatchI_(longtext, shorttext,\n Math.ceil(longtext.length / 2));\n var hm;\n if (!hm1 && !hm2) {\n return null;\n } else if (!hm2) {\n hm = hm1;\n } else if (!hm1) {\n hm = hm2;\n } else {\n // Both matched. Select the longest.\n hm = hm1[4].length > hm2[4].length ? hm1 : hm2;\n }\n\n // A half-match was found, sort out the return data.\n var text1_a, text1_b, text2_a, text2_b;\n if (text1.length > text2.length) {\n text1_a = hm[0];\n text1_b = hm[1];\n text2_a = hm[2];\n text2_b = hm[3];\n } else {\n text2_a = hm[0];\n text2_b = hm[1];\n text1_a = hm[2];\n text1_b = hm[3];\n }\n var mid_common = hm[4];\n return [text1_a, text1_b, text2_a, text2_b, mid_common];\n};\n\n\n/**\n * Reorder and merge like edit sections. Merge equalities.\n * Any edit section can move as long as it doesn't cross an equality.\n * @param {Array} diffs Array of diff tuples.\n */\nfunction diff_cleanupMerge(diffs) {\n diffs.push([DIFF_EQUAL, '']); // Add a dummy entry at the end.\n var pointer = 0;\n var count_delete = 0;\n var count_insert = 0;\n var text_delete = '';\n var text_insert = '';\n var commonlength;\n while (pointer < diffs.length) {\n switch (diffs[pointer][0]) {\n case DIFF_INSERT:\n count_insert++;\n text_insert += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_DELETE:\n count_delete++;\n text_delete += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_EQUAL:\n // Upon reaching an equality, check for prior redundancies.\n if (count_delete + count_insert > 1) {\n if (count_delete !== 0 && count_insert !== 0) {\n // Factor out any common prefixies.\n commonlength = diff_commonPrefix(text_insert, text_delete);\n if (commonlength !== 0) {\n if ((pointer - count_delete - count_insert) > 0 &&\n diffs[pointer - count_delete - count_insert - 1][0] ==\n DIFF_EQUAL) {\n diffs[pointer - count_delete - count_insert - 1][1] +=\n text_insert.substring(0, commonlength);\n } else {\n diffs.splice(0, 0, [DIFF_EQUAL,\n text_insert.substring(0, commonlength)]);\n pointer++;\n }\n text_insert = text_insert.substring(commonlength);\n text_delete = text_delete.substring(commonlength);\n }\n // Factor out any common suffixies.\n commonlength = diff_commonSuffix(text_insert, text_delete);\n if (commonlength !== 0) {\n diffs[pointer][1] = text_insert.substring(text_insert.length -\n commonlength) + diffs[pointer][1];\n text_insert = text_insert.substring(0, text_insert.length -\n commonlength);\n text_delete = text_delete.substring(0, text_delete.length -\n commonlength);\n }\n }\n // Delete the offending records and add the merged ones.\n if (count_delete === 0) {\n diffs.splice(pointer - count_insert,\n count_delete + count_insert, [DIFF_INSERT, text_insert]);\n } else if (count_insert === 0) {\n diffs.splice(pointer - count_delete,\n count_delete + count_insert, [DIFF_DELETE, text_delete]);\n } else {\n diffs.splice(pointer - count_delete - count_insert,\n count_delete + count_insert, [DIFF_DELETE, text_delete],\n [DIFF_INSERT, text_insert]);\n }\n pointer = pointer - count_delete - count_insert +\n (count_delete ? 1 : 0) + (count_insert ? 1 : 0) + 1;\n } else if (pointer !== 0 && diffs[pointer - 1][0] == DIFF_EQUAL) {\n // Merge this equality with the previous one.\n diffs[pointer - 1][1] += diffs[pointer][1];\n diffs.splice(pointer, 1);\n } else {\n pointer++;\n }\n count_insert = 0;\n count_delete = 0;\n text_delete = '';\n text_insert = '';\n break;\n }\n }\n if (diffs[diffs.length - 1][1] === '') {\n diffs.pop(); // Remove the dummy entry at the end.\n }\n\n // Second pass: look for single edits surrounded on both sides by equalities\n // which can be shifted sideways to eliminate an equality.\n // e.g: ABAC -> ABAC\n var changes = false;\n pointer = 1;\n // Intentionally ignore the first and last element (don't need checking).\n while (pointer < diffs.length - 1) {\n if (diffs[pointer - 1][0] == DIFF_EQUAL &&\n diffs[pointer + 1][0] == DIFF_EQUAL) {\n // This is a single edit surrounded by equalities.\n if (diffs[pointer][1].substring(diffs[pointer][1].length -\n diffs[pointer - 1][1].length) == diffs[pointer - 1][1]) {\n // Shift the edit over the previous equality.\n diffs[pointer][1] = diffs[pointer - 1][1] +\n diffs[pointer][1].substring(0, diffs[pointer][1].length -\n diffs[pointer - 1][1].length);\n diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1];\n diffs.splice(pointer - 1, 1);\n changes = true;\n } else if (diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) ==\n diffs[pointer + 1][1]) {\n // Shift the edit over the next equality.\n diffs[pointer - 1][1] += diffs[pointer + 1][1];\n diffs[pointer][1] =\n diffs[pointer][1].substring(diffs[pointer + 1][1].length) +\n diffs[pointer + 1][1];\n diffs.splice(pointer + 1, 1);\n changes = true;\n }\n }\n pointer++;\n }\n // If shifts were made, the diff needs reordering and another shift sweep.\n if (changes) {\n diff_cleanupMerge(diffs);\n }\n};\n\n\nvar diff = diff_main;\ndiff.INSERT = DIFF_INSERT;\ndiff.DELETE = DIFF_DELETE;\ndiff.EQUAL = DIFF_EQUAL;\n\nmodule.exports = diff;\n\n/*\n * Modify a diff such that the cursor position points to the start of a change:\n * E.g.\n * cursor_normalize_diff([[DIFF_EQUAL, 'abc']], 1)\n * => [1, [[DIFF_EQUAL, 'a'], [DIFF_EQUAL, 'bc']]]\n * cursor_normalize_diff([[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xyz']], 2)\n * => [2, [[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xy'], [DIFF_DELETE, 'z']]]\n *\n * @param {Array} diffs Array of diff tuples\n * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!\n * @return {Array} A tuple [cursor location in the modified diff, modified diff]\n */\nfunction cursor_normalize_diff (diffs, cursor_pos) {\n if (cursor_pos === 0) {\n return [DIFF_EQUAL, diffs];\n }\n for (var current_pos = 0, i = 0; i < diffs.length; i++) {\n var d = diffs[i];\n if (d[0] === DIFF_DELETE || d[0] === DIFF_EQUAL) {\n var next_pos = current_pos + d[1].length;\n if (cursor_pos === next_pos) {\n return [i + 1, diffs];\n } else if (cursor_pos < next_pos) {\n // copy to prevent side effects\n diffs = diffs.slice();\n // split d into two diff changes\n var split_pos = cursor_pos - current_pos;\n var d_left = [d[0], d[1].slice(0, split_pos)];\n var d_right = [d[0], d[1].slice(split_pos)];\n diffs.splice(i, 1, d_left, d_right);\n return [i + 1, diffs];\n } else {\n current_pos = next_pos;\n }\n }\n }\n throw new Error('cursor_pos is out of bounds!')\n}\n\n/*\n * Modify a diff such that the edit position is \"shifted\" to the proposed edit location (cursor_position).\n *\n * Case 1)\n * Check if a naive shift is possible:\n * [0, X], [ 1, Y] -> [ 1, Y], [0, X] (if X + Y === Y + X)\n * [0, X], [-1, Y] -> [-1, Y], [0, X] (if X + Y === Y + X) - holds same result\n * Case 2)\n * Check if the following shifts are possible:\n * [0, 'pre'], [ 1, 'prefix'] -> [ 1, 'pre'], [0, 'pre'], [ 1, 'fix']\n * [0, 'pre'], [-1, 'prefix'] -> [-1, 'pre'], [0, 'pre'], [-1, 'fix']\n * ^ ^\n * d d_next\n *\n * @param {Array} diffs Array of diff tuples\n * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!\n * @return {Array} Array of diff tuples\n */\nfunction fix_cursor (diffs, cursor_pos) {\n var norm = cursor_normalize_diff(diffs, cursor_pos);\n var ndiffs = norm[1];\n var cursor_pointer = norm[0];\n var d = ndiffs[cursor_pointer];\n var d_next = ndiffs[cursor_pointer + 1];\n\n if (d == null) {\n // Text was deleted from end of original string,\n // cursor is now out of bounds in new string\n return diffs;\n } else if (d[0] !== DIFF_EQUAL) {\n // A modification happened at the cursor location.\n // This is the expected outcome, so we can return the original diff.\n return diffs;\n } else {\n if (d_next != null && d[1] + d_next[1] === d_next[1] + d[1]) {\n // Case 1)\n // It is possible to perform a naive shift\n ndiffs.splice(cursor_pointer, 2, d_next, d)\n return merge_tuples(ndiffs, cursor_pointer, 2)\n } else if (d_next != null && d_next[1].indexOf(d[1]) === 0) {\n // Case 2)\n // d[1] is a prefix of d_next[1]\n // We can assume that d_next[0] !== 0, since d[0] === 0\n // Shift edit locations..\n ndiffs.splice(cursor_pointer, 2, [d_next[0], d[1]], [0, d[1]]);\n var suffix = d_next[1].slice(d[1].length);\n if (suffix.length > 0) {\n ndiffs.splice(cursor_pointer + 2, 0, [d_next[0], suffix]);\n }\n return merge_tuples(ndiffs, cursor_pointer, 3)\n } else {\n // Not possible to perform any modification\n return diffs;\n }\n }\n}\n\n/*\n * Check diff did not split surrogate pairs.\n * Ex. [0, '\\uD83D'], [-1, '\\uDC36'], [1, '\\uDC2F'] -> [-1, '\\uD83D\\uDC36'], [1, '\\uD83D\\uDC2F']\n * '\\uD83D\\uDC36' === '🐶', '\\uD83D\\uDC2F' === '🐯'\n *\n * @param {Array} diffs Array of diff tuples\n * @return {Array} Array of diff tuples\n */\nfunction fix_emoji (diffs) {\n var compact = false;\n var starts_with_pair_end = function(str) {\n return str.charCodeAt(0) >= 0xDC00 && str.charCodeAt(0) <= 0xDFFF;\n }\n var ends_with_pair_start = function(str) {\n return str.charCodeAt(str.length-1) >= 0xD800 && str.charCodeAt(str.length-1) <= 0xDBFF;\n }\n for (var i = 2; i < diffs.length; i += 1) {\n if (diffs[i-2][0] === DIFF_EQUAL && ends_with_pair_start(diffs[i-2][1]) &&\n diffs[i-1][0] === DIFF_DELETE && starts_with_pair_end(diffs[i-1][1]) &&\n diffs[i][0] === DIFF_INSERT && starts_with_pair_end(diffs[i][1])) {\n compact = true;\n\n diffs[i-1][1] = diffs[i-2][1].slice(-1) + diffs[i-1][1];\n diffs[i][1] = diffs[i-2][1].slice(-1) + diffs[i][1];\n\n diffs[i-2][1] = diffs[i-2][1].slice(0, -1);\n }\n }\n if (!compact) {\n return diffs;\n }\n var fixed_diffs = [];\n for (var i = 0; i < diffs.length; i += 1) {\n if (diffs[i][1].length > 0) {\n fixed_diffs.push(diffs[i]);\n }\n }\n return fixed_diffs;\n}\n\n/*\n * Try to merge tuples with their neigbors in a given range.\n * E.g. [0, 'a'], [0, 'b'] -> [0, 'ab']\n *\n * @param {Array} diffs Array of diff tuples.\n * @param {Int} start Position of the first element to merge (diffs[start] is also merged with diffs[start - 1]).\n * @param {Int} length Number of consecutive elements to check.\n * @return {Array} Array of merged diff tuples.\n */\nfunction merge_tuples (diffs, start, length) {\n // Check from (start-1) to (start+length).\n for (var i = start + length - 1; i >= 0 && i >= start - 1; i--) {\n if (i + 1 < diffs.length) {\n var left_d = diffs[i];\n var right_d = diffs[i+1];\n if (left_d[0] === right_d[1]) {\n diffs.splice(i, 2, [left_d[0], left_d[1] + right_d[1]]);\n }\n }\n }\n return diffs;\n}\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar functionsHaveNames = function functionsHaveNames() {\n\treturn typeof function f() {}.name === 'string';\n};\n\nvar gOPD = Object.getOwnPropertyDescriptor;\nif (gOPD) {\n\ttry {\n\t\tgOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\tgOPD = null;\n\t}\n}\n\nfunctionsHaveNames.functionsHaveConfigurableNames = function functionsHaveConfigurableNames() {\n\tif (!functionsHaveNames() || !gOPD) {\n\t\treturn false;\n\t}\n\tvar desc = gOPD(function () {}, 'name');\n\treturn !!desc && !!desc.configurable;\n};\n\nvar $bind = Function.prototype.bind;\n\nfunctionsHaveNames.boundFunctionsHaveNames = function boundFunctionsHaveNames() {\n\treturn functionsHaveNames() && typeof $bind === 'function' && function f() {}.bind().name !== '';\n};\n\nmodule.exports = functionsHaveNames;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\nvar hasProto = require('has-proto')();\n\nvar getProto = Object.getPrototypeOf || (\n\thasProto\n\t\t? function (x) { return x.__proto__; } // eslint-disable-line no-proto\n\t\t: null\n);\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\tif ($defineProperty) {\n\t\ttry {\n\t\t\t$defineProperty({}, 'a', { value: 1 });\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\t// IE 8 has a broken defineProperty\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn false;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!hasPropertyDescriptors()) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar test = {\n\tfoo: {}\n};\n\nvar $Object = Object;\n\nmodule.exports = function hasProto() {\n\treturn { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object);\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","'use strict';\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\n\nvar isStandardArguments = function isArguments(value) {\n\tif (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null &&\n\t\ttypeof value === 'object' &&\n\t\ttypeof value.length === 'number' &&\n\t\tvalue.length >= 0 &&\n\t\t$toString(value) !== '[object Array]' &&\n\t\t$toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","'use strict';\n\nvar getDay = Date.prototype.getDay;\nvar tryDateObject = function tryDateGetDayCall(value) {\n\ttry {\n\t\tgetDay.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n\nvar toStr = Object.prototype.toString;\nvar dateClass = '[object Date]';\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nmodule.exports = function isDateObject(value) {\n\tif (typeof value !== 'object' || value === null) {\n\t\treturn false;\n\t}\n\treturn hasToStringTag ? tryDateObject(value) : toStr.call(value) === dateClass;\n};\n","'use strict';\n\nvar callBound = require('call-bind/callBound');\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar has;\nvar $exec;\nvar isRegexMarker;\nvar badStringifier;\n\nif (hasToStringTag) {\n\thas = callBound('Object.prototype.hasOwnProperty');\n\t$exec = callBound('RegExp.prototype.exec');\n\tisRegexMarker = {};\n\n\tvar throwRegexMarker = function () {\n\t\tthrow isRegexMarker;\n\t};\n\tbadStringifier = {\n\t\ttoString: throwRegexMarker,\n\t\tvalueOf: throwRegexMarker\n\t};\n\n\tif (typeof Symbol.toPrimitive === 'symbol') {\n\t\tbadStringifier[Symbol.toPrimitive] = throwRegexMarker;\n\t}\n}\n\nvar $toString = callBound('Object.prototype.toString');\nvar gOPD = Object.getOwnPropertyDescriptor;\nvar regexClass = '[object RegExp]';\n\nmodule.exports = hasToStringTag\n\t// eslint-disable-next-line consistent-return\n\t? function isRegex(value) {\n\t\tif (!value || typeof value !== 'object') {\n\t\t\treturn false;\n\t\t}\n\n\t\tvar descriptor = gOPD(value, 'lastIndex');\n\t\tvar hasLastIndexDataProperty = descriptor && has(descriptor, 'value');\n\t\tif (!hasLastIndexDataProperty) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\t$exec(value, badStringifier);\n\t\t} catch (e) {\n\t\t\treturn e === isRegexMarker;\n\t\t}\n\t}\n\t: function isRegex(value) {\n\t\t// In older browsers, typeof regex incorrectly returns 'function'\n\t\tif (!value || (typeof value !== 'object' && typeof value !== 'function')) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn $toString(value) === regexClass;\n\t};\n","'use strict';\n\nvar numberIsNaN = function (value) {\n\treturn value !== value;\n};\n\nmodule.exports = function is(a, b) {\n\tif (a === 0 && b === 0) {\n\t\treturn 1 / a === 1 / b;\n\t}\n\tif (a === b) {\n\t\treturn true;\n\t}\n\tif (numberIsNaN(a) && numberIsNaN(b)) {\n\t\treturn true;\n\t}\n\treturn false;\n};\n\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Object);\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\treturn typeof Object.is === 'function' ? Object.is : implementation;\n};\n","'use strict';\n\nvar getPolyfill = require('./polyfill');\nvar define = require('define-properties');\n\nmodule.exports = function shimObjectIs() {\n\tvar polyfill = getPolyfill();\n\tdefine(Object, { is: polyfill }, {\n\t\tis: function testObjectIs() {\n\t\t\treturn Object.is !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar keysShim;\nif (!Object.keys) {\n\t// modified from https://github.com/es-shims/es5-shim\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar toStr = Object.prototype.toString;\n\tvar isArgs = require('./isArguments'); // eslint-disable-line global-require\n\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\n\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\n\tvar dontEnums = [\n\t\t'toString',\n\t\t'toLocaleString',\n\t\t'valueOf',\n\t\t'hasOwnProperty',\n\t\t'isPrototypeOf',\n\t\t'propertyIsEnumerable',\n\t\t'constructor'\n\t];\n\tvar equalsConstructorPrototype = function (o) {\n\t\tvar ctor = o.constructor;\n\t\treturn ctor && ctor.prototype === o;\n\t};\n\tvar excludedKeys = {\n\t\t$applicationCache: true,\n\t\t$console: true,\n\t\t$external: true,\n\t\t$frame: true,\n\t\t$frameElement: true,\n\t\t$frames: true,\n\t\t$innerHeight: true,\n\t\t$innerWidth: true,\n\t\t$onmozfullscreenchange: true,\n\t\t$onmozfullscreenerror: true,\n\t\t$outerHeight: true,\n\t\t$outerWidth: true,\n\t\t$pageXOffset: true,\n\t\t$pageYOffset: true,\n\t\t$parent: true,\n\t\t$scrollLeft: true,\n\t\t$scrollTop: true,\n\t\t$scrollX: true,\n\t\t$scrollY: true,\n\t\t$self: true,\n\t\t$webkitIndexedDB: true,\n\t\t$webkitStorageInfo: true,\n\t\t$window: true\n\t};\n\tvar hasAutomationEqualityBug = (function () {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined') { return false; }\n\t\tfor (var k in window) {\n\t\t\ttry {\n\t\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}());\n\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t}\n\t\ttry {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object';\n\t\tvar isFunction = toStr.call(object) === '[object Function]';\n\t\tvar isArguments = isArgs(object);\n\t\tvar isString = isObject && toStr.call(object) === '[object String]';\n\t\tvar theKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError('Object.keys called on a non-object');\n\t\t}\n\n\t\tvar skipProto = hasProtoEnumBug && isFunction;\n\t\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\t\ttheKeys.push(String(i));\n\t\t\t}\n\t\t}\n\n\t\tif (isArguments && object.length > 0) {\n\t\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\t\ttheKeys.push(String(j));\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(String(name));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn theKeys;\n\t};\n}\nmodule.exports = keysShim;\n","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Parchment\"] = factory();\n\telse\n\t\troot[\"Parchment\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 9);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ParchmentError = /** @class */ (function (_super) {\n __extends(ParchmentError, _super);\n function ParchmentError(message) {\n var _this = this;\n message = '[Parchment] ' + message;\n _this = _super.call(this, message) || this;\n _this.message = message;\n _this.name = _this.constructor.name;\n return _this;\n }\n return ParchmentError;\n}(Error));\nexports.ParchmentError = ParchmentError;\nvar attributes = {};\nvar classes = {};\nvar tags = {};\nvar types = {};\nexports.DATA_KEY = '__blot';\nvar Scope;\n(function (Scope) {\n Scope[Scope[\"TYPE\"] = 3] = \"TYPE\";\n Scope[Scope[\"LEVEL\"] = 12] = \"LEVEL\";\n Scope[Scope[\"ATTRIBUTE\"] = 13] = \"ATTRIBUTE\";\n Scope[Scope[\"BLOT\"] = 14] = \"BLOT\";\n Scope[Scope[\"INLINE\"] = 7] = \"INLINE\";\n Scope[Scope[\"BLOCK\"] = 11] = \"BLOCK\";\n Scope[Scope[\"BLOCK_BLOT\"] = 10] = \"BLOCK_BLOT\";\n Scope[Scope[\"INLINE_BLOT\"] = 6] = \"INLINE_BLOT\";\n Scope[Scope[\"BLOCK_ATTRIBUTE\"] = 9] = \"BLOCK_ATTRIBUTE\";\n Scope[Scope[\"INLINE_ATTRIBUTE\"] = 5] = \"INLINE_ATTRIBUTE\";\n Scope[Scope[\"ANY\"] = 15] = \"ANY\";\n})(Scope = exports.Scope || (exports.Scope = {}));\nfunction create(input, value) {\n var match = query(input);\n if (match == null) {\n throw new ParchmentError(\"Unable to create \" + input + \" blot\");\n }\n var BlotClass = match;\n var node = \n // @ts-ignore\n input instanceof Node || input['nodeType'] === Node.TEXT_NODE ? input : BlotClass.create(value);\n return new BlotClass(node, value);\n}\nexports.create = create;\nfunction find(node, bubble) {\n if (bubble === void 0) { bubble = false; }\n if (node == null)\n return null;\n // @ts-ignore\n if (node[exports.DATA_KEY] != null)\n return node[exports.DATA_KEY].blot;\n if (bubble)\n return find(node.parentNode, bubble);\n return null;\n}\nexports.find = find;\nfunction query(query, scope) {\n if (scope === void 0) { scope = Scope.ANY; }\n var match;\n if (typeof query === 'string') {\n match = types[query] || attributes[query];\n // @ts-ignore\n }\n else if (query instanceof Text || query['nodeType'] === Node.TEXT_NODE) {\n match = types['text'];\n }\n else if (typeof query === 'number') {\n if (query & Scope.LEVEL & Scope.BLOCK) {\n match = types['block'];\n }\n else if (query & Scope.LEVEL & Scope.INLINE) {\n match = types['inline'];\n }\n }\n else if (query instanceof HTMLElement) {\n var names = (query.getAttribute('class') || '').split(/\\s+/);\n for (var i in names) {\n match = classes[names[i]];\n if (match)\n break;\n }\n match = match || tags[query.tagName];\n }\n if (match == null)\n return null;\n // @ts-ignore\n if (scope & Scope.LEVEL & match.scope && scope & Scope.TYPE & match.scope)\n return match;\n return null;\n}\nexports.query = query;\nfunction register() {\n var Definitions = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n Definitions[_i] = arguments[_i];\n }\n if (Definitions.length > 1) {\n return Definitions.map(function (d) {\n return register(d);\n });\n }\n var Definition = Definitions[0];\n if (typeof Definition.blotName !== 'string' && typeof Definition.attrName !== 'string') {\n throw new ParchmentError('Invalid definition');\n }\n else if (Definition.blotName === 'abstract') {\n throw new ParchmentError('Cannot register abstract class');\n }\n types[Definition.blotName || Definition.attrName] = Definition;\n if (typeof Definition.keyName === 'string') {\n attributes[Definition.keyName] = Definition;\n }\n else {\n if (Definition.className != null) {\n classes[Definition.className] = Definition;\n }\n if (Definition.tagName != null) {\n if (Array.isArray(Definition.tagName)) {\n Definition.tagName = Definition.tagName.map(function (tagName) {\n return tagName.toUpperCase();\n });\n }\n else {\n Definition.tagName = Definition.tagName.toUpperCase();\n }\n var tagNames = Array.isArray(Definition.tagName) ? Definition.tagName : [Definition.tagName];\n tagNames.forEach(function (tag) {\n if (tags[tag] == null || Definition.className == null) {\n tags[tag] = Definition;\n }\n });\n }\n }\n return Definition;\n}\nexports.register = register;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Registry = __webpack_require__(0);\nvar Attributor = /** @class */ (function () {\n function Attributor(attrName, keyName, options) {\n if (options === void 0) { options = {}; }\n this.attrName = attrName;\n this.keyName = keyName;\n var attributeBit = Registry.Scope.TYPE & Registry.Scope.ATTRIBUTE;\n if (options.scope != null) {\n // Ignore type bits, force attribute bit\n this.scope = (options.scope & Registry.Scope.LEVEL) | attributeBit;\n }\n else {\n this.scope = Registry.Scope.ATTRIBUTE;\n }\n if (options.whitelist != null)\n this.whitelist = options.whitelist;\n }\n Attributor.keys = function (node) {\n return [].map.call(node.attributes, function (item) {\n return item.name;\n });\n };\n Attributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value))\n return false;\n node.setAttribute(this.keyName, value);\n return true;\n };\n Attributor.prototype.canAdd = function (node, value) {\n var match = Registry.query(node, Registry.Scope.BLOT & (this.scope | Registry.Scope.TYPE));\n if (match == null)\n return false;\n if (this.whitelist == null)\n return true;\n if (typeof value === 'string') {\n return this.whitelist.indexOf(value.replace(/[\"']/g, '')) > -1;\n }\n else {\n return this.whitelist.indexOf(value) > -1;\n }\n };\n Attributor.prototype.remove = function (node) {\n node.removeAttribute(this.keyName);\n };\n Attributor.prototype.value = function (node) {\n var value = node.getAttribute(this.keyName);\n if (this.canAdd(node, value) && value) {\n return value;\n }\n return '';\n };\n return Attributor;\n}());\nexports.default = Attributor;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar linked_list_1 = __webpack_require__(11);\nvar shadow_1 = __webpack_require__(5);\nvar Registry = __webpack_require__(0);\nvar ContainerBlot = /** @class */ (function (_super) {\n __extends(ContainerBlot, _super);\n function ContainerBlot(domNode) {\n var _this = _super.call(this, domNode) || this;\n _this.build();\n return _this;\n }\n ContainerBlot.prototype.appendChild = function (other) {\n this.insertBefore(other);\n };\n ContainerBlot.prototype.attach = function () {\n _super.prototype.attach.call(this);\n this.children.forEach(function (child) {\n child.attach();\n });\n };\n ContainerBlot.prototype.build = function () {\n var _this = this;\n this.children = new linked_list_1.default();\n // Need to be reversed for if DOM nodes already in order\n [].slice\n .call(this.domNode.childNodes)\n .reverse()\n .forEach(function (node) {\n try {\n var child = makeBlot(node);\n _this.insertBefore(child, _this.children.head || undefined);\n }\n catch (err) {\n if (err instanceof Registry.ParchmentError)\n return;\n else\n throw err;\n }\n });\n };\n ContainerBlot.prototype.deleteAt = function (index, length) {\n if (index === 0 && length === this.length()) {\n return this.remove();\n }\n this.children.forEachAt(index, length, function (child, offset, length) {\n child.deleteAt(offset, length);\n });\n };\n ContainerBlot.prototype.descendant = function (criteria, index) {\n var _a = this.children.find(index), child = _a[0], offset = _a[1];\n if ((criteria.blotName == null && criteria(child)) ||\n (criteria.blotName != null && child instanceof criteria)) {\n return [child, offset];\n }\n else if (child instanceof ContainerBlot) {\n return child.descendant(criteria, offset);\n }\n else {\n return [null, -1];\n }\n };\n ContainerBlot.prototype.descendants = function (criteria, index, length) {\n if (index === void 0) { index = 0; }\n if (length === void 0) { length = Number.MAX_VALUE; }\n var descendants = [];\n var lengthLeft = length;\n this.children.forEachAt(index, length, function (child, index, length) {\n if ((criteria.blotName == null && criteria(child)) ||\n (criteria.blotName != null && child instanceof criteria)) {\n descendants.push(child);\n }\n if (child instanceof ContainerBlot) {\n descendants = descendants.concat(child.descendants(criteria, index, lengthLeft));\n }\n lengthLeft -= length;\n });\n return descendants;\n };\n ContainerBlot.prototype.detach = function () {\n this.children.forEach(function (child) {\n child.detach();\n });\n _super.prototype.detach.call(this);\n };\n ContainerBlot.prototype.formatAt = function (index, length, name, value) {\n this.children.forEachAt(index, length, function (child, offset, length) {\n child.formatAt(offset, length, name, value);\n });\n };\n ContainerBlot.prototype.insertAt = function (index, value, def) {\n var _a = this.children.find(index), child = _a[0], offset = _a[1];\n if (child) {\n child.insertAt(offset, value, def);\n }\n else {\n var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);\n this.appendChild(blot);\n }\n };\n ContainerBlot.prototype.insertBefore = function (childBlot, refBlot) {\n if (this.statics.allowedChildren != null &&\n !this.statics.allowedChildren.some(function (child) {\n return childBlot instanceof child;\n })) {\n throw new Registry.ParchmentError(\"Cannot insert \" + childBlot.statics.blotName + \" into \" + this.statics.blotName);\n }\n childBlot.insertInto(this, refBlot);\n };\n ContainerBlot.prototype.length = function () {\n return this.children.reduce(function (memo, child) {\n return memo + child.length();\n }, 0);\n };\n ContainerBlot.prototype.moveChildren = function (targetParent, refNode) {\n this.children.forEach(function (child) {\n targetParent.insertBefore(child, refNode);\n });\n };\n ContainerBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n if (this.children.length === 0) {\n if (this.statics.defaultChild != null) {\n var child = Registry.create(this.statics.defaultChild);\n this.appendChild(child);\n child.optimize(context);\n }\n else {\n this.remove();\n }\n }\n };\n ContainerBlot.prototype.path = function (index, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n var _a = this.children.find(index, inclusive), child = _a[0], offset = _a[1];\n var position = [[this, index]];\n if (child instanceof ContainerBlot) {\n return position.concat(child.path(offset, inclusive));\n }\n else if (child != null) {\n position.push([child, offset]);\n }\n return position;\n };\n ContainerBlot.prototype.removeChild = function (child) {\n this.children.remove(child);\n };\n ContainerBlot.prototype.replace = function (target) {\n if (target instanceof ContainerBlot) {\n target.moveChildren(this);\n }\n _super.prototype.replace.call(this, target);\n };\n ContainerBlot.prototype.split = function (index, force) {\n if (force === void 0) { force = false; }\n if (!force) {\n if (index === 0)\n return this;\n if (index === this.length())\n return this.next;\n }\n var after = this.clone();\n this.parent.insertBefore(after, this.next);\n this.children.forEachAt(index, this.length(), function (child, offset, length) {\n child = child.split(offset, force);\n after.appendChild(child);\n });\n return after;\n };\n ContainerBlot.prototype.unwrap = function () {\n this.moveChildren(this.parent, this.next);\n this.remove();\n };\n ContainerBlot.prototype.update = function (mutations, context) {\n var _this = this;\n var addedNodes = [];\n var removedNodes = [];\n mutations.forEach(function (mutation) {\n if (mutation.target === _this.domNode && mutation.type === 'childList') {\n addedNodes.push.apply(addedNodes, mutation.addedNodes);\n removedNodes.push.apply(removedNodes, mutation.removedNodes);\n }\n });\n removedNodes.forEach(function (node) {\n // Check node has actually been removed\n // One exception is Chrome does not immediately remove IFRAMEs\n // from DOM but MutationRecord is correct in its reported removal\n if (node.parentNode != null &&\n // @ts-ignore\n node.tagName !== 'IFRAME' &&\n document.body.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return;\n }\n var blot = Registry.find(node);\n if (blot == null)\n return;\n if (blot.domNode.parentNode == null || blot.domNode.parentNode === _this.domNode) {\n blot.detach();\n }\n });\n addedNodes\n .filter(function (node) {\n return node.parentNode == _this.domNode;\n })\n .sort(function (a, b) {\n if (a === b)\n return 0;\n if (a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING) {\n return 1;\n }\n return -1;\n })\n .forEach(function (node) {\n var refBlot = null;\n if (node.nextSibling != null) {\n refBlot = Registry.find(node.nextSibling);\n }\n var blot = makeBlot(node);\n if (blot.next != refBlot || blot.next == null) {\n if (blot.parent != null) {\n blot.parent.removeChild(_this);\n }\n _this.insertBefore(blot, refBlot || undefined);\n }\n });\n };\n return ContainerBlot;\n}(shadow_1.default));\nfunction makeBlot(node) {\n var blot = Registry.find(node);\n if (blot == null) {\n try {\n blot = Registry.create(node);\n }\n catch (e) {\n blot = Registry.create(Registry.Scope.INLINE);\n [].slice.call(node.childNodes).forEach(function (child) {\n // @ts-ignore\n blot.domNode.appendChild(child);\n });\n if (node.parentNode) {\n node.parentNode.replaceChild(blot.domNode, node);\n }\n blot.attach();\n }\n }\n return blot;\n}\nexports.default = ContainerBlot;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(1);\nvar store_1 = __webpack_require__(6);\nvar container_1 = __webpack_require__(2);\nvar Registry = __webpack_require__(0);\nvar FormatBlot = /** @class */ (function (_super) {\n __extends(FormatBlot, _super);\n function FormatBlot(domNode) {\n var _this = _super.call(this, domNode) || this;\n _this.attributes = new store_1.default(_this.domNode);\n return _this;\n }\n FormatBlot.formats = function (domNode) {\n if (typeof this.tagName === 'string') {\n return true;\n }\n else if (Array.isArray(this.tagName)) {\n return domNode.tagName.toLowerCase();\n }\n return undefined;\n };\n FormatBlot.prototype.format = function (name, value) {\n var format = Registry.query(name);\n if (format instanceof attributor_1.default) {\n this.attributes.attribute(format, value);\n }\n else if (value) {\n if (format != null && (name !== this.statics.blotName || this.formats()[name] !== value)) {\n this.replaceWith(name, value);\n }\n }\n };\n FormatBlot.prototype.formats = function () {\n var formats = this.attributes.values();\n var format = this.statics.formats(this.domNode);\n if (format != null) {\n formats[this.statics.blotName] = format;\n }\n return formats;\n };\n FormatBlot.prototype.replaceWith = function (name, value) {\n var replacement = _super.prototype.replaceWith.call(this, name, value);\n this.attributes.copy(replacement);\n return replacement;\n };\n FormatBlot.prototype.update = function (mutations, context) {\n var _this = this;\n _super.prototype.update.call(this, mutations, context);\n if (mutations.some(function (mutation) {\n return mutation.target === _this.domNode && mutation.type === 'attributes';\n })) {\n this.attributes.build();\n }\n };\n FormatBlot.prototype.wrap = function (name, value) {\n var wrapper = _super.prototype.wrap.call(this, name, value);\n if (wrapper instanceof FormatBlot && wrapper.statics.scope === this.statics.scope) {\n this.attributes.move(wrapper);\n }\n return wrapper;\n };\n return FormatBlot;\n}(container_1.default));\nexports.default = FormatBlot;\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar shadow_1 = __webpack_require__(5);\nvar Registry = __webpack_require__(0);\nvar LeafBlot = /** @class */ (function (_super) {\n __extends(LeafBlot, _super);\n function LeafBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LeafBlot.value = function (domNode) {\n return true;\n };\n LeafBlot.prototype.index = function (node, offset) {\n if (this.domNode === node ||\n this.domNode.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return Math.min(offset, 1);\n }\n return -1;\n };\n LeafBlot.prototype.position = function (index, inclusive) {\n var offset = [].indexOf.call(this.parent.domNode.childNodes, this.domNode);\n if (index > 0)\n offset += 1;\n return [this.parent.domNode, offset];\n };\n LeafBlot.prototype.value = function () {\n return _a = {}, _a[this.statics.blotName] = this.statics.value(this.domNode) || true, _a;\n var _a;\n };\n LeafBlot.scope = Registry.Scope.INLINE_BLOT;\n return LeafBlot;\n}(shadow_1.default));\nexports.default = LeafBlot;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Registry = __webpack_require__(0);\nvar ShadowBlot = /** @class */ (function () {\n function ShadowBlot(domNode) {\n this.domNode = domNode;\n // @ts-ignore\n this.domNode[Registry.DATA_KEY] = { blot: this };\n }\n Object.defineProperty(ShadowBlot.prototype, \"statics\", {\n // Hack for accessing inherited static methods\n get: function () {\n return this.constructor;\n },\n enumerable: true,\n configurable: true\n });\n ShadowBlot.create = function (value) {\n if (this.tagName == null) {\n throw new Registry.ParchmentError('Blot definition missing tagName');\n }\n var node;\n if (Array.isArray(this.tagName)) {\n if (typeof value === 'string') {\n value = value.toUpperCase();\n if (parseInt(value).toString() === value) {\n value = parseInt(value);\n }\n }\n if (typeof value === 'number') {\n node = document.createElement(this.tagName[value - 1]);\n }\n else if (this.tagName.indexOf(value) > -1) {\n node = document.createElement(value);\n }\n else {\n node = document.createElement(this.tagName[0]);\n }\n }\n else {\n node = document.createElement(this.tagName);\n }\n if (this.className) {\n node.classList.add(this.className);\n }\n return node;\n };\n ShadowBlot.prototype.attach = function () {\n if (this.parent != null) {\n this.scroll = this.parent.scroll;\n }\n };\n ShadowBlot.prototype.clone = function () {\n var domNode = this.domNode.cloneNode(false);\n return Registry.create(domNode);\n };\n ShadowBlot.prototype.detach = function () {\n if (this.parent != null)\n this.parent.removeChild(this);\n // @ts-ignore\n delete this.domNode[Registry.DATA_KEY];\n };\n ShadowBlot.prototype.deleteAt = function (index, length) {\n var blot = this.isolate(index, length);\n blot.remove();\n };\n ShadowBlot.prototype.formatAt = function (index, length, name, value) {\n var blot = this.isolate(index, length);\n if (Registry.query(name, Registry.Scope.BLOT) != null && value) {\n blot.wrap(name, value);\n }\n else if (Registry.query(name, Registry.Scope.ATTRIBUTE) != null) {\n var parent_1 = Registry.create(this.statics.scope);\n blot.wrap(parent_1);\n parent_1.format(name, value);\n }\n };\n ShadowBlot.prototype.insertAt = function (index, value, def) {\n var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);\n var ref = this.split(index);\n this.parent.insertBefore(blot, ref);\n };\n ShadowBlot.prototype.insertInto = function (parentBlot, refBlot) {\n if (refBlot === void 0) { refBlot = null; }\n if (this.parent != null) {\n this.parent.children.remove(this);\n }\n var refDomNode = null;\n parentBlot.children.insertBefore(this, refBlot);\n if (refBlot != null) {\n refDomNode = refBlot.domNode;\n }\n if (this.domNode.parentNode != parentBlot.domNode ||\n this.domNode.nextSibling != refDomNode) {\n parentBlot.domNode.insertBefore(this.domNode, refDomNode);\n }\n this.parent = parentBlot;\n this.attach();\n };\n ShadowBlot.prototype.isolate = function (index, length) {\n var target = this.split(index);\n target.split(length);\n return target;\n };\n ShadowBlot.prototype.length = function () {\n return 1;\n };\n ShadowBlot.prototype.offset = function (root) {\n if (root === void 0) { root = this.parent; }\n if (this.parent == null || this == root)\n return 0;\n return this.parent.children.offset(this) + this.parent.offset(root);\n };\n ShadowBlot.prototype.optimize = function (context) {\n // TODO clean up once we use WeakMap\n // @ts-ignore\n if (this.domNode[Registry.DATA_KEY] != null) {\n // @ts-ignore\n delete this.domNode[Registry.DATA_KEY].mutations;\n }\n };\n ShadowBlot.prototype.remove = function () {\n if (this.domNode.parentNode != null) {\n this.domNode.parentNode.removeChild(this.domNode);\n }\n this.detach();\n };\n ShadowBlot.prototype.replace = function (target) {\n if (target.parent == null)\n return;\n target.parent.insertBefore(this, target.next);\n target.remove();\n };\n ShadowBlot.prototype.replaceWith = function (name, value) {\n var replacement = typeof name === 'string' ? Registry.create(name, value) : name;\n replacement.replace(this);\n return replacement;\n };\n ShadowBlot.prototype.split = function (index, force) {\n return index === 0 ? this : this.next;\n };\n ShadowBlot.prototype.update = function (mutations, context) {\n // Nothing to do by default\n };\n ShadowBlot.prototype.wrap = function (name, value) {\n var wrapper = typeof name === 'string' ? Registry.create(name, value) : name;\n if (this.parent != null) {\n this.parent.insertBefore(wrapper, this.next);\n }\n wrapper.appendChild(this);\n return wrapper;\n };\n ShadowBlot.blotName = 'abstract';\n return ShadowBlot;\n}());\nexports.default = ShadowBlot;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(1);\nvar class_1 = __webpack_require__(7);\nvar style_1 = __webpack_require__(8);\nvar Registry = __webpack_require__(0);\nvar AttributorStore = /** @class */ (function () {\n function AttributorStore(domNode) {\n this.attributes = {};\n this.domNode = domNode;\n this.build();\n }\n AttributorStore.prototype.attribute = function (attribute, value) {\n // verb\n if (value) {\n if (attribute.add(this.domNode, value)) {\n if (attribute.value(this.domNode) != null) {\n this.attributes[attribute.attrName] = attribute;\n }\n else {\n delete this.attributes[attribute.attrName];\n }\n }\n }\n else {\n attribute.remove(this.domNode);\n delete this.attributes[attribute.attrName];\n }\n };\n AttributorStore.prototype.build = function () {\n var _this = this;\n this.attributes = {};\n var attributes = attributor_1.default.keys(this.domNode);\n var classes = class_1.default.keys(this.domNode);\n var styles = style_1.default.keys(this.domNode);\n attributes\n .concat(classes)\n .concat(styles)\n .forEach(function (name) {\n var attr = Registry.query(name, Registry.Scope.ATTRIBUTE);\n if (attr instanceof attributor_1.default) {\n _this.attributes[attr.attrName] = attr;\n }\n });\n };\n AttributorStore.prototype.copy = function (target) {\n var _this = this;\n Object.keys(this.attributes).forEach(function (key) {\n var value = _this.attributes[key].value(_this.domNode);\n target.format(key, value);\n });\n };\n AttributorStore.prototype.move = function (target) {\n var _this = this;\n this.copy(target);\n Object.keys(this.attributes).forEach(function (key) {\n _this.attributes[key].remove(_this.domNode);\n });\n this.attributes = {};\n };\n AttributorStore.prototype.values = function () {\n var _this = this;\n return Object.keys(this.attributes).reduce(function (attributes, name) {\n attributes[name] = _this.attributes[name].value(_this.domNode);\n return attributes;\n }, {});\n };\n return AttributorStore;\n}());\nexports.default = AttributorStore;\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(1);\nfunction match(node, prefix) {\n var className = node.getAttribute('class') || '';\n return className.split(/\\s+/).filter(function (name) {\n return name.indexOf(prefix + \"-\") === 0;\n });\n}\nvar ClassAttributor = /** @class */ (function (_super) {\n __extends(ClassAttributor, _super);\n function ClassAttributor() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ClassAttributor.keys = function (node) {\n return (node.getAttribute('class') || '').split(/\\s+/).map(function (name) {\n return name\n .split('-')\n .slice(0, -1)\n .join('-');\n });\n };\n ClassAttributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value))\n return false;\n this.remove(node);\n node.classList.add(this.keyName + \"-\" + value);\n return true;\n };\n ClassAttributor.prototype.remove = function (node) {\n var matches = match(node, this.keyName);\n matches.forEach(function (name) {\n node.classList.remove(name);\n });\n if (node.classList.length === 0) {\n node.removeAttribute('class');\n }\n };\n ClassAttributor.prototype.value = function (node) {\n var result = match(node, this.keyName)[0] || '';\n var value = result.slice(this.keyName.length + 1); // +1 for hyphen\n return this.canAdd(node, value) ? value : '';\n };\n return ClassAttributor;\n}(attributor_1.default));\nexports.default = ClassAttributor;\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(1);\nfunction camelize(name) {\n var parts = name.split('-');\n var rest = parts\n .slice(1)\n .map(function (part) {\n return part[0].toUpperCase() + part.slice(1);\n })\n .join('');\n return parts[0] + rest;\n}\nvar StyleAttributor = /** @class */ (function (_super) {\n __extends(StyleAttributor, _super);\n function StyleAttributor() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StyleAttributor.keys = function (node) {\n return (node.getAttribute('style') || '').split(';').map(function (value) {\n var arr = value.split(':');\n return arr[0].trim();\n });\n };\n StyleAttributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value))\n return false;\n // @ts-ignore\n node.style[camelize(this.keyName)] = value;\n return true;\n };\n StyleAttributor.prototype.remove = function (node) {\n // @ts-ignore\n node.style[camelize(this.keyName)] = '';\n if (!node.getAttribute('style')) {\n node.removeAttribute('style');\n }\n };\n StyleAttributor.prototype.value = function (node) {\n // @ts-ignore\n var value = node.style[camelize(this.keyName)];\n return this.canAdd(node, value) ? value : '';\n };\n return StyleAttributor;\n}(attributor_1.default));\nexports.default = StyleAttributor;\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(10);\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar container_1 = __webpack_require__(2);\nvar format_1 = __webpack_require__(3);\nvar leaf_1 = __webpack_require__(4);\nvar scroll_1 = __webpack_require__(12);\nvar inline_1 = __webpack_require__(13);\nvar block_1 = __webpack_require__(14);\nvar embed_1 = __webpack_require__(15);\nvar text_1 = __webpack_require__(16);\nvar attributor_1 = __webpack_require__(1);\nvar class_1 = __webpack_require__(7);\nvar style_1 = __webpack_require__(8);\nvar store_1 = __webpack_require__(6);\nvar Registry = __webpack_require__(0);\nvar Parchment = {\n Scope: Registry.Scope,\n create: Registry.create,\n find: Registry.find,\n query: Registry.query,\n register: Registry.register,\n Container: container_1.default,\n Format: format_1.default,\n Leaf: leaf_1.default,\n Embed: embed_1.default,\n Scroll: scroll_1.default,\n Block: block_1.default,\n Inline: inline_1.default,\n Text: text_1.default,\n Attributor: {\n Attribute: attributor_1.default,\n Class: class_1.default,\n Style: style_1.default,\n Store: store_1.default,\n },\n};\nexports.default = Parchment;\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar LinkedList = /** @class */ (function () {\n function LinkedList() {\n this.head = this.tail = null;\n this.length = 0;\n }\n LinkedList.prototype.append = function () {\n var nodes = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n nodes[_i] = arguments[_i];\n }\n this.insertBefore(nodes[0], null);\n if (nodes.length > 1) {\n this.append.apply(this, nodes.slice(1));\n }\n };\n LinkedList.prototype.contains = function (node) {\n var cur, next = this.iterator();\n while ((cur = next())) {\n if (cur === node)\n return true;\n }\n return false;\n };\n LinkedList.prototype.insertBefore = function (node, refNode) {\n if (!node)\n return;\n node.next = refNode;\n if (refNode != null) {\n node.prev = refNode.prev;\n if (refNode.prev != null) {\n refNode.prev.next = node;\n }\n refNode.prev = node;\n if (refNode === this.head) {\n this.head = node;\n }\n }\n else if (this.tail != null) {\n this.tail.next = node;\n node.prev = this.tail;\n this.tail = node;\n }\n else {\n node.prev = null;\n this.head = this.tail = node;\n }\n this.length += 1;\n };\n LinkedList.prototype.offset = function (target) {\n var index = 0, cur = this.head;\n while (cur != null) {\n if (cur === target)\n return index;\n index += cur.length();\n cur = cur.next;\n }\n return -1;\n };\n LinkedList.prototype.remove = function (node) {\n if (!this.contains(node))\n return;\n if (node.prev != null)\n node.prev.next = node.next;\n if (node.next != null)\n node.next.prev = node.prev;\n if (node === this.head)\n this.head = node.next;\n if (node === this.tail)\n this.tail = node.prev;\n this.length -= 1;\n };\n LinkedList.prototype.iterator = function (curNode) {\n if (curNode === void 0) { curNode = this.head; }\n // TODO use yield when we can\n return function () {\n var ret = curNode;\n if (curNode != null)\n curNode = curNode.next;\n return ret;\n };\n };\n LinkedList.prototype.find = function (index, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n var cur, next = this.iterator();\n while ((cur = next())) {\n var length_1 = cur.length();\n if (index < length_1 ||\n (inclusive && index === length_1 && (cur.next == null || cur.next.length() !== 0))) {\n return [cur, index];\n }\n index -= length_1;\n }\n return [null, 0];\n };\n LinkedList.prototype.forEach = function (callback) {\n var cur, next = this.iterator();\n while ((cur = next())) {\n callback(cur);\n }\n };\n LinkedList.prototype.forEachAt = function (index, length, callback) {\n if (length <= 0)\n return;\n var _a = this.find(index), startNode = _a[0], offset = _a[1];\n var cur, curIndex = index - offset, next = this.iterator(startNode);\n while ((cur = next()) && curIndex < index + length) {\n var curLength = cur.length();\n if (index > curIndex) {\n callback(cur, index - curIndex, Math.min(length, curIndex + curLength - index));\n }\n else {\n callback(cur, 0, Math.min(curLength, index + length - curIndex));\n }\n curIndex += curLength;\n }\n };\n LinkedList.prototype.map = function (callback) {\n return this.reduce(function (memo, cur) {\n memo.push(callback(cur));\n return memo;\n }, []);\n };\n LinkedList.prototype.reduce = function (callback, memo) {\n var cur, next = this.iterator();\n while ((cur = next())) {\n memo = callback(memo, cur);\n }\n return memo;\n };\n return LinkedList;\n}());\nexports.default = LinkedList;\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar container_1 = __webpack_require__(2);\nvar Registry = __webpack_require__(0);\nvar OBSERVER_CONFIG = {\n attributes: true,\n characterData: true,\n characterDataOldValue: true,\n childList: true,\n subtree: true,\n};\nvar MAX_OPTIMIZE_ITERATIONS = 100;\nvar ScrollBlot = /** @class */ (function (_super) {\n __extends(ScrollBlot, _super);\n function ScrollBlot(node) {\n var _this = _super.call(this, node) || this;\n _this.scroll = _this;\n _this.observer = new MutationObserver(function (mutations) {\n _this.update(mutations);\n });\n _this.observer.observe(_this.domNode, OBSERVER_CONFIG);\n _this.attach();\n return _this;\n }\n ScrollBlot.prototype.detach = function () {\n _super.prototype.detach.call(this);\n this.observer.disconnect();\n };\n ScrollBlot.prototype.deleteAt = function (index, length) {\n this.update();\n if (index === 0 && length === this.length()) {\n this.children.forEach(function (child) {\n child.remove();\n });\n }\n else {\n _super.prototype.deleteAt.call(this, index, length);\n }\n };\n ScrollBlot.prototype.formatAt = function (index, length, name, value) {\n this.update();\n _super.prototype.formatAt.call(this, index, length, name, value);\n };\n ScrollBlot.prototype.insertAt = function (index, value, def) {\n this.update();\n _super.prototype.insertAt.call(this, index, value, def);\n };\n ScrollBlot.prototype.optimize = function (mutations, context) {\n var _this = this;\n if (mutations === void 0) { mutations = []; }\n if (context === void 0) { context = {}; }\n _super.prototype.optimize.call(this, context);\n // We must modify mutations directly, cannot make copy and then modify\n var records = [].slice.call(this.observer.takeRecords());\n // Array.push currently seems to be implemented by a non-tail recursive function\n // so we cannot just mutations.push.apply(mutations, this.observer.takeRecords());\n while (records.length > 0)\n mutations.push(records.pop());\n // TODO use WeakMap\n var mark = function (blot, markParent) {\n if (markParent === void 0) { markParent = true; }\n if (blot == null || blot === _this)\n return;\n if (blot.domNode.parentNode == null)\n return;\n // @ts-ignore\n if (blot.domNode[Registry.DATA_KEY].mutations == null) {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations = [];\n }\n if (markParent)\n mark(blot.parent);\n };\n var optimize = function (blot) {\n // Post-order traversal\n if (\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY] == null ||\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations == null) {\n return;\n }\n if (blot instanceof container_1.default) {\n blot.children.forEach(optimize);\n }\n blot.optimize(context);\n };\n var remaining = mutations;\n for (var i = 0; remaining.length > 0; i += 1) {\n if (i >= MAX_OPTIMIZE_ITERATIONS) {\n throw new Error('[Parchment] Maximum optimize iterations reached');\n }\n remaining.forEach(function (mutation) {\n var blot = Registry.find(mutation.target, true);\n if (blot == null)\n return;\n if (blot.domNode === mutation.target) {\n if (mutation.type === 'childList') {\n mark(Registry.find(mutation.previousSibling, false));\n [].forEach.call(mutation.addedNodes, function (node) {\n var child = Registry.find(node, false);\n mark(child, false);\n if (child instanceof container_1.default) {\n child.children.forEach(function (grandChild) {\n mark(grandChild, false);\n });\n }\n });\n }\n else if (mutation.type === 'attributes') {\n mark(blot.prev);\n }\n }\n mark(blot);\n });\n this.children.forEach(optimize);\n remaining = [].slice.call(this.observer.takeRecords());\n records = remaining.slice();\n while (records.length > 0)\n mutations.push(records.pop());\n }\n };\n ScrollBlot.prototype.update = function (mutations, context) {\n var _this = this;\n if (context === void 0) { context = {}; }\n mutations = mutations || this.observer.takeRecords();\n // TODO use WeakMap\n mutations\n .map(function (mutation) {\n var blot = Registry.find(mutation.target, true);\n if (blot == null)\n return null;\n // @ts-ignore\n if (blot.domNode[Registry.DATA_KEY].mutations == null) {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations = [mutation];\n return blot;\n }\n else {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations.push(mutation);\n return null;\n }\n })\n .forEach(function (blot) {\n if (blot == null ||\n blot === _this ||\n //@ts-ignore\n blot.domNode[Registry.DATA_KEY] == null)\n return;\n // @ts-ignore\n blot.update(blot.domNode[Registry.DATA_KEY].mutations || [], context);\n });\n // @ts-ignore\n if (this.domNode[Registry.DATA_KEY].mutations != null) {\n // @ts-ignore\n _super.prototype.update.call(this, this.domNode[Registry.DATA_KEY].mutations, context);\n }\n this.optimize(mutations, context);\n };\n ScrollBlot.blotName = 'scroll';\n ScrollBlot.defaultChild = 'block';\n ScrollBlot.scope = Registry.Scope.BLOCK_BLOT;\n ScrollBlot.tagName = 'DIV';\n return ScrollBlot;\n}(container_1.default));\nexports.default = ScrollBlot;\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar format_1 = __webpack_require__(3);\nvar Registry = __webpack_require__(0);\n// Shallow object comparison\nfunction isEqual(obj1, obj2) {\n if (Object.keys(obj1).length !== Object.keys(obj2).length)\n return false;\n // @ts-ignore\n for (var prop in obj1) {\n // @ts-ignore\n if (obj1[prop] !== obj2[prop])\n return false;\n }\n return true;\n}\nvar InlineBlot = /** @class */ (function (_super) {\n __extends(InlineBlot, _super);\n function InlineBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n InlineBlot.formats = function (domNode) {\n if (domNode.tagName === InlineBlot.tagName)\n return undefined;\n return _super.formats.call(this, domNode);\n };\n InlineBlot.prototype.format = function (name, value) {\n var _this = this;\n if (name === this.statics.blotName && !value) {\n this.children.forEach(function (child) {\n if (!(child instanceof format_1.default)) {\n child = child.wrap(InlineBlot.blotName, true);\n }\n _this.attributes.copy(child);\n });\n this.unwrap();\n }\n else {\n _super.prototype.format.call(this, name, value);\n }\n };\n InlineBlot.prototype.formatAt = function (index, length, name, value) {\n if (this.formats()[name] != null || Registry.query(name, Registry.Scope.ATTRIBUTE)) {\n var blot = this.isolate(index, length);\n blot.format(name, value);\n }\n else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n InlineBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n var formats = this.formats();\n if (Object.keys(formats).length === 0) {\n return this.unwrap(); // unformatted span\n }\n var next = this.next;\n if (next instanceof InlineBlot && next.prev === this && isEqual(formats, next.formats())) {\n next.moveChildren(this);\n next.remove();\n }\n };\n InlineBlot.blotName = 'inline';\n InlineBlot.scope = Registry.Scope.INLINE_BLOT;\n InlineBlot.tagName = 'SPAN';\n return InlineBlot;\n}(format_1.default));\nexports.default = InlineBlot;\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar format_1 = __webpack_require__(3);\nvar Registry = __webpack_require__(0);\nvar BlockBlot = /** @class */ (function (_super) {\n __extends(BlockBlot, _super);\n function BlockBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BlockBlot.formats = function (domNode) {\n var tagName = Registry.query(BlockBlot.blotName).tagName;\n if (domNode.tagName === tagName)\n return undefined;\n return _super.formats.call(this, domNode);\n };\n BlockBlot.prototype.format = function (name, value) {\n if (Registry.query(name, Registry.Scope.BLOCK) == null) {\n return;\n }\n else if (name === this.statics.blotName && !value) {\n this.replaceWith(BlockBlot.blotName);\n }\n else {\n _super.prototype.format.call(this, name, value);\n }\n };\n BlockBlot.prototype.formatAt = function (index, length, name, value) {\n if (Registry.query(name, Registry.Scope.BLOCK) != null) {\n this.format(name, value);\n }\n else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n BlockBlot.prototype.insertAt = function (index, value, def) {\n if (def == null || Registry.query(value, Registry.Scope.INLINE) != null) {\n // Insert text or inline\n _super.prototype.insertAt.call(this, index, value, def);\n }\n else {\n var after = this.split(index);\n var blot = Registry.create(value, def);\n after.parent.insertBefore(blot, after);\n }\n };\n BlockBlot.prototype.update = function (mutations, context) {\n if (navigator.userAgent.match(/Trident/)) {\n this.build();\n }\n else {\n _super.prototype.update.call(this, mutations, context);\n }\n };\n BlockBlot.blotName = 'block';\n BlockBlot.scope = Registry.Scope.BLOCK_BLOT;\n BlockBlot.tagName = 'P';\n return BlockBlot;\n}(format_1.default));\nexports.default = BlockBlot;\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar leaf_1 = __webpack_require__(4);\nvar EmbedBlot = /** @class */ (function (_super) {\n __extends(EmbedBlot, _super);\n function EmbedBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n EmbedBlot.formats = function (domNode) {\n return undefined;\n };\n EmbedBlot.prototype.format = function (name, value) {\n // super.formatAt wraps, which is what we want in general,\n // but this allows subclasses to overwrite for formats\n // that just apply to particular embeds\n _super.prototype.formatAt.call(this, 0, this.length(), name, value);\n };\n EmbedBlot.prototype.formatAt = function (index, length, name, value) {\n if (index === 0 && length === this.length()) {\n this.format(name, value);\n }\n else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n EmbedBlot.prototype.formats = function () {\n return this.statics.formats(this.domNode);\n };\n return EmbedBlot;\n}(leaf_1.default));\nexports.default = EmbedBlot;\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar leaf_1 = __webpack_require__(4);\nvar Registry = __webpack_require__(0);\nvar TextBlot = /** @class */ (function (_super) {\n __extends(TextBlot, _super);\n function TextBlot(node) {\n var _this = _super.call(this, node) || this;\n _this.text = _this.statics.value(_this.domNode);\n return _this;\n }\n TextBlot.create = function (value) {\n return document.createTextNode(value);\n };\n TextBlot.value = function (domNode) {\n var text = domNode.data;\n // @ts-ignore\n if (text['normalize'])\n text = text['normalize']();\n return text;\n };\n TextBlot.prototype.deleteAt = function (index, length) {\n this.domNode.data = this.text = this.text.slice(0, index) + this.text.slice(index + length);\n };\n TextBlot.prototype.index = function (node, offset) {\n if (this.domNode === node) {\n return offset;\n }\n return -1;\n };\n TextBlot.prototype.insertAt = function (index, value, def) {\n if (def == null) {\n this.text = this.text.slice(0, index) + value + this.text.slice(index);\n this.domNode.data = this.text;\n }\n else {\n _super.prototype.insertAt.call(this, index, value, def);\n }\n };\n TextBlot.prototype.length = function () {\n return this.text.length;\n };\n TextBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n this.text = this.statics.value(this.domNode);\n if (this.text.length === 0) {\n this.remove();\n }\n else if (this.next instanceof TextBlot && this.next.prev === this) {\n this.insertAt(this.length(), this.next.value());\n this.next.remove();\n }\n };\n TextBlot.prototype.position = function (index, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n return [this.domNode, index];\n };\n TextBlot.prototype.split = function (index, force) {\n if (force === void 0) { force = false; }\n if (!force) {\n if (index === 0)\n return this;\n if (index === this.length())\n return this.next;\n }\n var after = Registry.create(this.domNode.splitText(index));\n this.parent.insertBefore(after, this.next);\n this.text = this.statics.value(this.domNode);\n return after;\n };\n TextBlot.prototype.update = function (mutations, context) {\n var _this = this;\n if (mutations.some(function (mutation) {\n return mutation.type === 'characterData' && mutation.target === _this.domNode;\n })) {\n this.text = this.statics.value(this.domNode);\n }\n };\n TextBlot.prototype.value = function () {\n return this.text;\n };\n TextBlot.blotName = 'text';\n TextBlot.scope = Registry.Scope.INLINE_BLOT;\n return TextBlot;\n}(leaf_1.default));\nexports.default = TextBlot;\n\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=parchment.js.map","var diff = require('fast-diff');\nvar equal = require('deep-equal');\nvar extend = require('extend');\nvar op = require('./op');\n\n\nvar NULL_CHARACTER = String.fromCharCode(0); // Placeholder char for embed in diff()\n\n\nvar Delta = function (ops) {\n // Assume we are given a well formed ops\n if (Array.isArray(ops)) {\n this.ops = ops;\n } else if (ops != null && Array.isArray(ops.ops)) {\n this.ops = ops.ops;\n } else {\n this.ops = [];\n }\n};\n\n\nDelta.prototype.insert = function (text, attributes) {\n var newOp = {};\n if (text.length === 0) return this;\n newOp.insert = text;\n if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n};\n\nDelta.prototype['delete'] = function (length) {\n if (length <= 0) return this;\n return this.push({ 'delete': length });\n};\n\nDelta.prototype.retain = function (length, attributes) {\n if (length <= 0) return this;\n var newOp = { retain: length };\n if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n};\n\nDelta.prototype.push = function (newOp) {\n var index = this.ops.length;\n var lastOp = this.ops[index - 1];\n newOp = extend(true, {}, newOp);\n if (typeof lastOp === 'object') {\n if (typeof newOp['delete'] === 'number' && typeof lastOp['delete'] === 'number') {\n this.ops[index - 1] = { 'delete': lastOp['delete'] + newOp['delete'] };\n return this;\n }\n // Since it does not matter if we insert before or after deleting at the same index,\n // always prefer to insert first\n if (typeof lastOp['delete'] === 'number' && newOp.insert != null) {\n index -= 1;\n lastOp = this.ops[index - 1];\n if (typeof lastOp !== 'object') {\n this.ops.unshift(newOp);\n return this;\n }\n }\n if (equal(newOp.attributes, lastOp.attributes)) {\n if (typeof newOp.insert === 'string' && typeof lastOp.insert === 'string') {\n this.ops[index - 1] = { insert: lastOp.insert + newOp.insert };\n if (typeof newOp.attributes === 'object') this.ops[index - 1].attributes = newOp.attributes\n return this;\n } else if (typeof newOp.retain === 'number' && typeof lastOp.retain === 'number') {\n this.ops[index - 1] = { retain: lastOp.retain + newOp.retain };\n if (typeof newOp.attributes === 'object') this.ops[index - 1].attributes = newOp.attributes\n return this;\n }\n }\n }\n if (index === this.ops.length) {\n this.ops.push(newOp);\n } else {\n this.ops.splice(index, 0, newOp);\n }\n return this;\n};\n\nDelta.prototype.chop = function () {\n var lastOp = this.ops[this.ops.length - 1];\n if (lastOp && lastOp.retain && !lastOp.attributes) {\n this.ops.pop();\n }\n return this;\n};\n\nDelta.prototype.filter = function (predicate) {\n return this.ops.filter(predicate);\n};\n\nDelta.prototype.forEach = function (predicate) {\n this.ops.forEach(predicate);\n};\n\nDelta.prototype.map = function (predicate) {\n return this.ops.map(predicate);\n};\n\nDelta.prototype.partition = function (predicate) {\n var passed = [], failed = [];\n this.forEach(function(op) {\n var target = predicate(op) ? passed : failed;\n target.push(op);\n });\n return [passed, failed];\n};\n\nDelta.prototype.reduce = function (predicate, initial) {\n return this.ops.reduce(predicate, initial);\n};\n\nDelta.prototype.changeLength = function () {\n return this.reduce(function (length, elem) {\n if (elem.insert) {\n return length + op.length(elem);\n } else if (elem.delete) {\n return length - elem.delete;\n }\n return length;\n }, 0);\n};\n\nDelta.prototype.length = function () {\n return this.reduce(function (length, elem) {\n return length + op.length(elem);\n }, 0);\n};\n\nDelta.prototype.slice = function (start, end) {\n start = start || 0;\n if (typeof end !== 'number') end = Infinity;\n var ops = [];\n var iter = op.iterator(this.ops);\n var index = 0;\n while (index < end && iter.hasNext()) {\n var nextOp;\n if (index < start) {\n nextOp = iter.next(start - index);\n } else {\n nextOp = iter.next(end - index);\n ops.push(nextOp);\n }\n index += op.length(nextOp);\n }\n return new Delta(ops);\n};\n\n\nDelta.prototype.compose = function (other) {\n var thisIter = op.iterator(this.ops);\n var otherIter = op.iterator(other.ops);\n var ops = [];\n var firstOther = otherIter.peek();\n if (firstOther != null && typeof firstOther.retain === 'number' && firstOther.attributes == null) {\n var firstLeft = firstOther.retain;\n while (thisIter.peekType() === 'insert' && thisIter.peekLength() <= firstLeft) {\n firstLeft -= thisIter.peekLength();\n ops.push(thisIter.next());\n }\n if (firstOther.retain - firstLeft > 0) {\n otherIter.next(firstOther.retain - firstLeft);\n }\n }\n var delta = new Delta(ops);\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n } else if (thisIter.peekType() === 'delete') {\n delta.push(thisIter.next());\n } else {\n var length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n var thisOp = thisIter.next(length);\n var otherOp = otherIter.next(length);\n if (typeof otherOp.retain === 'number') {\n var newOp = {};\n if (typeof thisOp.retain === 'number') {\n newOp.retain = length;\n } else {\n newOp.insert = thisOp.insert;\n }\n // Preserve null when composing with a retain, otherwise remove it for inserts\n var attributes = op.attributes.compose(thisOp.attributes, otherOp.attributes, typeof thisOp.retain === 'number');\n if (attributes) newOp.attributes = attributes;\n delta.push(newOp);\n\n // Optimization if rest of other is just retain\n if (!otherIter.hasNext() && equal(delta.ops[delta.ops.length - 1], newOp)) {\n var rest = new Delta(thisIter.rest());\n return delta.concat(rest).chop();\n }\n\n // Other op should be delete, we could be an insert or retain\n // Insert + delete cancels out\n } else if (typeof otherOp['delete'] === 'number' && typeof thisOp.retain === 'number') {\n delta.push(otherOp);\n }\n }\n }\n return delta.chop();\n};\n\nDelta.prototype.concat = function (other) {\n var delta = new Delta(this.ops.slice());\n if (other.ops.length > 0) {\n delta.push(other.ops[0]);\n delta.ops = delta.ops.concat(other.ops.slice(1));\n }\n return delta;\n};\n\nDelta.prototype.diff = function (other, index) {\n if (this.ops === other.ops) {\n return new Delta();\n }\n var strings = [this, other].map(function (delta) {\n return delta.map(function (op) {\n if (op.insert != null) {\n return typeof op.insert === 'string' ? op.insert : NULL_CHARACTER;\n }\n var prep = (delta === other) ? 'on' : 'with';\n throw new Error('diff() called ' + prep + ' non-document');\n }).join('');\n });\n var delta = new Delta();\n var diffResult = diff(strings[0], strings[1], index);\n var thisIter = op.iterator(this.ops);\n var otherIter = op.iterator(other.ops);\n diffResult.forEach(function (component) {\n var length = component[1].length;\n while (length > 0) {\n var opLength = 0;\n switch (component[0]) {\n case diff.INSERT:\n opLength = Math.min(otherIter.peekLength(), length);\n delta.push(otherIter.next(opLength));\n break;\n case diff.DELETE:\n opLength = Math.min(length, thisIter.peekLength());\n thisIter.next(opLength);\n delta['delete'](opLength);\n break;\n case diff.EQUAL:\n opLength = Math.min(thisIter.peekLength(), otherIter.peekLength(), length);\n var thisOp = thisIter.next(opLength);\n var otherOp = otherIter.next(opLength);\n if (equal(thisOp.insert, otherOp.insert)) {\n delta.retain(opLength, op.attributes.diff(thisOp.attributes, otherOp.attributes));\n } else {\n delta.push(otherOp)['delete'](opLength);\n }\n break;\n }\n length -= opLength;\n }\n });\n return delta.chop();\n};\n\nDelta.prototype.eachLine = function (predicate, newline) {\n newline = newline || '\\n';\n var iter = op.iterator(this.ops);\n var line = new Delta();\n var i = 0;\n while (iter.hasNext()) {\n if (iter.peekType() !== 'insert') return;\n var thisOp = iter.peek();\n var start = op.length(thisOp) - iter.peekLength();\n var index = typeof thisOp.insert === 'string' ?\n thisOp.insert.indexOf(newline, start) - start : -1;\n if (index < 0) {\n line.push(iter.next());\n } else if (index > 0) {\n line.push(iter.next(index));\n } else {\n if (predicate(line, iter.next(1).attributes || {}, i) === false) {\n return;\n }\n i += 1;\n line = new Delta();\n }\n }\n if (line.length() > 0) {\n predicate(line, {}, i);\n }\n};\n\nDelta.prototype.transform = function (other, priority) {\n priority = !!priority;\n if (typeof other === 'number') {\n return this.transformPosition(other, priority);\n }\n var thisIter = op.iterator(this.ops);\n var otherIter = op.iterator(other.ops);\n var delta = new Delta();\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (thisIter.peekType() === 'insert' && (priority || otherIter.peekType() !== 'insert')) {\n delta.retain(op.length(thisIter.next()));\n } else if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n } else {\n var length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n var thisOp = thisIter.next(length);\n var otherOp = otherIter.next(length);\n if (thisOp['delete']) {\n // Our delete either makes their delete redundant or removes their retain\n continue;\n } else if (otherOp['delete']) {\n delta.push(otherOp);\n } else {\n // We retain either their retain or insert\n delta.retain(length, op.attributes.transform(thisOp.attributes, otherOp.attributes, priority));\n }\n }\n }\n return delta.chop();\n};\n\nDelta.prototype.transformPosition = function (index, priority) {\n priority = !!priority;\n var thisIter = op.iterator(this.ops);\n var offset = 0;\n while (thisIter.hasNext() && offset <= index) {\n var length = thisIter.peekLength();\n var nextType = thisIter.peekType();\n thisIter.next();\n if (nextType === 'delete') {\n index -= Math.min(length, index - offset);\n continue;\n } else if (nextType === 'insert' && (offset < index || !priority)) {\n index += length;\n }\n offset += length;\n }\n return index;\n};\n\n\nmodule.exports = Delta;\n","var equal = require('deep-equal');\nvar extend = require('extend');\n\n\nvar lib = {\n attributes: {\n compose: function (a, b, keepNull) {\n if (typeof a !== 'object') a = {};\n if (typeof b !== 'object') b = {};\n var attributes = extend(true, {}, b);\n if (!keepNull) {\n attributes = Object.keys(attributes).reduce(function (copy, key) {\n if (attributes[key] != null) {\n copy[key] = attributes[key];\n }\n return copy;\n }, {});\n }\n for (var key in a) {\n if (a[key] !== undefined && b[key] === undefined) {\n attributes[key] = a[key];\n }\n }\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n },\n\n diff: function(a, b) {\n if (typeof a !== 'object') a = {};\n if (typeof b !== 'object') b = {};\n var attributes = Object.keys(a).concat(Object.keys(b)).reduce(function (attributes, key) {\n if (!equal(a[key], b[key])) {\n attributes[key] = b[key] === undefined ? null : b[key];\n }\n return attributes;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n },\n\n transform: function (a, b, priority) {\n if (typeof a !== 'object') return b;\n if (typeof b !== 'object') return undefined;\n if (!priority) return b; // b simply overwrites us without priority\n var attributes = Object.keys(b).reduce(function (attributes, key) {\n if (a[key] === undefined) attributes[key] = b[key]; // null is a valid value\n return attributes;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n }\n },\n\n iterator: function (ops) {\n return new Iterator(ops);\n },\n\n length: function (op) {\n if (typeof op['delete'] === 'number') {\n return op['delete'];\n } else if (typeof op.retain === 'number') {\n return op.retain;\n } else {\n return typeof op.insert === 'string' ? op.insert.length : 1;\n }\n }\n};\n\n\nfunction Iterator(ops) {\n this.ops = ops;\n this.index = 0;\n this.offset = 0;\n};\n\nIterator.prototype.hasNext = function () {\n return this.peekLength() < Infinity;\n};\n\nIterator.prototype.next = function (length) {\n if (!length) length = Infinity;\n var nextOp = this.ops[this.index];\n if (nextOp) {\n var offset = this.offset;\n var opLength = lib.length(nextOp)\n if (length >= opLength - offset) {\n length = opLength - offset;\n this.index += 1;\n this.offset = 0;\n } else {\n this.offset += length;\n }\n if (typeof nextOp['delete'] === 'number') {\n return { 'delete': length };\n } else {\n var retOp = {};\n if (nextOp.attributes) {\n retOp.attributes = nextOp.attributes;\n }\n if (typeof nextOp.retain === 'number') {\n retOp.retain = length;\n } else if (typeof nextOp.insert === 'string') {\n retOp.insert = nextOp.insert.substr(offset, length);\n } else {\n // offset should === 0, length should === 1\n retOp.insert = nextOp.insert;\n }\n return retOp;\n }\n } else {\n return { retain: Infinity };\n }\n};\n\nIterator.prototype.peek = function () {\n return this.ops[this.index];\n};\n\nIterator.prototype.peekLength = function () {\n if (this.ops[this.index]) {\n // Should never return 0 if our index is being managed correctly\n return lib.length(this.ops[this.index]) - this.offset;\n } else {\n return Infinity;\n }\n};\n\nIterator.prototype.peekType = function () {\n if (this.ops[this.index]) {\n if (typeof this.ops[this.index]['delete'] === 'number') {\n return 'delete';\n } else if (typeof this.ops[this.index].retain === 'number') {\n return 'retain';\n } else {\n return 'insert';\n }\n }\n return 'retain';\n};\n\nIterator.prototype.rest = function () {\n if (!this.hasNext()) {\n return [];\n } else if (this.offset === 0) {\n return this.ops.slice(this.index);\n } else {\n var offset = this.offset;\n var index = this.index;\n var next = this.next();\n var rest = this.ops.slice(this.index);\n this.offset = offset;\n this.index = index;\n return [next].concat(rest);\n }\n};\n\n\nmodule.exports = lib;\n","import Parchment from 'parchment';\n\n\nclass Break extends Parchment.Embed {\n static value() {\n return undefined;\n }\n\n insertInto(parent, ref) {\n if (parent.children.length === 0) {\n super.insertInto(parent, ref);\n } else {\n this.remove();\n }\n }\n\n length() {\n return 0;\n }\n\n value() {\n return '';\n }\n}\nBreak.blotName = 'break';\nBreak.tagName = 'BR';\n\n\nexport default Break;\n","import extend from 'extend';\nimport Delta from 'quill-delta';\nimport Parchment from 'parchment';\nimport Break from './break';\nimport Inline from './inline';\nimport TextBlot from './text';\n\n\nconst NEWLINE_LENGTH = 1;\n\n\nclass BlockEmbed extends Parchment.Embed {\n attach() {\n super.attach();\n this.attributes = new Parchment.Attributor.Store(this.domNode);\n }\n\n delta() {\n return new Delta().insert(this.value(), extend(this.formats(), this.attributes.values()));\n }\n\n format(name, value) {\n let attribute = Parchment.query(name, Parchment.Scope.BLOCK_ATTRIBUTE);\n if (attribute != null) {\n this.attributes.attribute(attribute, value);\n }\n }\n\n formatAt(index, length, name, value) {\n this.format(name, value);\n }\n\n insertAt(index, value, def) {\n if (typeof value === 'string' && value.endsWith('\\n')) {\n let block = Parchment.create(Block.blotName);\n this.parent.insertBefore(block, index === 0 ? this : this.next);\n block.insertAt(0, value.slice(0, -1));\n } else {\n super.insertAt(index, value, def);\n }\n }\n}\nBlockEmbed.scope = Parchment.Scope.BLOCK_BLOT;\n// It is important for cursor behavior BlockEmbeds use tags that are block level elements\n\n\nclass Block extends Parchment.Block {\n constructor(domNode) {\n super(domNode);\n this.cache = {};\n }\n\n delta() {\n if (this.cache.delta == null) {\n this.cache.delta = this.descendants(Parchment.Leaf).reduce((delta, leaf) => {\n if (leaf.length() === 0) {\n return delta;\n } else {\n return delta.insert(leaf.value(), bubbleFormats(leaf));\n }\n }, new Delta()).insert('\\n', bubbleFormats(this));\n }\n return this.cache.delta;\n }\n\n deleteAt(index, length) {\n super.deleteAt(index, length);\n this.cache = {};\n }\n\n formatAt(index, length, name, value) {\n if (length <= 0) return;\n if (Parchment.query(name, Parchment.Scope.BLOCK)) {\n if (index + length === this.length()) {\n this.format(name, value);\n }\n } else {\n super.formatAt(index, Math.min(length, this.length() - index - 1), name, value);\n }\n this.cache = {};\n }\n\n insertAt(index, value, def) {\n if (def != null) return super.insertAt(index, value, def);\n if (value.length === 0) return;\n let lines = value.split('\\n');\n let text = lines.shift();\n if (text.length > 0) {\n if (index < this.length() - 1 || this.children.tail == null) {\n super.insertAt(Math.min(index, this.length() - 1), text);\n } else {\n this.children.tail.insertAt(this.children.tail.length(), text);\n }\n this.cache = {};\n }\n let block = this;\n lines.reduce(function(index, line) {\n block = block.split(index, true);\n block.insertAt(0, line);\n return line.length;\n }, index + text.length);\n }\n\n insertBefore(blot, ref) {\n let head = this.children.head;\n super.insertBefore(blot, ref);\n if (head instanceof Break) {\n head.remove();\n }\n this.cache = {};\n }\n\n length() {\n if (this.cache.length == null) {\n this.cache.length = super.length() + NEWLINE_LENGTH;\n }\n return this.cache.length;\n }\n\n moveChildren(target, ref) {\n super.moveChildren(target, ref);\n this.cache = {};\n }\n\n optimize(context) {\n super.optimize(context);\n this.cache = {};\n }\n\n path(index) {\n return super.path(index, true);\n }\n\n removeChild(child) {\n super.removeChild(child);\n this.cache = {};\n }\n\n split(index, force = false) {\n if (force && (index === 0 || index >= this.length() - NEWLINE_LENGTH)) {\n let clone = this.clone();\n if (index === 0) {\n this.parent.insertBefore(clone, this);\n return this;\n } else {\n this.parent.insertBefore(clone, this.next);\n return clone;\n }\n } else {\n let next = super.split(index, force);\n this.cache = {};\n return next;\n }\n }\n}\nBlock.blotName = 'block';\nBlock.tagName = 'P';\nBlock.defaultChild = 'break';\nBlock.allowedChildren = [Inline, Parchment.Embed, TextBlot];\n\n\nfunction bubbleFormats(blot, formats = {}) {\n if (blot == null) return formats;\n if (typeof blot.formats === 'function') {\n formats = extend(formats, blot.formats());\n }\n if (blot.parent == null || blot.parent.blotName == 'scroll' || blot.parent.statics.scope !== blot.statics.scope) {\n return formats;\n }\n return bubbleFormats(blot.parent, formats);\n}\n\n\nexport { bubbleFormats, BlockEmbed, Block as default };\n","import Text from './text';\nimport Parchment from 'parchment';\n\n\nclass Inline extends Parchment.Inline {\n static compare(self, other) {\n let selfIndex = Inline.order.indexOf(self);\n let otherIndex = Inline.order.indexOf(other);\n if (selfIndex >= 0 || otherIndex >= 0) {\n return selfIndex - otherIndex;\n } else if (self === other) {\n return 0;\n } else if (self < other) {\n return -1;\n } else {\n return 1;\n }\n }\n\n formatAt(index, length, name, value) {\n if (Inline.compare(this.statics.blotName, name) < 0 && Parchment.query(name, Parchment.Scope.BLOT)) {\n let blot = this.isolate(index, length);\n if (value) {\n blot.wrap(name, value);\n }\n } else {\n super.formatAt(index, length, name, value);\n }\n }\n\n optimize(context) {\n super.optimize(context);\n if (this.parent instanceof Inline &&\n Inline.compare(this.statics.blotName, this.parent.statics.blotName) > 0) {\n let parent = this.parent.isolate(this.offset(), this.length());\n this.moveChildren(parent);\n parent.wrap(this);\n }\n }\n}\nInline.allowedChildren = [Inline, Parchment.Embed, Text];\n// Lower index means deeper in the DOM tree, since not found (-1) is for embeds\nInline.order = [\n 'cursor', 'inline', // Must be lower\n 'underline', 'strike', 'italic', 'bold', 'script',\n 'link', 'code' // Must be higher\n];\n\n\nexport default Inline;\n","import Parchment from 'parchment';\n\nclass TextBlot extends Parchment.Text { }\n\nexport default TextBlot;\n","import Delta from 'quill-delta';\nimport Parchment from 'parchment';\nimport Block from '../blots/block';\nimport Inline from '../blots/inline';\nimport TextBlot from '../blots/text';\n\n\nclass Code extends Inline {}\nCode.blotName = 'code';\nCode.tagName = 'CODE';\n\n\nclass CodeBlock extends Block {\n static create(value) {\n let domNode = super.create(value);\n domNode.setAttribute('spellcheck', false);\n return domNode;\n }\n\n static formats() {\n return true;\n }\n\n delta() {\n let text = this.domNode.textContent;\n if (text.endsWith('\\n')) { // Should always be true\n text = text.slice(0, -1);\n }\n return text.split('\\n').reduce((delta, frag) => {\n return delta.insert(frag).insert('\\n', this.formats());\n }, new Delta());\n }\n\n format(name, value) {\n if (name === this.statics.blotName && value) return;\n let [text, ] = this.descendant(TextBlot, this.length() - 1);\n if (text != null) {\n text.deleteAt(text.length() - 1, 1);\n }\n super.format(name, value);\n }\n\n formatAt(index, length, name, value) {\n if (length === 0) return;\n if (Parchment.query(name, Parchment.Scope.BLOCK) == null ||\n (name === this.statics.blotName && value === this.statics.formats(this.domNode))) {\n return;\n }\n let nextNewline = this.newlineIndex(index);\n if (nextNewline < 0 || nextNewline >= index + length) return;\n let prevNewline = this.newlineIndex(index, true) + 1;\n let isolateLength = nextNewline - prevNewline + 1;\n let blot = this.isolate(prevNewline, isolateLength);\n let next = blot.next;\n blot.format(name, value);\n if (next instanceof CodeBlock) {\n next.formatAt(0, index - prevNewline + length - isolateLength, name, value);\n }\n }\n\n insertAt(index, value, def) {\n if (def != null) return;\n let [text, offset] = this.descendant(TextBlot, index);\n text.insertAt(offset, value);\n }\n\n length() {\n let length = this.domNode.textContent.length;\n if (!this.domNode.textContent.endsWith('\\n')) {\n return length + 1;\n }\n return length;\n }\n\n newlineIndex(searchIndex, reverse = false) {\n if (!reverse) {\n let offset = this.domNode.textContent.slice(searchIndex).indexOf('\\n');\n return offset > -1 ? searchIndex + offset : -1;\n } else {\n return this.domNode.textContent.slice(0, searchIndex).lastIndexOf('\\n');\n }\n }\n\n optimize(context) {\n if (!this.domNode.textContent.endsWith('\\n')) {\n this.appendChild(Parchment.create('text', '\\n'));\n }\n super.optimize(context);\n let next = this.next;\n if (next != null && next.prev === this &&\n next.statics.blotName === this.statics.blotName &&\n this.statics.formats(this.domNode) === next.statics.formats(next.domNode)) {\n next.optimize(context);\n next.moveChildren(this);\n next.remove();\n }\n }\n\n replace(target) {\n super.replace(target);\n [].slice.call(this.domNode.querySelectorAll('*')).forEach(function(node) {\n let blot = Parchment.find(node);\n if (blot == null) {\n node.parentNode.removeChild(node);\n } else if (blot instanceof Parchment.Embed) {\n blot.remove();\n } else {\n blot.unwrap();\n }\n });\n }\n}\nCodeBlock.blotName = 'code-block';\nCodeBlock.tagName = 'PRE';\nCodeBlock.TAB = ' ';\n\n\nexport { Code, CodeBlock as default };\n","'use strict';\n\nvar setFunctionName = require('set-function-name');\n\nvar $Object = Object;\nvar $TypeError = TypeError;\n\nmodule.exports = setFunctionName(function flags() {\n\tif (this != null && this !== $Object(this)) {\n\t\tthrow new $TypeError('RegExp.prototype.flags getter called on non-object');\n\t}\n\tvar result = '';\n\tif (this.hasIndices) {\n\t\tresult += 'd';\n\t}\n\tif (this.global) {\n\t\tresult += 'g';\n\t}\n\tif (this.ignoreCase) {\n\t\tresult += 'i';\n\t}\n\tif (this.multiline) {\n\t\tresult += 'm';\n\t}\n\tif (this.dotAll) {\n\t\tresult += 's';\n\t}\n\tif (this.unicode) {\n\t\tresult += 'u';\n\t}\n\tif (this.unicodeSets) {\n\t\tresult += 'v';\n\t}\n\tif (this.sticky) {\n\t\tresult += 'y';\n\t}\n\treturn result;\n}, 'get flags', true);\n\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar flagsBound = callBind(getPolyfill());\n\ndefine(flagsBound, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = flagsBound;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nvar supportsDescriptors = require('define-properties').supportsDescriptors;\nvar $gOPD = Object.getOwnPropertyDescriptor;\n\nmodule.exports = function getPolyfill() {\n\tif (supportsDescriptors && (/a/mig).flags === 'gim') {\n\t\tvar descriptor = $gOPD(RegExp.prototype, 'flags');\n\t\tif (\n\t\t\tdescriptor\n\t\t\t&& typeof descriptor.get === 'function'\n\t\t\t&& typeof RegExp.prototype.dotAll === 'boolean'\n\t\t\t&& typeof RegExp.prototype.hasIndices === 'boolean'\n\t\t) {\n\t\t\t/* eslint getter-return: 0 */\n\t\t\tvar calls = '';\n\t\t\tvar o = {};\n\t\t\tObject.defineProperty(o, 'hasIndices', {\n\t\t\t\tget: function () {\n\t\t\t\t\tcalls += 'd';\n\t\t\t\t}\n\t\t\t});\n\t\t\tObject.defineProperty(o, 'sticky', {\n\t\t\t\tget: function () {\n\t\t\t\t\tcalls += 'y';\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (calls === 'dy') {\n\t\t\t\treturn descriptor.get;\n\t\t\t}\n\t\t}\n\t}\n\treturn implementation;\n};\n","'use strict';\n\nvar supportsDescriptors = require('define-properties').supportsDescriptors;\nvar getPolyfill = require('./polyfill');\nvar gOPD = Object.getOwnPropertyDescriptor;\nvar defineProperty = Object.defineProperty;\nvar TypeErr = TypeError;\nvar getProto = Object.getPrototypeOf;\nvar regex = /a/;\n\nmodule.exports = function shimFlags() {\n\tif (!supportsDescriptors || !getProto) {\n\t\tthrow new TypeErr('RegExp.prototype.flags requires a true ES5 environment that supports property descriptors');\n\t}\n\tvar polyfill = getPolyfill();\n\tvar proto = getProto(regex);\n\tvar descriptor = gOPD(proto, 'flags');\n\tif (!descriptor || descriptor.get !== polyfill) {\n\t\tdefineProperty(proto, 'flags', {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tget: polyfill\n\t\t});\n\t}\n\treturn polyfill;\n};\n","'use strict';\n\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar functionsHaveConfigurableNames = require('functions-have-names').functionsHaveConfigurableNames();\n\nvar $TypeError = TypeError;\n\nmodule.exports = function setFunctionName(fn, name) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\tif (!loose || functionsHaveConfigurableNames) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(fn, 'name', name, true, true);\n\t\t} else {\n\t\t\tdefine(fn, 'name', name);\n\t\t}\n\t}\n\treturn fn;\n};\n"],"names":["GetIntrinsic","callBind","$indexOf","module","exports","name","allowMissing","intrinsic","bind","$apply","$call","$reflectApply","call","$gOPD","$defineProperty","$max","value","e","originalFunction","func","arguments","desc","configurable","length","applyBind","apply","objectKeys","isArguments","is","isRegex","flags","isDate","getTime","Date","prototype","deepEqual","actual","expected","options","opts","strict","a","b","i","key","isUndefinedOrNull","aIsRegex","bIsRegex","source","aIsBuffer","isBuffer","bIsBuffer","ka","kb","sort","objEquiv","undefined","x","copy","slice","hasPropertyDescriptors","$SyntaxError","$TypeError","gopd","obj","property","nonEnumerable","nonWritable","nonConfigurable","loose","enumerable","writable","keys","hasSymbols","Symbol","toStr","Object","toString","concat","Array","defineDataProperty","supportsDescriptors","defineProperty","object","predicate","fn","defineProperties","map","predicates","props","getOwnPropertySymbols","hasOwn","hasOwnProperty","gOPD","getOwnPropertyDescriptor","isArray","arr","isPlainObject","hasOwnConstructor","hasIsPrototypeOf","constructor","setProperty","target","newValue","getProperty","extend","src","copyIsArray","clone","deep","DIFF_DELETE","diff_main","text1","text2","cursor_pos","commonlength","diff_commonPrefix","commonprefix","substring","diff_commonSuffix","commonsuffix","diffs","longtext","shorttext","indexOf","hm","diff_halfMatchI_","best_longtext_a","best_longtext_b","best_shorttext_a","best_shorttext_b","seed","Math","floor","j","best_common","prefixLength","suffixLength","text1_a","text1_b","text2_a","text2_b","hm1","ceil","hm2","mid_common","diff_halfMatch_","diffs_a","diffs_b","text1_length","text2_length","max_d","v_offset","v_length","v1","v2","delta","front","k1start","k1end","k2start","k2end","d","k1","k1_offset","y1","x1","charAt","k2_offset","x2","diff_bisectSplit_","k2","y2","diff_bisect_","diff_compute_","unshift","push","diff_cleanupMerge","norm","current_pos","next_pos","split_pos","d_left","d_right","splice","Error","cursor_normalize_diff","ndiffs","cursor_pointer","d_next","merge_tuples","suffix","fix_cursor","compact","starts_with_pair_end","str","charCodeAt","ends_with_pair_start","fixed_diffs","fix_emoji","y","text1a","text2a","text1b","text2b","diffsb","pointermin","pointermax","min","pointermid","pointerstart","pointerend","pointer","count_delete","count_insert","text_delete","text_insert","pop","changes","diff","start","left_d","right_d","INSERT","DELETE","EQUAL","ERROR_MESSAGE","funcType","that","this","TypeError","bound","args","binder","result","boundLength","max","boundArgs","Function","join","Empty","implementation","functionsHaveNames","functionsHaveConfigurableNames","$bind","boundFunctionsHaveNames","SyntaxError","$Function","getEvalledConstructor","expressionSyntax","throwTypeError","ThrowTypeError","calleeThrows","get","gOPDthrows","hasProto","getProto","getPrototypeOf","__proto__","needsEval","TypedArray","Uint8Array","INTRINSICS","AggregateError","ArrayBuffer","iterator","Atomics","BigInt","BigInt64Array","BigUint64Array","Boolean","DataView","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","eval","EvalError","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","isFinite","isNaN","JSON","Map","Number","parseFloat","parseInt","Promise","Proxy","RangeError","ReferenceError","Reflect","RegExp","Set","SharedArrayBuffer","String","Uint8ClampedArray","Uint16Array","Uint32Array","URIError","WeakMap","WeakRef","WeakSet","error","errorProto","doEval","gen","LEGACY_ALIASES","$concat","$spliceApply","$replace","replace","$strSlice","$exec","exec","rePropName","reEscapeChar","stringToPath","string","first","last","match","number","quote","subString","getBaseIntrinsic","alias","intrinsicName","parts","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","part","hasArrayLengthDefineBug","test","foo","$Object","origSymbol","hasSymbolSham","sym","symObj","getOwnPropertyNames","syms","propertyIsEnumerable","descriptor","toStringTag","hasToStringTag","$toString","callBound","isStandardArguments","isLegacyArguments","callee","supportsStandardArguments","getDay","tryDateObject","has","isRegexMarker","badStringifier","throwRegexMarker","valueOf","toPrimitive","numberIsNaN","define","getPolyfill","shim","polyfill","keysShim","isArgs","isEnumerable","hasDontEnumBug","hasProtoEnumBug","dontEnums","equalsConstructorPrototype","o","ctor","excludedKeys","$applicationCache","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$onmozfullscreenchange","$onmozfullscreenerror","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$parent","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","hasAutomationEqualityBug","window","k","isObject","isFunction","isString","theKeys","skipProto","skipConstructor","equalsConstructorPrototypeIfNotBuggy","origKeys","originalKeys","keysWorksWithArguments","factory","self","modules","installedModules","moduleId","l","m","c","getter","n","__esModule","p","s","__webpack_require__","extendStatics","__extends","setPrototypeOf","__","create","ParchmentError","_super","message","_this","Scope","attributes","classes","tags","types","query","scope","ANY","Text","Node","TEXT_NODE","LEVEL","BLOCK","INLINE","HTMLElement","names","getAttribute","split","tagName","TYPE","DATA_KEY","input","BlotClass","node","find","bubble","blot","parentNode","register","Definitions","_i","Definition","blotName","attrName","keyName","className","toUpperCase","tagNames","forEach","tag","Registry","Attributor","attributeBit","ATTRIBUTE","whitelist","item","add","canAdd","setAttribute","BLOT","remove","removeAttribute","default","linked_list_1","shadow_1","ContainerBlot","domNode","build","appendChild","other","insertBefore","attach","children","child","childNodes","reverse","makeBlot","head","err","deleteAt","index","forEachAt","offset","descendant","criteria","_a","descendants","MAX_VALUE","lengthLeft","detach","formatAt","insertAt","def","childBlot","refBlot","statics","allowedChildren","some","insertInto","reduce","memo","moveChildren","targetParent","refNode","optimize","context","defaultChild","path","inclusive","position","removeChild","force","next","after","parent","unwrap","update","mutations","addedNodes","removedNodes","mutation","type","document","body","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","filter","DOCUMENT_POSITION_FOLLOWING","nextSibling","replaceChild","attributor_1","store_1","container_1","FormatBlot","formats","toLowerCase","format","attribute","replaceWith","values","replacement","wrap","wrapper","move","LeafBlot","INLINE_BLOT","ShadowBlot","createElement","classList","scroll","cloneNode","isolate","parent_1","ref","parentBlot","refDomNode","root","class_1","style_1","AttributorStore","styles","attr","prefix","ClassAttributor","camelize","rest","StyleAttributor","trim","style","format_1","leaf_1","scroll_1","inline_1","block_1","embed_1","text_1","Parchment","Container","Format","Leaf","Embed","Scroll","Block","Inline","Attribute","Class","Style","Store","LinkedList","tail","append","nodes","contains","cur","prev","curNode","ret","length_1","callback","startNode","curIndex","curLength","OBSERVER_CONFIG","characterData","characterDataOldValue","childList","subtree","ScrollBlot","observer","MutationObserver","observe","disconnect","records","takeRecords","mark","markParent","remaining","previousSibling","grandChild","BLOCK_BLOT","InlineBlot","obj1","obj2","prop","isEqual","BlockBlot","navigator","userAgent","EmbedBlot","TextBlot","text","createTextNode","data","splitText","equal","op","NULL_CHARACTER","fromCharCode","Delta","ops","insert","newOp","retain","lastOp","chop","partition","passed","failed","initial","changeLength","elem","delete","end","Infinity","iter","hasNext","nextOp","compose","thisIter","otherIter","firstOther","peek","firstLeft","peekType","peekLength","thisOp","otherOp","strings","diffResult","component","opLength","eachLine","newline","line","transform","priority","transformPosition","nextType","lib","keepNull","Iterator","retOp","substr","Break","static","super","BlockEmbed","endsWith","block","cache","leaf","bubbleFormats","lines","shift","selfIndex","order","otherIndex","compare","Code","CodeBlock","textContent","frag","nextNewline","newlineIndex","prevNewline","isolateLength","searchIndex","lastIndexOf","querySelectorAll","TAB","setFunctionName","hasIndices","global","ignoreCase","multiline","dotAll","unicode","unicodeSets","sticky","flagsBound","calls","TypeErr","regex","proto","hasDescriptors"],"sourceRoot":""}