{"version":3,"file":"assets/scripts/9016.200628bde80a977ae0b7.js","mappings":";qCAsBA,IAAiDA,IASxC,WACT,OAAgB,SAAUC,GAEhB,IAAIC,EAAmB,CAAC,EAGxB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,CAAC,GAUX,OANAJ,EAAQG,GAAUK,KAAKH,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,OACf,CAyDA,OArDAF,EAAoBO,EAAIT,EAGxBE,EAAoBQ,EAAIT,EAGxBC,EAAoBS,EAAI,SAASP,EAASQ,EAAMC,GAC3CX,EAAoBY,EAAEV,EAASQ,IAClCG,OAAOC,eAAeZ,EAASQ,EAAM,CAAEK,YAAY,EAAMC,IAAKL,GAEhE,EAGAX,EAAoBiB,EAAI,SAASf,GACX,oBAAXgB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeZ,EAASgB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeZ,EAAS,aAAc,CAAEkB,OAAO,GACvD,EAOApB,EAAoBqB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQpB,EAAoBoB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFAzB,EAAoBiB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOpB,EAAoBS,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,EAAM,EAAEC,KAAK,KAAMD,IAC9I,OAAOF,CACR,EAGAxB,EAAoB4B,EAAI,SAASzB,GAChC,IAAIQ,EAASR,GAAUA,EAAOoB,WAC7B,WAAwB,OAAOpB,EAAgB,OAAG,EAClD,WAA8B,OAAOA,CAAQ,EAE9C,OADAH,EAAoBS,EAAEE,EAAQ,IAAKA,GAC5BA,CACR,EAGAX,EAAoBY,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,EAAW,EAGpH9B,EAAoBiC,EAAI,GAIjBjC,EAAoBA,EAAoBkC,EAAI,EACnD,CApFM,CAsFN,CAEJ,SAAU/B,EAAQD,EAASF,GAEjC,aAGAa,OAAOC,eAAeZ,EAAS,aAAc,CAC3CkB,OAAO,IAETP,OAAOC,eAAeZ,EAAS,uBAAwB,CACrDa,YAAY,EACZC,IAAK,WACH,OAAOmB,EAAQC,oBACjB,IAGF,IAAID,EAAUnC,EAAoB,EAK3B,EAED,SAAUG,EAAQD,EAASF,GAEjC,aAGAa,OAAOC,eAAeZ,EAAS,aAAc,CAC3CkB,OAAO,IAETlB,EAAQkC,qBAAuBlC,EAAQmC,gBAAa,EAEpD,IAAIC,EAAQtC,EAAoB,GAE5BuC,EAAcvC,EAAoB,GAElCwC,EAAexC,EAAoB,GAEnCyC,EAAWzC,EAAoB,GAE/B0C,EAAmB1C,EAAoB,IAEvC2C,EAAiB3C,EAAoB,IAErC4C,EAAc5C,EAAoB,GAElCqC,EAAa,WACf,SAASA,EAAW3B,GAClBmC,KAAKnC,KAAOA,EACZmC,KAAKC,YAAa,EAClBD,KAAKE,aAAc,EAAIT,EAAMU,0BAC/B,CAsBA,OApBAX,EAAWN,UAAY,CACjBkB,eACF,OAAOJ,KAAKE,YAAYG,OAC1B,EAEAC,SACEN,KAAKE,YAAYK,SACnB,EAEAC,YACER,KAAKC,YAAa,CACpB,EAEAQ,sBACE,GAAIT,KAAKC,WACP,MAAM,IAAIS,MAAM,6BAEpB,GAGKlB,CACT,CA5BiB,GA8BjBnC,EAAQmC,WAAaA,EACrB,IA8duBmB,EA9dnBpB,EAAuB,CACzBqB,MAAMC,EAASC,GACb,IAAIC,GAAuB,EAC3BF,EAAQG,GAAG,QAAQ,SAAsBC,GACvC,GAAIF,EACF,OAKF,GAFAA,GAAuB,IAEjBE,aAAgBC,YAEpB,YADAL,EAAQM,KAAK,OAAQ,MAIvB,MAAMC,EAA+B,MAAZH,EAAK,GAC9BJ,EAAQQ,qBAAuBD,EAC/BP,EAAQM,KAAK,OAAQ,CACnBC,oBAEJ,IACAP,EAAQG,GAAG,aAAa,SAAsBC,IAC5C,EAAIxB,EAAM6B,mBAAmBL,EAAKM,UACpC,IACAV,EAAQG,GAAG,iBAAiB,SAAqBC,GAC/C,OAAO1B,EAAqBiC,sBAAsBP,EAAMH,EAC1D,GACF,EAEAU,sBAAsBC,EAAWX,GAC/B,IAAIY,EACAzB,GAAa,EACb0B,EAAa,KACbC,EAAc,GAClB,MAAML,GAAY,EAAI9B,EAAMoC,qBACtBC,EAAaL,EAAUK,WAG7B,GAFsB,YAElBA,EACF,MAAM,IAAIpB,MAAM,oBAAoBoB,mDAGtC,MAAMC,EAAuB,GAE7B,IAAK,MAAM9C,IAAY,GACrB8C,EAAqBC,KAAK/C,GAG5B,GAAI8C,EAAqBE,OACvB,MAAM,IAAIvB,MAAM,oEAAsEqB,EAAqBG,KAAK,MAAQ,0DAG1H,GAA8B,oBAAnBC,qBAAgE,IAAvBC,QAAQC,WAC1D,MAAM,IAAI3B,MAAM,uMAGlB,IAAI4B,EAAQb,EAAUa,MAClBC,EAAad,EAAUc,WACvBC,EAAoBf,EAAUa,MAAQ,UACtCzB,EAAU,IAAIhB,EAAiB4C,eAAeD,EAAmBF,EAAOxB,GAG5E,SAASL,IACP,GAAIR,EACF,MAAM,IAAIS,MAAM,wBAEpB,CAEA,SAASgC,EAAgBC,GACvBf,EAAYI,KAAKW,EACnB,CAEA,SAASC,EAAiBD,GACxBA,EAAKrC,SACL,IAAI/C,EAAIqE,EAAYiB,QAAQF,GAC5Bf,EAAYkB,OAAOvF,EAAG,EACxB,CAEAwF,eAAeC,EAAaC,SACpBvB,EAAWwB,UAAU,qBACrBxB,EAAWwB,UAAU,wBACrBxB,EAAWwB,UAAU,QAAS,CAACD,IAEhCA,SACGvB,EAAWwB,UAAU,kBAG7B,MAAOC,EAAUC,SAAqBhB,QAAQiB,IAAI,CAAC3B,EAAWwB,UAAU,YAAaxB,EAAWwB,UAAU,iBAC1G,MAAO,CACLC,WACAC,cAEJ,CAsXA,OAtZAvC,EAAQQ,qBAAuBI,EAAUJ,qBAqOzCR,EAAQG,GAAG,WAAW,SAAyBC,GAC7C,OAAOS,EAAW4B,QAAQrC,EAAKsC,WAAWC,MAAK,SAAUC,GACvD,OAAOrB,QAAQiB,IAAI,CAAC3B,EAAWgC,OAAOD,EAAM,UAAW/B,EAAWgC,OAAOD,EAAM,OAAQ/B,EAAWgC,OAAOD,EAAM,YAAa/B,EAAWgC,OAAOD,EAAM,UAAUD,MAAK,UAAWG,EAAQC,EAAKC,EAAUC,IACnM,MAAO,CACLH,SACAC,MACAC,WACAC,OAEJ,GACF,GACF,IACAjD,EAAQG,GAAG,gBAAgB,SAA8BC,GACvD,IAAI2C,EAAMlE,EAAYqE,IAAI5F,IAAI8C,EAAK2C,IAAII,IAAK/C,EAAK2C,IAAIK,KAGrD,OADcvC,EAAWwC,YAAYC,QACtBC,aAAaR,EAC9B,IACA/C,EAAQG,GAAG,mBAAmB,SAAiCC,GAC7D,OAAOS,EAAW2C,cAAc,eAClC,IACAxD,EAAQG,GAAG,kBAAkB,SAAgCC,GAC3D,OAAOS,EAAW2C,cAAc,iBAAkB,CAACpD,EAAKqD,IAC1D,IACAzD,EAAQG,GAAG,iBAAiB,SAA+BC,GACzD,OAAOS,EAAW2C,cAAc,aAClC,IACAxD,EAAQG,GAAG,iBAAiB,SAA+BC,GACzD,OAAOS,EAAW2C,cAAc,aAClC,IACAxD,EAAQG,GAAG,eAAe,SAA6BC,GACrD,OAAOS,EAAW2C,cAAc,WAClC,IACAxD,EAAQG,GAAG,wBAAwB,SAAUC,GAC3C,OAAOS,EAAW2C,cAAc,oBAClC,IACAxD,EAAQG,GAAG,iBAAiB,SAAUC,GACpC,OAAOS,EAAW2C,cAAc,aAClC,IACAxD,EAAQG,GAAG,kBAAkB,SAAgCC,GAC3D,OAAOS,EAAW2C,cAAc,cAClC,IACAxD,EAAQG,GAAG,iBAAiB,SAA+BC,GACzD,OAAOS,EAAW2C,cAAc,aAClC,IACAxD,EAAQG,GAAG,cAAc,SAA4BC,GACnD,OAAOS,EAAW2C,cAAc,kBAClC,IACAxD,EAAQG,GAAG,kBAAkB,SAAUC,GACrC,OAAOS,EAAW2C,cAAc,cAClC,IACAxD,EAAQG,GAAG,eAAe,SAA6BC,GACrD,OAAOmB,QAAQiB,IAAI,CAAC3B,EAAWwB,UAAU,gBAAiBxB,EAAW2C,cAAc,aACrF,IACAxD,EAAQG,GAAG,WAAW,SAAyBC,GAE7C,OADAS,EAAW6C,sBACJ7C,EAAW8C,iBAAiBhB,MAAK,SAAUiB,GAChD,OAAOA,EAAOC,KAChB,GACF,IACA7D,EAAQG,GAAG,YAAY,SAA0BC,GAC/C,OAAOS,EAAWwC,YAAYS,KAAKC,KACrC,IACA/D,EAAQG,GAAG,kBAAkB,UAAU,UACrCuC,EAAS,OACTsB,IAEA,OAAOnD,EAAW4B,QAAQC,GAAWC,MAAK,SAAUC,GAClD,OAAOA,EAAKqB,mBAAmBD,EACjC,GACF,IACAhE,EAAQG,GAAG,mBAAmB,SAA4BC,EAAM8D,GAC9D,IAAIxB,EAAYtC,EAAKsC,UACrB7B,EAAW4B,QAAQC,GAAWC,MAAK,SAAUC,GAC3C,IAAId,EAAO,IAAInD,EAAW,yBAAyB+D,KACnDb,EAAgBC,GAChB,MAAMqC,EAAQzD,GAAa9B,EAAMwF,eAAeC,MAAQC,KAAKC,MAAQ,EACrE3B,EAAK4B,gBAAgB,CACnBxE,UACAkE,OACApC,OACAkC,OAAQ5D,EAAK4D,OACbS,uBAAwBrE,EAAKqE,yBAC5B9B,MAAK,SAAU+B,GAChB3C,EAAiBD,GAEbqC,IACF,EAAIvF,EAAM+F,MAAM,QAAQjC,EAAY,6BAAkC4B,KAAKC,MAAQJ,YAAgBO,EAAiBtD,UAGtH8C,EAAKU,OACP,IAAG,SAAUC,GACX9C,EAAiBD,GAEbA,EAAK1C,aAITY,EAAQM,KAAK,qBAAsB,CACjCwE,UAAWlG,EAAMmG,qBAAqBC,oBAExCd,EAAKe,MAAMJ,GACb,GACF,GACF,GAAG1F,MACHa,EAAQG,GAAG,kBAAkB,SAAwBC,EAAM8D,GACzD,IAAIxB,EAAYtC,EAAKsC,UAErBwB,EAAKgB,OAAS,SAAUC,GAAc,EAEtCjB,EAAKkB,SAAW,SAAUP,GAAS,EAEnChE,EAAW4B,QAAQC,GAAWC,MAAK,SAAUC,GAC3C,IAAId,EAAO,IAAInD,EAAW,wBAA0B+D,GACpDb,EAAgBC,GAChB,MAAMqC,EAAQzD,GAAa9B,EAAMwF,eAAeC,MAAQC,KAAKC,MAAQ,EACrE3B,EAAKyC,mBAAmB,CACtBrF,UACA8B,OACAoC,OACAoB,oBAAqBlF,EAAKkF,oBAC1BC,iBAAkBnF,EAAKmF,mBACtB5C,MAAK,WACNZ,EAAiBD,GAEbqC,IACF,EAAIvF,EAAM+F,MAAM,QAAQjC,EAAY,6BAAiC4B,KAAKC,MAAQJ,GAAhB,MAGpED,EAAKU,OACP,IAAG,SAAUC,GACX9C,EAAiBD,GAEbA,EAAK1C,YAIT8E,EAAKe,MAAMJ,EACb,GACF,GACF,IACA7E,EAAQG,GAAG,gBAAgB,SAAUC,GACnC,OAAOS,EAAW2E,aAAapF,EAAKqD,GAAIzD,EAC1C,IACAA,EAAQG,GAAG,WAAW,SAAoBC,GACxC,OAAOS,EAAW4E,SAAQ,EAC5B,IACAzF,EAAQG,GAAG,aAAa,SAAsBC,GAC5ChB,GAAa,EACb,MAAMsG,EAAS,GAEf,GAAI7E,EAAY,CACdA,EAAWlB,UAAU,IAAIf,EAAM+G,eAAe,2BAC9C,MAAMC,EAAiB/E,EAAW4E,UAClCC,EAAOvE,KAAKyE,GACZ/E,EAAa,IACf,MACE,EAAIhC,EAAYgH,wBAWlB,OARI/E,GACFA,EAAW,IAAIlC,EAAM+G,eAAe,2BAGtC5E,EAAY+E,SAAQ,SAAUhE,GAC5B4D,EAAOvE,KAAKW,EAAKvC,UACjBuC,EAAKnC,WACP,IACO4B,QAAQiB,IAAIkD,GAAQ/C,MAAK,WAC9B3C,EAAQ+F,UACR/F,EAAU,IACZ,GACF,IACAA,EAAQG,GAAG,SAAS,SAAkBC,IArPtC,SAAkBA,GAChB,SAAS4F,EAAUC,GACjBrG,IACAI,EAAQM,KAAK,SAAU,CACrB4F,QAASD,GAEb,CAEA,SAASE,EAAUC,GAGjB,GAFAxG,IAEIwG,aAAcxH,EAAMyH,kBAAmB,CACzC,IAAIvE,EAAO,IAAInD,EAAW,+BAA+ByH,EAAGE,QAC5DzE,EAAgBC,GAChB9B,EAAQuG,gBAAgB,kBAAmBH,GAAIzD,MAAK,UAAU,SAC5D6D,IAEAzE,EAAiBD,GACjBjB,EAAW4F,eAAeD,GAC1BE,GACF,IAAGC,OAAM,WACP5E,EAAiBD,GACjB9B,EAAQM,KAAK,eAAgB8F,EAC/B,GACF,MAAWA,aAAcxH,EAAMgI,qBAAuBR,aAAcxH,EAAMiI,qBAAuBT,aAAcxH,EAAMkI,6BAA+BV,aAAcxH,EAAMmI,sBACtK/G,EAAQM,KAAK,eAAgB8F,GAE7BpG,EAAQM,KAAK,eAAgB,IAAI1B,EAAMmI,sBAAsBX,EAAGY,QAASZ,EAAGa,YAEhF,CAEA,SAASP,IACP9G,IACAuC,GAAa,GAAOQ,KAAKqD,GAAW,SAAqBI,GACvDxG,IAEMwG,aAAclH,EAAYgI,oBAKhCrG,EAAW6C,sBACX7C,EAAW8C,iBAAiBhB,MAAK,WAC/B/C,IACAuC,GAAa,GAAMQ,KAAKqD,EAAWG,EACrC,KAREA,EAAUC,EASd,GAAGD,EACL,CAEAvG,IA5KF,SAAuBQ,EAAM+G,GAC3B,IAAIC,GAAuB,EAAIxI,EAAMU,2BACrC,IAAI+H,EACJ,IAAIC,EAASlH,EAAKkH,OAElB,GAAIA,EAAOlH,KAAM,CACf,IACEiH,EAAgB,IAAIvI,EAAayI,gBAAgB9F,EAAO6F,EAAOlH,KAAMkH,EAAOd,SAAUW,EAAkBzF,GACxG0F,EAAqB1H,QAAQ2H,EAG/B,CAFE,MAAOjB,GACPgB,EAAqBI,OAAOpB,EAC9B,CAEA,OAAOgB,EAAqB5H,OAC9B,CAEA,IAAIiI,EACAC,EAAe,GAEnB,IACED,EAAY,IAAIxI,EAAe0I,gBAAgB3H,EAIjD,CAHE,MAAOoG,GAEP,OADAgB,EAAqBI,OAAOpB,GACrBgB,EAAqB5H,OAC9B,CAEA,IAAIoI,EAAcH,EAAUI,gBAC5BD,EAAYE,aAAanF,MAAK,WAC5B,GAAKiF,EAAYG,iBAAjB,CAIA,IAAIC,EAAmBV,EAAOU,kBAAoBJ,EAAYK,qBAC9DZ,EAAgB,IAAIvI,EAAaoJ,kBAAkBzG,EAAOgG,EAAW,CACnEU,WAAYnI,EACZwG,SAAUc,EAAOd,SACjBpF,OAAQwG,EAAYQ,cACpBJ,mBACAK,eAAgBf,EAAOe,gBACtBlB,EAAkBzF,GAErB,IAAK,IAAIhF,EAAI,EAAGA,EAAIgL,EAAatG,OAAQ1E,IACvC2K,EAAciB,oBAAoBZ,EAAahL,IAGjDgL,EAAe,GACfN,EAAqB1H,QAAQ2H,GAC7BvG,EAAa,IAjBb,CAkBF,IAAG6F,OAAM,SAAU9B,GACjBuC,EAAqBI,OAAO3C,GAC5B/D,EAAa,IACf,IACA,IAAIyH,EAAS,EAoEb,OAjDkB,IAAIhH,SAAQ,SAAU7B,EAAS8H,GAC/C,IAAIgB,EAAY,UAAU,MACxB9K,EAAK,KACL+K,IAEA,IAGE,GAFA7I,IAEI6I,EAMF,OALKpB,GA1BK,WAChB,IAAIqB,GAAU,EAAI9J,EAAM+J,eAAejB,GAEnCJ,EAAOlG,QAAUsH,EAAQtH,SAAWkG,EAAOlG,SAC7C,EAAIxC,EAAMgK,MAAM,iDAGlB,IACEvB,EAAgB,IAAIvI,EAAayI,gBAAgB9F,EAAOiH,EAASpB,EAAOd,SAAUW,EAAkBzF,GACpG0F,EAAqB1H,QAAQ2H,EAG/B,CAFE,MAAOjB,GACPgB,EAAqBI,OAAOpB,EAC9B,CAEAsB,EAAe,EACjB,CAYUmB,QAGF/H,EAAa,MAIfyH,IAAU,EAAI3J,EAAMkK,iBAAiBpL,GAEhCkK,EAAYK,sBACfjI,EAAQM,KAAK,cAAe,CAC1BiI,SACAQ,MAAOC,KAAKC,IAAIV,EAAQX,EAAYQ,eAAiB,KAIrDf,EACFA,EAAciB,oBAAoB5K,GAElCgK,EAAavG,KAAKzD,GAGpBkK,EAAYsB,OAAOvG,KAAK6F,EAAWhB,EAGrC,CAFE,MAAO2B,GACP3B,EAAO2B,EACT,CACF,EAEAvB,EAAYsB,OAAOvG,KAAK6F,EAAWhB,EACrC,IACYb,OAAM,SAAUwC,GAC1B/B,EAAqBI,OAAO2B,GAC5BrI,EAAa,IACf,IAEAA,EAAa,SAAU+D,GACrB4C,EAAU2B,kBAAkBvE,EAC9B,EAEOuC,EAAqB5H,OAC9B,CA2DE6J,CAAcjJ,EAPS,CACrBkJ,aAAclJ,EAAKkJ,aACnBC,gBAAiBnJ,EAAKmJ,gBACtBC,aAAcpJ,EAAKoJ,aACnBC,gBAAiBrJ,EAAKqJ,gBACtBC,oBAAqBtJ,EAAKsJ,sBAEU/G,MAAK,SAAU0E,GACnD,GAAIjI,EAEF,MADAiI,EAAc1H,UAAU,IAAIf,EAAM+G,eAAe,2BAC3C,IAAI9F,MAAM,0BAGlBgB,EAAawG,GACF1D,iBAAiBhB,MAAK,SAAUiB,GACzC5D,EAAQM,KAAK,aAAc,CACzBc,OAAQwC,EAAOC,MAAM8F,YAEzB,GACF,IAAGhH,KAAK+D,EAAiBP,EAC3B,CAgLEyD,CAAShJ,GACTA,EAAY,IACd,IACOe,CACT,EAEAkI,mBAAmB5J,GACjB,IAAID,EAAU,IAAIhB,EAAiB4C,eAAe,SAAU,OAAQ3B,GACpEvB,EAAqBqB,MAAMC,EAASC,GACpCD,EAAQM,KAAK,QAAS,KACxB,GAGF9D,EAAQkC,qBAAuBA,EAMT,oBAAXoL,SAA2B/K,EAASgL,UAA4B,oBAATC,MAHxB,mBADnBlK,EAIiFkK,MAH9EC,aAA8B,cAAenK,GAIrEpB,EAAqBmL,mBAAmBG,KAGnC,EAED,SAAUvN,EAAQD,EAASF,GAEjC,aAGAa,OAAOC,eAAeZ,EAAS,aAAc,CAC3CkB,OAAO,IAETlB,EAAQsM,gBAAkBA,EAC1BtM,EAAQmM,cA6gBR,SAAuBuB,GACrB,MAAM9I,EAAS8I,EAAI9I,OAEnB,GAAe,IAAXA,GAAgB8I,EAAI,aAAc7J,WACpC,OAAO6J,EAAI,GAGb,IAAIC,EAAe,EAEnB,IAAK,IAAIzN,EAAI,EAAGA,EAAI0E,EAAQ1E,IAC1ByN,GAAgBrB,EAAgBoB,EAAIxN,IAGtC,IAAI0N,EAAM,EACV,MAAMhK,EAAO,IAAIC,WAAW8J,GAE5B,IAAK,IAAIzN,EAAI,EAAGA,EAAI0E,EAAQ1E,IAAK,CAC/B,IAAI2N,EAAOH,EAAIxN,GAET2N,aAAgBhK,aAElBgK,EADkB,iBAATA,EACFC,EAAcD,GAEd,IAAIhK,WAAWgK,IAI1B,MAAME,EAAaF,EAAKV,WACxBvJ,EAAKoK,IAAIH,EAAMD,GACfA,GAAOG,CACT,CAEA,OAAOnK,CACT,EA7iBA5D,EAAQiO,OAASA,EACjBjO,EAAQkO,cAkeR,SAAuB7G,GACrB4G,EAAiB,OAAV5G,GAAmC,iBAAVA,QAAuC8G,IAAjB9G,EAAMzC,OAAsB,sCAClF,MAAMA,EAASyC,EAAMzC,OACfwJ,EAAqB,KAE3B,GAAIxJ,EAASwJ,EACX,OAAOC,OAAOC,aAAaC,MAAM,KAAMlH,GAGzC,MAAMmH,EAAS,GAEf,IAAK,IAAItO,EAAI,EAAGA,EAAI0E,EAAQ1E,GAAKkO,EAAoB,CACnD,MAAMK,EAAWjC,KAAKkC,IAAIxO,EAAIkO,EAAoBxJ,GAC5C+J,EAAQtH,EAAMuH,SAAS1O,EAAGuO,GAChCD,EAAO7J,KAAK0J,OAAOC,aAAaC,MAAM,KAAMI,GAC9C,CAEA,OAAOH,EAAO3J,KAAK,GACrB,EAnfA7E,EAAQ8C,wBA0vBR,WACE,MAAM+L,EAAalO,OAAOY,OAAO,MACjC,IAAIuN,GAAY,EAkBhB,OAjBAnO,OAAOC,eAAeiO,EAAY,UAAW,CAC3C/N,IAAG,IACMgO,IAIXD,EAAW7L,QAAU,IAAI+B,SAAQ,SAAU7B,EAAS8H,GAClD6D,EAAW3L,QAAU,SAAUU,GAC7BkL,GAAY,EACZ5L,EAAQU,EACV,EAEAiL,EAAW7D,OAAS,SAAU3C,GAC5ByG,GAAY,EACZ9D,EAAO3C,EACT,CACF,IACOwG,CACT,EA9wBA7O,EAAQwE,kBAgUR,WACE,OAAON,CACT,EAjUAlE,EAAQmI,KAmUR,SAAc4G,GACR7K,GAAa0D,EAAeC,OAC9BmH,QAAQC,IAAI,SAASF,IAEzB,EAtUA/O,EAAQkP,cAyuBR,SAAuBC,GACrB,MAAoB,iBAANA,GAAwB,OAANA,QAA+BhB,IAAjBgB,EAAEhC,UAClD,EA1uBAnN,EAAQoP,aA4uBR,SAAsBC,EAAMC,GAC1B,OAAID,EAAKzK,SAAW0K,EAAK1K,QAIlByK,EAAKE,OAAM,SAAUC,EAASC,GACnC,OAAOD,IAAYF,EAAKG,EAC1B,GACF,EAnvBAzP,EAAQ0P,OA2tBR,SAAgBP,GACd,MAAoB,kBAANA,CAChB,EA5tBAnP,EAAQ2P,WAktBR,SAAoBC,GAClB,IAAK,MAAMpO,KAAOoO,EAChB,OAAO,EAGT,OAAO,CACT,EAvtBA5P,EAAQ6P,MA6tBR,SAAeV,GACb,MAAoB,iBAANA,CAChB,EA9tBAnP,EAAQ8P,SAguBR,SAAkBX,GAChB,MAAoB,iBAANA,CAChB,EAjuBAnP,EAAQ+P,aAkVR,SAAsBC,EAASC,GAC7B,IAAIC,EAEJ,IAGE,GAFAA,EAAO,IAAIC,IAAIH,IAEVE,EAAKE,QAA0B,SAAhBF,EAAKE,OACvB,OAAO,CAIX,CAFE,MAAOzD,GACP,OAAO,CACT,CAEA,MAAM0D,EAAQ,IAAIF,IAAIF,EAAUC,GAChC,OAAOA,EAAKE,SAAWC,EAAMD,MAC/B,EAhWApQ,EAAQsQ,uBAoXR,SAAgCC,EAAKP,GACnC,IAAKO,EACH,OAAO,KAGT,IACE,MAAMC,EAAcR,EAAU,IAAIG,IAAII,EAAKP,GAAW,IAAIG,IAAII,GAE9D,GA1BJ,SAA0BA,GACxB,IAAKA,EACH,OAAO,EAGT,OAAQA,EAAIE,UACV,IAAK,QACL,IAAK,SACL,IAAK,OACL,IAAK,UACL,IAAK,OACH,OAAO,EAET,QACE,OAAO,EAEb,CAUQC,CAAiBF,GACnB,OAAOA,CAEG,CAAZ,MAAO5G,GAAK,CAEd,OAAO,IACT,EAjYA5J,EAAQ2Q,qBA6cR,SAA8BC,GAC5B,MAAmB,iBAARA,GACTxE,EAAK,2DACEwE,GAGFA,EAAIC,QAAQC,EAAsB,GAC3C,EAndA9Q,EAAQiE,kBA+SR,SAA2B8M,GACrBC,OAAOC,UAAUF,KACnB7M,EAAY6M,EAEhB,EAlTA/Q,EAAQkR,OAASA,EACjBlR,EAAQmR,SA+hBR,SAAkBjQ,GAChB,OAAOmN,OAAOC,aAAapN,GAAS,GAAK,IAAMA,GAAS,GAAK,IAAMA,GAAS,EAAI,IAAc,IAARA,EACxF,EAhiBAlB,EAAQ8N,cAAgBA,EACxB9N,EAAQoR,kBA0qBR,SAA2BR,GACzB,MAAMhM,EAASgM,EAAIhM,OACb4J,EAAS,GAEf,GAAe,MAAXoC,EAAI,IAA4B,MAAXA,EAAI,GAC3B,IAAK,IAAI1Q,EAAI,EAAGA,EAAI0E,EAAQ1E,GAAK,EAC/BsO,EAAO7J,KAAK0J,OAAOC,aAAasC,EAAIS,WAAWnR,IAAM,EAAI0Q,EAAIS,WAAWnR,EAAI,UAEzE,GAAe,MAAX0Q,EAAI,IAA4B,MAAXA,EAAI,GAClC,IAAK,IAAI1Q,EAAI,EAAGA,EAAI0E,EAAQ1E,GAAK,EAC/BsO,EAAO7J,KAAK0J,OAAOC,aAAasC,EAAIS,WAAWnR,EAAI,IAAM,EAAI0Q,EAAIS,WAAWnR,UAG9E,IAAK,IAAIA,EAAI,EAAGA,EAAI0E,IAAU1E,EAAG,CAC/B,MAAM4J,EAAOwH,EAAwBV,EAAIS,WAAWnR,IACpDsO,EAAO7J,KAAKmF,EAAOuE,OAAOC,aAAaxE,GAAQ8G,EAAIW,OAAOrR,GAC5D,CAGF,OAAOsO,EAAO3J,KAAK,GACrB,EA7rBA7E,EAAQwR,mBA+rBR,SAA4BZ,GAC1B,OAAOa,mBAAmBC,OAAOd,GACnC,EAhsBA5Q,EAAQ2R,mBAksBR,SAA4Bf,GAC1B,OAAOgB,SAASC,mBAAmBjB,GACrC,EAnsBA5Q,EAAQoM,KAAOA,EACfpM,EAAQ8R,YAAcA,EACtB9R,EAAQ+R,sBAAwB/R,EAAQgS,qBAAuBhS,EAAQiS,gBAAkBjS,EAAQkS,YAAclS,EAAQmS,KAAOnS,EAAQuK,sBAAwBvK,EAAQsK,4BAA8BtK,EAAQoS,kBAAoBpS,EAAQqS,WAAarS,EAAQsS,eAAiBtS,EAAQuS,kBAAoBvS,EAAQ6J,kBAAoB7J,EAAQqK,oBAAsBrK,EAAQoK,oBAAsBpK,EAAQmJ,eAAiBnJ,EAAQwS,oBAAsBxS,EAAQyS,UAAYzS,EAAQ0S,SAAW1S,EAAQ2S,eAAiB3S,EAAQ4S,yBAA2B5S,EAAQ6S,sBAAwB7S,EAAQ8S,oBAAsB9S,EAAQ+S,sBAAwB/S,EAAQgT,eAAiBhT,EAAQiT,oBAAsBjT,EAAQkT,0BAA4BlT,EAAQuI,qBAAuBvI,EAAQ4H,eAAiB5H,EAAQmT,IAAMnT,EAAQoT,gBAAkBpT,EAAQqT,qBAAuBrT,EAAQsT,mBAAgB,EAE52BxT,EAAoB,GAGpBE,EAAQoT,gBADgB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAGxCpT,EAAQqT,qBADqB,CAAC,KAAO,EAAG,EAAG,KAAO,EAAG,GAYrDrT,EAAQsS,eAVe,CACrBiB,MAAO,EACPC,gBAAiB,EACjBC,KAAM,GACNC,mBAAoB,GACpBC,uBAAwB,IACxBC,uBAAwB,IACxBC,SAAU,KACVC,mBAAoB,MAetB9T,EAAQoS,kBAZkB,CACxB2B,KAAM,EACNC,OAAQ,EACRC,YAAa,EACbC,UAAW,EACXC,iBAAkB,EAClBC,mBAAoB,EACpBC,wBAAyB,EACzBC,YAAa,EACbC,iBAAkB,EAClBC,iBAAkB,GAQpBxU,EAAQyS,UALU,CAChBgC,eAAgB,EAChBC,UAAW,EACXC,WAAY,GA+Bd3U,EAAQ2S,eA5Be,CACrBiC,KAAM,EACNC,KAAM,EACNC,SAAU,EACVC,KAAM,EACNC,OAAQ,EACRC,OAAQ,EACRC,QAAS,EACTC,SAAU,EACVC,UAAW,EACXC,UAAW,GACXC,SAAU,GACVC,UAAW,GACXC,MAAO,GACPC,MAAO,GACPC,IAAK,GACLC,MAAO,GACPC,eAAgB,GAChBC,MAAO,GACPC,MAAO,GACPC,OAAQ,GACRC,OAAQ,GACRC,YAAa,GACbC,QAAS,GACTC,UAAW,GACXC,OAAQ,GACRC,OAAQ,IAOVrW,EAAQ4S,yBAJyB,CAC/B0D,OAAQ,SACRC,OAAQ,UAOVvW,EAAQ+S,sBAJsB,CAC5BuD,OAAQ,SACRE,SAAU,YAUZxW,EAAQ6S,sBAPsB,CAC5B4D,SAAU,WACVC,SAAU,WACVC,UAAW,YACXC,UAAW,YACXC,KAAM,QAOR7W,EAAQ8S,oBAJoB,CAC1BgE,MAAO,QACPC,MAAO,KAeT/W,EAAQgT,eAZe,CACrBkB,UAAW,EACX8C,OAAQ,EACRzD,MAAO,EACP0D,OAAQ,EACRC,SAAU,GACVC,OAAQ,GACRC,SAAU,GACVC,OAAQ,IACRC,aAAc,IACdC,eAAgB,KAwBlBvX,EAAQiT,oBArBoB,CAC1BmE,SAAU,EACVI,SAAU,EACVC,SAAU,EACVC,UAAW,KACXC,SAAU,KACVC,cAAe,MACfC,MAAO,MACPC,WAAY,MACZC,MAAO,OACPC,KAAM,OACNC,KAAM,OACNC,WAAY,QACZC,YAAa,QACbC,gBAAiB,QACjBC,YAAa,QACbC,KAAM,SACNC,SAAU,SACVC,eAAgB,SAChBC,kBAAmB,UAUrBzY,EAAQkT,0BAP0B,CAChCwF,MAAO,EACPC,OAAQ,EACRC,QAAS,EACTC,MAAO,EACPxD,UAAW,GAebrV,EAAQqS,WAZW,CACjByG,QAAS,UACTC,MAAO,QACPC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,KAAM,OACNC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,OAgBPvZ,EAAQ0S,SAbS,CACfoG,QAAS,UACTU,MAAO,QACPC,OAAQ,SACRC,aAAc,eACdC,cAAe,gBACfC,SAAU,WACVC,aAAc,eACdC,MAAO,QACPC,SAAU,WACVC,MAAO,QACPC,QAAS,WAGX,MAAMrS,EAAiB,CACrBsS,OAAQ,EACRC,SAAU,EACVtS,MAAO,GAET7H,EAAQ4H,eAAiBA,EAMzB5H,EAAQwS,oBALoB,CAC1BqE,KAAM,EACNuD,OAAQ,EACRC,OAAQ,GAgGVra,EAAQmT,IA7FI,CACVmH,WAAY,EACZC,aAAc,EACdC,WAAY,EACZC,YAAa,EACbC,cAAe,EACfC,QAAS,EACTC,mBAAoB,EACpBC,YAAa,EACbC,UAAW,EACXC,KAAM,GACNC,QAAS,GACTC,UAAW,GACXC,OAAQ,GACRC,OAAQ,GACRC,QAAS,GACTC,SAAU,GACVC,SAAU,GACVC,UAAW,GACXC,UAAW,GACXC,OAAQ,GACRC,YAAa,GACbC,KAAM,GACNC,OAAQ,GACRC,WAAY,GACZC,aAAc,GACdC,gBAAiB,GACjBC,kBAAmB,GACnBC,QAAS,GACTC,KAAM,GACNC,OAAQ,GACRC,UAAW,GACXC,QAAS,GACTC,eAAgB,GAChBC,eAAgB,GAChBC,UAAW,GACXC,WAAY,GACZC,QAAS,GACTC,qBAAsB,GACtBC,YAAa,GACbC,SAAU,GACVC,mBAAoB,GACpBC,cAAe,GACfC,SAAU,GACVC,SAAU,GACVC,eAAgB,GAChBC,iBAAkB,GAClBC,2BAA4B,GAC5BC,aAAc,GACdC,sBAAuB,GACvBC,oBAAqB,GACrBC,kBAAmB,GACnBC,eAAgB,GAChBC,gBAAiB,GACjBC,aAAc,GACdC,cAAe,GACfC,cAAe,GACfC,YAAa,GACbC,kBAAmB,GACnBC,gBAAiB,GACjBC,mBAAoB,GACpBC,iBAAkB,GAClBC,YAAa,GACbC,iBAAkB,GAClBC,eAAgB,GAChBC,eAAgB,GAChBC,aAAc,GACdC,UAAW,GACXC,eAAgB,GAChBC,mBAAoB,GACpBC,wBAAyB,GACzBC,iBAAkB,GAClBC,YAAa,GACbC,UAAW,GACXC,sBAAuB,GACvBC,oBAAqB,GACrBC,WAAY,GACZC,SAAU,GACVC,iBAAkB,GAClBC,eAAgB,GAChBC,gBAAiB,GACjBC,cAAe,GACfC,iBAAkB,GAClBC,sBAAuB,GACvBC,2BAA4B,GAC5BC,kBAAmB,GACnBC,wBAAyB,GACzBC,6BAA8B,GAC9BC,wBAAyB,GACzBC,4BAA6B,GAC7BC,yBAA0B,GAC1BC,cAAe,IAuBjBhgB,EAAQuI,qBApBqB,CAC3B0X,QAAS,UACTC,MAAO,QACPC,WAAY,aACZC,MAAO,QACPC,eAAgB,iBAChBC,KAAM,OACNC,mBAAoB,qBACpBC,eAAgB,iBAChBC,aAAc,eACdC,mBAAoB,qBACpBC,eAAgB,iBAChBC,iBAAkB,mBAClBC,mBAAoB,qBACpBC,gBAAiB,kBACjBtY,kBAAmB,oBACnBuY,mBAAoB,qBACpBC,oBAAqB,sBACrBC,iBAAkB,oBAOpBjhB,EAAQuS,kBAJkB,CACxB2O,cAAe,EACfC,mBAAoB,GAGtB,IAAIjd,EAAY0D,EAAeuS,SAkB/B,SAAS/N,EAAK2C,GACR7K,GAAa0D,EAAeuS,UAC9BnL,QAAQC,IAAI,YAAYF,IAE5B,CAEA,SAAS+C,EAAY/C,GACnB,MAAM,IAAI1L,MAAM0L,EAClB,CAEA,SAASd,EAAOmT,EAAMrS,GACfqS,GACHtP,EAAY/C,EAEhB,CAqDA,SAASmC,EAAOtB,EAAKyR,EAAMngB,GAOzB,OANAP,OAAOC,eAAegP,EAAKyR,EAAM,CAC/BngB,QACAL,YAAY,EACZygB,cAAc,EACdC,UAAU,IAELrgB,CACT,CAEA,MAAMoS,EAAgB,WACpB,SAASA,EAAc9I,GACjB7H,KAAK6e,cAAgBlO,GACvBxB,EAAY,oCAGdnP,KAAK6H,QAAUA,EACf7H,KAAKnC,KAAOmC,KAAK6e,YAAYhhB,IAC/B,CAIA,OAFA8S,EAAczR,UAAY,IAAIwB,MAC9BiQ,EAAckO,YAAclO,EACrBA,CACT,CAbsB,GAetBtT,EAAQsT,cAAgBA,EAUxBtT,EAAQ6J,kBARR,cAAgCyJ,EAC9BkO,YAAYzS,EAAKjF,GACf2X,MAAM1S,GACNpM,KAAKmH,KAAOA,CACd,GAcF9J,EAAQuK,sBARR,cAAoC+I,EAClCkO,YAAYzS,EAAK2S,GACfD,MAAM1S,GACNpM,KAAK+e,QAAUA,CACjB,GAQF1hB,EAAQoK,oBAFR,cAAkCkJ,IAMlCtT,EAAQqK,oBAFR,cAAkCiJ,IAYlCtT,EAAQsK,4BARR,cAA0CgJ,EACxCkO,YAAYzS,EAAK4S,GACfF,MAAM1S,GACNpM,KAAKgf,OAASA,CAChB,GAQF3hB,EAAQkS,YAFR,cAA0BoB,IAM1BtT,EAAQmJ,eAFR,cAA6BmK,IAG7B,MAAMxC,EAAuB,QA+B7B,SAAShD,EAAc8C,GACrB3C,EAAsB,iBAAR2C,EAAkB,sCAChC,MAAMhM,EAASgM,EAAIhM,OACbyC,EAAQ,IAAIxD,WAAWe,GAE7B,IAAK,IAAI1E,EAAI,EAAGA,EAAI0E,IAAU1E,EAC5BmH,EAAMnH,GAAyB,IAApB0Q,EAAIS,WAAWnR,GAG5B,OAAOmH,CACT,CAEA,SAASiF,EAAgBoB,GACvB,YAAmBS,IAAfT,EAAI9I,OACC8I,EAAI9I,QAGbqJ,OAA0BE,IAAnBT,EAAIP,WAA0B,uCAC9BO,EAAIP,WACb,CAgDA,MAAM6E,EAAuB,CACvB9Q,YACF,OAAOgQ,EAAOvO,KAAM,QATxB,WACE,MAAMif,EAAU,IAAI/d,WAAW,GAG/B,OAFA+d,EAAQ,GAAK,EAEQ,IADN,IAAIC,YAAYD,EAAQE,OAAQ,EAAG,GACpC,EAChB,CAIiCC,GAC/B,GAGF/hB,EAAQgS,qBAAuBA,EAW/B,MAAMD,EAAwB,CACxB7Q,YACF,OAAOgQ,EAAOvO,KAAM,QAXxB,WACE,IAEE,OADA,IAAIqf,SAAS,KACN,CAGT,CAFE,MAAOrV,GACP,OAAO,CACT,CACF,CAIiCM,GAC/B,GAGFjN,EAAQ+R,sBAAwBA,EAChC,MAAMkQ,EAAS,CAAC,OAAQ,EAAG,IAAK,EAAG,IAAK,EAAG,KAE3C,MAAM9P,EACJ+P,kBAAkBnhB,EAAGohB,EAAGC,GAItB,OAHAH,EAAO,GAAKlhB,EACZkhB,EAAO,GAAKE,EACZF,EAAO,GAAKG,EACLH,EAAOpd,KAAK,GACrB,CAEAqd,iBAAiBG,EAAIC,GACnB,MAAO,CAACD,EAAG,GAAKC,EAAG,GAAKD,EAAG,GAAKC,EAAG,GAAID,EAAG,GAAKC,EAAG,GAAKD,EAAG,GAAKC,EAAG,GAAID,EAAG,GAAKC,EAAG,GAAKD,EAAG,GAAKC,EAAG,GAAID,EAAG,GAAKC,EAAG,GAAKD,EAAG,GAAKC,EAAG,GAAID,EAAG,GAAKC,EAAG,GAAKD,EAAG,GAAKC,EAAG,GAAKD,EAAG,GAAIA,EAAG,GAAKC,EAAG,GAAKD,EAAG,GAAKC,EAAG,GAAKD,EAAG,GAChN,CAEAH,sBAAsBngB,EAAG1B,GAGvB,MAAO,CAFI0B,EAAE,GAAK1B,EAAE,GAAK0B,EAAE,GAAK1B,EAAE,GAAKA,EAAE,GAC9B0B,EAAE,GAAK1B,EAAE,GAAK0B,EAAE,GAAK1B,EAAE,GAAKA,EAAE,GAE3C,CAEA6hB,6BAA6BngB,EAAG1B,GAC9B,MAAME,EAAIF,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAGjC,MAAO,EAFK0B,EAAE,GAAK1B,EAAE,GAAK0B,EAAE,GAAK1B,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,IAAME,IACxDwB,EAAE,GAAK1B,EAAE,GAAK0B,EAAE,GAAK1B,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,IAAME,EAExE,CAEA2hB,kCAAkCnhB,EAAGV,GACnC,MAAMkiB,EAAKpQ,EAAKqQ,eAAezhB,EAAGV,GAC5BoiB,EAAKtQ,EAAKqQ,eAAezhB,EAAE2hB,MAAM,EAAG,GAAIriB,GACxCsiB,EAAKxQ,EAAKqQ,eAAe,CAACzhB,EAAE,GAAIA,EAAE,IAAKV,GACvCuiB,EAAKzQ,EAAKqQ,eAAe,CAACzhB,EAAE,GAAIA,EAAE,IAAKV,GAC7C,MAAO,CAACmM,KAAKkC,IAAI6T,EAAG,GAAIE,EAAG,GAAIE,EAAG,GAAIC,EAAG,IAAKpW,KAAKkC,IAAI6T,EAAG,GAAIE,EAAG,GAAIE,EAAG,GAAIC,EAAG,IAAKpW,KAAKC,IAAI8V,EAAG,GAAIE,EAAG,GAAIE,EAAG,GAAIC,EAAG,IAAKpW,KAAKC,IAAI8V,EAAG,GAAIE,EAAG,GAAIE,EAAG,GAAIC,EAAG,IAC7J,CAEAV,wBAAwB7hB,GACtB,MAAME,EAAIF,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,GACjC,MAAO,CAACA,EAAE,GAAKE,GAAIF,EAAE,GAAKE,GAAIF,EAAE,GAAKE,EAAGF,EAAE,GAAKE,GAAIF,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,IAAME,GAAIF,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,IAAME,EACnH,CAEA2hB,wBAAwB7hB,EAAG8O,GACzB,MAAO,CAAC9O,EAAE,GAAK8O,EAAE,GAAK9O,EAAE,GAAK8O,EAAE,GAAK9O,EAAE,GAAK8O,EAAE,GAAI9O,EAAE,GAAK8O,EAAE,GAAK9O,EAAE,GAAK8O,EAAE,GAAK9O,EAAE,GAAK8O,EAAE,GAAI9O,EAAE,GAAK8O,EAAE,GAAK9O,EAAE,GAAK8O,EAAE,GAAK9O,EAAE,GAAK8O,EAAE,GACjI,CAEA+S,qCAAqC7hB,GACnC,MAAMwiB,EAAY,CAACxiB,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,IACjCyiB,EAAIziB,EAAE,GAAKwiB,EAAU,GAAKxiB,EAAE,GAAKwiB,EAAU,GAC3CT,EAAI/hB,EAAE,GAAKwiB,EAAU,GAAKxiB,EAAE,GAAKwiB,EAAU,GAC3CviB,EAAID,EAAE,GAAKwiB,EAAU,GAAKxiB,EAAE,GAAKwiB,EAAU,GAC3CtiB,EAAIF,EAAE,GAAKwiB,EAAU,GAAKxiB,EAAE,GAAKwiB,EAAU,GAC3CE,GAASD,EAAIviB,GAAK,EAClByiB,EAASxW,KAAKyW,MAAMH,EAAIviB,IAAMuiB,EAAIviB,GAAK,GAAKuiB,EAAIviB,EAAID,EAAI8hB,IAAM,EAC9Dc,EAAKH,EAAQC,GAAU,EACvBG,EAAKJ,EAAQC,GAAU,EAC7B,MAAO,CAACxW,KAAKyW,KAAKC,GAAK1W,KAAKyW,KAAKE,GACnC,CAEAjB,qBAAqBkB,GACnB,MAAMriB,EAAIqiB,EAAKV,MAAM,GAYrB,OAVIU,EAAK,GAAKA,EAAK,KACjBriB,EAAE,GAAKqiB,EAAK,GACZriB,EAAE,GAAKqiB,EAAK,IAGVA,EAAK,GAAKA,EAAK,KACjBriB,EAAE,GAAKqiB,EAAK,GACZriB,EAAE,GAAKqiB,EAAK,IAGPriB,CACT,CAEAmhB,iBAAiBmB,EAAOC,GACtB,SAASC,EAAQT,EAAGV,GAClB,OAAOU,EAAIV,CACb,CAEA,MAAMoB,EAAW,CAACH,EAAM,GAAIA,EAAM,GAAIC,EAAM,GAAIA,EAAM,IAAIG,KAAKF,GACzDG,EAAW,CAACL,EAAM,GAAIA,EAAM,GAAIC,EAAM,GAAIA,EAAM,IAAIG,KAAKF,GACzDI,EAAS,GAIf,OAHAN,EAAQlR,EAAKyR,cAAcP,GAC3BC,EAAQnR,EAAKyR,cAAcN,GAEvBE,EAAS,KAAOH,EAAM,IAAMG,EAAS,KAAOF,EAAM,IAAME,EAAS,KAAOF,EAAM,IAAME,EAAS,KAAOH,EAAM,IAC5GM,EAAO,GAAKH,EAAS,GACrBG,EAAO,GAAKH,EAAS,GAKnBE,EAAS,KAAOL,EAAM,IAAMK,EAAS,KAAOJ,EAAM,IAAMI,EAAS,KAAOJ,EAAM,IAAMI,EAAS,KAAOL,EAAM,IAC5GM,EAAO,GAAKD,EAAS,GACrBC,EAAO,GAAKD,EAAS,GAKhBC,GAHE,MAPA,IAWX,EAIF3jB,EAAQmS,KAAOA,EACf,MAAMb,EAA0B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,IAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,EAAG,MAyF3qBW,EAAkB,WACtB,MAAM4R,EAAS,oEACf,OAAO,SAAyBjgB,EAAMkgB,EAAaC,GAAkB,GACnE,IAAKA,GAAmB5T,IAAI8B,gBAAiB,CAC3C,MAAM+R,EAAO,IAAIC,KAAK,CAACrgB,GAAO,CAC5BsgB,KAAMJ,IAER,OAAO3T,IAAI8B,gBAAgB+R,EAC7B,CAEA,IAAIlC,EAAS,QAAQgC,YAErB,IAAK,IAAI5jB,EAAI,EAAGikB,EAAKvgB,EAAKgB,OAAQ1E,EAAIikB,EAAIjkB,GAAK,EAAG,CAChD,MAAMkkB,EAAe,IAAVxgB,EAAK1D,GACVmkB,EAAmB,IAAdzgB,EAAK1D,EAAI,GACdokB,EAAmB,IAAd1gB,EAAK1D,EAAI,GAKpB4hB,GAAU+B,EAJCO,GAAM,GAIMP,GAHN,EAALO,IAAW,EAAIC,GAAM,GAGGR,EAFzB3jB,EAAI,EAAIikB,GAAW,GAALE,IAAa,EAAIC,GAAM,EAAI,IAEHT,EADtC3jB,EAAI,EAAIikB,EAAU,GAALG,EAAY,GAEtC,CAEA,OAAOxC,CACT,CACF,CAzBwB,GA2BxB9hB,EAAQiS,gBAAkBA,CAEnB,EAED,SAAUhS,EAAQD,EAASF,GAEjC,aAGeA,EAAoB,EAI5B,EAED,SAAUG,EAAQD,EAASF,GAEjC,aAGAa,OAAOC,eAAeZ,EAAS,aAAc,CAC3CkB,OAAO,IAETlB,EAAQuN,cAAW,EACnB,MAAMA,EAA8B,iBAAZgX,SAAwBA,QAAU,IAAO,qBAAuBA,QAAQC,SAASC,KAAOF,QAAQC,SAASE,SACjI1kB,EAAQuN,SAAWA,CAEZ,EAED,SAAUtN,EAAQD,EAASF,GAEjC,aAGAa,OAAOC,eAAeZ,EAAS,aAAc,CAC3CkB,OAAO,IAETlB,EAAQqJ,qBA4SR,WACEsb,EAAIC,cAEJC,EAAKD,cAELle,EAAIke,aACN,EAjTA5kB,EAAQ8kB,MA+QR,SAAe3V,GACb,OAAOA,IAAM4V,CACf,EAhRA/kB,EAAQglB,MAsRR,SAAe7V,EAAG8V,GAChB,OAAO9V,aAAawV,SAAgBxW,IAAR8W,GAAqB9V,EAAE8V,MAAQA,EAC7D,EAvRAjlB,EAAQklB,OAASA,EACjBllB,EAAQmlB,OAASA,EACjBnlB,EAAQolB,MA2RR,SAAejW,GACb,OAAOA,aAAazI,CACtB,EA5RA1G,EAAQqlB,YA8RR,SAAqBC,EAAIC,GACvB,OAAOD,EAAG3e,MAAQ4e,EAAG5e,KAAO2e,EAAG1e,MAAQ2e,EAAG3e,GAC5C,EA/RA5G,EAAQwlB,SAiSR,SAAkBrW,GAChB,MAAoB,iBAANA,GAAwB,OAANA,QAA6BhB,IAAfgB,EAAEsW,QAClD,EAlSAzlB,EAAQ0lB,YAAc1lB,EAAQ2lB,OAAS3lB,EAAQ0G,IAAM1G,EAAQ6kB,KAAO7kB,EAAQ4lB,KAAO5lB,EAAQ2kB,IAAM3kB,EAAQ+kB,SAAM,EAEnGjlB,EAAoB,GAAhC,IAEIilB,EAAM,CAAC,EACX/kB,EAAQ+kB,IAAMA,EAEd,IAAIF,EAAO,WACT,IAAIgB,EAAYllB,OAAOY,OAAO,MAE9B,SAASsjB,EAAKrkB,GACZmC,KAAKnC,KAAOA,CACd,CAaA,OAXAqkB,EAAKhjB,UAAY,CAAC,EAElBgjB,EAAK/jB,IAAM,SAAkBN,GAE3B,OADgBqlB,EAAUrlB,KACKqlB,EAAUrlB,GAAQ,IAAIqkB,EAAKrkB,GAC5D,EAEAqkB,EAAKD,YAAc,WACjBiB,EAAYllB,OAAOY,OAAO,KAC5B,EAEOsjB,CACT,CAnBW,GAqBX7kB,EAAQ6kB,KAAOA,EAEf,IAAIF,EAAM,WACR,IAAImB,EAAWnlB,OAAOY,OAAO,MAE7B,SAASojB,EAAIM,GACXtiB,KAAKsiB,IAAMA,CACb,CAaA,OAXAN,EAAI9iB,UAAY,CAAC,EAEjB8iB,EAAI7jB,IAAM,SAAiBmkB,GAEzB,OADea,EAASb,KACKa,EAASb,GAAO,IAAIN,EAAIM,GACvD,EAEAN,EAAIC,YAAc,WAChBkB,EAAWnlB,OAAOY,OAAO,KAC3B,EAEOojB,CACT,CAnBU,GAqBV3kB,EAAQ2kB,IAAMA,EAEd,IAAIiB,EAAO,WACT,IAAIG,EAAkB,WACpB,OAAOA,CACT,EAEA,SAASH,EAAKte,GACZ3E,KAAKqjB,KAAOrlB,OAAOY,OAAO,MAC1BoB,KAAK2E,KAAOA,EACZ3E,KAAKsjB,MAAQ,KACbtjB,KAAKujB,oBAAqB,EAC1BvjB,KAAKwjB,oBAAsBJ,CAC7B,CAyGA,OAvGAH,EAAK/jB,UAAY,CACfukB,WAAY,SAAyBC,GACnC1jB,KAAK2E,KAAO+e,CACd,EAEAvlB,IAAIwlB,EAAMC,EAAMC,GACd,IAAItlB,EAAQyB,KAAKqjB,KAAKM,GAUtB,YARcnY,IAAVjN,QAAgCiN,IAAToY,IACzBrlB,EAAQyB,KAAKqjB,KAAKO,QAEJpY,IAAVjN,QAAgCiN,IAATqY,IACzBtlB,EAAQyB,KAAKqjB,KAAKQ,KAIlBtlB,aAAiBwF,GAAO/D,KAAK2E,KACxB3E,KAAK2E,KAAKmf,MAAMvlB,EAAOyB,KAAKujB,oBAG9BhlB,CACT,EAEAwE,eAAe4gB,EAAMC,EAAMC,GACzB,IAAItlB,EAAQyB,KAAKqjB,KAAKM,GAUtB,YARcnY,IAAVjN,QAAgCiN,IAAToY,IACzBrlB,EAAQyB,KAAKqjB,KAAKO,QAEJpY,IAAVjN,QAAgCiN,IAATqY,IACzBtlB,EAAQyB,KAAKqjB,KAAKQ,KAIlBtlB,aAAiBwF,GAAO/D,KAAK2E,KACxB3E,KAAK2E,KAAKof,WAAWxlB,EAAOyB,KAAKujB,oBAGnChlB,CACT,EAEAylB,SAASL,EAAMC,EAAMC,GACnB,IAAItlB,EAAQyB,KAAK7B,IAAIwlB,EAAMC,EAAMC,GAEjC,IAAKI,MAAMC,QAAQ3lB,KAAWyB,KAAK2E,KACjC,OAAOpG,EAGTA,EAAQA,EAAMwhB,QAEd,IAAK,IAAIxiB,EAAI,EAAGikB,EAAKjjB,EAAM0D,OAAQ1E,EAAIikB,EAAIjkB,IACnCgB,EAAMhB,aAAcwG,IAI1BxF,EAAMhB,GAAKyC,KAAK2E,KAAKmf,MAAMvlB,EAAMhB,GAAIyC,KAAKujB,qBAG5C,OAAOhlB,CACT,EAEA4lB,OAAQ,SAAqBtlB,GAC3B,OAAOmB,KAAKqjB,KAAKxkB,EACnB,EACAulB,QAAS,WACP,OAAOpmB,OAAOqmB,KAAKrkB,KAAKqjB,KAC1B,EACAhY,IAAK,SAAkBxM,EAAKN,GAC1ByB,KAAKqjB,KAAKxkB,GAAON,CACnB,EACA+lB,IAAK,SAAkBzlB,GACrB,YAA0B2M,IAAnBxL,KAAKqjB,KAAKxkB,EACnB,EACA8H,QAAS,SAAsB4d,GAC7B,IAAK,IAAI1lB,KAAOmB,KAAKqjB,KACnBkB,EAAS1lB,EAAKmB,KAAK7B,IAAIU,GAE3B,GAEFokB,EAAKuB,MAAQ,IAAIvB,EAAK,MAEtBA,EAAKwB,MAAQ,SAAU9f,EAAM+f,GAC3B,MAAMC,EAAa,IAAI1B,EAAKte,GAE5B,IAAK,IAAIpH,EAAI,EAAGikB,EAAKkD,EAAUziB,OAAQ1E,EAAIikB,EAAIjkB,IAAK,CAClD,MAAMqnB,EAAOF,EAAUnnB,GAEvB,GAAKglB,EAAOqC,GAIZ,IAAK,MAAMC,KAAWD,EAAKvB,UACQ7X,IAA7BmZ,EAAWtB,KAAKwB,KAIpBF,EAAWtB,KAAKwB,GAAWD,EAAKvB,KAAKwB,GAEzC,CAEA,OAAOF,CACT,EAEO1B,CACT,CArHW,GAuHX5lB,EAAQ4lB,KAAOA,EAEf,IAAIlf,EAAM,WACR,IAAI+gB,EAAW9mB,OAAOY,OAAO,MAE7B,SAASmF,EAAIC,EAAKC,GAChBjE,KAAKgE,IAAMA,EACXhE,KAAKiE,IAAMA,CACb,CAsBA,OApBAF,EAAI7E,UAAY,CACd4I,SAAU,WACR,OAAiB,IAAb9H,KAAKiE,IACA,GAAGjE,KAAKgE,OAGV,GAAGhE,KAAKgE,OAAOhE,KAAKiE,KAC7B,GAGFF,EAAI5F,IAAM,SAAU6F,EAAKC,GACvB,MAAMpF,EAAc,IAARoF,EAAY,GAAGD,KAAS,GAAGA,KAAOC,IAE9C,OADiB6gB,EAASjmB,KACGimB,EAASjmB,GAAO,IAAIkF,EAAIC,EAAKC,GAC5D,EAEAF,EAAIke,YAAc,WAChB6C,EAAW9mB,OAAOY,OAAO,KAC3B,EAEOmF,CACT,CA7BU,GA+BV1G,EAAQ0G,IAAMA,EAEd,IAAIif,EAAS,WACX,SAASA,IACPhjB,KAAK4kB,KAAO5mB,OAAOY,OAAO,KAC5B,CAaA,OAXAokB,EAAO9jB,UAAY,CACjBolB,IAAK,SAAoB1gB,GACvB,OAAOA,EAAIkE,aAAc9H,KAAK4kB,IAChC,EACAG,IAAK,SAAoBnhB,GACvB5D,KAAK4kB,KAAKhhB,EAAIkE,aAAc,CAC9B,EACAkd,OAAQ,SAAuBphB,UACtB5D,KAAK4kB,KAAKhhB,EAAIkE,WACvB,GAEKkb,CACT,CAjBa,GAmBb3lB,EAAQ2lB,OAASA,EAEjB,IAAID,EAAc,WAChB,SAASA,IACP/iB,KAAK4kB,KAAO5mB,OAAOY,OAAO,KAC5B,CA4BA,OA1BAmkB,EAAY7jB,UAAY,CAClB+lB,WACF,OAAOjnB,OAAOqmB,KAAKrkB,KAAK4kB,MAAM3iB,MAChC,EAEA9D,IAAK,SAAyByF,GAC5B,OAAO5D,KAAK4kB,KAAKhhB,EAAIkE,WACvB,EACAwc,IAAK,SAAyB1gB,GAC5B,OAAOA,EAAIkE,aAAc9H,KAAK4kB,IAChC,EACAG,IAAK,SAAyBnhB,EAAKqJ,GACjCjN,KAAK4kB,KAAKhhB,EAAIkE,YAAcmF,CAC9B,EACAiY,SAAU,SAA8BthB,EAAKuhB,GAC3CnlB,KAAK4kB,KAAKhhB,EAAIkE,YAAc9H,KAAK7B,IAAIgnB,EACvC,EACAxe,QAAS,SAA6B4d,GACpC,IAAK,MAAMhnB,KAAKyC,KAAK4kB,KACnBL,EAASvkB,KAAK4kB,KAAKrnB,GAEvB,EACA6nB,MAAO,WACLplB,KAAK4kB,KAAO5mB,OAAOY,OAAO,KAC5B,GAEKmkB,CACT,CAhCkB,GAwClB,SAASP,EAAOhW,EAAG3O,GACjB,OAAO2O,aAAa0V,SAAkB1W,IAAT3N,GAAsB2O,EAAE3O,OAASA,EAChE,CAMA,SAAS0kB,EAAO/V,EAAG+U,GACjB,OAAO/U,aAAayW,SAAkBzX,IAAT+V,GAAsBiB,EAAOhW,EAAErO,IAAI,QAASojB,GAC3E,CAhBAlkB,EAAQ0lB,YAAcA,CAsCf,EAED,SAAUzlB,EAAQD,EAASF,GAEjC,aAGAa,OAAOC,eAAeZ,EAAS,aAAc,CAC3CkB,OAAO,IAETlB,EAAQ0L,kBAAoB1L,EAAQ+K,qBAAkB,EAEtD,IAAI3I,EAAQtC,EAAoB,GAE5BkoB,EAAkBloB,EAAoB,GAEtC4C,EAAc5C,EAAoB,GAElCmoB,EAAYnoB,EAAoB,GAEhCooB,EAAUpoB,EAAoB,IAElC,MAAMqoB,EACJ3G,cACM7e,KAAK6e,cAAgB2G,IACvB,EAAI/lB,EAAM0P,aAAa,oCAE3B,CAEI7M,YACF,OAAOtC,KAAKylB,MACd,CAEIpe,eACF,OAAOrH,KAAK0lB,SACd,CAEInjB,iBACF,IAAIA,EAAa,KAEjB,GAAIvC,KAAK2lB,YAAa,CACpB,MAAM9X,GAAc,EAAIpO,EAAMkO,wBAAwB3N,KAAK2lB,aAEvD9X,EACFtL,EAAasL,EAAY+X,MAEzB,EAAInmB,EAAMgK,MAAM,iCAAiCzJ,KAAK2lB,gBAE1D,CAEA,OAAO,EAAIlmB,EAAM8O,QAAQvO,KAAM,aAAcuC,EAC/C,CAEAiC,kBACE,EAAI/E,EAAM0P,aAAa,0CACzB,CAEAjM,UAAUwb,EAAMmH,GACd,OAAO7lB,KAAK0D,OAAO1D,KAAKkE,YAAawa,EAAMmH,EAC7C,CAEAC,WAAWpH,EAAMmH,GACf,OAAO7lB,KAAK0D,OAAO1D,KAAKkE,YAAYS,KAAM+Z,EAAMmH,EAClD,CAEAxhB,cAAcqa,EAAMmH,GAClB,OAAO7lB,KAAK0D,OAAO1D,KAAKkE,YAAYC,QAASua,EAAMmH,EACrD,CAEAviB,QAAQC,GACN,OAAOvD,KAAKkE,YAAYZ,QAAQC,EAClC,CAEA8C,aAAa/B,EAAIzD,GACf,OAAOb,KAAKkE,YAAYmC,aAAa/B,EAAIzD,EAC3C,CAEAyF,QAAQyf,GAAoB,GAC1B,OAAO/lB,KAAKkE,YAAYoC,QAAQyf,EAClC,CAEAhjB,aAAakK,EAAKyR,EAAMmH,IACtB,EAAIpmB,EAAM0P,aAAa,kCACzB,CAEA6W,aAAaC,EAAOC,IAClB,EAAIzmB,EAAM0P,aAAa,wCACzB,CAEA5K,uBACE,EAAI9E,EAAM0P,aAAa,+CACzB,CAEAhG,oBAAoB6C,IAClB,EAAIvM,EAAM0P,aAAa,+CACzB,CAEA7H,eAAeD,GACbrH,KAAK0lB,UAAYre,CACnB,CAEA7G,UAAUkF,IACR,EAAIjG,EAAM0P,aAAa,qCACzB,EAwCF9R,EAAQ+K,gBApCR,cAA8Bod,EAC5B3G,YAAYvc,EAAOrB,EAAMoG,EAAUW,EAAkBzF,GACnDuc,QACA9e,KAAKylB,OAASnjB,EACdtC,KAAK0lB,UAAYre,EACjBrH,KAAK2lB,YAAcpjB,EACnBvC,KAAKgI,iBAAmBA,EACxB,MAAMvD,EAAS,IAAI8gB,EAAQY,OAAOllB,GAClCjB,KAAKkE,YAAc,IAAIohB,EAAUc,YAAYpmB,KAAMyE,GACnDzE,KAAKqmB,qBAAuBjkB,QAAQ7B,QAAQkE,EAC9C,CAEA1B,aAAakK,EAAKyR,EAAMmH,GACtB,MAAMtnB,EAAQ0O,EAAIyR,GAElB,MAAqB,mBAAVngB,EACFA,EAAMqN,MAAMqB,EAAK4Y,GAGnBtnB,CACT,CAEAynB,aAAaC,EAAOC,GAClB,OAAO9jB,QAAQ7B,SACjB,CAEAgE,sBAAuB,CAEvBC,iBACE,OAAOxE,KAAKqmB,oBACd,CAEA7lB,UAAUkF,GAAS,GAkErBrI,EAAQ0L,kBA5DR,cAAgCyc,EAC9B3G,YAAYvc,EAAOgkB,EAAkBT,EAAM7d,EAAkBzF,GAC3Duc,QACA9e,KAAKylB,OAASnjB,EACdtC,KAAK0lB,UAAYG,EAAKxe,SACtBrH,KAAK2lB,YAAcpjB,EACnBvC,KAAKgJ,WAAa6c,EAAK7c,WACvBhJ,KAAKgI,iBAAmBA,EACxBhI,KAAKumB,cAAgB,IAAIlB,EAAgBmB,qBAAqBF,EAAkB,CAC9Etd,WAAY6c,EAAK7c,WACjB/G,OAAQ4jB,EAAK5jB,OACb4G,iBAAkBgd,EAAKhd,iBACvBK,eAAgB2c,EAAK3c,iBAEvBlJ,KAAKkE,YAAc,IAAIohB,EAAUc,YAAYpmB,KAAMA,KAAKumB,cAAcE,YACxE,CAEA1jB,aAAakK,EAAKyR,EAAMmH,GACtB,IACE,MAAMtnB,EAAQ0O,EAAIyR,GAElB,MAAqB,mBAAVngB,EACFA,EAAMqN,MAAMqB,EAAK4Y,GAGnBtnB,CAQT,CAPE,MAAO0I,GACP,KAAMA,aAAclH,EAAY2mB,sBAC9B,MAAMzf,EAIR,aADMjH,KAAKgmB,aAAa/e,EAAGgf,MAAOhf,EAAGif,KAC9BlmB,KAAK0D,OAAOuJ,EAAKyR,EAAMmH,EAChC,CACF,CAEAG,aAAaC,EAAOC,GAClB,OAAOlmB,KAAKumB,cAAcP,aAAaC,EAAOC,EAChD,CAEA3hB,sBACEvE,KAAKumB,cAAcI,kBACrB,CAEAxd,oBAAoB6C,GAClBhM,KAAKumB,cAAcK,cAAc,CAC/B5a,SAEJ,CAEAxH,iBACE,OAAOxE,KAAKumB,cAAc/hB,gBAC5B,CAEAhE,UAAUkF,GACR1F,KAAKumB,cAAcM,MAAMnhB,EAC3B,EAMK,EAED,SAAUpI,EAAQD,EAASF,GAEjC,aAGAa,OAAOC,eAAeZ,EAAS,aAAc,CAC3CkB,OAAO,IAETlB,EAAQmpB,qBAAuBnpB,EAAQypB,mBAAgB,EAEvD,IAAIrnB,EAAQtC,EAAoB,GAE5B4C,EAAc5C,EAAoB,GAEtC,MAAM2pB,EACJjI,YAAY5c,EAAQ8kB,EAAWC,GAC7BhnB,KAAK0E,MAAQ,IAAIxD,WAAWe,GAC5BjC,KAAKgF,MAAQ,EACbhF,KAAKiL,IAAM,EACXjL,KAAKkmB,IAAMjkB,EACXjC,KAAK+mB,UAAYA,EACjB/mB,KAAKinB,aAAe,GACpBjnB,KAAKknB,gBAAkB,EACvBlnB,KAAKmnB,UAAYtd,KAAKud,KAAKnlB,EAAS8kB,GACpC/mB,KAAKgnB,QAAUA,EACfhnB,KAAKqnB,sBAAwB,EAC7BrnB,KAAKsnB,+BAAiC,CACxC,CAEAC,mBACE,MAAMC,EAAS,GAEf,IAAK,IAAIxb,EAAQ,EAAGjN,EAAIiB,KAAKmnB,UAAWnb,EAAQjN,IAAKiN,EAC9ChM,KAAKinB,aAAajb,IACrBwb,EAAOxlB,KAAKgK,GAIhB,OAAOwb,CACT,CAEAC,iBACE,MAAO,CAACznB,KACV,CAEA0nB,kBACE,OAAO1nB,KAAKknB,kBAAoBlnB,KAAKmnB,SACvC,CAEAP,cAAcX,EAAOja,GACnB,MAAM+a,EAAY/mB,KAAK+mB,UAEvB,GAAId,EAAQc,GAAc,EACxB,MAAM,IAAIrmB,MAAM,qBAAqBulB,KAGvC,MAAMC,EAAMD,EAAQja,EAAMxB,WAE1B,GAAI0b,EAAMa,GAAc,GAAKb,IAAQlmB,KAAK0E,MAAMzC,OAC9C,MAAM,IAAIvB,MAAM,mBAAmBwlB,KAGrClmB,KAAK0E,MAAM2G,IAAI,IAAInK,WAAW8K,GAAQia,GACtC,MAAM0B,EAAa9d,KAAK+d,MAAM3B,EAAQc,GAChCc,EAAWhe,KAAK+d,OAAO1B,EAAM,GAAKa,GAAa,EAErD,IAAK,IAAIe,EAAWH,EAAYG,EAAWD,IAAYC,EAChD9nB,KAAKinB,aAAaa,KACrB9nB,KAAKinB,aAAaa,IAAY,IAC5B9nB,KAAKknB,gBAGb,CAEAa,yBAAyB9mB,GACvB,IAAI+mB,EAAWhoB,KAAKqnB,sBACpB,MAAMM,EAAa9d,KAAK+d,MAAMI,EAAWhoB,KAAK+mB,WAC9C/mB,KAAK0E,MAAM2G,IAAI,IAAInK,WAAWD,GAAO+mB,GACrCA,GAAY/mB,EAAKuJ,WACjBxK,KAAKqnB,sBAAwBW,EAC7B,MAAMH,EAAWG,GAAYhoB,KAAKkmB,IAAMlmB,KAAKmnB,UAAYtd,KAAK+d,MAAMI,EAAWhoB,KAAK+mB,WAEpF,IAAK,IAAIe,EAAWH,EAAYG,EAAWD,IAAYC,EAChD9nB,KAAKinB,aAAaa,KACrB9nB,KAAKinB,aAAaa,IAAY,IAC5B9nB,KAAKknB,gBAGb,CAEAe,WAAWhd,GACT,GAAIA,EAAMjL,KAAKqnB,sBACb,OAGF,MAAMrb,EAAQnC,KAAK+d,MAAM3c,EAAMjL,KAAK+mB,WAEpC,GAAI/a,IAAUhM,KAAKsnB,8BAAnB,CAIA,IAAKtnB,KAAKinB,aAAajb,GACrB,MAAM,IAAIjM,EAAY2mB,qBAAqBzb,EAAKA,EAAM,GAGxDjL,KAAKsnB,8BAAgCtb,CANrC,CAOF,CAEAkc,YAAYjC,EAAOC,GACjB,GAAID,GAASC,EACX,OAGF,GAAIA,GAAOlmB,KAAKqnB,sBACd,OAGF,MAAMN,EAAY/mB,KAAK+mB,UACjBY,EAAa9d,KAAK+d,MAAM3B,EAAQc,GAChCc,EAAWhe,KAAK+d,OAAO1B,EAAM,GAAKa,GAAa,EAErD,IAAK,IAAI/a,EAAQ2b,EAAY3b,EAAQ6b,IAAY7b,EAC/C,IAAKhM,KAAKinB,aAAajb,GACrB,MAAM,IAAIjM,EAAY2mB,qBAAqBT,EAAOC,EAGxD,CAEAiC,eAAeR,GACb,MAAMR,EAAYnnB,KAAKmnB,UAEvB,IAAK,IAAI5pB,EAAI,EAAGA,EAAI4pB,IAAa5pB,EAAG,CAClC,MAAMyO,GAAS2b,EAAapqB,GAAK4pB,EAEjC,IAAKnnB,KAAKinB,aAAajb,GACrB,OAAOA,CAEX,CAEA,OAAO,IACT,CAEAoc,SAASpc,GACP,QAAShM,KAAKinB,aAAajb,EAC7B,CAEI/J,aACF,OAAOjC,KAAKkmB,IAAMlmB,KAAKgF,KACzB,CAEIqjB,cACF,OAAuB,IAAhBroB,KAAKiC,MACd,CAEAqmB,UACE,MAAMrd,EAAMjL,KAAKiL,IAEjB,OAAIA,GAAOjL,KAAKkmB,KACN,GAGNjb,GAAOjL,KAAKqnB,uBACdrnB,KAAKioB,WAAWhd,GAGXjL,KAAK0E,MAAM1E,KAAKiL,OACzB,CAEAsd,YACE,MAAMC,EAAKxoB,KAAKsoB,UACV7G,EAAKzhB,KAAKsoB,UAEhB,OAAY,IAARE,IAAqB,IAAR/G,GACP,GAGF+G,GAAM,GAAK/G,CACrB,CAEAgH,WAKE,OAJWzoB,KAAKsoB,WAIF,KAHHtoB,KAAKsoB,WAGW,KAFhBtoB,KAAKsoB,WAEwB,GAD7BtoB,KAAKsoB,SAElB,CAEAxF,SAAS7gB,EAAQymB,GAAe,GAC9B,MAAMhkB,EAAQ1E,KAAK0E,MACbuG,EAAMjL,KAAKiL,IACX0d,EAAS3oB,KAAKkmB,IAEpB,IAAKjkB,EAAQ,CACP0mB,EAAS3oB,KAAKqnB,uBAChBrnB,KAAKkoB,YAAYjd,EAAK0d,GAGxB,MAAM1c,EAAWvH,EAAMuH,SAAShB,EAAK0d,GACrC,OAAOD,EAAe,IAAIE,kBAAkB3c,GAAYA,CAC1D,CAEA,IAAIia,EAAMjb,EAAMhJ,EAEZikB,EAAMyC,IACRzC,EAAMyC,GAGJzC,EAAMlmB,KAAKqnB,uBACbrnB,KAAKkoB,YAAYjd,EAAKib,GAGxBlmB,KAAKiL,IAAMib,EACX,MAAMja,EAAWvH,EAAMuH,SAAShB,EAAKib,GACrC,OAAOwC,EAAe,IAAIE,kBAAkB3c,GAAYA,CAC1D,CAEA4c,WACE,MAAMC,EAAa9oB,KAAKsoB,UAMxB,OAJoB,IAAhBQ,GACF9oB,KAAKiL,MAGA6d,CACT,CAEAC,UAAU9mB,EAAQymB,GAAe,GAC/B,MAAMhkB,EAAQ1E,KAAK8iB,SAAS7gB,EAAQymB,GAEpC,OADA1oB,KAAKiL,KAAOvG,EAAMzC,OACXyC,CACT,CAEAskB,aAAa/C,EAAOC,GAalB,OAZID,EAAQ,IACVA,EAAQ,GAGNC,EAAMlmB,KAAKkmB,MACbA,EAAMlmB,KAAKkmB,KAGTA,EAAMlmB,KAAKqnB,uBACbrnB,KAAKkoB,YAAYjC,EAAOC,GAGnBlmB,KAAK0E,MAAMuH,SAASga,EAAOC,EACpC,CAEA+C,KAAKlqB,GACEA,IACHA,EAAI,GAGNiB,KAAKiL,KAAOlM,CACd,CAEAmqB,QACElpB,KAAKiL,IAAMjL,KAAKgF,KAClB,CAEAmkB,YACEnpB,KAAKgF,MAAQhF,KAAKiL,GACpB,CAEAme,cAAcpkB,EAAO/C,EAAQ2iB,GAW3B,SAASyE,IAA0B,CAV/BpnB,EACE+C,EAAQ/C,EAASjC,KAAKqnB,uBACxBrnB,KAAKkoB,YAAYljB,EAAOA,EAAQ/C,GAG9B+C,GAAShF,KAAKqnB,uBAChBrnB,KAAKioB,WAAWjjB,GAMpBqkB,EAAuBnqB,UAAYlB,OAAOY,OAAOoB,MAEjDqpB,EAAuBnqB,UAAUqoB,iBAAmB,WAClD,MAAMR,EAAY/mB,KAAK+mB,UACjBY,EAAa9d,KAAK+d,MAAM5nB,KAAKgF,MAAQ+hB,GACrCc,EAAWhe,KAAK+d,OAAO5nB,KAAKkmB,IAAM,GAAKa,GAAa,EACpDuC,EAAgB,GAEtB,IAAK,IAAItd,EAAQ2b,EAAY3b,EAAQ6b,IAAY7b,EAC1ChM,KAAKinB,aAAajb,IACrBsd,EAActnB,KAAKgK,GAIvB,OAAOsd,CACT,EAEAD,EAAuBnqB,UAAUwoB,gBAAkB,WACjD,OAAI1nB,KAAKknB,kBAAoBlnB,KAAKmnB,WAIQ,IAAnCnnB,KAAKunB,mBAAmBtlB,MACjC,EAEA,MAAMsnB,EAAY,IAAIF,EAItB,OAHAE,EAAUte,IAAMse,EAAUvkB,MAAQA,EAClCukB,EAAUrD,IAAMlhB,EAAQ/C,GAAUjC,KAAKkmB,IACvCqD,EAAU3E,KAAOA,EACV2E,CACT,EAIFlsB,EAAQypB,cAAgBA,EA0SxBzpB,EAAQmpB,qBAxSR,MACE3H,YAAYyH,EAAkBT,GAC5B7lB,KAAKiC,OAAS4jB,EAAK5jB,OACnBjC,KAAK+mB,UAAYlB,EAAK3c,eACtBlJ,KAAKyE,OAAS,IAAIqiB,EAAc9mB,KAAKiC,OAAQjC,KAAK+mB,UAAW/mB,MAC7DA,KAAKsmB,iBAAmBA,EACxBtmB,KAAK6I,iBAAmBgd,EAAKhd,iBAC7B7I,KAAKgJ,WAAa6c,EAAK7c,WACvBhJ,KAAKwpB,cAAgB,EACrBxpB,KAAKypB,sBAAwBzrB,OAAOY,OAAO,MAC3CoB,KAAK0pB,gBAAkB1rB,OAAOY,OAAO,MACrCoB,KAAK2pB,kBAAoB3rB,OAAOY,OAAO,MACvCoB,KAAKqnB,sBAAwB,EAC7BrnB,KAAK4pB,SAAU,EACf5pB,KAAK6pB,yBAA0B,EAAIpqB,EAAMU,0BAC3C,CAEAqE,iBACE,OAAOxE,KAAK6pB,wBAAwBxpB,OACtC,CAEAypB,YAAY7D,EAAOC,GACjB,MAAM6D,EAAc/pB,KAAKsmB,iBAAiB0D,eAAe/D,EAAOC,GAE3D6D,EAAYjhB,uBACfihB,EAAYE,WAAajqB,KAAKiqB,WAAWnrB,KAAKkB,OAGhD,IAAIwnB,EAAS,GACTpe,EAAS,EACG,IAAIhH,SAAQ,CAAC7B,EAAS8H,KACpC,MAAMgB,EAAY2C,IAChB,IACE,IAAKA,EAAM1C,KAAM,CACf,MAAMrI,EAAO+K,EAAMzN,MAWnB,OAVAipB,EAAOxlB,KAAKf,GACZmI,IAAU,EAAI3J,EAAMkK,iBAAiB1I,GAEjC8oB,EAAYjhB,sBACd9I,KAAKiqB,WAAW,CACd7gB,gBAIJ2gB,EAAYhgB,OAAOvG,KAAK6F,EAAWhB,EAErC,CAEA,MAAM6hB,GAAY,EAAIzqB,EAAM+J,eAAege,GAC3CA,EAAS,KACTjnB,EAAQ2pB,EAGV,CAFE,MAAOlgB,GACP3B,EAAO2B,EACT,GAGF+f,EAAYhgB,OAAOvG,KAAK6F,EAAWhB,EAAO,IAEpC7E,MAAKvC,IACPjB,KAAK4pB,SAIT5pB,KAAK4mB,cAAc,CACjB5a,MAAO/K,EACPglB,SACA,GAEN,CAEAU,mBACE,MAAM2C,EAAgBtpB,KAAKyE,OAAO8iB,mBAIlC,OAFAvnB,KAAKmqB,eAAeb,GAEbtpB,KAAK6pB,wBAAwBxpB,OACtC,CAEA8pB,eAAe3C,GACb,MAAM4C,EAAYpqB,KAAKwpB,gBACjBa,EAAersB,OAAOY,OAAO,MACnCoB,KAAKypB,sBAAsBW,GAAaC,EAExC,IAAK,MAAMre,KAASwb,EACbxnB,KAAKyE,OAAO2jB,SAASpc,KACxBqe,EAAare,IAAS,GAI1B,IAAI,EAAIvM,EAAMuN,YAAYqd,GACxB,OAAOjoB,QAAQ7B,UAGjB,MAAM2L,GAAa,EAAIzM,EAAMU,2BAC7BH,KAAK2pB,kBAAkBS,GAAale,EACpC,MAAMoe,EAAkB,GAExB,IAAK,IAAIte,KAASqe,EAChBre,GAAgB,EAEVA,KAAShM,KAAK0pB,kBAClB1pB,KAAK0pB,gBAAgB1d,GAAS,GAC9Bse,EAAgBtoB,KAAKgK,IAGvBhM,KAAK0pB,gBAAgB1d,GAAOhK,KAAKooB,GAGnC,IAAKE,EAAgBroB,OACnB,OAAOiK,EAAW7L,QAGpB,MAAMkqB,EAAyBvqB,KAAKwqB,YAAYF,GAEhD,IAAK,MAAMG,KAAgBF,EAAwB,CACjD,MAAMtE,EAAQwE,EAAa9C,WAAa3nB,KAAK+mB,UACvCb,EAAMrc,KAAKkC,IAAI0e,EAAa5C,SAAW7nB,KAAK+mB,UAAW/mB,KAAKiC,QAClEjC,KAAK8pB,YAAY7D,EAAOC,EAC1B,CAEA,OAAOha,EAAW7L,OACpB,CAEAomB,YACE,OAAOzmB,KAAKyE,MACd,CAEAuhB,aAAaC,EAAOC,GAClBA,EAAMrc,KAAKkC,IAAIma,EAAKlmB,KAAKiC,QACzB,MAAM0lB,EAAa3nB,KAAK0qB,cAAczE,GAChC4B,EAAW7nB,KAAK2qB,YAAYzE,GAC5BsB,EAAS,GAEf,IAAK,IAAIxb,EAAQ2b,EAAY3b,EAAQ6b,IAAY7b,EAC/Cwb,EAAOxlB,KAAKgK,GAGd,OAAOhM,KAAKmqB,eAAe3C,EAC7B,CAEAoD,cAAcC,EAAS,IACrB,MAAMP,EAAkB,GAExB,IAAK,MAAMQ,KAASD,EAAQ,CAC1B,MAAMlD,EAAa3nB,KAAK0qB,cAAcI,EAAM7E,OACtC4B,EAAW7nB,KAAK2qB,YAAYG,EAAM5E,KAExC,IAAK,IAAIla,EAAQ2b,EAAY3b,EAAQ6b,IAAY7b,EAC1Cse,EAAgBS,SAAS/e,IAC5Bse,EAAgBtoB,KAAKgK,EAG3B,CAKA,OAHAse,EAAgBxJ,MAAK,SAAUX,EAAGV,GAChC,OAAOU,EAAIV,CACb,IACOzf,KAAKmqB,eAAeG,EAC7B,CAEAE,YAAYhD,GACV,MAAMwD,EAAgB,GACtB,IAAIrD,GAAc,EACdsD,GAAa,EAEjB,IAAK,IAAI1tB,EAAI,EAAGikB,EAAKgG,EAAOvlB,OAAQ1E,EAAIikB,IAAMjkB,EAAG,CAC/C,MAAMyO,EAAQwb,EAAOjqB,GAEjBoqB,EAAa,IACfA,EAAa3b,GAGXif,GAAa,GAAKA,EAAY,IAAMjf,IACtCgf,EAAchpB,KAAK,CACjB2lB,aACAE,SAAUoD,EAAY,IAExBtD,EAAa3b,GAGXzO,EAAI,IAAMiqB,EAAOvlB,QACnB+oB,EAAchpB,KAAK,CACjB2lB,aACAE,SAAU7b,EAAQ,IAItBif,EAAYjf,CACd,CAEA,OAAOgf,CACT,CAEAf,WAAWpE,GACT7lB,KAAKgJ,WAAW7H,KAAK,cAAe,CAClCiI,OAAQpJ,KAAKyE,OAAOyiB,gBAAkBlnB,KAAK+mB,UAAYlB,EAAKzc,OAC5DQ,MAAO5J,KAAKiC,QAEhB,CAEA2kB,cAAcf,GACZ,MAAM7Z,EAAQ6Z,EAAK7Z,MACbkf,OAA+B1f,IAAfqa,EAAKI,MACrBA,EAAQiF,EAAgBlrB,KAAKqnB,sBAAwBxB,EAAKI,MAC1DC,EAAMD,EAAQja,EAAMxB,WACpBmd,EAAa9d,KAAK+d,MAAM3B,EAAQjmB,KAAK+mB,WACrCc,EAAW3B,EAAMlmB,KAAKiC,OAAS4H,KAAK+d,MAAM1B,EAAMlmB,KAAK+mB,WAAald,KAAKud,KAAKlB,EAAMlmB,KAAK+mB,WAEzFmE,GACFlrB,KAAKyE,OAAOsjB,yBAAyB/b,GACrChM,KAAKqnB,sBAAwBnB,GAE7BlmB,KAAKyE,OAAOmiB,cAAcX,EAAOja,GAG/BhM,KAAKyE,OAAOijB,mBACd1nB,KAAK6pB,wBAAwBtpB,QAAQP,KAAKyE,QAG5C,MAAM0mB,EAAiB,GAEvB,IAAK,IAAIrD,EAAWH,EAAYG,EAAWD,IAAYC,EAAU,CAC/D,MAAMsD,EAAaprB,KAAK0pB,gBAAgB5B,IAAa,UAC9C9nB,KAAK0pB,gBAAgB5B,GAE5B,IAAK,MAAMsC,KAAagB,EAAY,CAClC,MAAMf,EAAerqB,KAAKypB,sBAAsBW,GAE5CtC,KAAYuC,UACPA,EAAavC,IAGjB,EAAIroB,EAAMuN,YAAYqd,IAI3Bc,EAAenpB,KAAKooB,EACtB,CACF,CAEA,IAAKpqB,KAAK6I,mBAAoB,EAAIpJ,EAAMuN,YAAYhN,KAAK0pB,iBAAkB,CACzE,IAAIvB,EAEJ,GAAoC,IAAhCnoB,KAAKyE,OAAOyiB,gBAAuB,CACrC,MAAMmE,EAAYrrB,KAAKyE,OAAO0iB,UAAY,EAErCnnB,KAAKyE,OAAO2jB,SAASiD,KACxBlD,EAAiBkD,EAErB,MACElD,EAAiBnoB,KAAKyE,OAAO0jB,eAAeN,GAG1CxZ,OAAOC,UAAU6Z,IACnBnoB,KAAKmqB,eAAe,CAAChC,GAEzB,CAEA,IAAK,MAAMiC,KAAae,EAAgB,CACtC,MAAMjf,EAAalM,KAAK2pB,kBAAkBS,UACnCpqB,KAAK2pB,kBAAkBS,GAC9Ble,EAAW3L,SACb,CAEAP,KAAKgJ,WAAW7H,KAAK,cAAe,CAClCiI,OAAQpJ,KAAKyE,OAAOyiB,gBAAkBlnB,KAAK+mB,UAC3Cnd,MAAO5J,KAAKiC,QAEhB,CAEAqpB,QAAQC,GACNvrB,KAAK6pB,wBAAwBxhB,OAAOkjB,EACtC,CAEAb,cAAczE,GACZ,OAAOpc,KAAK+d,MAAM3B,EAAQjmB,KAAK+mB,UACjC,CAEA4D,YAAYzE,GACV,OAAOrc,KAAK+d,OAAO1B,EAAM,GAAKlmB,KAAK+mB,WAAa,CAClD,CAEAF,MAAMnhB,GACJ1F,KAAK4pB,SAAU,EAEX5pB,KAAKsmB,kBACPtmB,KAAKsmB,iBAAiBrc,kBAAkBvE,GAG1C,IAAK,MAAM0kB,KAAapqB,KAAK2pB,kBAC3B3pB,KAAK2pB,kBAAkBS,GAAW/hB,OAAO3C,EAE7C,EAMK,EAED,SAAUpI,EAAQD,EAASF,GAEjC,aAGAa,OAAOC,eAAeZ,EAAS,aAAc,CAC3CkB,OAAO,IAETlB,EAAQmuB,sBAYR,SAA+BC,GAC7B,IAAIC,EACJ,OAAO,WAOL,OANID,IACFC,EAAS1tB,OAAOY,OAAO,MACvB6sB,EAAYC,GACZD,EAAc,MAGTC,CACT,CACF,EAtBAruB,EAAQsuB,uBA2CR,UAAgC,KAC9B/G,EAAI,IACJ/lB,EAAG,SACHmlB,GAAW,EAAK,cAChB4H,GAAgB,IAGhB,IACIC,EADAC,EAAY,EAGhB,KAAOlH,GAAM,CACX,MAAMrmB,EAAQylB,EAAWY,EAAKZ,SAASnlB,GAAO+lB,EAAKzmB,IAAIU,GAEvD,QAAc2M,IAAVjN,EAAqB,CACvB,GAAIqtB,EACF,OAAOrtB,EAGJstB,IACHA,EAAS,IAGXA,EAAO7pB,KAAKzD,EACd,CAEA,KAAMutB,EAnBW,IAmBa,EAC5B,EAAIrsB,EAAMgK,MAAM,4DAA4D5K,MAC5E,KACF,CAEA+lB,EAAOA,EAAKzmB,IAAI,SAClB,CAEA,OAAO0tB,CACT,EA5EAxuB,EAAQ0uB,gBAgFR,SAAyBC,EAAQC,GAAY,IAC3C,EAAIxsB,EAAM6L,QAAQ+C,OAAOC,UAAU0d,IAAWA,EAAS,EAAG,4CAC1D,MAAME,EAAW,GACjB,IAAIjhB,EAEJ,KAAO+gB,GAAU,KACfA,GAAU,IACVE,EAASlqB,KAAK,KAGhBiJ,EAAM+gB,EAAS,IAAM,EACrBA,GAAU,IACVE,EAASlqB,KAAKmqB,EAAiBlhB,IAC/BA,EAAM+gB,EAAS,GAAK,EACpBA,GAAU,GACVE,EAASlqB,KAAKmqB,EAAiB,GAAKlhB,IACpCihB,EAASlqB,KAAKmqB,EAAiB,GAAKH,IACpC,MAAMI,EAAWF,EAAShqB,KAAK,IAC/B,OAAO+pB,EAAYG,EAASC,cAAgBD,CAC9C,EAlGA/uB,EAAQivB,KAoGR,SAAcC,GACZ,OAAIA,GAAK,EACA,EAGF1iB,KAAKud,KAAKvd,KAAKyiB,KAAKC,GAC7B,EAzGAlvB,EAAQmvB,SA2GR,SAAkBvrB,EAAMwrB,GACtB,OAAOxrB,EAAKwrB,IAAW,IAAM,EAC/B,EA5GApvB,EAAQqvB,WA8GR,SAAoBzrB,EAAMwrB,GACxB,OAAOxrB,EAAKwrB,IAAW,EAAIxrB,EAAKwrB,EAAS,EAC3C,EA/GApvB,EAAQsvB,WAiHR,SAAoB1rB,EAAMwrB,GACxB,OAAQxrB,EAAKwrB,IAAW,GAAKxrB,EAAKwrB,EAAS,IAAM,GAAKxrB,EAAKwrB,EAAS,IAAM,EAAIxrB,EAAKwrB,EAAS,MAAQ,CACtG,EAlHApvB,EAAQuvB,aAoHR,SAAsBC,GACpB,OAAc,KAAPA,GAAsB,IAAPA,GAAsB,KAAPA,GAAsB,KAAPA,CACtD,EArHAxvB,EAAQ0K,mBAAqB1K,EAAQyvB,mBAAqBzvB,EAAQqpB,0BAAuB,EAEzF,IAAIjnB,EAAQtC,EAAoB,GAehC,MAAMupB,UAA6BjnB,EAAMkR,cACvCkO,YAAYoH,EAAOC,GACjBpH,MAAM,iBAAiBmH,MAAUC,MACjClmB,KAAKimB,MAAQA,EACbjmB,KAAKkmB,IAAMA,CACb,EAIF7oB,EAAQqpB,qBAAuBA,EAE/B,MAAMoG,UAA2BrtB,EAAMkR,eAEvCtT,EAAQyvB,mBAAqBA,EAE7B,MAAM/kB,UAA2BtI,EAAMkR,eAEvCtT,EAAQ0K,mBAAqBA,EAsC7B,MAAMokB,EAAmB,CAAC,GAAI,IAAK,KAAM,MAAO,KAAM,IAAK,KAAM,MAAO,OAAQ,KAAM,GAAI,IAAK,KAAM,MAAO,KAAM,IAAK,KAAM,MAAO,OAAQ,KAAM,GAAI,IAAK,KAAM,MAAO,KAAM,IAAK,KAAM,MAAO,OAAQ,KA+CjM,EAED,SAAU7uB,EAAQD,EAASF,GAEjC,aAGAa,OAAOC,eAAeZ,EAAS,aAAc,CAC3CkB,OAAO,IAETlB,EAAQ+oB,YAAc/oB,EAAQ0vB,UAAO,EAErC,IAAIttB,EAAQtC,EAAoB,GAE5B6vB,EAAO7vB,EAAoB,IAE3BuC,EAAcvC,EAAoB,GAElC4C,EAAc5C,EAAoB,GAElCooB,EAAUpoB,EAAoB,IAE9B8vB,EAAc9vB,EAAoB,IAElC+vB,EAAU/vB,EAAoB,IAE9BgwB,EAAUhwB,EAAoB,IAE9BiwB,EAAiBjwB,EAAoB,IAErCkwB,EAAalwB,EAAoB,IAEjCmwB,EAAYnwB,EAAoB,IAEpC,MACMowB,EAAuB,CAAC,EAAG,EAAG,IAAK,KAEzC,SAASC,EAAuBC,EAAY5oB,GAC1C,MAAkB,YAAXA,GAAwB4oB,EAAWC,UAAuB,UAAX7oB,GAAsB4oB,EAAWE,SACzF,CAEA,MAAMZ,EACJlO,aAAY,WACVnd,EAAU,KACViD,EAAI,UACJpB,EAAS,SACTqqB,EAAQ,IACRhqB,EAAG,UACHiqB,EAAS,iBACTC,EAAgB,iBAChBC,EAAgB,mBAChBC,IAEAhuB,KAAK0B,WAAaA,EAClB1B,KAAKuD,UAAYA,EACjBvD,KAAK4tB,SAAWA,EAChB5tB,KAAK2E,KAAOA,EACZ3E,KAAK4D,IAAMA,EACX5D,KAAK6tB,UAAYA,EACjB7tB,KAAK8tB,iBAAmBA,EACxB9tB,KAAK+tB,iBAAmBA,EACxB/tB,KAAKguB,mBAAqBA,EAC1BhuB,KAAKgI,iBAAmBtG,EAAWsG,iBACnChI,KAAKiuB,iBAAmB,KACxB,MAAMC,EAAa,CACjBjhB,IAAK,GAEPjN,KAAKmuB,UAAY,CACfC,YAAW,IACF,IAAI7qB,OAAe2qB,EAAWjhB,MAGvCohB,SAAQ,IACC,KAAK3sB,EAAWY,QAI7B,CAEAgsB,wBAAwBzvB,EAAKmlB,GAAW,GACtC,MAAMzlB,GAAQ,EAAIwB,EAAY4rB,wBAAwB,CACpD/G,KAAM5kB,KAAK4tB,SACX/uB,MACAmlB,WACA4H,eAAe,IAGjB,OAAK3H,MAAMC,QAAQ3lB,GAIE,IAAjBA,EAAM0D,SAAiB,EAAIvC,EAAY6iB,QAAQhkB,EAAM,IAIlDmB,EAAYujB,KAAKwB,MAAMzkB,KAAK2E,KAAMpG,GAHhCA,EAAM,GAJNA,CAQX,CAEIgwB,cACF,OAAOvuB,KAAK4tB,SAASzvB,IAAI,WAC3B,CAEIqwB,gBACF,OAAO,EAAI/uB,EAAM8O,QAAQvO,KAAM,YAAaA,KAAKsuB,wBAAwB,cAAgB5uB,EAAYujB,KAAKuB,MAC5G,CAEAiK,gBAAgB5wB,GACd,MAAM6wB,EAAM1uB,KAAKsuB,wBAAwBzwB,GAAM,GAE/C,GAAIomB,MAAMC,QAAQwK,IAAuB,IAAfA,EAAIzsB,OAAc,CAC1C,GAAIysB,EAAI,GAAKA,EAAI,IAAO,GAAKA,EAAI,GAAKA,EAAI,IAAO,EAC/C,OAAOA,GAGT,EAAIjvB,EAAMgK,MAAM,UAAU5L,WAC5B,CAEA,OAAO,IACT,CAEI8wB,eACF,OAAO,EAAIlvB,EAAM8O,QAAQvO,KAAM,WAAYA,KAAKyuB,gBAAgB,aAAelB,EACjF,CAEIqB,cACF,OAAO,EAAInvB,EAAM8O,QAAQvO,KAAM,UAAWA,KAAKyuB,gBAAgB,YAAczuB,KAAK2uB,SACpF,CAEI9qB,eACF,IAAIoJ,EAAMjN,KAAK4tB,SAASzvB,IAAI,YAM5B,SAJK,EAAIsB,EAAMyN,OAAOD,IAAQA,GAAO,KACnCA,EAlGoB,IAqGf,EAAIxN,EAAM8O,QAAQvO,KAAM,WAAYiN,EAC7C,CAEInJ,WACF,MAAM,QACJ8qB,EAAO,SACPD,GACE3uB,KACJ,IAAI8D,EAEJ,GAAI8qB,IAAYD,IAAY,EAAIlvB,EAAMgN,cAAcmiB,EAASD,GAC3D7qB,EAAO6qB,MACF,CACL,MAAMD,EAAMjvB,EAAM+P,KAAKqf,UAAUD,EAASD,GAEtCD,GAAOA,EAAI,GAAKA,EAAI,IAAO,GAAKA,EAAI,GAAKA,EAAI,IAAO,EACtD5qB,EAAO4qB,GAEP,EAAIjvB,EAAMgK,MAAM,6CAEpB,CAEA,OAAO,EAAIhK,EAAM8O,QAAQvO,KAAM,OAAQ8D,GAAQ6qB,EACjD,CAEIhrB,aACF,IAAIA,EAAS3D,KAAKsuB,wBAAwB,WAAa,EAUvD,OARI3qB,EAAS,IAAO,EAClBA,EAAS,EACAA,GAAU,IACnBA,GAAkB,IACTA,EAAS,IAClBA,GAAUA,EAAS,IAAM,KAAO,MAG3B,EAAIlE,EAAM8O,QAAQvO,KAAM,SAAU2D,EAC3C,CAEAmrB,mBACE,MAAMP,EAAUvuB,KAAKuuB,QACrB,IAAI9pB,EAEJ,GAAIwf,MAAMC,QAAQqK,GAAU,CAC1B,MAAM5pB,EAAO3E,KAAK2E,KACZoqB,EAAU,GAEhB,IAAK,MAAMxF,KAAagF,EACtBQ,EAAQ/sB,KAAK2C,EAAKqqB,WAAWzF,IAG/B9kB,EAAS,IAAI8gB,EAAQ0J,sBAAsBF,EAC7C,MACEtqB,GADS,EAAI/E,EAAYmjB,UAAU0L,GAC1BA,EAEA,IAAIhJ,EAAQ2J,WAGvB,OAAOzqB,CACT,CAEA0qB,cAAc9K,GAKZ,OAJKrkB,KAAKiuB,mBACRjuB,KAAKiuB,iBAAmBjuB,KAAK0B,WAAWgC,OAAO1D,KAAM,cAGhDA,KAAKiuB,iBAAiBzqB,MAAK,IACX,IAAIwpB,EAAKoC,aAAapvB,KAAKwuB,UAAWnK,EAAMrkB,KAAK2E,MAClD0qB,QAExB,CAEAhqB,iBAAgB,QACdxE,EAAO,KACPkE,EAAI,KACJpC,EAAI,OACJkC,EAAM,uBACNS,IAEA,MAAMgqB,EAAuBtvB,KAAK0B,WAAWgC,OAAO1D,KAAM,oBACpDiuB,EAAmBjuB,KAAKmvB,cAAc,CAAC,YAAa,aAAc,UAAW,UAAW,UAAW,SACnGI,EAAmB,IAAIlC,EAAWmC,iBAAiB,CACvD7qB,KAAM3E,KAAK2E,KACX9D,UACA0C,UAAWvD,KAAKuD,UAChB4qB,UAAWnuB,KAAKmuB,UAChBN,UAAW7tB,KAAK6tB,UAChBC,iBAAkB9tB,KAAK8tB,iBACvBC,iBAAkB/tB,KAAK+tB,iBACvB0B,QAASzvB,KAAKgI,iBACdgmB,mBAAoBhuB,KAAKguB,qBAGrB0B,EADettB,QAAQiB,IAAI,CAACisB,EAAsBrB,IACnBzqB,MAAK,EAAEmsB,MAC1C,MAAMC,EAAS,IAAIxC,EAAeyC,aAAahrB,EAAQE,EAAM/E,KAAKuD,WAMlE,OALA1C,EAAQM,KAAK,kBAAmB,CAC9B2uB,aAAcP,EAAiBQ,cAAc/vB,KAAKwuB,WAClDjrB,UAAWvD,KAAKuD,UAChBsB,WAEK0qB,EAAiBlqB,gBAAgB,CACtCZ,OAAQkrB,EACRhtB,OACA6rB,UAAWxuB,KAAKwuB,UAChBwB,aAAcJ,IACbpsB,MAAK,WACN,OAAOosB,CACT,GAAE,IAEJ,OAAOxtB,QAAQiB,IAAI,CAACqsB,EAAiB1vB,KAAKiwB,qBAAqBzsB,MAAK,UAAW0sB,EAAYC,IACzF,GAA2B,IAAvBA,EAAYluB,OAEd,OADAiuB,EAAWE,OAAM,GACV,CACLnuB,OAAQiuB,EAAWG,aAIvB,MAAMC,EAAiB,GAEvB,IAAK,MAAM7C,KAAc0C,EACnB3C,EAAuBC,EAAY5oB,IACrCyrB,EAAetuB,KAAKyrB,EAAWpoB,gBAAgBkqB,EAAkB5sB,EAAM2C,GAAwBkC,OAAM,SAAU9B,GAE7G,OADA,EAAIjG,EAAMgK,MAA6D,sDAAI9G,EAAK9E,gBAAgB6H,OACzF,IACT,KAIJ,OAAOtD,QAAQiB,IAAIitB,GAAgB9sB,MAAK,SAAU+sB,GAChDL,EAAWM,MAAM/wB,EAAM+Q,IAAIgM,iBAAkB,IAE7C,IAAK,MAAMoT,KAAUW,EACnBL,EAAWO,UAAUb,GAKvB,OAFAM,EAAWM,MAAM/wB,EAAM+Q,IAAIiM,eAAgB,IAC3CyT,EAAWE,OAAM,GACV,CACLnuB,OAAQiuB,EAAWG,YAEvB,GACF,GACF,CAEAnqB,oBAAmB,QACjBrF,EAAO,KACP8B,EAAI,oBACJwD,EAAmB,KACnBpB,EAAI,iBACJqB,IAEA,MAAMkpB,EAAuBtvB,KAAK0B,WAAWgC,OAAO1D,KAAM,oBACpDiuB,EAAmBjuB,KAAKmvB,cAAc,CAAC,YAAa,UAAW,SAErE,OADqB/sB,QAAQiB,IAAI,CAACisB,EAAsBrB,IACpCzqB,MAAK,EAAEmsB,KACA,IAAItC,EAAWmC,iBAAiB,CACvD7qB,KAAM3E,KAAK2E,KACX9D,UACA0C,UAAWvD,KAAKuD,UAChB4qB,UAAWnuB,KAAKmuB,UAChBN,UAAW7tB,KAAK6tB,UAChBC,iBAAkB9tB,KAAK8tB,iBACvBC,iBAAkB/tB,KAAK+tB,iBACvB0B,QAASzvB,KAAKgI,iBACdgmB,mBAAoBhuB,KAAKguB,qBAEH0C,eAAe,CACrCjsB,OAAQkrB,EACRhtB,OACA6rB,UAAWxuB,KAAKwuB,UAChBroB,sBACAC,mBACArB,UAGN,CAEAD,mBAAmBD,GACjB,OAAO7E,KAAKiwB,mBAAmBzsB,MAAK,SAAU2sB,GAC5C,MAAMQ,EAAkB,GAExB,IAAK,IAAIpzB,EAAI,EAAGikB,EAAK2O,EAAYluB,OAAQ1E,EAAIikB,EAAIjkB,IAC1CsH,IAAU2oB,EAAuB2C,EAAY5yB,GAAIsH,IACpD8rB,EAAgB3uB,KAAKmuB,EAAY5yB,GAAG0D,MAIxC,OAAO0vB,CACT,GACF,CAEIR,kBACF,OAAO,EAAI1wB,EAAM8O,QAAQvO,KAAM,cAAeA,KAAKsuB,wBAAwB,WAAa,GAC1F,CAEI2B,yBACF,MAAMW,EAAoB5wB,KAAK0B,WAAWgC,OAAO1D,KAAM,eAAewD,MAAK,KACzE,MAAMqtB,EAAqB,GAE3B,IAAK,MAAMC,KAAiB9wB,KAAKmwB,YAC/BU,EAAmB7uB,KAAKirB,EAAY8D,kBAAkBnyB,OAAOoB,KAAK2E,KAAMmsB,EAAe9wB,KAAK0B,WAAY1B,KAAKmuB,WAAW3mB,OAAM,SAAU9B,GAEtI,OADA,EAAIjG,EAAMgK,MAAM,wBAAwB/D,OACjC,IACT,KAGF,OAAOtD,QAAQiB,IAAIwtB,GAAoBrtB,MAAK,SAAU2sB,GACpD,OAAOA,EAAYa,QAAOvD,KAAgBA,GAC5C,GAAE,IAEJ,OAAO,EAAIhuB,EAAM8O,QAAQvO,KAAM,qBAAsB4wB,EACvD,EAIFvzB,EAAQ0vB,KAAOA,EACf,MAAMkE,EAAuB,IAAI/vB,WAAW,CAAC,GAAM,GAAM,GAAM,GAAM,KAC/DgwB,EAAsB,IAAIhwB,WAAW,CAAC,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,MACtFiwB,EAAmB,IAAIjwB,WAAW,CAAC,IAAM,IAAM,IAAM,IAAM,GAAM,MAGjEkwB,EAA4B,iBAElC,SAASC,EAAK5sB,EAAQ6sB,EAAWC,EAAQ,KAAMC,GAAY,GACzD,MAAMC,EAAkBH,EAAUrvB,OAC5ByvB,EAAYjtB,EAAOskB,UAAUwI,GAC7BI,EAAaD,EAAUzvB,OAASwvB,EAEtC,GAAIE,GAAc,EAChB,OAAO,EAGT,GAAIH,EAAW,CACb,MAAMI,EAAeH,EAAkB,EACvC,IAAIxmB,EAAMymB,EAAUzvB,OAAS,EAE7B,KAAOgJ,GAAO2mB,GAAc,CAC1B,IAAIC,EAAI,EAER,KAAOA,EAAIJ,GAAmBC,EAAUzmB,EAAM4mB,KAAOP,EAAUM,EAAeC,IAC5EA,IAGF,GAAIA,GAAKJ,EAEP,OADAhtB,EAAOwG,KAAOA,EAAM2mB,GACb,EAGT3mB,GACF,CACF,KAAO,CACL,IAAIA,EAAM,EAEV,KAAOA,GAAO0mB,GAAY,CACxB,IAAIE,EAAI,EAER,KAAOA,EAAIJ,GAAmBC,EAAUzmB,EAAM4mB,KAAOP,EAAUO,IAC7DA,IAGF,GAAIA,GAAKJ,EAEP,OADAhtB,EAAOwG,KAAOA,GACP,EAGTA,GACF,CACF,CAEA,OAAO,CACT,CAsVA5N,EAAQ+oB,YApVR,MACEvH,YAAYnd,EAAYowB,GACtB,IAAIrtB,EAEJ,IAAI,EAAI/E,EAAYmjB,UAAUiP,GAC5BrtB,EAASqtB,MACJ,MAAI,EAAIryB,EAAM8M,eAAeulB,GAGlC,MAAM,IAAIpxB,MAAM,sCAFhB+D,EAAS,IAAI8gB,EAAQY,OAAO2L,EAG9B,CAEA,GAAIrtB,EAAOxC,QAAU,EACnB,MAAM,IAAIxC,EAAMgI,oBAAoB,uDAGtCzH,KAAK0B,WAAaA,EAClB1B,KAAKyE,OAASA,EACdzE,KAAK2E,KAAO,IAAIqoB,EAAK+E,KAAKttB,EAAQ/C,GAClC1B,KAAKguB,mBAAqB,IAAIV,EAAU0E,mBAAmB,CACzDrtB,KAAM3E,KAAK2E,KACX2F,gBAAiB5I,EAAWsG,iBAAiBsC,kBAE/CtK,KAAKiyB,cAAgB,EACvB,CAEAC,MAAMjvB,GACJjD,KAAKY,MAAMqC,GACX,MAAMkvB,EAAUnyB,KAAKmE,QAAQiuB,QAAQj0B,IAAI,YAErC,EAAIuB,EAAY8iB,QAAQ2P,KAC1BnyB,KAAKqyB,iBAAmBF,EAAQt0B,MAGlC,IAGE,GAFAmC,KAAKsyB,SAAWtyB,KAAKmE,QAAQiuB,QAAQj0B,IAAI,YAErC6B,KAAKsyB,SAAU,CACjBtyB,KAAKuyB,IAAMvyB,KAAKsyB,SAASn0B,IAAI,OAC7B,MAAMq0B,EAASxyB,KAAKsyB,SAASn0B,IAAI,UAE3B8lB,MAAMC,QAAQsO,IAA6B,IAAlBA,EAAOvwB,QAAkBjC,KAAKuyB,MAC3DvyB,KAAKsyB,SAAW,KAEpB,CAQF,CAPE,MAAOrrB,GACP,GAAIA,aAAclH,EAAY2mB,qBAC5B,MAAMzf,GAGR,EAAIxH,EAAM+F,MAAM,kEAChBxF,KAAKsyB,SAAW,IAClB,CAEA,IACE,MAAMG,EAAazyB,KAAKmE,QAAQiuB,QAAQj0B,IAAI,eAExC,EAAIuB,EAAY6iB,QAAQkQ,IAAeA,EAAWrO,UAAUniB,OAAS,IACvEjC,KAAKyyB,WAAaA,EAQtB,CANE,MAAOxrB,GACP,GAAIA,aAAclH,EAAY2mB,qBAC5B,MAAMzf,GAGR,EAAIxH,EAAM+F,MAAM,sCAClB,CACF,CAEIktB,oBACF,IAAIA,EAAgB,KAEpB,IACEA,EAAgBvF,EAAQwF,cAAc/zB,OAAOoB,KAAKyE,OAOpD,CANE,MAAO8mB,GACP,GAAIA,aAAexrB,EAAY2mB,qBAC7B,MAAM6E,GAGR,EAAI9rB,EAAM+F,MAAM+lB,EAClB,CAEA,OAAO,EAAI9rB,EAAM8O,QAAQvO,KAAM,gBAAiB0yB,EAClD,CAEIE,gBACF,MAAMnuB,EAASzE,KAAKyE,OACpB,IAAImuB,EAAY,EAEhB,GAAI5yB,KAAK0yB,cACPjuB,EAAOykB,QAEHmI,EAAK5sB,EAAQ0sB,KACfyB,EAAYnuB,EAAOwG,IAAM,EAAIxG,EAAOO,WAEjC,CACL,MAAM6tB,EAAO,KACPC,EAAkB5B,EAAoBjvB,OAC5C,IAAI8wB,GAAQ,EACR9nB,EAAMxG,EAAOyhB,IAEjB,MAAQ6M,GAAS9nB,EAAM,GACrBA,GAAO4nB,EAAOC,EAEV7nB,EAAM,IACRA,EAAM,GAGRxG,EAAOwG,IAAMA,EACb8nB,EAAQ1B,EAAK5sB,EAAQysB,EAAqB2B,GAAM,GAGlD,GAAIE,EAAO,CAET,IAAIlG,EADJpoB,EAAOwkB,KAAK,GAGZ,GACE4D,EAAKpoB,EAAO6jB,iBACL,EAAIvoB,EAAY6sB,cAAcC,IAEvC,IAAI5e,EAAM,GAEV,KAAO4e,GAAM,IAAQA,GAAM,IACzB5e,GAAOvC,OAAOC,aAAakhB,GAC3BA,EAAKpoB,EAAO6jB,UAGdsK,EAAYI,SAAS/kB,EAAK,IAEtBglB,MAAML,KACRA,EAAY,EAEhB,CACF,CAEA,OAAO,EAAInzB,EAAM8O,QAAQvO,KAAM,YAAa4yB,EAC9C,CAEAM,cACE,MAAMzuB,EAASzE,KAAKyE,OAGpB,GAFAA,EAAOykB,SAEFmI,EAAK5sB,EAAQwsB,GAChB,OAGFxsB,EAAO0kB,YAEP,IACI0D,EADAsF,EAAU,GAGd,MAAQtF,EAAKpoB,EAAO6jB,WAAa,MAC3B6J,EAAQlwB,QALiB,KAS7BkwB,GAAWzmB,OAAOC,aAAakhB,GAG5B7sB,KAAKqyB,mBACRryB,KAAKqyB,iBAAmBF,EAAQgB,UAAU,GAE9C,CAEAC,iBACEpzB,KAAK2E,KAAK0uB,aAAarzB,KAAK4yB,UAC9B,CAEAhyB,MAAMqC,GACJjD,KAAK2E,KAAKutB,MAAMjvB,GAChBjD,KAAKmE,QAAU,IAAI6oB,EAAKsG,QAAQtzB,KAAK0B,WAAY1B,KAAK2E,KACxD,CAEIxB,eACF,MAAMuvB,EAAgB1yB,KAAK0yB,cACrB1uB,EAAM0uB,EAAgBA,EAAcvvB,SAAWnD,KAAKmE,QAAQhB,SAClE,OAAO,EAAI1D,EAAM8O,QAAQvO,KAAM,WAAYgE,EAC7C,CAEIuvB,mBACF,MAAMC,EAAyB,CAC7BC,MAAOh0B,EAAM0N,SACbumB,OAAQj0B,EAAM0N,SACdwmB,QAASl0B,EAAM0N,SACfymB,SAAUn0B,EAAM0N,SAChB0mB,QAASp0B,EAAM0N,SACf2mB,SAAUr0B,EAAM0N,SAChB4mB,aAAct0B,EAAM0N,SACpB6mB,QAASv0B,EAAM0N,SACf8mB,QAASv0B,EAAY8iB,QAEvB,IAAI2P,EAAUnyB,KAAKqyB,iBAEI,iBAAZF,GAAyBf,EAA0B8C,KAAK/B,MACjE,EAAI1yB,EAAMgK,MAAM,sCAAsC0oB,KACtDA,EAAU,MAGZ,MAAMgC,EAAU,CACdC,iBAAkBjC,EAClBkC,eAAgBr0B,KAAK0yB,cACrB4B,oBAAqBt0B,KAAKsyB,SAC1BiC,eAAgBv0B,KAAKuyB,IACrBiC,sBAAuBx0B,KAAKyyB,YAE9B,IAAIgC,EAEJ,IACEA,EAAWz0B,KAAK2E,KAAK+vB,QAAQv2B,IAAI,OAOnC,CANE,MAAOotB,GACP,GAAIA,aAAexrB,EAAY2mB,qBAC7B,MAAM6E,GAGR,EAAI9rB,EAAM+F,MAAM,kDAClB,CAEA,IAAI,EAAI9F,EAAY6iB,QAAQkS,GAC1B,IAAK,MAAM51B,KAAO41B,EAASrQ,UAAW,CACpC,MAAM7lB,EAAQk2B,EAASt2B,IAAIU,GAE3B,GAAI20B,EAAuB30B,GACrB20B,EAAuB30B,GAAKN,GAC9B41B,EAAQt1B,GAAwB,iBAAVN,EAAqBA,GAAQ,EAAIkB,EAAMgP,mBAAmBlQ,IAEhF,EAAIkB,EAAM+F,MAAM,mCAAmC3G,YAEhD,GAAmB,iBAARA,EAAkB,CAClC,IAAI81B,EAEJ,IAAI,EAAIl1B,EAAM0N,UAAU5O,GACtBo2B,GAAc,EAAIl1B,EAAMgP,mBAAmBlQ,OACtC,OAAI,EAAImB,EAAY8iB,QAAQjkB,KAAU,EAAIkB,EAAMyN,OAAO3O,KAAU,EAAIkB,EAAMsN,QAAQxO,IAEnF,EACL,EAAIkB,EAAM+F,MAAM,oDAAoD3G,OACpE,QACF,CAJE81B,EAAcp2B,CAIhB,CAEK41B,EAAQS,SACXT,EAAQS,OAAS52B,OAAOY,OAAO,OAGjCu1B,EAAQS,OAAO/1B,GAAO81B,CACxB,CACF,CAGF,OAAO,EAAIl1B,EAAM8O,QAAQvO,KAAM,eAAgBm0B,EACjD,CAEI/wB,kBACF,IAAIyxB,EACJ,MAAMC,EAAU90B,KAAK2E,KAAK+vB,QAAQv2B,IAAI,MAGpC02B,EADE5Q,MAAMC,QAAQ4Q,IAAYA,EAAQ,KAAM,EAAIr1B,EAAM0N,UAAU2nB,EAAQ,KAnTlD,qCAmTyDA,EAAQ,IAC9E,EAAIr1B,EAAM0L,eAAe2pB,EAAQ,KAEjC,EAAI5H,EAAQ6H,cAAc/0B,KAAKyE,OAAOukB,aAAa,EAvThC,MAuT6D,EAvT7D,MA0T5B,MAAMgM,EAAiB,GAEvB,IAAK,IAAIz3B,EAAI,EAAGikB,EAAKqT,EAAK5yB,OAAQ1E,EAAIikB,EAAIjkB,IAAK,CAC7C,MAAM03B,EAAMJ,EAAKt3B,GAAGuK,SAAS,IAC7BktB,EAAehzB,KAAKizB,EAAIC,SAAS,EAAG,KACtC,CAEA,OAAO,EAAIz1B,EAAM8O,QAAQvO,KAAM,cAAeg1B,EAAe9yB,KAAK,IACpE,CAEAizB,sBAAsB5xB,GACpB,MAAM,QACJY,EAAO,cACPuuB,GACE1yB,KAEE4D,EAAMlE,EAAYqE,IAAI5F,IAAIu0B,EAAc0C,kBAAmB,GAEjE,OAAOp1B,KAAK2E,KAAKof,WAAWngB,GAAKJ,MAAKyJ,IACpC,IAAI,EAAIvN,EAAY6iB,QAAQtV,EAAK,UAAW,EAAIvN,EAAY6iB,QAAQtV,KAASA,EAAIqX,IAAI,SAAWrX,EAAIqX,IAAI,YAKtG,OAJI1gB,IAAQO,EAAQkxB,mBAAmB/Q,IAAI1gB,IACzCO,EAAQkxB,mBAAmBtQ,IAAInhB,EAAK,GAG/B,CAACqJ,EAAKrJ,GAGf,MAAM,IAAInE,EAAM8P,YAAY,yEAA8E,IACzG/H,OAAM9B,KACP,EAAIjG,EAAM+F,MAAME,GACTvB,EAAQmxB,YAAY/xB,KAE/B,CAEAD,QAAQC,GACN,QAAsCiI,IAAlCxL,KAAKiyB,cAAc1uB,GACrB,OAAOvD,KAAKiyB,cAAc1uB,GAG5B,MAAM,QACJY,EAAO,cACPuuB,GACE1yB,KACEK,EAAUqyB,GAAiBA,EAAc6C,YAAchyB,EAAYvD,KAAKm1B,sBAAsB5xB,GAAaY,EAAQmxB,YAAY/xB,GACrI,OAAOvD,KAAKiyB,cAAc1uB,GAAalD,EAAQmD,MAAK,EAAEoqB,EAAUhqB,KACvD,IAAImpB,EAAK,CACdrrB,WAAY1B,KAAK0B,WACjBiD,KAAM3E,KAAK2E,KACXpB,YACAqqB,WACAhqB,MACAiqB,UAAW1pB,EAAQ0pB,UACnBC,iBAAkB3pB,EAAQ2pB,iBAC1BC,iBAAkB5pB,EAAQ4pB,iBAC1BC,mBAAoBhuB,KAAKguB,sBAG/B,CAEAwH,iBACE,OAAOx1B,KAAKsD,QAAQ,GAAGkE,OAAMzE,UAC3B,GAAI2C,aAAkB3F,EAAY+sB,mBAGhC,MAFA9sB,KAAKiyB,cAAchwB,OAAS,QACtBjC,KAAKsG,UACL,IAAIvG,EAAYgI,kBACxB,GAEJ,CAEA1B,aAAa/B,EAAIzD,GACf,OAAOb,KAAKmE,QAAQkC,aAAa/B,EAAIzD,EACvC,CAEAkC,cAAcgjB,GAAoB,GAChC,OAAO/lB,KAAKmE,QAAUnE,KAAKmE,QAAQmC,QAAQyf,IAAqB,EAAIrmB,EAAYgH,uBAClF,EAMK,EAED,SAAUpJ,EAAQD,EAASF,GAEjC,aAGAa,OAAOC,eAAeZ,EAAS,aAAc,CAC3CkB,OAAO,IAETlB,EAAQo4B,SAAWp4B,EAAQ00B,KAAO10B,EAAQ+xB,aAAe/xB,EAAQi2B,aAAU,EAE3E,IAAI7zB,EAAQtC,EAAoB,GAE5BuC,EAAcvC,EAAoB,GAElCgwB,EAAUhwB,EAAoB,IAE9B4C,EAAc5C,EAAoB,GAElC+vB,EAAU/vB,EAAoB,IAE9Bu4B,EAAcv4B,EAAoB,IAElCw4B,EAAex4B,EAAoB,IAEvC,SAASy4B,EAAiBC,GACxB,OAAO,EAAIn2B,EAAY6iB,QAAQsT,GAAQA,EAAK13B,IAAI,KAAO03B,CACzD,CAEA,MAAMvC,EACJzU,YAAYnd,EAAYiD,GAKtB,GAJA3E,KAAK0B,WAAaA,EAClB1B,KAAK2E,KAAOA,EACZ3E,KAAKoyB,QAAUztB,EAAKmxB,kBAEf,EAAIp2B,EAAY6iB,QAAQviB,KAAKoyB,SAChC,MAAM,IAAI3yB,EAAM8P,YAAY,uCAG9BvP,KAAK6tB,UAAY,IAAInuB,EAAYqjB,YACjC/iB,KAAK8tB,iBAAmB,IAAIiI,IAC5B/1B,KAAK+tB,iBAAmB,IAAI4H,EAAaK,iBACzCh2B,KAAKq1B,mBAAqB,IAAI31B,EAAYqjB,WAC5C,CAEIkT,eACF,MAAMC,EAAYl2B,KAAKoyB,QAAQjO,OAAO,YAEtC,KAAK,EAAIzkB,EAAY+iB,OAAOyT,GAC1B,OAAO,EAAIz2B,EAAM8O,QAAQvO,KAAM,WAAY,MAG7C,MAAMujB,IAAuBvjB,KAAK2E,KAAKwxB,SAAWn2B,KAAK2E,KAAKwxB,QAAQC,iBAC9D3xB,EAASzE,KAAK2E,KAAKmf,MAAMoS,EAAW3S,GAC1C,IAAI0S,EAEJ,GAAIxxB,IAAU,EAAI/E,EAAY6iB,QAAQ9d,EAAOmgB,MAAO,CAClD,MAAMrD,EAAO9c,EAAOmgB,KAAKzmB,IAAI,QACvBk4B,EAAU5xB,EAAOmgB,KAAKzmB,IAAI,WAEhC,IAAI,EAAIuB,EAAY8iB,QAAQjB,EAAM,cAAe,EAAI7hB,EAAY8iB,QAAQ6T,EAAS,OAChF,IACEJ,GAAW,EAAIx2B,EAAMoP,qBAAoB,EAAIpP,EAAM8L,eAAe9G,EAAOqe,YAO3E,CANE,MAAO9Y,GACP,GAAIA,aAAajK,EAAY2mB,qBAC3B,MAAM1c,GAGR,EAAIvK,EAAM+F,MAAM,6BAClB,CAEJ,CAEA,OAAO,EAAI/F,EAAM8O,QAAQvO,KAAM,WAAYi2B,EAC7C,CAEIK,wBACF,MAAMC,EAAWv2B,KAAKoyB,QAAQj0B,IAAI,SAElC,KAAK,EAAIuB,EAAY6iB,QAAQgU,GAC3B,MAAM,IAAI92B,EAAM8P,YAAY,uCAG9B,OAAO,EAAI9P,EAAM8O,QAAQvO,KAAM,oBAAqBu2B,EACtD,CAEIC,sBACF,IAAIvpB,EAAM,KAEV,IACEA,EAAMjN,KAAKy2B,sBAOb,CANE,MAAOxvB,GACP,GAAIA,aAAclH,EAAY2mB,qBAC5B,MAAMzf,GAGR,EAAIxH,EAAMgK,MAAM,mCAClB,CAEA,OAAO,EAAIhK,EAAM8O,QAAQvO,KAAM,kBAAmBiN,EACpD,CAEAwpB,uBACE,IAAIxpB,EAAMjN,KAAKoyB,QAAQj0B,IAAI,YAE3B,KAAK,EAAIuB,EAAY6iB,QAAQtV,GAC3B,OAAO,KAKT,GAFAA,EAAMA,EAAIkX,OAAO,WAEZ,EAAIzkB,EAAY+iB,OAAOxV,GAC1B,OAAO,KAGT,MAAMypB,EAAO,CACXC,MAAO,IAEHC,EAAQ,CAAC,CACb3pB,MACA4pB,OAAQH,IAEJI,EAAY,IAAIp3B,EAAYsjB,OAClC8T,EAAU/R,IAAI9X,GACd,MAAMtI,EAAO3E,KAAK2E,KACZoyB,EAAa,IAAInO,kBAAkB,GAEzC,KAAOgO,EAAM30B,OAAS,GAAG,CACvB,MAAM1E,EAAIq5B,EAAMI,QACVC,EAActyB,EAAKqqB,WAAWzxB,EAAE0P,KAEtC,GAAoB,OAAhBgqB,EACF,SAGF,IAAKA,EAAY3S,IAAI,SACnB,MAAM,IAAI7kB,EAAM8P,YAAY,qCAG9B,MAAMtO,EAAO,CACX2M,IAAK,KACLioB,KAAM,MAERvC,EAAQ4D,oBAAoB,CAC1BC,SAAUF,EACVG,UAAWn2B,EACXsB,WAAYvC,KAAK0B,WAAWa,aAE9B,MAAM80B,EAAQJ,EAAY94B,IAAI,SACxBm5B,EAAQL,EAAY94B,IAAI,MAAQ,EAChCo5B,EAAQN,EAAYjT,SAAS,KAC7BwT,EAAQP,EAAY94B,IAAI,SAC9B,IAAIs5B,EAAWV,GAEX9S,MAAMC,QAAQqT,IAA2B,IAAjBA,EAAMt1B,QAA8B,IAAbs1B,EAAM,IAAyB,IAAbA,EAAM,IAAyB,IAAbA,EAAM,KAC3FE,EAAW/B,EAAYgC,WAAWC,WAAWC,IAAIC,OAAON,EAAO,IAGjE,MAAMO,EAAc,CAClBjC,KAAM50B,EAAK40B,KACXjoB,IAAK3M,EAAK2M,IACVmqB,UAAW92B,EAAK82B,UAChBC,UAAW/2B,EAAK+2B,UAChBX,OAAO,EAAI53B,EAAMgP,mBAAmB4oB,GACpCE,MAAOE,EACPD,MAAOnpB,OAAOC,UAAUkpB,GAASA,OAAQhsB,EACzCysB,QAAiB,EAARX,GACTY,UAAmB,EAARZ,GACXX,MAAO,IAETp5B,EAAEs5B,OAAOF,MAAM30B,KAAK81B,GACpB7qB,EAAMgqB,EAAY9S,OAAO,UAErB,EAAIzkB,EAAY+iB,OAAOxV,KAAS6pB,EAAUxS,IAAIrX,KAChD2pB,EAAM50B,KAAK,CACTiL,MACA4pB,OAAQiB,IAEVhB,EAAU/R,IAAI9X,IAGhBA,EAAMgqB,EAAY9S,OAAO,SAErB,EAAIzkB,EAAY+iB,OAAOxV,KAAS6pB,EAAUxS,IAAIrX,KAChD2pB,EAAM50B,KAAK,CACTiL,MACA4pB,OAAQt5B,EAAEs5B,SAEZC,EAAU/R,IAAI9X,GAElB,CAEA,OAAOypB,EAAKC,MAAM10B,OAAS,EAAIy0B,EAAKC,MAAQ,IAC9C,CAEIwB,kBACF,IAAIA,EAAc,KAElB,IACEA,EAAcn4B,KAAKo4B,kBAOrB,CANE,MAAOnxB,GACP,GAAIA,aAAclH,EAAY2mB,qBAC5B,MAAMzf,GAGR,EAAIxH,EAAMgK,MAAM,8BAClB,CAEA,OAAO,EAAIhK,EAAM8O,QAAQvO,KAAM,cAAem4B,EAChD,CAEAC,mBACE,MAAMjC,EAAUn2B,KAAK2E,KAAK+vB,QAAQv2B,IAAI,WAEtC,KAAK,EAAIuB,EAAY6iB,QAAQ4T,GAC3B,OAAO,KAGT,IAAImB,EAAQnB,EAAQh4B,IAAI,KAExB,KAAK,EAAIsB,EAAMyN,OAAOoqB,GACpB,OAAO,KAGTA,GAAS,GAAK,GACd,MAAMa,EAAc,GAEpB,IAAK,MAAMt5B,KAAOY,EAAMkQ,eAAgB,CACtC,MAAMpR,EAAQkB,EAAMkQ,eAAe9Q,GAE/By4B,EAAQ/4B,GACV45B,EAAYn2B,KAAKzD,EAErB,CAEA,OAAO45B,CACT,CAEIh1B,eACF,MAAM8J,EAAMjN,KAAKs2B,kBAAkBn4B,IAAI,SAEvC,IAAKkQ,OAAOC,UAAUrB,GACpB,MAAM,IAAIxN,EAAM8P,YAAY,+DAG9B,OAAO,EAAI9P,EAAM8O,QAAQvO,KAAM,WAAYiN,EAC7C,CAEIorB,mBACF,MAAMprB,EAAMjN,KAAKs4B,aACXC,EAAQv6B,OAAOY,OAAO,MAE5B,GAAIqO,aAAeurB,EAAU,CAC3B,MAAMC,EAAQxrB,EAAIyrB,SAElB,IAAK,MAAM76B,KAAQ46B,EACjBF,EAAM16B,GAAQ+3B,EAAiB6C,EAAM56B,GAEzC,MAAWoP,aAAevN,EAAYujB,MACpChW,EAAItG,SAAQ,SAAU9H,EAAKN,GACrBA,IACFg6B,EAAM15B,GAAO+2B,EAAiBr3B,GAElC,IAGF,OAAO,EAAIkB,EAAM8O,QAAQvO,KAAM,eAAgBu4B,EACjD,CAEAI,eAAeC,GACb,MAAM3rB,EAAMjN,KAAKs4B,aAEjB,OAAIrrB,aAAeurB,GAAYvrB,aAAevN,EAAYujB,KACjD2S,EAAiB3oB,EAAI9O,IAAIy6B,IAAkB,MAG7C,IACT,CAEAN,aACE,MAAMrrB,EAAMjN,KAAKoyB,QAAQj0B,IAAI,SAE7B,OAAI8O,GAAOA,EAAIqX,IAAI,SACV,IAAIkU,EAASvrB,EAAIkX,OAAO,SAAUnkB,KAAK2E,MACrC3E,KAAKoyB,QAAQ9N,IAAI,SACnBtkB,KAAKoyB,QAAQj0B,IAAI,cADnB,CAKT,CAEI06B,iBACF,IAAI5rB,EAAM,KAEV,IACEA,EAAMjN,KAAK84B,iBAOb,CANE,MAAO7xB,GACP,GAAIA,aAAclH,EAAY2mB,qBAC5B,MAAMzf,GAGR,EAAIxH,EAAMgK,MAAM,8BAClB,CAEA,OAAO,EAAIhK,EAAM8O,QAAQvO,KAAM,aAAciN,EAC/C,CAEA6rB,kBACE,MAAM7rB,EAAMjN,KAAKoyB,QAAQjO,OAAO,cAEhC,IAAKlX,EACH,OAAO,KAGT,MAAM4rB,EAAa,IAAI5U,MAAMjkB,KAAKmD,UAClC,IAAI41B,EAAQ,KACRC,EAAS,GACb,MACMC,EADa,IAAIC,EAAWjsB,EAAKjN,KAAK2E,MACpB+zB,SACxB,IAAIS,EAAe,GACfC,EAAe,EAEnB,IAAK,IAAI77B,EAAI,EAAGikB,EAAKxhB,KAAKmD,SAAU5F,EAAIikB,EAAIjkB,IAAK,CAC/C,GAAIA,KAAK07B,EAAM,CACb,MAAMI,EAAYJ,EAAK17B,GAEvB,KAAK,EAAImC,EAAY6iB,QAAQ8W,GAC3B,MAAM,IAAI55B,EAAM8P,YAAY,kCAG9B,GAAI8pB,EAAU/U,IAAI,WAAY,EAAI5kB,EAAY8iB,QAAQ6W,EAAUl7B,IAAI,QAAS,aAC3E,MAAM,IAAIsB,EAAM8P,YAAY,yCAG9B,GAAI8pB,EAAU/U,IAAI,KAAM,CACtB,MAAMjlB,EAAIg6B,EAAUl7B,IAAI,KAExB,KAAK,EAAIuB,EAAY8iB,QAAQnjB,GAC3B,MAAM,IAAII,EAAM8P,YAAY,0CAG9BwpB,EAAQ15B,EAAExB,IACZ,MACEk7B,EAAQ,KAGV,GAAIM,EAAU/U,IAAI,KAAM,CACtB,MAAMllB,EAAIi6B,EAAUl7B,IAAI,KAExB,KAAK,EAAIsB,EAAM0N,UAAU/N,GACvB,MAAM,IAAIK,EAAM8P,YAAY,2CAG9BypB,GAAS,EAAIv5B,EAAMgP,mBAAmBrP,EACxC,MACE45B,EAAS,GAGX,GAAIK,EAAU/U,IAAI,MAAO,CACvB,MAAMgV,EAAKD,EAAUl7B,IAAI,MAEzB,KAAMkQ,OAAOC,UAAUgrB,IAAOA,GAAM,GAClC,MAAM,IAAI75B,EAAM8P,YAAY,0CAG9B6pB,EAAeE,CACjB,MACEF,EAAe,CAEnB,CAEA,OAAQL,GACN,IAAK,IACHI,EAAeC,EACf,MAEF,IAAK,IACL,IAAK,IACHD,GAAe,EAAIp5B,EAAYgsB,iBAAiBqN,EAAwB,MAAVL,GAC9D,MAEF,IAAK,IACL,IAAK,IACH,MAAMQ,EAAQ,GACRC,EAAe,GACfC,EAAe,GACfC,EAAyB,MAAVX,EAAgBU,EAAeD,EAC9CG,EAAcP,EAAe,EAC7BQ,EAAYluB,OAAOC,aAAa+tB,EAAeC,EAAcJ,GAC7DM,EAAU,GAEhB,IAAK,IAAIhI,EAAI,EAAGiI,EAAKH,EAAcJ,EAAQ,EAAG1H,GAAKiI,EAAIjI,IACrDgI,EAAQ73B,KAAK43B,GAGfT,EAAeU,EAAQ33B,KAAK,IAC5B,MAEF,QACE,GAAI62B,EACF,MAAM,IAAIt5B,EAAM8P,YAAY,kBAAkBwpB,+BAGhDI,EAAe,GAGnBN,EAAWt7B,GAAKy7B,EAASG,EACzBC,GACF,CAEA,OAAOP,CACT,CAEIkB,iBACF,MAAM9sB,EAAMjN,KAAKoyB,QAAQj0B,IAAI,cAC7B,IAAI47B,EAAa,GAEjB,IAAI,EAAIr6B,EAAY8iB,QAAQvV,GAC1B,OAAQA,EAAIpP,MACV,IAAK,aACL,IAAK,YACL,IAAK,gBACL,IAAK,iBACL,IAAK,cACL,IAAK,eACHk8B,EAAa9sB,EAAIpP,KAIvB,OAAO,EAAI4B,EAAM8O,QAAQvO,KAAM,aAAc+5B,EAC/C,CAEIC,eACF,MAAM/sB,EAAMjN,KAAKoyB,QAAQj0B,IAAI,YAC7B,IAAI67B,EAAW,UAEf,IAAI,EAAIt6B,EAAY8iB,QAAQvV,GAC1B,OAAQA,EAAIpP,MACV,IAAK,UACL,IAAK,cACL,IAAK,YACL,IAAK,aACL,IAAK,QACL,IAAK,iBACHm8B,EAAW/sB,EAAIpP,KAIrB,OAAO,EAAI4B,EAAM8O,QAAQvO,KAAM,WAAYg6B,EAC7C,CAEIC,wBACF,MAAMC,EAA8B,CAClCC,YAAa16B,EAAMsN,OACnBqtB,YAAa36B,EAAMsN,OACnBstB,aAAc56B,EAAMsN,OACpButB,UAAW76B,EAAMsN,OACjBwtB,aAAc96B,EAAMsN,OACpBytB,gBAAiB/6B,EAAMsN,OACvB0tB,sBAAuB/6B,EAAY8iB,OACnCkY,UAAWh7B,EAAY8iB,OACvBmY,SAAUj7B,EAAY8iB,OACtBoY,SAAUl7B,EAAY8iB,OACtBqY,UAAWn7B,EAAY8iB,OACvBsY,UAAWp7B,EAAY8iB,OACvBuY,aAAcr7B,EAAY8iB,OAC1BwY,OAAQt7B,EAAY8iB,OACpByY,kBAAmBx7B,EAAMsN,OACzBmuB,eAAgBjX,MAAMC,QACtBiX,UAAW9sB,OAAOC,WAEdrB,EAAMjN,KAAKoyB,QAAQj0B,IAAI,qBAC7B,IAAIi9B,EAAQ,KAEZ,IAAI,EAAI17B,EAAY6iB,QAAQtV,GAC1B,IAAK,MAAMpO,KAAOq7B,EAA6B,CAC7C,IAAKjtB,EAAIqX,IAAIzlB,GACX,SAGF,MAAMN,EAAQ0O,EAAI9O,IAAIU,GAEtB,IAAKq7B,EAA4Br7B,GAAKN,GAAQ,EAC5C,EAAIkB,EAAM+F,MAAM,uCAAuC3G,OACvD,QACF,CAEA,IAAIw8B,EAEJ,OAAQx8B,GACN,IAAK,wBACH,OAAQN,EAAMV,MACZ,IAAK,UACL,IAAK,cACL,IAAK,YACL,IAAK,QACHw9B,EAAY98B,EAAMV,KAClB,MAEF,QACEw9B,EAAY,UAGhB,MAEF,IAAK,YACH,OAAQ98B,EAAMV,MACZ,IAAK,MACL,IAAK,MACHw9B,EAAY98B,EAAMV,KAClB,MAEF,QACEw9B,EAAY,MAGhB,MAEF,IAAK,WACL,IAAK,WACL,IAAK,YACL,IAAK,YACH,OAAQ98B,EAAMV,MACZ,IAAK,WACL,IAAK,UACL,IAAK,WACL,IAAK,UACL,IAAK,SACHw9B,EAAY98B,EAAMV,KAClB,MAEF,QACEw9B,EAAY,UAGhB,MAEF,IAAK,eACH,OAAQ98B,EAAMV,MACZ,IAAK,OACL,IAAK,aACHw9B,EAAY98B,EAAMV,KAClB,MAEF,QACEw9B,EAAY,aAGhB,MAEF,IAAK,SACH,OAAQ98B,EAAMV,MACZ,IAAK,UACL,IAAK,sBACL,IAAK,qBACHw9B,EAAY98B,EAAMV,KAClB,MAEF,QACEw9B,EAAY,OAGhB,MAEF,IAAK,iBAGH,GAFe98B,EAAM0D,OAER,GAAM,EACjB,MAGc1D,EAAMqO,OAAM,CAACnJ,EAAMlG,EAAGwN,IAC7BsD,OAAOC,UAAU7K,IAASA,EAAO,IAAY,IAANlG,GAAWkG,GAAQsH,EAAIxN,EAAI,KAAOkG,GAAQzD,KAAKmD,aAI7Fk4B,EAAY98B,GAGd,MAEF,IAAK,YACCA,EAAQ,IACV88B,EAAY98B,GAGd,MAEF,QACE,GAAqB,kBAAVA,EACT,MAAM,IAAIkB,EAAM8P,YAAY,qDAAqD1Q,KAGnFw8B,EAAY98B,OAGEiN,IAAd6vB,GACGD,IACHA,EAAQp9B,OAAOY,OAAO,OAGxBw8B,EAAMv8B,GAAOw8B,IAEb,EAAI57B,EAAM+F,MAAM,uCAAuC3G,MAE3D,CAGF,OAAO,EAAIY,EAAM8O,QAAQvO,KAAM,oBAAqBo7B,EACtD,CAEIE,iBACF,MAAMruB,EAAMjN,KAAKoyB,QAAQj0B,IAAI,cAC7B,IAAIm9B,EAAa,KAEjB,IAAI,EAAI57B,EAAY6iB,QAAQtV,GAAM,CAChC,MAAMkqB,EAAW,IAAIz3B,EAAYujB,KAAKjjB,KAAK2E,MAC3CwyB,EAAS9rB,IAAI,IAAK4B,GAClB,MAAMmqB,EAAY,CAChBxpB,IAAK,KACLioB,KAAM,KACN0F,OAAQ,MAEVjI,EAAQ4D,oBAAoB,CAC1BC,WACAC,cAGEnT,MAAMC,QAAQkT,EAAUvB,OACrByF,IACHA,EAAat9B,OAAOY,OAAO,OAG7B08B,EAAWzF,KAAOuB,EAAUvB,MACnBuB,EAAUmE,SACdD,IACHA,EAAat9B,OAAOY,OAAO,OAG7B08B,EAAWC,OAASnE,EAAUmE,OAElC,MAAWtX,MAAMC,QAAQjX,KAClBquB,IACHA,EAAat9B,OAAOY,OAAO,OAG7B08B,EAAWzF,KAAO5oB,GAGpB,OAAO,EAAIxN,EAAM8O,QAAQvO,KAAM,aAAcs7B,EAC/C,CAEIE,kBACF,MAAMvuB,EAAMjN,KAAKoyB,QAAQj0B,IAAI,SAC7B,IAAIq9B,EAAc,KAElB,GAAIvuB,GAAOA,EAAIqX,IAAI,iBAAkB,CACnC,MACMmU,EADW,IAAID,EAASvrB,EAAIkX,OAAO,iBAAkBnkB,KAAK2E,MACzC+zB,SAEvB,IAAK,MAAM76B,KAAQ46B,EAAO,CACxB,MAAMgD,EAAK,IAAIhG,EAASgD,EAAM56B,GAAOmC,KAAK2E,MAErC62B,IACHA,EAAcx9B,OAAOY,OAAO,OAG9B48B,GAAY,EAAI/7B,EAAMgP,mBAAmB5Q,IAAS49B,EAAGC,YACvD,CACF,CAEA,OAAO,EAAIj8B,EAAM8O,QAAQvO,KAAM,cAAew7B,EAChD,CAEIhe,iBACF,MAAMvQ,EAAMjN,KAAKoyB,QAAQj0B,IAAI,SAC7B,IAAIqf,EAAa,KAEjB,SAASme,EAAuBC,GAC9B,MAAMra,EAAOqa,EAAOz9B,IAAI,KAExB,KAAK,EAAIuB,EAAY8iB,QAAQjB,EAAM,cACjC,OAGF,IAAIsa,EAAKD,EAAOz9B,IAAI,MAEpB,IAAI,EAAIuB,EAAYmjB,UAAUgZ,GAC5BA,GAAK,EAAIp8B,EAAM8L,eAAeswB,EAAG/Y,iBAC5B,KAAK,EAAIrjB,EAAM0N,UAAU0uB,GAC9B,OAGGre,IACHA,EAAa,IAGfA,EAAWxb,MAAK,EAAIvC,EAAMgP,mBAAmBotB,GAC/C,CAEA,GAAI5uB,GAAOA,EAAIqX,IAAI,cAAe,CAChC,MACMmU,EADW,IAAID,EAASvrB,EAAIkX,OAAO,cAAenkB,KAAK2E,MACtC+zB,SAEvB,IAAK,MAAM76B,KAAQ46B,EAAO,CACxB,MAAMmD,EAASnD,EAAM56B,IAEjB,EAAI6B,EAAY6iB,QAAQqZ,IAC1BD,EAAuBC,EAE3B,CACF,CAEA,MAAMN,EAAat7B,KAAKoyB,QAAQj0B,IAAI,cAMpC,OAJI,EAAIuB,EAAY6iB,QAAQ+Y,KAAe,EAAI57B,EAAY8iB,QAAQ8Y,EAAWn9B,IAAI,KAAM,eACtFw9B,EAAuBL,IAGlB,EAAI77B,EAAM8O,QAAQvO,KAAM,aAAcwd,EAC/C,CAEAnX,aAAa/B,EAAIzD,GACf,MAAMi7B,EAAW,GAIjB,OAHA97B,KAAK6tB,UAAUlnB,SAAQ,SAAUtG,GAC/By7B,EAAS95B,KAAK3B,EAChB,IACO+B,QAAQiB,IAAIy4B,GAAUt4B,MAAKu4B,IAChC,IAAK,MAAMC,KAAkBD,EAC3B,GAAIC,EAAeC,aAAe33B,EAEhC,YADA03B,EAAeE,SAASr7B,EAG5B,GAEJ,CAEAyF,QAAQyf,GAAoB,IAC1B,EAAIrmB,EAAYgH,wBAChB1G,KAAK+tB,iBAAiB3I,MAAMW,GAC5B/lB,KAAKq1B,mBAAmBjQ,QACxB,MAAM0W,EAAW,GAIjB,OAHA97B,KAAK6tB,UAAUlnB,SAAQ,SAAUtG,GAC/By7B,EAAS95B,KAAK3B,EAChB,IACO+B,QAAQiB,IAAIy4B,GAAUt4B,MAAKu4B,IAChC,IAAK,MAAM,KACTnX,KACGmX,SACInX,EAAKuX,WAGdn8B,KAAK6tB,UAAUzI,QACfplB,KAAK8tB,iBAAiB1I,OAAO,GAEjC,CAEAkQ,YAAY/xB,GACV,MAAM2I,GAAa,EAAIzM,EAAMU,2BACvBi8B,EAAe,CAACp8B,KAAKoyB,QAAQjO,OAAO,UACpCkY,EAAe,IAAI38B,EAAYsjB,OAC/Bre,EAAO3E,KAAK2E,KACZ0wB,EAAqBr1B,KAAKq1B,mBAChC,IAAImC,EACA8E,EAAmB,EAwFvB,OAtFA,SAASC,IACP,KAAOH,EAAan6B,QAAQ,CAC1B,MAAMu6B,EAAcJ,EAAaK,MAEjC,IAAI,EAAI/8B,EAAY+iB,OAAO+Z,GAAc,CAGvC,GAFAhF,EAAQnC,EAAmBl3B,IAAIq+B,GAE3BhF,EAAQ,GAAK8E,EAAmB9E,EAAQj0B,EAAW,CACrD+4B,GAAoB9E,EACpB,QACF,CAEA,OAAI6E,EAAa/X,IAAIkY,QACnBtwB,EAAW7D,OAAO,IAAI5I,EAAM8P,YAAY,6CAI1C8sB,EAAatX,IAAIyX,QACjB73B,EAAKof,WAAWyY,GAAah5B,MAAK,SAAUyJ,IACtC,EAAIvN,EAAY6iB,QAAQtV,EAAK,UAAW,EAAIvN,EAAY6iB,QAAQtV,KAASA,EAAIqX,IAAI,QAC/E/gB,IAAc+4B,GACZE,IAAgBnH,EAAmB/Q,IAAIkY,IACzCnH,EAAmBtQ,IAAIyX,EAAa,GAGtCtwB,EAAW3L,QAAQ,CAAC0M,EAAKuvB,MAEzBF,IACAC,MAMJH,EAAap6B,KAAKiL,GAClBsvB,IACF,GAAGrwB,EAAW7D,QAEhB,CAEA,KAAK,EAAI3I,EAAY6iB,QAAQia,GAE3B,YADAtwB,EAAW7D,OAAO,IAAI5I,EAAM8P,YAAY,kEAM1C,GAFAioB,EAAQgF,EAAYr+B,IAAI,SAEpBkQ,OAAOC,UAAUkpB,IAAUA,GAAS,EAAG,CACzC,MAAMlU,EAAQkZ,EAAYlZ,MAM1B,GAJIA,IAAU+R,EAAmB/Q,IAAIhB,IACnC+R,EAAmBtQ,IAAIzB,EAAOkU,GAG5B8E,EAAmB9E,GAASj0B,EAAW,CACzC+4B,GAAoB9E,EACpB,QACF,CACF,CAEA,MAAMkF,EAAOF,EAAYr+B,IAAI,QAE7B,IAAK8lB,MAAMC,QAAQwY,GAAO,CACxB,IAAI,EAAIh9B,EAAY8iB,QAAQga,EAAYr+B,IAAI,QAAS,UAAYq+B,EAAYlY,IAAI,SAAWkY,EAAYlY,IAAI,YAAa,CACvH,GAAIgY,IAAqB/4B,EAEvB,YADA2I,EAAW3L,QAAQ,CAACi8B,EAAa,OAInCF,IACA,QACF,CAGA,YADApwB,EAAW7D,OAAO,IAAI5I,EAAM8P,YAAY,gDAE1C,CAEA,IAAK,IAAIotB,EAAOD,EAAKz6B,OAAS,EAAG06B,GAAQ,EAAGA,IAC1CP,EAAap6B,KAAK06B,EAAKC,GAE3B,CAEAzwB,EAAW7D,OAAO,IAAI3H,MAAM,cAAc6C,gBAC5C,CAEAg5B,GACOrwB,EAAW7L,OACpB,CAEA+D,aAAaw4B,GACX,MAAMj4B,EAAO3E,KAAK2E,KAyElB,IAAIiF,EAAQ,EAcZ,OAZA,SAAS2yB,EAAK34B,GACZ,OA1EF,SAAwBi5B,GACtB,IACIC,EADAlzB,EAAQ,EAEZ,OAAOjF,EAAKof,WAAW8Y,GAAQr5B,MAAK,SAAUu5B,GAC5C,IAAI,EAAIr9B,EAAYgjB,aAAama,EAAQD,MAAa,EAAIl9B,EAAY6iB,QAAQwa,EAAM,YAAa,EAAIr9B,EAAY6iB,QAAQwa,IAAUA,EAAKzY,IAAI,UAAWyY,EAAKzY,IAAI,aAC9J,MAAM,IAAI7kB,EAAM8P,YAAY,uDAG9B,IAAKwtB,EACH,OAAO,KAGT,KAAK,EAAIr9B,EAAY6iB,QAAQwa,GAC3B,MAAM,IAAIt9B,EAAM8P,YAAY,8BAI9B,OADAutB,EAAYC,EAAK5Y,OAAO,UACjB4Y,EAAKC,SAAS,SACvB,IAAGx5B,MAAK,SAAUqzB,GAChB,IAAKA,EACH,OAAO,KAGT,KAAK,EAAIn3B,EAAY6iB,QAAQsU,GAC3B,MAAM,IAAIp3B,EAAM8P,YAAY,gCAG9B,OAAOsnB,EAAOmG,SAAS,OACzB,IAAGx5B,MAAK,SAAUk5B,GAChB,IAAKA,EACH,OAAO,KAGT,MAAMO,EAAc,GACpB,IAAIlK,GAAQ,EAEZ,IAAK,IAAIx1B,EAAI,EAAGikB,EAAKkb,EAAKz6B,OAAQ1E,EAAIikB,EAAIjkB,IAAK,CAC7C,MAAM2/B,EAAMR,EAAKn/B,GAEjB,KAAK,EAAImC,EAAY+iB,OAAOya,GAC1B,MAAM,IAAIz9B,EAAM8P,YAAY,4BAG9B,IAAI,EAAI7P,EAAYgjB,aAAawa,EAAKL,GAAS,CAC7C9J,GAAQ,EACR,KACF,CAEAkK,EAAYj7B,KAAK2C,EAAKof,WAAWmZ,GAAK15B,MAAK,SAAUyJ,GACnD,KAAK,EAAIvN,EAAY6iB,QAAQtV,GAC3B,MAAM,IAAIxN,EAAM8P,YAAY,kCAG1BtC,EAAIqX,IAAI,SACV1a,GAASqD,EAAI9O,IAAI,SAEjByL,GAEJ,IACF,CAEA,IAAKmpB,EACH,MAAM,IAAItzB,EAAM8P,YAAY,6CAG9B,OAAOnN,QAAQiB,IAAI45B,GAAaz5B,MAAK,WACnC,MAAO,CAACoG,EAAOkzB,EACjB,GACF,GACF,CAKSK,CAAev5B,GAAKJ,MAAK,SAAUqiB,GACxC,IAAKA,EACH,OAAOjc,EAGT,MAAO4tB,EAAOsF,GAAajX,EAE3B,OADAjc,GAAS4tB,EACF+E,EAAKO,EACd,GACF,CAEOP,CAAKK,EACd,CAEArd,2BAA2B6d,GAazB,MAAMjG,EAAWiG,EAAOjG,SAExB,KAAK,EAAIz3B,EAAY6iB,QAAQ4U,GAE3B,YADA,EAAI13B,EAAMgK,MAAM,yDAIlB,MAAM2tB,EAAYgG,EAAOhG,UAEzB,GAAyB,iBAAdA,EAET,YADA,EAAI33B,EAAMgK,MAAM,uDAIlB,MAAMlH,EAAa66B,EAAO76B,YAAc,KACxC,IACIqL,EACAioB,EAFA0F,EAASpE,EAASh5B,IAAI,KAQ1B,KAJK,EAAIuB,EAAY6iB,QAAQgZ,IAAWpE,EAAS7S,IAAI,UACnDiX,EAASpE,EAASh5B,IAAI,UAGpB,EAAIuB,EAAY6iB,QAAQgZ,GAAS,CACnC,MAAM8B,EAAa9B,EAAOp9B,IAAI,KAE9B,KAAK,EAAIuB,EAAY8iB,QAAQ6a,GAE3B,YADA,EAAI59B,EAAMgK,MAAM,2DAIlB,MAAM6zB,EAAaD,EAAWx/B,KAE9B,OAAQy/B,GACN,IAAK,MACH1vB,EAAM2tB,EAAOp9B,IAAI,QAEb,EAAIuB,EAAY8iB,QAAQ5U,GAC1BA,EAAM,IAAMA,EAAI/P,MACP,EAAI4B,EAAM0N,UAAUS,KAC7BA,EApDR,SAAiCA,GAC/B,OAAOA,EAAI2vB,WAAW,QAAU,UAAU3vB,IAAQA,CACpD,CAkDc4vB,CAAwB5vB,IAGhC,MAEF,IAAK,OACHioB,EAAO0F,EAAOp9B,IAAI,KAClB,MAEF,IAAK,SACL,IAAK,QACH,MAAMs/B,EAAUlC,EAAOp9B,IAAI,MAEvB,EAAIuB,EAAY6iB,QAAQkb,GAC1B7vB,EAAM6vB,EAAQt/B,IAAI,MAAQ,MACjB,EAAIsB,EAAM0N,UAAUswB,KAC7B7vB,EAAM6vB,GAGR,IAAIC,EAAanC,EAAOp9B,IAAI,KAE5B,GAAIu/B,KACE,EAAIh+B,EAAY8iB,QAAQkb,KAC1BA,EAAaA,EAAW7/B,OAGtB,EAAI4B,EAAM0N,UAAUS,IAAM,CAC5B,MAAMP,EAAUO,EAAI+vB,MAAM,KAAK,IAE3B,EAAIl+B,EAAM0N,UAAUuwB,GACtB9vB,EAAMP,EAAU,IAAMqwB,EACbzZ,MAAMC,QAAQwZ,KACvB9vB,EAAMP,EAAU,IAAMuwB,KAAKC,UAAUH,GAEzC,CAGF,MAAM1F,EAAYuD,EAAOp9B,IAAI,cAEzB,EAAIsB,EAAMsN,QAAQirB,KACpBZ,EAAUY,UAAYA,GAGxB,MAEF,IAAK,QACH,MAAM8F,EAAcvC,EAAOp9B,IAAI,MAE3B,EAAIuB,EAAY8iB,QAAQsb,KAC1B1G,EAAUmE,OAASuC,EAAYjgC,MAGjC,MAEF,IAAK,aACH,MAAMkgC,EAAWxC,EAAOp9B,IAAI,MAC5B,IAAI09B,EAQJ,IANI,EAAIn8B,EAAYmjB,UAAUkb,GAC5BlC,GAAK,EAAIp8B,EAAM8L,eAAewyB,EAASjb,aAC9B,EAAIrjB,EAAM0N,UAAU4wB,KAC7BlC,EAAKkC,GAGHlC,EAAI,CACN,MAEMmC,EADQ,IAAIC,OAAO,SADA,CAAC,gBAAiB,eACU/7B,KAAK,KAAKy7B,MAAM,KAAKz7B,KAAK,OAAS,sDAAuD,KAC3Hg8B,MAAK,EAAIz+B,EAAMgP,mBAAmBotB,IAEtD,GAAImC,GAASA,EAAM,GAAI,CACrBpwB,EAAMowB,EAAM,GAEK,SAAbA,EAAM,IAA8B,kBAAbA,EAAM,KAC/B5G,EAAUY,WAAY,GAGxB,KACF,CACF,CAEF,SACE,EAAIv4B,EAAMgK,MAAM,iDAAiD6zB,OAGvE,MAAWnG,EAAS7S,IAAI,UACtBuR,EAAOsB,EAASh5B,IAAI,SAGtB,IAAI,EAAIsB,EAAM0N,UAAUS,GAAM,CAC5BA,EAzIF,SAA+BA,GAC7B,IACE,OAAO,EAAInO,EAAMoP,oBAAoBjB,EAGvC,CAFE,MAAO5D,GACP,OAAO4D,CACT,CACF,CAmIQuwB,CAAsBvwB,GAC5B,MAAMC,GAAc,EAAIpO,EAAMkO,wBAAwBC,EAAKrL,GAEvDsL,IACFupB,EAAUxpB,IAAMC,EAAY+X,MAG9BwR,EAAUW,UAAYnqB,CACxB,CAEIioB,KACE,EAAIn2B,EAAY8iB,QAAQqT,KAC1BA,EAAOA,EAAKh4B,QAGV,EAAI4B,EAAM0N,UAAU0oB,IAAS5R,MAAMC,QAAQ2R,MAC7CuB,EAAUvB,KAAOA,GAGvB,EAIFx4B,EAAQi2B,QAAUA,EAElB,IAAIvB,EAAO,WACT,SAASA,EAAKttB,EAAQ/C,GACpB1B,KAAKyE,OAASA,EACdzE,KAAK0B,WAAaA,EAClB1B,KAAKo+B,QAAU,GACfp+B,KAAKq+B,SAAWrgC,OAAOY,OAAO,MAC9BoB,KAAKs+B,UAAY,IAAIvI,IACrB/1B,KAAK4E,MAAQ,CACX25B,YAAavgC,OAAOY,OAAO,MAC3B4/B,UAAWxgC,OAAOY,OAAO,MAE7B,CAyuBA,OAvuBAmzB,EAAK7yB,UAAY,CACfm0B,aAAc,SAA2BT,GACvC5yB,KAAKy+B,eAAiB,CAAC7L,EACzB,EACAV,MAAO,SAAoBjvB,GACzB,IAAIy7B,EAWJ,IAAIvI,EAmBAO,EA5BCzzB,IAGH,EAAIxD,EAAMgK,MAAM,4BAChBi1B,EAAc1+B,KAAK2+B,gBAHnBD,EAAc1+B,KAAK4+B,WAMrBF,EAAYjb,WAAWzjB,MACvBA,KAAK00B,QAAUgK,EAGf,IACEvI,EAAUuI,EAAYvgC,IAAI,UAO5B,CANE,MAAO8I,GACP,GAAIA,aAAclH,EAAY2mB,qBAC5B,MAAMzf,GAGR,EAAIxH,EAAMgK,MAAM,8CAA8CxC,MAChE,CAEA,IAAI,EAAIvH,EAAY6iB,QAAQ4T,GAAU,CACpC,IAAI0I,EAAMH,EAAYvgC,IAAI,MACtB2gC,EAASD,GAAOA,EAAI58B,OAAS48B,EAAI,GAAK,GAC1C1I,EAAQ5S,oBAAqB,EAC7BvjB,KAAKm2B,QAAU,IAAIjJ,EAAQ6R,uBAAuB5I,EAAS2I,EAAQ9+B,KAAK0B,WAAW2F,SACrF,CAIA,IACEqvB,EAAOgI,EAAYvgC,IAAI,OAOzB,CANE,MAAO8I,GACP,GAAIA,aAAclH,EAAY2mB,qBAC5B,MAAMzf,GAGR,EAAIxH,EAAMgK,MAAM,2CAA2CxC,MAC7D,CAEA,KAAI,EAAIvH,EAAY6iB,QAAQmU,KAASA,EAAKpS,IAAI,SAEvC,CACL,IAAKrhB,EACH,MAAM,IAAIlD,EAAYgI,mBAGxB,MAAM,IAAItI,EAAM8P,YAAY,yBAC9B,CAPEvP,KAAK02B,KAAOA,CAQhB,EACAsI,iBAAkB,SAA+BC,GACzC,eAAgBj/B,OACpBA,KAAKk/B,WAAa,CAChBC,SAAU,EACVC,UAAWH,EAAOI,MAAM56B,OAAOwG,IAC/Bq0B,WAAYL,EAAOM,KACnBC,WAAYP,EAAOQ,OAIvB,IAAIxyB,EAAMjN,KAAK0/B,cAAcT,GAE7B,KAAK,EAAIv/B,EAAY2iB,OAAOpV,EAAK,WAC/B,MAAM,IAAIxN,EAAM8P,YAAY,yDAG9B,IAAIqV,EAAOqa,EAAOU,SAMlB,KAJK,EAAIjgC,EAAY6iB,QAAQqC,IAASA,EAAKA,OACzCA,EAAOA,EAAKA,QAGT,EAAIllB,EAAY6iB,QAAQqC,GAC3B,MAAM,IAAInlB,EAAM8P,YAAY,0DAI9B,cADOvP,KAAKk/B,WACLta,CACT,EACA8a,cAAe,SAA4BT,GACzC,IAKIhyB,EALAxI,EAASw6B,EAAOI,MAAM56B,OACtBy6B,EAAal/B,KAAKk/B,WAMtB,IALAz6B,EAAOwG,IAAMi0B,EAAWE,UACxBH,EAAOM,KAAOL,EAAWI,WACzBL,EAAOQ,KAAOP,EAAWM,aAGZ,CACX,KAAM,kBAAmBN,MAAiB,eAAgBA,GAAa,CACrE,IAAI,EAAIx/B,EAAY2iB,OAAOpV,EAAMgyB,EAAOU,SAAU,WAChD,MAGFT,EAAWU,cAAgB3yB,EAC3BiyB,EAAWW,WAAaZ,EAAOU,QACjC,CAEA,IAAIvf,EAAQ8e,EAAWU,cACnBpI,EAAQ0H,EAAWW,WAEvB,IAAKxxB,OAAOC,UAAU8R,KAAW/R,OAAOC,UAAUkpB,GAChD,MAAM,IAAI/3B,EAAM8P,YAAY,wDAG9B,IAAK,IAAIhS,EAAI2hC,EAAWC,SAAU5hC,EAAIi6B,EAAOj6B,IAAK,CAChD2hC,EAAWE,UAAY36B,EAAOwG,IAC9Bi0B,EAAWC,SAAW5hC,EACtB2hC,EAAWI,WAAaL,EAAOM,KAC/BL,EAAWM,WAAaP,EAAOQ,KAC/B,IAAIK,EAAQ,CAAC,EACbA,EAAMrT,OAASwS,EAAOU,SACtBG,EAAM77B,IAAMg7B,EAAOU,SACnB,IAAIpe,EAAO0d,EAAOU,SAElB,GAAIpe,aAAgB7hB,EAAYsiB,IAC9B,OAAQT,EAAKe,KACX,IAAK,IACHwd,EAAMC,MAAO,EACb,MAEF,IAAK,IACHD,EAAME,cAAe,EAK3B,IAAK3xB,OAAOC,UAAUwxB,EAAMrT,UAAYpe,OAAOC,UAAUwxB,EAAM77B,OAAU67B,EAAMC,OAAQD,EAAME,aAC3F,MAAM,IAAIvgC,EAAM8P,YAAY,qCAAqC6Q,MAAUoX,KAGnE,IAANj6B,GAAWuiC,EAAMC,MAAkB,IAAV3f,IAC3BA,EAAQ,GAGLpgB,KAAKo+B,QAAQ7gC,EAAI6iB,KACpBpgB,KAAKo+B,QAAQ7gC,EAAI6iB,GAAS0f,EAE9B,CAEAZ,EAAWC,SAAW,EACtBD,EAAWE,UAAY36B,EAAOwG,IAC9Bi0B,EAAWI,WAAaL,EAAOM,KAC/BL,EAAWM,WAAaP,EAAOQ,YACxBP,EAAWU,qBACXV,EAAWW,UACpB,CAEA,GAAI7/B,KAAKo+B,QAAQ,KAAOp+B,KAAKo+B,QAAQ,GAAG2B,KACtC,MAAM,IAAItgC,EAAM8P,YAAY,+CAG9B,OAAOtC,CACT,EACAgzB,kBAAmB,SAAgCx7B,GACjD,KAAM,gBAAiBzE,MAAO,CAC5B,IAAIkgC,EAAmBz7B,EAAOmgB,KAC1Bub,EAAaD,EAAiB/hC,IAAI,KAClC2sB,EAAQoV,EAAiB/hC,IAAI,SAE5B2sB,IACHA,EAAQ,CAAC,EAAGoV,EAAiB/hC,IAAI,UAGnC6B,KAAKogC,YAAc,CACjBC,YAAavV,EACbqV,aACAhB,SAAU,EACVC,UAAW36B,EAAOwG,IAEtB,CAIA,OAFAjL,KAAKsgC,eAAe77B,UACbzE,KAAKogC,YACL37B,EAAOmgB,IAChB,EACA0b,eAAgB,SAA6B77B,GAC3C,IAAIlH,EAAGs0B,EACHuO,EAAcpgC,KAAKogC,YACvB37B,EAAOwG,IAAMm1B,EAAYhB,UAOzB,IANA,IAAIe,EAAaC,EAAYD,WACzBI,EAAiBJ,EAAW,GAC5BK,EAAmBL,EAAW,GAC9BM,EAAuBN,EAAW,GAClCE,EAAcD,EAAYC,YAEvBA,EAAYp+B,OAAS,GAAG,CAC7B,IAAIme,EAAQigB,EAAY,GACpBthC,EAAIshC,EAAY,GAEpB,IAAKhyB,OAAOC,UAAU8R,KAAW/R,OAAOC,UAAUvP,GAChD,MAAM,IAAIU,EAAM8P,YAAY,8BAA8B6Q,MAAUrhB,KAGtE,IAAKsP,OAAOC,UAAUiyB,KAAoBlyB,OAAOC,UAAUkyB,KAAsBnyB,OAAOC,UAAUmyB,GAChG,MAAM,IAAIhhC,EAAM8P,YAAY,qCAAqC6Q,MAAUrhB,KAG7E,IAAKxB,EAAI6iC,EAAYjB,SAAU5hC,EAAIwB,IAAKxB,EAAG,CACzC6iC,EAAYjB,SAAW5hC,EACvB6iC,EAAYhB,UAAY36B,EAAOwG,IAC/B,IAAIsW,EAAO,EACPkL,EAAS,EACTiU,EAAa,EAEjB,IAAK7O,EAAI,EAAGA,EAAI0O,IAAkB1O,EAChCtQ,EAAOA,GAAQ,EAAI9c,EAAO6jB,UAO5B,IAJuB,IAAnBiY,IACFhf,EAAO,GAGJsQ,EAAI,EAAGA,EAAI2O,IAAoB3O,EAClCpF,EAASA,GAAU,EAAIhoB,EAAO6jB,UAGhC,IAAKuJ,EAAI,EAAGA,EAAI4O,IAAwB5O,EACtC6O,EAAaA,GAAc,EAAIj8B,EAAO6jB,UAGxC,IAAIwX,EAAQ,CAAC,EAIb,OAHAA,EAAMrT,OAASA,EACfqT,EAAM77B,IAAMy8B,EAEJnf,GACN,KAAK,EACHue,EAAMC,MAAO,EACb,MAEF,KAAK,EACHD,EAAME,cAAe,EACrB,MAEF,KAAK,EACH,MAEF,QACE,MAAM,IAAIvgC,EAAM8P,YAAY,4BAA4BgS,KAGvDvhB,KAAKo+B,QAAQhe,EAAQ7iB,KACxByC,KAAKo+B,QAAQhe,EAAQ7iB,GAAKuiC,EAE9B,CAEAM,EAAYjB,SAAW,EACvBiB,EAAYhB,UAAY36B,EAAOwG,IAC/Bo1B,EAAYv9B,OAAO,EAAG,EACxB,CACF,EACA67B,aAAc,WAQZ,SAASgC,EAAU1/B,EAAMwrB,GAIvB,IAHA,IAAImU,EAAQ,GACR/T,EAAK5rB,EAAKwrB,GARP,KAUAI,GATA,KASaA,GANb,KAM0BA,OACzBJ,GAAUxrB,EAAKgB,SAIrB2+B,GAASl1B,OAAOC,aAAakhB,GAC7BA,EAAK5rB,EAAKwrB,GAGZ,OAAOmU,CACT,CAEA,SAASC,EAAU5/B,EAAMwrB,EAAQqU,GAK/B,IAJA,IAAI7+B,EAAS6+B,EAAK7+B,OACd8+B,EAAa9/B,EAAKgB,OAClB++B,EAAU,EAEPvU,EAASsU,GAAY,CAG1B,IAFA,IAAIxjC,EAAI,EAEDA,EAAI0E,GAAUhB,EAAKwrB,EAASlvB,KAAOujC,EAAKvjC,MAC3CA,EAGJ,GAAIA,GAAK0E,EACP,MAGFwqB,IACAuU,GACF,CAEA,OAAOA,CACT,CAEA,IAAIC,EAAY,yBAChB,MAAMC,EAAe,kBACfC,EAAkB,+BAExB,IAAIC,EAAe,IAAIlgC,WAAW,CAAC,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,MAC5DmgC,EAAiB,IAAIngC,WAAW,CAAC,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,MAC5E,MAAMogC,EAAW,IAAIpgC,WAAW,CAAC,IAAK,GAAI,MAC1C,IAAIqgC,EAAY,IAAIrgC,WAAW,CAAC,GAAI,GAAI,GAAI,IAAK,MACjDlB,KAAKo+B,QAAQn8B,OAAS,EACtB,IAAIwC,EAASzE,KAAKyE,OAClBA,EAAOwG,IAAM,EAOb,IANA,IAwFI1N,EAAGikB,EAxFHrC,EAAS1a,EAAOqe,WAChBkF,EAAWvjB,EAAOO,MAClB/C,EAASkd,EAAOld,OAChBu/B,EAAW,GACXC,EAAW,GAERzZ,EAAW/lB,GAAQ,CACxB,IAAI4qB,EAAK1N,EAAO6I,GAEhB,GAlEQ,IAkEJ6E,GAjEG,KAiEWA,GAhEX,KAgEwBA,GA/DrB,KA+DkCA,EAK5C,GAnEY,KAmERA,EAAJ,CAcA,IACInvB,EADAkjC,EAAQD,EAAUxhB,EAAQ6I,GAG9B,GAAI4Y,EAAMrD,WAAW,UAA6B,IAAjBqD,EAAM3+B,QAAgB,KAAKiyB,KAAK0M,EAAM,KACrE5Y,GAAY6Y,EAAU1hB,EAAQ6I,EAAUoZ,GACxCI,EAASx/B,KAAKgmB,GACdA,GAAY6Y,EAAU1hB,EAAQ6I,EAAUqZ,QACnC,GAAI3jC,EAAIujC,EAAU/C,KAAK0C,GAAQ,CACpC,MAAM58B,EAAa,EAAPtG,EAAE,GACRuG,EAAa,EAAPvG,EAAE,GAETsC,KAAKo+B,QAAQp6B,IAAQhE,KAAKo+B,QAAQp6B,GAAKC,MAAQA,IAClDjE,KAAKo+B,QAAQp6B,GAAO,CAClByoB,OAAQzE,EAAWvjB,EAAOO,MAC1Bf,MACA+7B,cAAc,IAIlB,IAAI/2B,EACAy4B,EAAW1Z,EAAW4Y,EAAM3+B,OAEhC,KAAOy/B,EAAWviB,EAAOld,QAAQ,CAC/B,MAAM0/B,EAASD,EAAWb,EAAU1hB,EAAQuiB,EAAUJ,GAAY,EAClEr4B,EAAgB04B,EAAS3Z,EACzB,MAAM4Z,EAAW/3B,KAAKC,IAAI63B,EA7DH,GA6DkCD,GACnDG,GAAW,EAAIpiC,EAAM8L,eAAe4T,EAAOlT,SAAS21B,EAAUD,IAEpE,GAAIT,EAAahN,KAAK2N,GACpB,MACK,CACL,MAAMC,EAAWX,EAAgBjD,KAAK2D,GAEtC,GAAIC,GAAYA,EAAS,GAAI,EAC3B,EAAIriC,EAAMgK,MAAM,2GAChBR,GAAiB64B,EAAS,GAAG7/B,OAC7B,KACF,CACF,CAEAy/B,EAAWC,CACb,CAEA,MAAMpT,EAAUpP,EAAOlT,SAAS+b,EAAUA,EAAW/e,GACrD,IAAI84B,EAAgBlB,EAAUtS,EAAS,EAAGgT,GAEtCQ,EAAgB94B,GAAiBslB,EAAQwT,EAAgB,GAAK,KAChEN,EAASz/B,KAAKgmB,EAAWvjB,EAAOO,OAChChF,KAAKq+B,SAASrW,EAAWvjB,EAAOO,OAAS,GAG3CgjB,GAAY/e,CACd,MAAW23B,EAAMrD,WAAW,aAAgC,IAAjBqD,EAAM3+B,QAAgB,KAAKiyB,KAAK0M,EAAM,MAC/EY,EAASx/B,KAAKgmB,GACdA,GAAY6Y,EAAU1hB,EAAQ6I,EAAUqZ,IAExCrZ,GAAY4Y,EAAM3+B,OAAS,CA1D7B,MAXE,EAAG,CAGD,KAFE+lB,GAEc/lB,EACd,MAGF4qB,EAAK1N,EAAO6I,EACd,OA/EK,KA+EI6E,GA9EJ,KA8EiBA,SAbpB7E,CA4EN,CAIA,IAAKzqB,EAAI,EAAGikB,EAAKigB,EAASx/B,OAAQ1E,EAAIikB,IAAMjkB,EAC1CyC,KAAKy+B,eAAez8B,KAAKy/B,EAASlkC,IAClCyC,KAAK4+B,UAAS,GAGhB,IAAIF,EAEJ,IAAKnhC,EAAI,EAAGikB,EAAKggB,EAASv/B,OAAQ1E,EAAIikB,IAAMjkB,EAAG,CAC7CkH,EAAOwG,IAAMu2B,EAASjkC,GACtB,MAAM0hC,EAAS,IAAI9R,EAAQ6U,OAAO,CAChC3C,MAAO,IAAIlS,EAAQ8U,MAAMx9B,GACzBE,KAAM3E,KACNkiC,cAAc,EACdj/B,cAAc,IAEhB,IAAIgK,EAAMgyB,EAAOU,SAEjB,KAAK,EAAIjgC,EAAY2iB,OAAOpV,EAAK,WAC/B,SAGF,MAAM2X,EAAOqa,EAAOU,SAEpB,KAAK,EAAIjgC,EAAY6iB,QAAQqC,GAC3B,SAGF,IAAIud,EAEJ,IACEA,EAAWvd,EAAKzmB,IAAI,OAOtB,CANE,MAAO8I,GACP,GAAIA,aAAclH,EAAY2mB,qBAC5B,MAAMzf,EAGR,QACF,CAEA,IAAK,EAAIvH,EAAY6iB,QAAQ4f,IAAcA,EAAS7d,IAAI,SAAxD,CAIA,GAAIM,EAAKN,IAAI,MACX,OAAOM,EAGT8Z,EAAc9Z,CANd,CAOF,CAEA,GAAI8Z,EACF,OAAOA,EAGT,MAAM,IAAIj/B,EAAMgI,oBAAoB,yBACtC,EACAm3B,SAAU,SAAuB37B,GAC/B,IAAIwB,EAASzE,KAAKyE,OAClB,MAAM29B,EAAuBpkC,OAAOY,OAAO,MAE3C,IACE,KAAOoB,KAAKy+B,eAAex8B,QAAQ,CACjC,IAAI2wB,EAAY5yB,KAAKy+B,eAAe,GAEpC,GAAI2D,EAAqBxP,GAAY,EACnC,EAAInzB,EAAMgK,MAAM,+DAChBzJ,KAAKy+B,eAAezH,QACpB,QACF,CAEAoL,EAAqBxP,IAAa,EAClCnuB,EAAOwG,IAAM2nB,EAAYnuB,EAAOO,MAChC,MAAMi6B,EAAS,IAAI9R,EAAQ6U,OAAO,CAChC3C,MAAO,IAAIlS,EAAQ8U,MAAMx9B,GACzBE,KAAM3E,KACNkiC,cAAc,IAEhB,IACItd,EADA3X,EAAMgyB,EAAOU,SAGjB,IAAI,EAAIjgC,EAAY2iB,OAAOpV,EAAK,SAS9B,GARA2X,EAAO5kB,KAAKg/B,iBAAiBC,GAExBj/B,KAAKqiC,UACRriC,KAAKqiC,QAAUzd,GAGjB3X,EAAM2X,EAAKzmB,IAAI,WAEXkQ,OAAOC,UAAUrB,GAAM,CACzB,IAAIhC,EAAMgC,EAEJhC,KAAOjL,KAAKq+B,WAChBr+B,KAAKq+B,SAASpzB,GAAO,EACrBjL,KAAKy+B,eAAez8B,KAAKiJ,GAE7B,MACK,KAAIoD,OAAOC,UAAUrB,GAe1B,MAAM,IAAIxN,EAAM8P,YAAY,8BAd5B,IAAKlB,OAAOC,UAAU2wB,EAAOU,aAAc,EAAIjgC,EAAY2iB,OAAO4c,EAAOU,SAAU,UAAW,EAAIjgC,EAAYmjB,UAAU5V,EAAMgyB,EAAOU,UACnI,MAAM,IAAIlgC,EAAM8P,YAAY,uBAS9B,GANAqV,EAAO5kB,KAAKigC,kBAAkBhzB,GAEzBjN,KAAKqiC,UACRriC,KAAKqiC,QAAUzd,IAGZA,EACH,MAAM,IAAInlB,EAAM8P,YAAY,6BAIhC,CAEAtC,EAAM2X,EAAKzmB,IAAI,QAEXkQ,OAAOC,UAAUrB,GACnBjN,KAAKy+B,eAAez8B,KAAKiL,IAChB,EAAIvN,EAAY+iB,OAAOxV,IAChCjN,KAAKy+B,eAAez8B,KAAKiL,EAAIjJ,KAG/BhE,KAAKy+B,eAAezH,OACtB,CAEA,OAAOh3B,KAAKqiC,OAOd,CANE,MAAOr4B,GACP,GAAIA,aAAajK,EAAY2mB,qBAC3B,MAAM1c,GAGR,EAAIvK,EAAM+F,MAAM,yBAA2BwE,EAC7C,CAEA,IAAI/G,EAIJ,MAAM,IAAIlD,EAAYgI,kBACxB,EACAu6B,SAAU,SAAuB/kC,GAC/B,IAAIglC,EAAYviC,KAAKo+B,QAAQ7gC,GAE7B,OAAIglC,IAAcA,EAAUxC,MAAQwC,EAAU9V,OACrC8V,EAGF,IACT,EACAvT,WAAY,SAAyB/hB,EAAKsW,GACxC,OAAItW,aAAevN,EAAYqE,IACtB/D,KAAK8jB,MAAM7W,EAAKsW,GAGlBtW,CACT,EACA6W,MAAO,SAAoBlgB,EAAK2f,GAC9B,KAAM3f,aAAelE,EAAYqE,KAC/B,MAAM,IAAIrD,MAAM,iCAGlB,MAAMsD,EAAMJ,EAAII,IAEVw+B,EAAaxiC,KAAKs+B,UAAUngC,IAAI6F,GAEtC,QAAmBwH,IAAfg3B,EAKF,OAJIA,aAAsB9iC,EAAYujB,OAASuf,EAAWlf,QACxDkf,EAAWlf,MAAQ1f,EAAIkE,YAGlB06B,EAGT,IAAID,EAAYviC,KAAKsiC,SAASt+B,GAE9B,OAAkB,OAAdu+B,GACFviC,KAAKs+B,UAAUjzB,IAAIrH,EAAKu+B,GAEjBA,IAIPA,EADEA,EAAUvC,aACAhgC,KAAKyiC,kBAAkB7+B,EAAK2+B,EAAWhf,GAEvCvjB,KAAK0iC,gBAAgB9+B,EAAK2+B,EAAWhf,IAG/C,EAAI7jB,EAAY6iB,QAAQggB,GAC1BA,EAAUjf,MAAQ1f,EAAIkE,YACb,EAAIpI,EAAYmjB,UAAU0f,KACnCA,EAAU3d,KAAKtB,MAAQ1f,EAAIkE,YAGtBy6B,EACT,EAEAE,kBAAkB7+B,EAAK2+B,EAAWhf,GAAqB,GACrD,IAAItf,EAAML,EAAIK,IACVD,EAAMJ,EAAII,IAEd,GAAIu+B,EAAUt+B,MAAQA,EACpB,MAAM,IAAIlE,EAAY+sB,mBAAmB,oCAAoClpB,KAG/E,IAAIa,EAASzE,KAAKyE,OAAO2kB,cAAcmZ,EAAU9V,OAASzsB,KAAKyE,OAAOO,OACtE,MAAMi6B,EAAS,IAAI9R,EAAQ6U,OAAO,CAChC3C,MAAO,IAAIlS,EAAQ8U,MAAMx9B,GACzBE,KAAM3E,KACNkiC,cAAc,IAEhB,IAAIS,EAAO1D,EAAOU,SACdiD,EAAO3D,EAAOU,SACdkD,EAAO5D,EAAOU,SAElB,GAAIgD,IAAS3+B,GAAO4+B,IAAS3+B,KAAS4+B,aAAgBnjC,EAAYsiB,KAChE,MAAM,IAAIjiB,EAAY+sB,mBAAmB,kCAAkClpB,KAG7E,GAAiB,QAAbi/B,EAAKvgB,IAAe,CACtB,GAAIugB,EAAKvgB,IAAIib,WAAW,SACtBv5B,EAAMgvB,SAAS6P,EAAKvgB,IAAI6Q,UAAU,GAAI,KAEjC9kB,OAAO4kB,MAAMjvB,IAChB,OAAOA,EAIX,MAAM,IAAIjE,EAAY+sB,mBAAmB,kCAAkClpB,IAC7E,CAYA,OATE2+B,EADEviC,KAAKm2B,UAAY5S,EACP0b,EAAOU,OAAO3/B,KAAKm2B,QAAQ2M,sBAAsB9+B,EAAKC,IAEtDg7B,EAAOU,UAGhB,EAAIjgC,EAAYmjB,UAAU0f,IAC7BviC,KAAKs+B,UAAUjzB,IAAIrH,EAAKu+B,GAGnBA,CACT,EAEAG,gBAAgB9+B,EAAK2+B,EAAWhf,GAAqB,GACnD,MAAMwf,EAAcR,EAAU9V,OACxBhoB,EAASzE,KAAK8jB,MAAMpkB,EAAYqE,IAAI5F,IAAI4kC,EAAa,IAE3D,KAAK,EAAIrjC,EAAYmjB,UAAUpe,GAC7B,MAAM,IAAIhF,EAAM8P,YAAY,qBAG9B,MAAM6Q,EAAQ3b,EAAOmgB,KAAKzmB,IAAI,SACxBY,EAAI0F,EAAOmgB,KAAKzmB,IAAI,KAE1B,IAAKkQ,OAAOC,UAAU8R,KAAW/R,OAAOC,UAAUvP,GAChD,MAAM,IAAIU,EAAM8P,YAAY,oDAG9B,MAAM0vB,EAAS,IAAI9R,EAAQ6U,OAAO,CAChC3C,MAAO,IAAIlS,EAAQ8U,MAAMx9B,GACzBE,KAAM3E,KACNkiC,cAAc,IAEVjJ,EAAO,IAAIhV,MAAMllB,GAEvB,IAAK,IAAIxB,EAAI,EAAGA,EAAIwB,IAAKxB,EAAG,CAC1B,MAAMyG,EAAMi7B,EAAOU,SAEnB,IAAKtxB,OAAOC,UAAUtK,GACpB,MAAM,IAAIvE,EAAM8P,YAAY,+CAA+CvL,KAG7E,MAAMyoB,EAASwS,EAAOU,SAEtB,IAAKtxB,OAAOC,UAAUme,GACpB,MAAM,IAAIhtB,EAAM8P,YAAY,+CAA+Ckd,KAG7EwM,EAAK17B,GAAKyG,CACZ,CAEA,MAAMo6B,EAAU,IAAIna,MAAMllB,GAE1B,IAAK,IAAIxB,EAAI,EAAGA,EAAIwB,IAAKxB,EAAG,CAC1B,MAAM0P,EAAMgyB,EAAOU,SAOnB,GANAvB,EAAQ7gC,GAAK0P,EAETgyB,EAAOM,gBAAgB7/B,EAAYsiB,KAA2B,WAApBid,EAAOM,KAAKjd,KACxD2c,EAAOjI,SAGL,EAAIt3B,EAAYmjB,UAAU5V,GAC5B,SAGF,MAAMjJ,EAAMi1B,EAAK17B,GACXuiC,EAAQ9/B,KAAKo+B,QAAQp6B,GAEvB87B,GAASA,EAAMrT,SAAWsW,GAAejD,EAAM77B,MAAQ1G,GACzDyC,KAAKs+B,UAAUjzB,IAAIrH,EAAKiJ,EAE5B,CAIA,QAAkBzB,KAFlB+2B,EAAYnE,EAAQmE,EAAUt+B,MAG5B,MAAM,IAAIlE,EAAY+sB,mBAAmB,gCAAgClpB,KAG3E,OAAO2+B,CACT,EAEAx/B,sBAAsBkK,EAAKsW,GACzB,OAAItW,aAAevN,EAAYqE,IACtB/D,KAAK+jB,WAAW9W,EAAKsW,GAGvBtW,CACT,EAEAlK,iBAAiBa,EAAK2f,GACpB,IACE,OAAOvjB,KAAK8jB,MAAMlgB,EAAK2f,EAQzB,CAPE,MAAOtc,GACP,KAAMA,aAAclH,EAAY2mB,sBAC9B,MAAMzf,EAIR,aADMjH,KAAK0B,WAAWskB,aAAa/e,EAAGgf,MAAOhf,EAAGif,KACzClmB,KAAK+jB,WAAWngB,EAAK2f,EAC9B,CACF,EAEAuS,cAAe,WACb,OAAO91B,KAAK02B,IACd,GAEK3E,CACT,CArvBW,GAuvBX10B,EAAQ00B,KAAOA,EAEf,MAAMiR,EACJnkB,YAAY6X,EAAM/xB,EAAM4c,GAClBvhB,KAAK6e,cAAgBmkB,IACvB,EAAIvjC,EAAM0P,aAAa,uCAGzBnP,KAAK02B,KAAOA,EACZ12B,KAAK2E,KAAOA,EACZ3E,KAAKijC,MAAQ1hB,CACf,CAEAmX,SACE,MAAM9T,EAAO5mB,OAAOY,OAAO,MAE3B,IAAKoB,KAAK02B,KACR,OAAO9R,EAGT,MAAMjgB,EAAO3E,KAAK2E,KACZmyB,EAAY,IAAIp3B,EAAYsjB,OAClC8T,EAAU/R,IAAI/kB,KAAK02B,MACnB,MAAME,EAAQ,CAAC52B,KAAK02B,MAEpB,KAAOE,EAAM30B,OAAS,GAAG,CACvB,MAAMgL,EAAMtI,EAAKqqB,WAAW4H,EAAMI,SAElC,KAAK,EAAIt3B,EAAY6iB,QAAQtV,GAC3B,SAGF,GAAIA,EAAIqX,IAAI,QAAS,CACnB,MAAMoY,EAAOzvB,EAAI9O,IAAI,QAErB,IAAK,IAAIZ,EAAI,EAAGikB,EAAKkb,EAAKz6B,OAAQ1E,EAAIikB,EAAIjkB,IAAK,CAC7C,MAAM2/B,EAAMR,EAAKn/B,GAEjB,GAAIu5B,EAAUxS,IAAI4Y,GAChB,MAAM,IAAIz9B,EAAM8P,YAAY,uBAAuBvP,KAAKijC,gBAG1DrM,EAAM50B,KAAKk7B,GACXpG,EAAU/R,IAAImY,EAChB,CAEA,QACF,CAEA,MAAMkB,EAAUnxB,EAAI9O,IAAI6B,KAAKijC,OAE7B,GAAIhf,MAAMC,QAAQka,GAChB,IAAK,IAAI7gC,EAAI,EAAGikB,EAAK4c,EAAQn8B,OAAQ1E,EAAIikB,EAAIjkB,GAAK,EAChDqnB,EAAKjgB,EAAKqqB,WAAWoP,EAAQ7gC,KAAOoH,EAAKqqB,WAAWoP,EAAQ7gC,EAAI,GAGtE,CAEA,OAAOqnB,CACT,CAEAzmB,IAAIU,GACF,IAAKmB,KAAK02B,KACR,OAAO,KAGT,MAAM/xB,EAAO3E,KAAK2E,KAClB,IAAIu+B,EAAgBv+B,EAAKqqB,WAAWhvB,KAAK02B,MACrC5K,EAAY,EAGhB,KAAOoX,EAAc5e,IAAI,SAAS,CAChC,KAAMwH,EAHW,GAKf,OADA,EAAIrsB,EAAMgK,MAAM,mCAAmCzJ,KAAKijC,gBACjD,KAGT,MAAMvG,EAAOwG,EAAc/kC,IAAI,QAE/B,IAAK8lB,MAAMC,QAAQwY,GACjB,OAAO,KAGT,IAAIl/B,EAAI,EACJY,EAAIs+B,EAAKz6B,OAAS,EAEtB,KAAOzE,GAAKY,GAAG,CACb,MAAMV,EAAIF,EAAIY,GAAK,EAEb+kC,EADMx+B,EAAKqqB,WAAW0N,EAAKh/B,IACdS,IAAI,UAEvB,GAAIU,EAAM8F,EAAKqqB,WAAWmU,EAAO,IAC/B/kC,EAAIV,EAAI,MACH,MAAImB,EAAM8F,EAAKqqB,WAAWmU,EAAO,KAEjC,CACLD,EAAgBv+B,EAAKqqB,WAAW0N,EAAKh/B,IACrC,KACF,CAJEF,EAAIE,EAAI,CAIV,CACF,CAEA,GAAIF,EAAIY,EACN,OAAO,IAEX,CAEA,MAAMggC,EAAU8E,EAAc/kC,IAAI6B,KAAKijC,OAEvC,GAAIhf,MAAMC,QAAQka,GAAU,CAC1B,IAAI5gC,EAAI,EACJY,EAAIggC,EAAQn8B,OAAS,EAEzB,KAAOzE,GAAKY,GAAG,CACb,MAAMglC,EAAM5lC,EAAIY,GAAK,EACfV,EAAI0lC,GAAa,EAANA,GACXC,EAAa1+B,EAAKqqB,WAAWoP,EAAQ1gC,IAE3C,GAAImB,EAAMwkC,EACRjlC,EAAIV,EAAI,MACH,MAAImB,EAAMwkC,GAGf,OAAO1+B,EAAKqqB,WAAWoP,EAAQ1gC,EAAI,IAFnCF,EAAIE,EAAI,CAGV,CACF,EAEA,EAAI+B,EAAM+F,MAAM,kDAAkD3G,WAAkBmB,KAAKijC,gBAEzF,IAAK,IAAIvlC,EAAI,EAAG4lC,EAAKlF,EAAQn8B,OAAQvE,EAAI4lC,EAAI5lC,GAAK,EAGhD,GAFmBiH,EAAKqqB,WAAWoP,EAAQ1gC,MAExBmB,EAEjB,OADA,EAAIY,EAAMgK,MAAM,QAAQ5K,qEAA4EmB,KAAKijC,gBAClGt+B,EAAKqqB,WAAWoP,EAAQ1gC,EAAI,GAGzC,CAEA,OAAO,IACT,EAIF,MAAM86B,UAAiBwK,EACrBnkB,YAAY6X,EAAM/xB,GAChBma,MAAM4X,EAAM/xB,EAAM,QACpB,EAIF,MAAMu0B,UAAmB8J,EACvBnkB,YAAY6X,EAAM/xB,GAChBma,MAAM4X,EAAM/xB,EAAM,OACpB,EAIF,IAAI8wB,EAAW,WACb,SAASA,EAASiB,EAAM/xB,GACjB+xB,IAAS,EAAIh3B,EAAY6iB,QAAQmU,KAItC12B,KAAK2E,KAAOA,EACZ3E,KAAK02B,KAAOA,EAERA,EAAKpS,IAAI,QACXtkB,KAAKy7B,GAAK/E,EAAKv4B,IAAI,OAGrB6B,KAAKujC,YAAc7M,EAAKpS,IAAI,SAAU,EAAI7kB,EAAMgP,mBAAmBioB,EAAKv4B,IAAI,SAAW,GAEnFu4B,EAAKpS,IAAI,QACX,EAAI7kB,EAAMgK,MAAM,iDAGlBzJ,KAAKwjC,kBAAmB,EAEnB9M,EAAKpS,IAAI,QACZtkB,KAAKwjC,kBAAmB,GACxB,EAAI/jC,EAAMgK,MAAM,uDAEpB,CAEA,SAASg6B,EAAiB7e,GACxB,OAAIA,EAAKN,IAAI,MACJM,EAAKzmB,IAAI,MACPymB,EAAKN,IAAI,KACXM,EAAKzmB,IAAI,KACPymB,EAAKN,IAAI,QACXM,EAAKzmB,IAAI,QACPymB,EAAKN,IAAI,OACXM,EAAKzmB,IAAI,OACPymB,EAAKN,IAAI,OACXM,EAAKzmB,IAAI,OAGX,IACT,CA+CA,OA7CAs3B,EAASv2B,UAAY,CACfwkC,eACF,IAAK1jC,KAAK2jC,WAAa3jC,KAAK02B,KAAM,CAChC,IAAIgN,EAAWD,EAAiBzjC,KAAK02B,OAAS,UAC9C12B,KAAK2jC,WAAY,EAAIlkC,EAAMgP,mBAAmBi1B,GAAUx1B,QAAQ,QAAS,MAAMA,QAAQ,QAAS,KAAKA,QAAQ,MAAO,IACtH,CAEA,OAAOlO,KAAK2jC,SACd,EAEIpV,cACF,IAAKvuB,KAAKwjC,iBACR,OAAO,MAGJxjC,KAAK4jC,YAAc5jC,KAAK02B,OAC3B12B,KAAK4jC,WAAaH,EAAiBzjC,KAAK02B,KAAKv4B,IAAI,QAGnD,IAAIowB,EAAU,KAEd,GAAIvuB,KAAK4jC,WAAY,CACnB,IACIC,EADO7jC,KAAK2E,KACGqqB,WAAWhvB,KAAK4jC,YAE/BC,IAAW,EAAInkC,EAAYmjB,UAAUghB,GACvCtV,EAAUsV,EAAQ/gB,YAElB,EAAIrjB,EAAMgK,MAAM,qEAEpB,MACE,EAAIhK,EAAMgK,MAAM,uDAGlB,OAAO8kB,CACT,EAEImN,mBACF,MAAO,CACLgI,SAAU1jC,KAAK0jC,SACfnV,QAASvuB,KAAKuuB,QAElB,GAGKkH,CACT,CAzFe,GA2Ffp4B,EAAQo4B,SAAWA,EAEnB,MAAMrG,EAAe,WACnB,SAAS0U,EAAgBvlC,GACvB,OAAOA,aAAiBmB,EAAYqE,KAAOxF,aAAiBmB,EAAYujB,MAAQgB,MAAMC,QAAQ3lB,KAAU,EAAImB,EAAYmjB,UAAUtkB,EACpI,CAEA,SAASwlC,EAAYhH,EAAMX,GACzB,GAAIW,aAAgBr9B,EAAYujB,OAAQ,EAAIvjB,EAAYmjB,UAAUka,GAAO,CACvE,MAAMnY,EAAOmY,aAAgBr9B,EAAYujB,KAAO8Z,EAAOA,EAAKnY,KACtDof,EAAWpf,EAAKR,UAEtB,IAAK,IAAI7mB,EAAI,EAAGikB,EAAKwiB,EAAS/hC,OAAQ1E,EAAIikB,EAAIjkB,IAAK,CACjD,MAAM0mC,EAAWrf,EAAKT,OAAO6f,EAASzmC,IAElCumC,EAAgBG,IAClB7H,EAAap6B,KAAKiiC,EAEtB,CACF,MAAO,GAAIhgB,MAAMC,QAAQ6Y,GACvB,IAAK,IAAIx/B,EAAI,EAAGikB,EAAKub,EAAK96B,OAAQ1E,EAAIikB,EAAIjkB,IAAK,CAC7C,MAAMgB,EAAQw+B,EAAKx/B,GAEfumC,EAAgBvlC,IAClB69B,EAAap6B,KAAKzD,EAEtB,CAEJ,CAEA,SAAS6wB,EAAaxK,EAAMP,EAAM1f,GAChC3E,KAAK4kB,KAAOA,EACZ5kB,KAAKqkB,KAAOA,EACZrkB,KAAK2E,KAAOA,EACZ3E,KAAKkkC,OAAS,IAChB,CAiGA,OA/FA9U,EAAalwB,UAAY,CACvB6D,aACE,IAAK/C,KAAK2E,KAAKF,OAAOijB,iBAAmB1nB,KAAK2E,KAAKF,OAAOijB,kBACxD,OAGF,MAAM,KACJrD,EAAI,KACJO,GACE5kB,KACJA,KAAKkkC,OAAS,IAAIxkC,EAAYsjB,OAC9B,MAAMoZ,EAAe,GAErB,IAAK,IAAI7+B,EAAI,EAAGikB,EAAK6C,EAAKpiB,OAAQ1E,EAAIikB,EAAIjkB,IAAK,CAC7C,MAAM0mC,EAAWrf,EAAKT,OAAOE,EAAK9mB,SAEjBiO,IAAby4B,GACF7H,EAAap6B,KAAKiiC,EAEtB,CAEA,OAAOjkC,KAAKmkC,MAAM/H,EACpB,EAEAr5B,YAAYq5B,GACV,MAAMgI,EAAiB,GACjBC,EAAkB,GAExB,KAAOjI,EAAan6B,QAAQ,CAC1B,IAAIu6B,EAAcJ,EAAaK,MAE/B,GAAID,aAAuB98B,EAAYqE,IAAK,CAC1C,GAAI/D,KAAKkkC,OAAO5f,IAAIkY,GAClB,SAGF,IACEx8B,KAAKkkC,OAAOnf,IAAIyX,GAChBA,EAAcx8B,KAAK2E,KAAKmf,MAAM0Y,EAWhC,CAVE,MAAOv1B,GACP,KAAMA,aAAclH,EAAY2mB,sBAC9B,MAAMzf,EAGRm9B,EAAepiC,KAAKw6B,GACpB6H,EAAgBriC,KAAK,CACnBikB,MAAOhf,EAAGgf,MACVC,IAAKjf,EAAGif,KAEZ,CACF,CAEA,GAAIsW,GAAeA,EAAY/U,eAAgB,CAC7C,MAAM6c,EAAc9H,EAAY/U,iBAChC,IAAI8c,GAAmB,EAEvB,IAAK,IAAIhnC,EAAI,EAAGikB,EAAK8iB,EAAYriC,OAAQ1E,EAAIikB,EAAIjkB,IAAK,CACpD,MAAMkH,EAAS6/B,EAAY/mC,GAEvBkH,EAAOijB,kBAAoBjjB,EAAOijB,oBACpC6c,GAAmB,EACnBF,EAAgBriC,KAAK,CACnBikB,MAAOxhB,EAAOO,MACdkhB,IAAKzhB,EAAOyhB,MAGlB,CAEIqe,GACFH,EAAepiC,KAAKw6B,EAExB,CAEAuH,EAAYvH,EAAaJ,EAC3B,CAEA,GAAIiI,EAAgBpiC,OAAQ,OACpBjC,KAAK2E,KAAKF,OAAOuiB,QAAQ4D,cAAcyZ,GAE7C,IAAK,IAAI9mC,EAAI,EAAGikB,EAAK4iB,EAAeniC,OAAQ1E,EAAIikB,EAAIjkB,IAAK,CACvD,MAAMw/B,EAAOqH,EAAe7mC,GAExBw/B,aAAgBr9B,EAAYqE,KAC9B/D,KAAKkkC,OAAOlf,OAAO+X,EAEvB,CAEA,OAAO/8B,KAAKmkC,MAAMC,EACpB,CAEApkC,KAAKkkC,OAAS,IAEhB,GAGK9U,CACT,CAnIqB,GAqIrB/xB,EAAQ+xB,aAAeA,CAEhB,EAED,SAAU9xB,EAAQD,EAASF,GAEjC,aAGAa,OAAOC,eAAeZ,EAAS,aAAc,CAC3CkB,OAAO,IAETlB,EAAQ2kC,OAAS3kC,EAAQs1B,cAAgBt1B,EAAQ4kC,WAAQ,EAEzD,IAAI1c,EAAUpoB,EAAoB,IAE9BsC,EAAQtC,EAAoB,GAE5BuC,EAAcvC,EAAoB,GAElC4C,EAAc5C,EAAoB,GAElCqnC,EAAgBrnC,EAAoB,IAEpCsnC,EAAgBtnC,EAAoB,IAEpCunC,EAAevnC,EAAoB,IAEnCwnC,EAAcxnC,EAAoB,IAKtC,SAASynC,EAAelgC,GACtB,MAAMmgC,EAAcngC,EAAMzC,OAC1B,IAAIke,EAAI,EACJV,EAAI,EAER,IAAK,IAAIliB,EAAI,EAAGA,EAAIsnC,IAAetnC,EACjC4iB,GAAgB,IAAXzb,EAAMnH,GACXkiB,GAAKU,EAGP,OAAOV,EAAI,OAAS,GAAKU,EAAI,KAC/B,CAEA,MAAM6hB,EACJnjB,aAAY,MACVwgB,EAAK,KACL16B,EAAI,aACJu9B,GAAe,EAAK,aACpBj/B,GAAe,IAEfjD,KAAKq/B,MAAQA,EACbr/B,KAAK2E,KAAOA,EACZ3E,KAAKkiC,aAAeA,EACpBliC,KAAKiD,aAAeA,EACpBjD,KAAK8kC,WAAa9mC,OAAOY,OAAO,MAChCoB,KAAK+kC,QACP,CAEAA,SACE/kC,KAAKu/B,KAAOv/B,KAAKq/B,MAAMM,SACvB3/B,KAAKy/B,KAAOz/B,KAAKq/B,MAAMM,QACzB,CAEA3I,QACMh3B,KAAKy/B,gBAAgB//B,EAAYsiB,KAAyB,OAAlBhiB,KAAKy/B,KAAKnd,KACpDtiB,KAAKu/B,KAAOv/B,KAAKy/B,KACjBz/B,KAAKy/B,KAAO,OAEZz/B,KAAKu/B,KAAOv/B,KAAKy/B,KACjBz/B,KAAKy/B,KAAOz/B,KAAKq/B,MAAMM,SAE3B,CAEAqF,WACE,IAEE,OADAhlC,KAAKg3B,SACE,CAOT,CANE,MAAOhtB,GACP,GAAIA,aAAajK,EAAY2mB,qBAC3B,MAAM1c,EAGR,OAAO,CACT,CACF,CAEA21B,OAAOsF,EAAkB,MACvB,MAAM1F,EAAOv/B,KAAKu/B,KAGlB,GAFAv/B,KAAKg3B,QAEDuI,aAAgB7/B,EAAYsiB,IAC9B,OAAQud,EAAKjd,KACX,IAAK,KACH,OAAOtiB,KAAKklC,gBAAgBD,GAE9B,IAAK,IACH,MAAME,EAAQ,GAEd,OAAQ,EAAIzlC,EAAY2iB,OAAOriB,KAAKu/B,KAAM,QAAS,EAAI7/B,EAAYyiB,OAAOniB,KAAKu/B,OAC7E4F,EAAMnjC,KAAKhC,KAAK2/B,OAAOsF,IAGzB,IAAI,EAAIvlC,EAAYyiB,OAAOniB,KAAKu/B,MAAO,CACrC,IAAKv/B,KAAKiD,aACR,MAAM,IAAIxD,EAAM8P,YAAY,4BAG9B,OAAO41B,CACT,CAGA,OADAnlC,KAAKg3B,QACEmO,EAET,IAAK,KACH,MAAMvgB,EAAO,IAAIllB,EAAYujB,KAAKjjB,KAAK2E,MAEvC,OAAQ,EAAIjF,EAAY2iB,OAAOriB,KAAKu/B,KAAM,SAAU,EAAI7/B,EAAYyiB,OAAOniB,KAAKu/B,OAAO,CACrF,KAAK,EAAI7/B,EAAY8iB,QAAQxiB,KAAKu/B,MAAO,EACvC,EAAI9/B,EAAM+F,MAAM,mDAChBxF,KAAKg3B,QACL,QACF,CAEA,MAAMn4B,EAAMmB,KAAKu/B,KAAK1hC,KAGtB,GAFAmC,KAAKg3B,SAED,EAAIt3B,EAAYyiB,OAAOniB,KAAKu/B,MAC9B,MAGF3a,EAAKvZ,IAAIxM,EAAKmB,KAAK2/B,OAAOsF,GAC5B,CAEA,IAAI,EAAIvlC,EAAYyiB,OAAOniB,KAAKu/B,MAAO,CACrC,IAAKv/B,KAAKiD,aACR,MAAM,IAAIxD,EAAM8P,YAAY,iCAG9B,OAAOqV,CACT,CAEA,OAAI,EAAIllB,EAAY2iB,OAAOriB,KAAKy/B,KAAM,UAC7Bz/B,KAAKkiC,aAAeliC,KAAKolC,WAAWxgB,EAAMqgB,GAAmBrgB,GAGtE5kB,KAAKg3B,QACEpS,GAET,QACE,OAAO2a,EAIb,GAAIlxB,OAAOC,UAAUixB,GAAO,CAC1B,GAAIlxB,OAAOC,UAAUtO,KAAKu/B,QAAS,EAAI7/B,EAAY2iB,OAAOriB,KAAKy/B,KAAM,KAAM,CACzE,MAAM77B,EAAMlE,EAAYqE,IAAI5F,IAAIohC,EAAMv/B,KAAKu/B,MAI3C,OAFAv/B,KAAKg3B,QACLh3B,KAAKg3B,QACEpzB,CACT,CAEA,OAAO27B,CACT,CAEA,MAAoB,iBAATA,GACL0F,EACKA,EAAgBI,cAAc9F,GAMlCA,CACT,CAEA+F,2BAA2B7gC,GACzB,MAOMi9B,EAAWj9B,EAAOwG,IACxB,IACI4hB,EACA0Y,EAFAC,EAAQ,EAIZ,MAAoC,KAA5B3Y,EAAKpoB,EAAO6jB,YAClB,GAAc,IAAVkd,EACFA,EAdM,KAcE3Y,EAAW,EAAI,OAClB,GAAc,IAAV2Y,EACTA,EAfM,KAeE3Y,EAAW,EAAI,OAIvB,IAFA,EAAIptB,EAAM6L,QAAkB,IAAVk6B,EAAa,+CAhBrB,KAkBN3Y,GAjBG,KAiBaA,GAhBb,KAgB0BA,EAAW,CAC1C0Y,EAAa9gC,EAAOwG,IACpB,MAAMw6B,EAAiBhhC,EAAOskB,UAjB1B,IAmBJ,IAAK,IAAIxrB,EAAI,EAAGikB,EAAKikB,EAAexjC,OAAQ1E,EAAIikB,EAAIjkB,IAGlD,GAFAsvB,EAAK4Y,EAAeloC,IAnBhB,IAqBAsvB,GArBA,IAqBc4Y,EAAeloC,EAAI,KAxBlC,KA4BCsvB,GA3BD,KA2BcA,IAAcA,EA7BzB,IA6BuCA,EAAK,KAAO,CACvD2Y,EAAQ,EACR,KACF,CAGF,GAAc,IAAVA,EACF,KAEJ,MACEA,EAAQ,GAKF,IAAR3Y,KACF,EAAIptB,EAAMgK,MAAM,+FAEZ87B,KACF,EAAI9lC,EAAMgK,MAAM,4DAChBhF,EAAOwkB,OAAOxkB,EAAOwG,IAAMs6B,MAI/B,IAAIG,EAAY,EAShB,OARAjhC,EAAOwkB,MAAMyc,GACb7Y,EAAKpoB,EAAOokB,WACZpkB,EAAOwkB,KAAKyc,IAEP,EAAI3lC,EAAY6sB,cAAcC,IACjC6Y,IAGKjhC,EAAOwG,IAAMy6B,EAAYhE,CAClC,CAEAiE,6BAA6BlhC,GAC3B,MAAMi9B,EAAWj9B,EAAOwG,IACxB,IACIwU,EACAmmB,EAFAC,GAAW,EAIf,MAAmC,KAA3BpmB,EAAIhb,EAAO6jB,YACjB,GAAU,MAAN7I,EAAJ,CAIA,OAAQhb,EAAO6jB,WACb,KAAK,EACH,MAEF,KAAK,IACH7jB,EAAOwkB,MAAM,GACb,MAEF,KAAK,IACH4c,GAAW,EACX,MAEF,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACHD,EAAenhC,EAAO8jB,YAElBqd,EAAe,EACjBnhC,EAAOwkB,KAAK2c,EAAe,GAE3BnhC,EAAOwkB,MAAM,GAMnB,GAAI4c,EACF,KAhEF,CAoEF,MAAM5jC,EAASwC,EAAOwG,IAAMy2B,EAE5B,OAAW,IAAPjiB,IACF,EAAIhgB,EAAMgK,MAAM,oFAChBhF,EAAOwkB,MAAMhnB,GACNjC,KAAKslC,2BAA2B7gC,KAGzCzE,KAAK8lC,mBAAmBrhC,GACjBxC,EACT,CAEA8jC,iCAAiCthC,GAC/B,MAEMi9B,EAAWj9B,EAAOwG,IACxB,IAAI4hB,EAEJ,MAAoC,KAA5BA,EAAKpoB,EAAO6jB,YAClB,GANY,MAMRuE,EAAc,CAChB,MAAMmZ,EAAWvhC,EAAOwG,IAGxB,IAFA4hB,EAAKpoB,EAAOokB,YAEL,EAAI9oB,EAAY6sB,cAAcC,IACnCpoB,EAAOwkB,OACP4D,EAAKpoB,EAAOokB,WAGd,GAdO,KAcHgE,EAAW,CACbpoB,EAAOwkB,OACP,KACF,CAEA,GAAIxkB,EAAOwG,IAAM+6B,EAAU,CACzB,MAAMC,EAAUxhC,EAAOskB,UAAU,GAEjC,GAAmB,KAAfkd,EAAQ,IAA8B,KAAfA,EAAQ,GACjC,KAEJ,CACF,CAGF,MAAMhkC,EAASwC,EAAOwG,IAAMy2B,EAE5B,OAAY,IAAR7U,IACF,EAAIptB,EAAMgK,MAAM,wFAChBhF,EAAOwkB,MAAMhnB,GACNjC,KAAKslC,2BAA2B7gC,KAGzCzE,KAAK8lC,mBAAmBrhC,GACjBxC,EACT,CAEAikC,kCAAkCzhC,GAChC,MACMi9B,EAAWj9B,EAAOwG,IACxB,IAAI4hB,EAEJ,MAAoC,KAA5BA,EAAKpoB,EAAO6jB,YAJT,KAKLuE,IAKN,MAAM5qB,EAASwC,EAAOwG,IAAMy2B,EAE5B,OAAY,IAAR7U,IACF,EAAIptB,EAAMgK,MAAM,yFAChBhF,EAAOwkB,MAAMhnB,GACNjC,KAAKslC,2BAA2B7gC,KAGzCzE,KAAK8lC,mBAAmBrhC,GACjBxC,EACT,CAEA6jC,mBAAmBrhC,GAGjB,IACIooB,EADA2Y,EAAQ,EAGZ,MAAoC,KAA5B3Y,EAAKpoB,EAAO6jB,YAClB,GAAc,IAAVkd,EACFA,EAPM,KAOE3Y,EAAW,EAAI,OAClB,GAAc,IAAV2Y,EACTA,EARM,KAQE3Y,EAAW,EAAI,OAClB,GAAc,IAAV2Y,EACT,KAGN,CAEAN,gBAAgBD,GACd,MAAM5F,EAAQr/B,KAAKq/B,MACb56B,EAAS46B,EAAM56B,OACfmgB,EAAO,IAAIllB,EAAYujB,KAAKjjB,KAAK2E,MACvC,IAAIwhC,EAEJ,OAAQ,EAAIzmC,EAAY2iB,OAAOriB,KAAKu/B,KAAM,SAAU,EAAI7/B,EAAYyiB,OAAOniB,KAAKu/B,OAAO,CACrF,KAAK,EAAI7/B,EAAY8iB,QAAQxiB,KAAKu/B,MAChC,MAAM,IAAI9/B,EAAM8P,YAAY,wCAG9B,MAAM1Q,EAAMmB,KAAKu/B,KAAK1hC,KAGtB,GAFAmC,KAAKg3B,SAED,EAAIt3B,EAAYyiB,OAAOniB,KAAKu/B,MAC9B,MAGF3a,EAAKvZ,IAAIxM,EAAKmB,KAAK2/B,OAAOsF,GAC5B,EAEmC,IAA/B5F,EAAM+G,sBACRD,EAAa1hC,EAAOwG,IAAMo0B,EAAM+G,qBAGlC,MAAMpV,EAASpM,EAAKzmB,IAAI,SAAU,KAClC,IAAIkoC,EAEJ,IAAI,EAAI3mC,EAAY8iB,QAAQwO,GAC1BqV,EAAarV,EAAOnzB,UACf,GAAIomB,MAAMC,QAAQ8M,GAAS,CAChC,MAAMsV,EAAatmC,KAAK2E,KAAKqqB,WAAWgC,EAAO,KAE3C,EAAItxB,EAAY8iB,QAAQ8jB,KAC1BD,EAAaC,EAAWzoC,KAE5B,CAEA,MAAM6jC,EAAWj9B,EAAOwG,IACxB,IAAIhJ,EAGFA,EADiB,cAAfokC,GAA6C,QAAfA,EACvBrmC,KAAK2lC,6BAA6BlhC,GACnB,kBAAf4hC,GAAiD,QAAfA,EAClCrmC,KAAK+lC,iCAAiCthC,GACvB,mBAAf4hC,GAAkD,QAAfA,EACnCrmC,KAAKkmC,kCAAkCzhC,GAEvCzE,KAAKslC,2BAA2B7gC,GAG3C,IACI8hC,EADAC,EAAc/hC,EAAO2kB,cAAcsY,EAAUz/B,EAAQ2iB,GAGzD,GAAI3iB,EA3boB,KA2bYkkC,EA1bb,KA0b8C,CACnE,MAAMM,EAAaD,EAAY1jB,WAC/B0jB,EAAYtd,QACZ,MAAMwd,EAAmBjiC,EAAOwG,IAChCxG,EAAOwG,IAAMo0B,EAAM+G,oBACnB,MAAMO,EAAYliC,EAAOqe,SAASqjB,GAClC1hC,EAAOwG,IAAMy7B,EACbH,EAAW3B,EAAe6B,GAAc,IAAM7B,EAAe+B,GAC7D,MAAMnE,EAAaxiC,KAAK8kC,WAAWyB,GAEnC,QAAmB/6B,IAAfg3B,EAIF,OAHAxiC,KAAKy/B,KAAO//B,EAAYsiB,IAAI7jB,IAAI,MAChC6B,KAAKg3B,QACLwL,EAAWtZ,QACJsZ,CAEX,CAgBA,OAdIyC,IACFuB,EAAcvB,EAAgB2B,aAAaJ,EAAavkC,IAG1DukC,EAAcxmC,KAAKgxB,OAAOwV,EAAa5hB,EAAM3iB,GAC7CukC,EAAY5hB,KAAOA,OAEFpZ,IAAb+6B,IACFC,EAAYD,SAAW,UAAUtkC,KAAUskC,IAC3CvmC,KAAK8kC,WAAWyB,GAAYC,GAG9BxmC,KAAKy/B,KAAO//B,EAAYsiB,IAAI7jB,IAAI,MAChC6B,KAAKg3B,QACEwP,CACT,CAEAK,kBAAkBnF,EAAUpQ,GAC1B,MAAM,OACJ7sB,GACEzE,KAAKq/B,MACT56B,EAAOwG,IAAMy2B,EACb,MACMjQ,EAAkBH,EAAUrvB,OAElC,KAAOwC,EAAOwG,IAAMxG,EAAOyhB,KAAK,CAC9B,MAAMwL,EAAYjtB,EAAOskB,UAJD,MAKlB4I,EAAaD,EAAUzvB,OAASwvB,EAEtC,GAAIE,GAAc,EAChB,MAGF,IAAI1mB,EAAM,EAEV,KAAOA,EAAM0mB,GAAY,CACvB,IAAIE,EAAI,EAER,KAAOA,EAAIJ,GAAmBC,EAAUzmB,EAAM4mB,KAAOP,EAAUO,IAC7DA,IAGF,GAAIA,GAAKJ,EAEP,OADAhtB,EAAOwG,KAAOA,EACPxG,EAAOwG,IAAMy2B,EAGtBz2B,GACF,CAEAxG,EAAOwG,KAAO0mB,CAChB,CAEA,OAAQ,CACV,CAEAyT,WAAWxgB,EAAMqgB,GACf,MAAM5F,EAAQr/B,KAAKq/B,MACnB,IAAI56B,EAAS46B,EAAM56B,OACnB46B,EAAMyH,iBACN,MAAMpF,EAAWj9B,EAAOwG,IAAM,EAC9B,IAAIhJ,EAAS2iB,EAAKzmB,IAAI,UAUtB,GARKkQ,OAAOC,UAAUrM,MACpB,EAAIxC,EAAM+F,MAAM,eAAevD,gBAC/BA,EAAS,GAGXwC,EAAOwG,IAAMy2B,EAAWz/B,EACxBo9B,EAAM0H,WAEF/mC,KAAKglC,aAAc,EAAItlC,EAAY2iB,OAAOriB,KAAKy/B,KAAM,aACvDz/B,KAAKg3B,YACA,CACL,MAAMgQ,EAAsB,IAAI9lC,WAAW,CAAC,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,MAE5F,IAAI+lC,EAAejnC,KAAK6mC,kBAAkBnF,EAAUsF,GAEpD,GAAIC,EAAe,EAAG,CACpB,MAAMC,EAAiB,EAEvB,IAAK,IAAI3pC,EAAI,EAAGA,GAAK2pC,EAAgB3pC,IAAK,CACxC,MAAM2oB,EAAM8gB,EAAoB/kC,OAAS1E,EACnC4pC,EAAsBH,EAAoBjnB,MAAM,EAAGmG,GAEnDkhB,EAAcpnC,KAAK6mC,kBAAkBnF,EAAUyF,GAErD,GAAIC,GAAe,EAAG,CACpB,MAAMC,EAAW5iC,EAAOskB,UAAU7C,EAAM,GAAGA,GAE3C,KAAK,EAAInmB,EAAY6sB,cAAcya,GACjC,OAGF,EAAI5nC,EAAM+F,MAAM,WAAU,EAAI/F,EAAM8L,eAAe47B,6CACnDF,EAAeG,EACf,KACF,CACF,CAEA,GAAIH,EAAe,EACjB,MAAM,IAAIxnC,EAAM8P,YAAY,6BAEhC,CAEAtN,EAASglC,EACT5H,EAAM0H,WACN/mC,KAAKg3B,QACLh3B,KAAKg3B,OACP,CAWA,OATAh3B,KAAKg3B,QACLvyB,EAASA,EAAO2kB,cAAcsY,EAAUz/B,EAAQ2iB,GAE5CqgB,IACFxgC,EAASwgC,EAAgB2B,aAAaniC,EAAQxC,IAGhDwC,EAASzE,KAAKgxB,OAAOvsB,EAAQmgB,EAAM3iB,GACnCwC,EAAOmgB,KAAOA,EACPngB,CACT,CAEAusB,OAAOvsB,EAAQmgB,EAAM3iB,GACnB,IAAI+uB,EAASpM,EAAKzmB,IAAI,SAAU,KAC5Bi/B,EAASxY,EAAKzmB,IAAI,cAAe,MAErC,IAAI,EAAIuB,EAAY8iB,QAAQwO,GAK1B,OAJI/M,MAAMC,QAAQkZ,KAChB,EAAI39B,EAAMgK,MAAM,2EAGXzJ,KAAKsnC,WAAW7iC,EAAQusB,EAAOnzB,KAAMoE,EAAQm7B,GAGtD,IAAIgK,EAAcnlC,EAElB,GAAIgiB,MAAMC,QAAQ8M,GAAS,CACzB,MAAMuW,EAAcvW,EACdwW,EAAcpK,EAEpB,IAAK,IAAI7/B,EAAI,EAAGikB,EAAK+lB,EAAYtlC,OAAQ1E,EAAIikB,IAAMjkB,EAAG,CAGpD,GAFAyzB,EAAShxB,KAAK2E,KAAKqqB,WAAWuY,EAAYhqC,MAErC,EAAImC,EAAY8iB,QAAQwO,GAC3B,MAAM,IAAIvxB,EAAM8P,YAAY,oBAAoByhB,MAGlDoM,EAAS,KAELnZ,MAAMC,QAAQsjB,IAAgBjqC,KAAKiqC,IACrCpK,EAASp9B,KAAK2E,KAAKqqB,WAAWwY,EAAYjqC,KAG5CkH,EAASzE,KAAKsnC,WAAW7iC,EAAQusB,EAAOnzB,KAAMupC,EAAahK,GAC3DgK,EAAc,IAChB,CACF,CAEA,OAAO3iC,CACT,CAEA6iC,WAAW7iC,EAAQ5G,EAAMupC,EAAahK,GACpC,GAAoB,IAAhBgK,EAEF,OADA,EAAI3nC,EAAMgK,MAAM,UAAU5L,cACnB,IAAI0nB,EAAQ2J,WAGrB,IACE,MAAMuY,EAAkBznC,KAAK2E,KAAKC,MAAM25B,YAExC,GAAa,gBAAT1gC,GAAmC,OAATA,EAG5B,OAFA4pC,EAAgBhoC,EAAMiQ,WAAW0G,QAAS,EAEtCgnB,EACK,IAAI7X,EAAQmiB,gBAAgB,IAAIniB,EAAQoiB,YAAYljC,EAAQ2iC,GAAcA,EAAahK,GAGzF,IAAI7X,EAAQoiB,YAAYljC,EAAQ2iC,GAGzC,GAAa,cAATvpC,GAAiC,QAATA,EAAgB,CAC1C4pC,EAAgBhoC,EAAMiQ,WAAW2G,MAAO,EACxC,IAAIuxB,EAAc,EAElB,OAAIxK,GACEA,EAAO9Y,IAAI,iBACbsjB,EAAcxK,EAAOj/B,IAAI,gBAGpB,IAAIonB,EAAQmiB,gBAAgB,IAAIniB,EAAQsiB,UAAUpjC,EAAQ2iC,EAAaQ,GAAcR,EAAahK,IAGpG,IAAI7X,EAAQsiB,UAAUpjC,EAAQ2iC,EAAaQ,EACpD,CAEA,MAAa,cAAT/pC,GAAiC,QAATA,GAC1B4pC,EAAgBhoC,EAAMiQ,WAAW4G,MAAO,EACjC,IAAIouB,EAAaoD,WAAWrjC,EAAQ2iC,EAAa3iC,EAAOmgB,KAAMwY,IAG1D,cAATv/B,GAAiC,QAATA,GAC1B4pC,EAAgBhoC,EAAMiQ,WAAW6G,MAAO,EACjC,IAAIouB,EAAYoD,UAAUtjC,EAAQ2iC,EAAa3iC,EAAOmgB,KAAMwY,IAGxD,kBAATv/B,GAAqC,QAATA,GAC9B4pC,EAAgBhoC,EAAMiQ,WAAW+G,MAAO,EACjC,IAAI8O,EAAQyiB,cAAcvjC,EAAQ2iC,IAG9B,mBAATvpC,GAAsC,QAATA,GAC/B4pC,EAAgBhoC,EAAMiQ,WAAWgH,MAAO,EACjC,IAAI6O,EAAQ0iB,eAAexjC,EAAQ2iC,IAG/B,mBAATvpC,GAAsC,QAATA,GAC/B4pC,EAAgBhoC,EAAMiQ,WAAWiH,MAAO,EACjC,IAAI6tB,EAAc0D,eAAezjC,EAAQ2iC,EAAahK,IAGlD,oBAATv/B,GAAuC,OAATA,GAChC4pC,EAAgBhoC,EAAMiQ,WAAWkH,MAAO,EACjC,IAAI2O,EAAQ4iB,gBAAgB1jC,EAAQ2iC,IAGhC,gBAATvpC,GACF4pC,EAAgBhoC,EAAMiQ,WAAW8G,OAAQ,EAClC,IAAIiuB,EAAc2D,YAAY3jC,EAAQ2iC,EAAa3iC,EAAOmgB,KAAMwY,MAGzE,EAAI39B,EAAMgK,MAAM,WAAW5L,wBACpB4G,EAQT,CAPE,MAAOwC,GACP,GAAIA,aAAclH,EAAY2mB,qBAC5B,MAAMzf,EAIR,OADA,EAAIxH,EAAMgK,MAAM,oBAAoBxC,MAC7B,IAAIse,EAAQ2J,UACrB,CACF,EAIF7xB,EAAQ2kC,OAASA,EACjB,MAAMqG,EAAe,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAEnxB,SAASC,EAAWzb,GAClB,OAAIA,GAAM,IAAQA,GAAM,GACV,GAALA,EAGLA,GAAM,IAAQA,GAAM,IAAQA,GAAM,IAAQA,GAAM,IAC7B,GAAR,GAALA,IAGF,CACV,CAEA,MAAMoV,EACJpjB,YAAYpa,EAAQ8jC,EAAgB,MAClCvoC,KAAKyE,OAASA,EACdzE,KAAK+mC,WACL/mC,KAAK6L,OAAS,GACd7L,KAAKuoC,cAAgBA,EACrBvoC,KAAKwoC,kBAAoB,EACzBxoC,KAAKomC,qBAAuB,CAC9B,CAEAW,WACE,OAAO/mC,KAAKyoC,YAAczoC,KAAKyE,OAAO6jB,SACxC,CAEAogB,WACE,OAAO1oC,KAAKyE,OAAOokB,UACrB,CAEA8f,YACE,IAAI9b,EAAK7sB,KAAKyoC,YACVG,GAAY,EACZC,EAAW,EACXC,EAAO,EAcX,GAZW,KAAPjc,GACFic,GAAQ,EACRjc,EAAK7sB,KAAK+mC,WAEC,KAAPla,IACFA,EAAK7sB,KAAK+mC,aAEI,KAAPla,IACTic,EAAO,EACPjc,EAAK7sB,KAAK+mC,YAGD,KAAPla,GAAsB,KAAPA,EACjB,GACEA,EAAK7sB,KAAK+mC,iBACI,KAAPla,GAAsB,KAAPA,GAQ1B,GALW,KAAPA,IACFgc,EAAW,GACXhc,EAAK7sB,KAAK+mC,YAGRla,EAAK,IAAQA,EAAK,GAAM,CAC1B,GAAiB,KAAbgc,GAA4B,IAATC,KAAe,EAAI/oC,EAAY6sB,cAAcC,KAAe,IAARA,GAEzE,OADA,EAAIptB,EAAMgK,MAAM,8DACT,EAGT,MAAM,IAAIhK,EAAM8P,YAAY,mBAAmB7D,OAAOC,aAAakhB,gBAAiBA,KACtF,CAEAic,EAAOA,GAAQ,EACf,IAAIC,EAAYlc,EAAK,GACjBmc,EAAa,EACbC,EAAiB,EAErB,MAAQpc,EAAK7sB,KAAK+mC,aAAe,GAC/B,GAAIla,GAAM,IAAQA,GAAM,GAAM,CAC5B,MAAMqc,EAAerc,EAAK,GAEtB+b,EACFI,EAA0B,GAAbA,EAAkBE,GAEd,IAAbL,IACFA,GAAY,IAGdE,EAAwB,GAAZA,EAAiBG,EAEjC,MAAO,GAAW,KAAPrc,EAAa,CACtB,GAAiB,IAAbgc,EAGF,MAFAA,EAAW,CAIf,MAAO,GAAW,KAAPhc,GACT,EAAIptB,EAAMgK,MAAM,wDACX,IAAW,KAAPojB,GAAsB,MAAPA,EAYxB,MATA,GAFAA,EAAK7sB,KAAK0oC,WAEC,KAAP7b,GAAsB,KAAPA,EACjBoc,EAAwB,KAAPpc,GAAe,EAAI,EACpC7sB,KAAK+mC,gBACA,GAAIla,EAAK,IAAQA,EAAK,GAC3B,MAGF+b,GAAY,CAGd,CAWF,OARiB,IAAbC,IACFE,GAAaF,GAGXD,IACFG,GAAa,KAAOE,EAAiBD,IAGhCF,EAAOC,CAChB,CAEAI,YACE,IAAIC,EAAW,EACX9/B,GAAO,EACX,MAAMuC,EAAS7L,KAAK6L,OACpBA,EAAO5J,OAAS,EAChB,IAAI4qB,EAAK7sB,KAAK+mC,WAEd,OAAa,CACX,IAAIsC,GAAe,EAEnB,OAAa,EAALxc,GACN,KAAM,GACJ,EAAIptB,EAAMgK,MAAM,uBAChBH,GAAO,EACP,MAEF,KAAK,KACD8/B,EACFv9B,EAAO7J,KAAK,KACZ,MAEF,KAAK,GACgB,KAAbonC,GACJppC,KAAK+mC,WACLz9B,GAAO,GAEPuC,EAAO7J,KAAK,KAGd,MAEF,KAAK,GAGH,OAFA6qB,EAAK7sB,KAAK+mC,WAEFla,GACN,KAAM,GACJ,EAAIptB,EAAMgK,MAAM,uBAChBH,GAAO,EACP,MAEF,KAAK,IACHuC,EAAO7J,KAAK,MACZ,MAEF,KAAK,IACH6J,EAAO7J,KAAK,MACZ,MAEF,KAAK,IACH6J,EAAO7J,KAAK,MACZ,MAEF,KAAK,GACH6J,EAAO7J,KAAK,MACZ,MAEF,KAAK,IACH6J,EAAO7J,KAAK,MACZ,MAEF,KAAK,GACL,KAAK,GACL,KAAK,GACH6J,EAAO7J,KAAK0J,OAAOC,aAAakhB,IAChC,MAEF,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACH,IAAIN,EAAS,GAALM,EACRA,EAAK7sB,KAAK+mC,WACVsC,GAAe,EAEXxc,GAAM,IAAQA,GAAM,KACtBN,GAAKA,GAAK,IAAW,GAALM,GAChBA,EAAK7sB,KAAK+mC,WAENla,GAAM,IAAQA,GAAM,KACtBwc,GAAe,EACf9c,GAAKA,GAAK,IAAW,GAALM,KAIpBhhB,EAAO7J,KAAK0J,OAAOC,aAAa4gB,IAChC,MAEF,KAAK,GACqB,KAApBvsB,KAAK0oC,YACP1oC,KAAK+mC,WAGP,MAEF,KAAK,GACH,MAEF,QACEl7B,EAAO7J,KAAK0J,OAAOC,aAAakhB,IAIpC,MAEF,QACEhhB,EAAO7J,KAAK0J,OAAOC,aAAakhB,IAIpC,GAAIvjB,EACF,MAGG+/B,IACHxc,EAAK7sB,KAAK+mC,WAEd,CAEA,OAAOl7B,EAAO3J,KAAK,GACrB,CAEAonC,UACE,IAAIzc,EAAI0c,EACR,MAAM19B,EAAS7L,KAAK6L,OAGpB,IAFAA,EAAO5J,OAAS,GAER4qB,EAAK7sB,KAAK+mC,aAAe,IAAMsB,EAAaxb,IAClD,GAAW,KAAPA,EAAa,CAGf,GAFAA,EAAK7sB,KAAK+mC,WAENsB,EAAaxb,GAAK,EACpB,EAAIptB,EAAMgK,MAAM,8EAChBoC,EAAO7J,KAAK,KACZ,KACF,CAEA,MAAMuqB,EAAI+b,EAAWzb,GAErB,IAAW,IAAPN,EAAU,CACZgd,EAAa1c,EACbA,EAAK7sB,KAAK+mC,WACV,MAAMyC,EAAKlB,EAAWzb,GAEtB,IAAY,IAAR2c,EAAW,CAIb,IAHA,EAAI/pC,EAAMgK,MAAM,iCAAiCiC,OAAOC,aAAakhB,8BACrEhhB,EAAO7J,KAAK,IAAK0J,OAAOC,aAAa49B,IAEjClB,EAAaxb,GACf,MAGFhhB,EAAO7J,KAAK0J,OAAOC,aAAakhB,IAChC,QACF,CAEAhhB,EAAO7J,KAAK0J,OAAOC,aAAa4gB,GAAK,EAAIid,GAC3C,MACE39B,EAAO7J,KAAK,IAAK0J,OAAOC,aAAakhB,GAEzC,MACEhhB,EAAO7J,KAAK0J,OAAOC,aAAakhB,IAQpC,OAJIhhB,EAAO5J,OAAS,MAClB,EAAIxC,EAAMgK,MAAM,kDAAkDoC,EAAO5J,UAGpEvC,EAAYwiB,KAAK/jB,IAAI0N,EAAO3J,KAAK,IAC1C,CAEAunC,eAAe5c,GACmB,GAE5B7sB,KAAKwoC,oBAKLxoC,KAAKwoC,kBAPuB,IAWhC,EAAI/oC,EAAMgK,MAAM,8CAA8CojB,MAR5D,EAAIptB,EAAMgK,MAAM,yDASpB,CAEAigC,eACE,MAAM79B,EAAS7L,KAAK6L,OACpBA,EAAO5J,OAAS,EAChB,IAEI0nC,EAAYC,EAFZ/c,EAAK7sB,KAAKyoC,YACVoB,GAAa,EAIjB,IAFA7pC,KAAKwoC,kBAAoB,IAEZ,CACX,GAAI3b,EAAK,EAAG,EACV,EAAIptB,EAAMgK,MAAM,2BAChB,KACF,CAAO,GAAW,KAAPojB,EAAa,CACtB7sB,KAAK+mC,WACL,KACF,CAAO,GAAyB,IAArBsB,EAAaxb,GAAjB,CAIL,GAAIgd,GAGF,GAFAF,EAAarB,EAAWzb,IAEJ,IAAhB8c,EAAmB,CACrB3pC,KAAKypC,eAAe5c,GAEpBA,EAAK7sB,KAAK+mC,WACV,QACF,MACK,CAGL,GAFA6C,EAActB,EAAWzb,IAEJ,IAAjB+c,EAAoB,CACtB5pC,KAAKypC,eAAe5c,GAEpBA,EAAK7sB,KAAK+mC,WACV,QACF,CAEAl7B,EAAO7J,KAAK0J,OAAOC,aAAag+B,GAAc,EAAIC,GACpD,CAEAC,GAAcA,EACdhd,EAAK7sB,KAAK+mC,UACZ,MA3BEla,EAAK7sB,KAAK+mC,UA4Bd,CAEA,OAAOl7B,EAAO3J,KAAK,GACrB,CAEAy9B,SACE,IAAImK,GAAU,EACVjd,EAAK7sB,KAAKyoC,YAEd,OAAa,CACX,GAAI5b,EAAK,EACP,OAAOntB,EAAY0iB,IAGrB,GAAI0nB,EACS,KAAPjd,GAAsB,KAAPA,IACjBid,GAAU,QAEP,GAAW,KAAPjd,EACTid,GAAU,OACL,GAAyB,IAArBzB,EAAaxb,GACtB,MAGFA,EAAK7sB,KAAK+mC,UACZ,CAEA,OAAa,EAALla,GACN,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACH,OAAO7sB,KAAK2oC,YAEd,KAAK,GACH,OAAO3oC,KAAKmpC,YAEd,KAAK,GACH,OAAOnpC,KAAKspC,UAEd,KAAK,GAEH,OADAtpC,KAAK+mC,WACErnC,EAAYsiB,IAAI7jB,IAAI,KAE7B,KAAK,GAEH,OADA6B,KAAK+mC,WACErnC,EAAYsiB,IAAI7jB,IAAI,KAE7B,KAAK,GAGH,OAFA0uB,EAAK7sB,KAAK+mC,WAEC,KAAPla,GACF7sB,KAAK+mC,WACErnC,EAAYsiB,IAAI7jB,IAAI,OAGtB6B,KAAK0pC,eAEd,KAAK,GAGH,OAFA7c,EAAK7sB,KAAK+mC,WAEC,KAAPla,GACF7sB,KAAK+mC,WACErnC,EAAYsiB,IAAI7jB,IAAI,OAGtBuB,EAAYsiB,IAAI7jB,IAAI,KAE7B,KAAK,IAEH,OADA6B,KAAK+mC,WACErnC,EAAYsiB,IAAI7jB,IAAI,KAE7B,KAAK,IAEH,OADA6B,KAAK+mC,WACErnC,EAAYsiB,IAAI7jB,IAAI,KAE7B,KAAK,GAEH,MADA6B,KAAK+mC,WACC,IAAItnC,EAAM8P,YAAY,sBAAsBsd,KAGtD,IAAI5e,EAAMvC,OAAOC,aAAakhB,GAC9B,MAAM0b,EAAgBvoC,KAAKuoC,cAC3B,IAAIwB,EAAoBxB,QAAwC/8B,IAAvB+8B,EAAct6B,GAEvD,MAAQ4e,EAAK7sB,KAAK+mC,aAAe,IAAMsB,EAAaxb,IAAK,CACvD,MAAMmd,EAAkB/7B,EAAMvC,OAAOC,aAAakhB,GAElD,GAAIkd,QAAwDv+B,IAAnC+8B,EAAcyB,GACrC,MAGF,GAAmB,MAAf/7B,EAAIhM,OACN,MAAM,IAAIxC,EAAM8P,YAAY,2BAA2BtB,EAAIhM,UAG7DgM,EAAM+7B,EACND,EAAoBxB,QAAwC/8B,IAAvB+8B,EAAct6B,EACrD,CAEA,MAAY,SAARA,GAIQ,UAARA,IAIQ,SAARA,EACK,MAGG,OAARA,IACFjO,KAAKomC,oBAAsBpmC,KAAKyE,OAAOwG,KAGlCvL,EAAYsiB,IAAI7jB,IAAI8P,IAC7B,CAEA64B,iBACE,IAAIja,EAAK7sB,KAAKyoC,YAEd,KAAO5b,GAAM,GAAG,CACd,GAAW,KAAPA,EAAa,CACfA,EAAK7sB,KAAK+mC,WAEC,KAAPla,GACF7sB,KAAK+mC,WAGP,KACF,CAAO,GAAW,KAAPla,EAAa,CACtB7sB,KAAK+mC,WACL,KACF,CAEAla,EAAK7sB,KAAK+mC,UACZ,CACF,EAIF1pC,EAAQ4kC,MAAQA,EA8DhB5kC,EAAQs1B,cA5DR,MACEpT,cAAc9a,GACZ,SAASwlC,EAAOC,EAASrsC,EAAMssC,GAAiB,GAC9C,MAAMl9B,EAAMi9B,EAAQ/rC,IAAIN,GAExB,GAAIwQ,OAAOC,UAAUrB,KAASk9B,EAAiBl9B,GAAO,EAAIA,EAAM,GAC9D,OAAOA,EAGT,MAAM,IAAIvM,MAAM,QAAQ7C,2DAC1B,CAqBA,MAAMohC,EAAS,IAAI+C,EAAO,CACxB3C,MAAO,IAAI4C,EAAMx9B,GACjBE,KAAM,OAEFg+B,EAAO1D,EAAOU,SACdiD,EAAO3D,EAAOU,SACdkD,EAAO5D,EAAOU,SACduK,EAAUjL,EAAOU,SACvB,IAAI1yB,EAAKhL,EAET,KAAMoM,OAAOC,UAAUq0B,IAASt0B,OAAOC,UAAUs0B,KAAS,EAAIljC,EAAY2iB,OAAOwgB,EAAM,SAAU,EAAInjC,EAAY6iB,QAAQ2nB,KAAY,EAAIzqC,EAAMyN,OAAOD,EAAMi9B,EAAQ/rC,IAAI,gBAAkB8O,EAAM,GAC9L,OAAO,KACF,IAAKhL,EAASgoC,EAAOC,EAAS,QAAUzlC,EAAOxC,OACpD,MAAM,IAAIvB,MAAM,uFAGlB,MAAO,CACLuB,SACAmoC,MArCF,SAAkBF,GAChB,MAAME,EAAQF,EAAQ/rC,IAAI,KAC1B,IAAIksC,EAEJ,GAAIpmB,MAAMC,QAAQkmB,KAA4C,KAAhCC,EAAcD,EAAMnoC,SAAiC,IAAhBooC,GAAoB,CACrF,IAAK,IAAIv9B,EAAQ,EAAGA,EAAQu9B,EAAav9B,IAAS,CAChD,MAAMw9B,EAAOF,EAAMt9B,GAEnB,KAAMuB,OAAOC,UAAUg8B,IAASA,EAAO,GACrC,MAAM,IAAI5pC,MAAM,SAASoM,iDAE7B,CAEA,OAAOs9B,CACT,CAEA,MAAM,IAAI1pC,MAAM,yDAClB,CAoBS6pC,CAASL,GAChB9U,kBAAmB6U,EAAOC,EAAS,KACnCM,SAAUP,EAAOC,EAAS,KAC1B/mC,SAAU8mC,EAAOC,EAAS,KAC1BO,sBAAuBR,EAAOC,EAAS,KACvC3U,UAAW2U,EAAQ5lB,IAAI,KAAO2lB,EAAOC,EAAS,KAAK,GAAQ,EAE/D,EAMK,EAED,SAAU5sC,EAAQD,EAASF,GAEjC,aAGAa,OAAOC,eAAeZ,EAAS,aAAc,CAC3CkB,OAAO,IAETlB,EAAQwqC,UAAYxqC,EAAQqtC,aAAertC,EAAQ4xB,sBAAwB5xB,EAAQ8oB,OAAS9oB,EAAQ8qC,gBAAkB9qC,EAAQqqC,gBAAkBrqC,EAAQ6xB,WAAa7xB,EAAQsqC,YAActqC,EAAQstC,aAAettC,EAAQutC,cAAgBvtC,EAAQ4qC,eAAiB5qC,EAAQ2qC,mBAAgB,EAE3R,IAAIvoC,EAAQtC,EAAoB,GAE5BuC,EAAcvC,EAAoB,GAElC4C,EAAc5C,EAAoB,GAElCgpB,EAAS,WACX,SAASA,EAAO0kB,EAAa7lC,EAAO/C,EAAQ2iB,GAC1C5kB,KAAK0E,MAAQmmC,aAAuB3pC,WAAa2pC,EAAc,IAAI3pC,WAAW2pC,GAC9E7qC,KAAKgF,MAAQA,GAAS,EACtBhF,KAAKiL,IAAMjL,KAAKgF,MAChBhF,KAAKkmB,IAAMlhB,EAAQ/C,GAAUjC,KAAK0E,MAAMzC,OACxCjC,KAAK4kB,KAAOA,CACd,CAsGA,OApGAuB,EAAOjnB,UAAY,CACb+C,aACF,OAAOjC,KAAKkmB,IAAMlmB,KAAKgF,KACzB,EAEIqjB,cACF,OAAuB,IAAhBroB,KAAKiC,MACd,EAEAqmB,QAAS,WACP,OAAItoB,KAAKiL,KAAOjL,KAAKkmB,KACX,EAGHlmB,KAAK0E,MAAM1E,KAAKiL,MACzB,EACAsd,UAAW,WACT,IAAIC,EAAKxoB,KAAKsoB,UACV7G,EAAKzhB,KAAKsoB,UAEd,OAAY,IAARE,IAAqB,IAAR/G,GACP,GAGF+G,GAAM,GAAK/G,CACrB,EACAgH,SAAU,WAKR,OAJSzoB,KAAKsoB,WAIA,KAHLtoB,KAAKsoB,WAGa,KAFlBtoB,KAAKsoB,WAE0B,GAD/BtoB,KAAKsoB,SAEhB,EAEAxF,SAAS7gB,EAAQymB,GAAe,GAC9B,IAAIhkB,EAAQ1E,KAAK0E,MACbuG,EAAMjL,KAAKiL,IACX0d,EAAS3oB,KAAKkmB,IAElB,IAAKjkB,EAAQ,CACX,MAAMgK,EAAWvH,EAAMuH,SAAShB,EAAK0d,GACrC,OAAOD,EAAe,IAAIE,kBAAkB3c,GAAYA,CAC1D,CAEA,IAAIia,EAAMjb,EAAMhJ,EAEZikB,EAAMyC,IACRzC,EAAMyC,GAGR3oB,KAAKiL,IAAMib,EACX,MAAMja,EAAWvH,EAAMuH,SAAShB,EAAKib,GACrC,OAAOwC,EAAe,IAAIE,kBAAkB3c,GAAYA,CAC1D,EAEA4c,SAAU,WACR,IAAIC,EAAa9oB,KAAKsoB,UAMtB,OAJoB,IAAhBQ,GACF9oB,KAAKiL,MAGA6d,CACT,EAEAC,UAAU9mB,EAAQymB,GAAe,GAC/B,IAAIhkB,EAAQ1E,KAAK8iB,SAAS7gB,EAAQymB,GAElC,OADA1oB,KAAKiL,KAAOvG,EAAMzC,OACXyC,CACT,EAEAskB,aAAa/C,EAAOC,GASlB,OARID,EAAQ,IACVA,EAAQ,GAGNC,EAAMlmB,KAAKkmB,MACbA,EAAMlmB,KAAKkmB,KAGNlmB,KAAK0E,MAAMuH,SAASga,EAAOC,EACpC,EAEA+C,KAAM,SAAqBlqB,GACpBA,IACHA,EAAI,GAGNiB,KAAKiL,KAAOlM,CACd,EACAmqB,MAAO,WACLlpB,KAAKiL,IAAMjL,KAAKgF,KAClB,EACAmkB,UAAW,WACTnpB,KAAKgF,MAAQhF,KAAKiL,GACpB,EACAme,cAAe,SAA8BpkB,EAAO/C,EAAQ2iB,GAC1D,OAAO,IAAIuB,EAAOnmB,KAAK0E,MAAMya,OAAQna,EAAO/C,EAAQ2iB,EACtD,GAEKuB,CACT,CA9Ga,GAgHb9oB,EAAQ8oB,OAASA,EAEjB,IAAIukB,EAAe,WACjB,SAASA,EAAaz8B,GACpB,MAAMvJ,GAAQ,EAAIjF,EAAM0L,eAAe8C,GACvCkY,EAAO1oB,KAAKuC,KAAM0E,EACpB,CAGA,OADAgmC,EAAaxrC,UAAYinB,EAAOjnB,UACzBwrC,CACT,CARmB,GAUnBrtC,EAAQqtC,aAAeA,EAEvB,IAAIC,EAAe,WACjB,IAAIG,EAAc,IAAI5pC,WAAW,GAEjC,SAASypC,EAAaI,GAQpB,GAPA/qC,KAAKgrC,oBAAsBD,GAAwB,EACnD/qC,KAAKiL,IAAM,EACXjL,KAAKirC,aAAe,EACpBjrC,KAAKkrC,KAAM,EACXlrC,KAAKmf,OAAS2rB,EACd9qC,KAAKmrC,gBAAkB,IAEnBJ,EACF,KAAO/qC,KAAKmrC,gBAAkBJ,GAC5B/qC,KAAKmrC,iBAAmB,CAG9B,CAyIA,OAvIAR,EAAazrC,UAAY,CACnBmpB,cACF,MAAQroB,KAAKkrC,KAA6B,IAAtBlrC,KAAKirC,cACvBjrC,KAAKorC,YAGP,OAA6B,IAAtBprC,KAAKirC,YACd,EAEAI,aAAc,SAAmCC,GAC/C,IAAInsB,EAASnf,KAAKmf,OAElB,GAAImsB,GAAansB,EAAO3U,WACtB,OAAO2U,EAKT,IAFA,IAAI8F,EAAOjlB,KAAKmrC,gBAETlmB,EAAOqmB,GACZrmB,GAAQ,EAGV,IAAIsmB,EAAU,IAAIrqC,WAAW+jB,GAE7B,OADAsmB,EAAQlgC,IAAI8T,GACLnf,KAAKmf,OAASosB,CACvB,EACAjjB,QAAS,WAGP,IAFA,IAAIrd,EAAMjL,KAAKiL,IAERjL,KAAKirC,cAAgBhgC,GAAK,CAC/B,GAAIjL,KAAKkrC,IACP,OAAQ,EAGVlrC,KAAKorC,WACP,CAEA,OAAOprC,KAAKmf,OAAOnf,KAAKiL,MAC1B,EACAsd,UAAW,WACT,IAAIC,EAAKxoB,KAAKsoB,UACV7G,EAAKzhB,KAAKsoB,UAEd,OAAY,IAARE,IAAqB,IAAR/G,GACP,GAGF+G,GAAM,GAAK/G,CACrB,EACAgH,SAAU,WAKR,OAJSzoB,KAAKsoB,WAIA,KAHLtoB,KAAKsoB,WAGa,KAFlBtoB,KAAKsoB,WAE0B,GAD/BtoB,KAAKsoB,SAEhB,EAEAxF,SAAS7gB,EAAQymB,GAAe,GAC9B,IAAIxC,EACAjb,EAAMjL,KAAKiL,IAEf,GAAIhJ,EAAQ,CAIV,IAHAjC,KAAKqrC,aAAapgC,EAAMhJ,GACxBikB,EAAMjb,EAAMhJ,GAEJjC,KAAKkrC,KAAOlrC,KAAKirC,aAAe/kB,GACtClmB,KAAKorC,YAGP,IAAII,EAASxrC,KAAKirC,aAEd/kB,EAAMslB,IACRtlB,EAAMslB,EAEV,KAAO,CACL,MAAQxrC,KAAKkrC,KACXlrC,KAAKorC,YAGPllB,EAAMlmB,KAAKirC,YACb,CAEAjrC,KAAKiL,IAAMib,EACX,MAAMja,EAAWjM,KAAKmf,OAAOlT,SAAShB,EAAKib,GAC3C,OAAOwC,GAAkBzc,aAAoB2c,kBAAuD3c,EAAlC,IAAI2c,kBAAkB3c,EAC1F,EAEA4c,SAAU,WACR,IAAIC,EAAa9oB,KAAKsoB,UAMtB,OAJoB,IAAhBQ,GACF9oB,KAAKiL,MAGA6d,CACT,EAEAC,UAAU9mB,EAAQymB,GAAe,GAC/B,IAAIhkB,EAAQ1E,KAAK8iB,SAAS7gB,EAAQymB,GAElC,OADA1oB,KAAKiL,KAAOvG,EAAMzC,OACXyC,CACT,EAEA0kB,cAAe,SAAoCpkB,EAAO/C,EAAQ2iB,GAGhE,IAFA,IAAIsB,EAAMlhB,EAAQ/C,EAEXjC,KAAKirC,cAAgB/kB,IAAQlmB,KAAKkrC,KACvClrC,KAAKorC,YAGP,OAAO,IAAIjlB,EAAOnmB,KAAKmf,OAAQna,EAAO/C,EAAQ2iB,EAChD,EAEAoE,aAAa/C,EAAOC,IAClB,EAAIzmB,EAAM0P,aAAa,4CACzB,EAEA8Z,KAAM,SAA2BlqB,GAC1BA,IACHA,EAAI,GAGNiB,KAAKiL,KAAOlM,CACd,EACAmqB,MAAO,WACLlpB,KAAKiL,IAAM,CACb,EACAwc,eAAgB,WACd,OAAIznB,KAAKiO,KAAOjO,KAAKiO,IAAIwZ,eAChBznB,KAAKiO,IAAIwZ,iBAGX,EACT,GAEKkjB,CACT,CA1JmB,GA4JnBttC,EAAQstC,aAAeA,EAEvB,IAAI1b,EAAwB,WAC1B,SAASA,EAAsBF,GAC7B/uB,KAAK+uB,QAAUA,EACf,IAAIqY,EAAc,EAElB,IAAK,IAAI7pC,EAAI,EAAGikB,EAAKuN,EAAQ9sB,OAAQ1E,EAAIikB,EAAIjkB,IAAK,CAChD,MAAMkH,EAASsqB,EAAQxxB,GAGrB6pC,GADE3iC,aAAkBkmC,EACLlmC,EAAOumC,oBAEPvmC,EAAOxC,MAE1B,CAEA0oC,EAAaltC,KAAKuC,KAAMonC,EAC1B,CAmCA,OAjCAnY,EAAsB/vB,UAAYlB,OAAOY,OAAO+rC,EAAazrC,WAE7D+vB,EAAsB/vB,UAAUksC,UAAY,WAC1C,IAAIrc,EAAU/uB,KAAK+uB,QAEnB,GAAuB,IAAnBA,EAAQ9sB,OAAZ,CAKA,IACI+J,EADS+iB,EAAQiI,QACFlU,WACfmoB,EAAejrC,KAAKirC,aACpBQ,EAAYR,EAAej/B,EAAM/J,OACxBjC,KAAKqrC,aAAaI,GACxBpgC,IAAIW,EAAOi/B,GAClBjrC,KAAKirC,aAAeQ,CARpB,MAFEzrC,KAAKkrC,KAAM,CAWf,EAEAjc,EAAsB/vB,UAAUuoB,eAAiB,WAG/C,IAFA,IAAI6c,EAAc,GAET/mC,EAAI,EAAGikB,EAAKxhB,KAAK+uB,QAAQ9sB,OAAQ1E,EAAIikB,EAAIjkB,IAAK,CACrD,IAAIkH,EAASzE,KAAK+uB,QAAQxxB,GAEtBkH,EAAOgjB,gBACT6c,EAAYtiC,QAAQyC,EAAOgjB,iBAE/B,CAEA,OAAO6c,CACT,EAEOrV,CACT,CApD4B,GAsD5B5xB,EAAQ4xB,sBAAwBA,EAEhC,IAAI0Y,EAAc,WAChB,IAAI+D,EAAiB,IAAIC,WAAW,CAAC,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,KAC/FC,EAAe,IAAID,WAAW,CAAC,EAAS,EAAS,EAAS,EAAS,EAAS,EAAS,EAAS,GAAS,MAAS,MAAS,MAAS,MAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,IAAS,IAAS,MAC7SE,EAAa,IAAIF,WAAW,CAAC,EAAS,EAAS,EAAS,EAAS,MAAS,MAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,SAClSG,EAAkB,CAAC,IAAIH,WAAW,CAAC,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,KAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OA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AAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IACx3IC,EAAc,CAAC,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,IAdzB,GAcwC,CAAC,IAdzC,GAcwD,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAC53CC,EAAc,CAAC,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,C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AA4C,KAAM,KAAM,KAAM,KAAM,kBAAmB,YAAa,cAAe,YAAa,WAAY,SAAU,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,aACnwBC,EAAkB,CAAC,CAAC,CACtBxpB,GAAI,EACJypB,GAAI,GACH,CACDzpB,EAAG,EACHypB,GAAI,GACH,CACDzpB,EAAG,EACHypB,GAAI,GACH,CACDzpB,GAAI,EACJypB,GAAI,GACH,CACDzpB,GAAI,EACJypB,GAAI,GACH,CACDzpB,EAAG,EACHypB,GAAI,GACH,CACDzpB,EAAG,EACHypB,GAAI,GACH,CACDzpB,EAAG,EACHypB,GAAI,GACH,CACDzpB,GAAI,EACJypB,EAAG,GACF,CACDzpB,GAAI,EACJypB,EAAG,GACF,CACDzpB,GAAI,EACJypB,EAAG,GACF,CACDzpB,GAAI,EACJypB,EAAG,IACD,CAAC,CACHzpB,GAAI,EACJypB,GAAI,GACH,CACDzpB,EAAG,EACHypB,GAAI,GACH,CACDzpB,EAAG,EACHypB,GAAI,GACH,CACDzpB,EAAG,EACHypB,GAAI,GACH,CACDzpB,GAAI,EACJypB,GAAI,GACH,CACDzpB,GAAI,EACJypB,GAAI,GACH,CACDzpB,EAAG,EACHypB,GAAI,GACH,CACDzpB,EAAG,EACHypB,GAAI,GACH,CACDzpB,EAAG,EACHypB,GAAI,GACH,CACDzpB,GAAI,EACJypB,EAAG,GACF,CACDzpB,GAAI,EACJypB,EAAG,GACF,CACDzpB,GAAI,EACJypB,EAAG,IACD,CAAC,CACHzpB,GAAI,EACJypB,GAAI,GACH,CACDzpB,EAAG,EACHypB,GAAI,GACH,CACDzpB,EAAG,EACHypB,GAAI,GACH,CACDzpB,GAAI,EACJypB,GAAI,GACH,CACDzpB,GAAI,EACJypB,GAAI,GACH,CACDzpB,EAAG,EACHypB,GAAI,GACH,CACDzpB,EAAG,EACHypB,GAAI,GACH,CACDzpB,GAAI,EACJypB,EAAG,GACF,CACDzpB,GAAI,EACJypB,EAAG,IACD,CAAC,CACHzpB,GAAI,EACJypB,GAAI,GACH,CACDzpB,GAAI,EACJypB,GAAI,GACH,CACDzpB,GAAI,EACJypB,GAAI,GACH,CACDzpB,EAAG,EACHypB,GAAI,GACH,CACDzpB,EAAG,EACHypB,GAAI,GACH,CACDzpB,GAAI,EACJypB,EAAG,GACF,CACDzpB,GAAI,EACJypB,EAAG,GACF,CACDzpB,GAAI,EACJypB,EAAG,GACF,CACDzpB,GAAI,EACJypB,EAAG,KAEDC,EAAsB,CAAC,CACzBC,OAAQ,CAAC,CACP3pB,EAAG,EACHypB,GAAI,GACH,CACDzpB,EAAG,EACHypB,GAAI,GACH,CACDzpB,GAAI,EACJypB,EAAG,IAELG,UAAW,CAAC,CACV5pB,EAAG,EACHypB,GAAI,GACH,CACDzpB,EAAG,EACHypB,GAAI,GACH,CACDzpB,GAAI,EACJypB,EAAG,GACF,CACDzpB,EAAG,EACHypB,EAAG,GACF,CACDzpB,EAAG,EACHypB,EAAG,GACF,CACDzpB,GAAI,EACJypB,EAAG,GACF,CACDzpB,EAAG,EACHypB,EAAG,GACF,CACDzpB,EAAG,EACHypB,EAAG,KAEJ,CACDE,OAAQ,CAAC,CACP3pB,GAAI,EACJypB,GAAI,GACH,CACDzpB,EAAG,EACHypB,GAAI,GACH,CACDzpB,EAAG,EACHypB,GAAI,GACH,CACDzpB,GAAI,EACJypB,EAAG,IAELG,UAAW,CAAC,CACV5pB,EAAG,EACHypB,GAAI,GACH,CACDzpB,GAAI,EACJypB,EAAG,GACF,CACDzpB,EAAG,EACHypB,EAAG,GACF,CACDzpB,EAAG,EACHypB,EAAG,GACF,CACDzpB,EAAG,EACHypB,EAAG,GACF,CACDzpB,EAAG,EACHypB,EAAG,MAGHI,EAAiB,CAAC,MAAQ,KAAQ,IAAQ,KAC1CC,EAA2B,CAAC,GAAQ,GA8BxC,SAASC,EAAaC,EAAKC,EAAOC,EAAQC,EAAeC,EAAY1tB,EAAM2tB,EAAIC,GAC7E,GAAIN,EAEF,OAAOO,EADO,IAAIC,EAAOF,EAAgB51C,KAAM41C,EAAgB7xC,MAAO6xC,EAAgB3wB,KACxDswB,EAAOC,GAAQ,GAG/C,GAAsB,IAAlBC,IAAwBztB,IAAS0tB,GAA4B,IAAdC,EAAG30C,QAA4B,IAAZ20C,EAAG,GAAGrqB,IAAwB,IAAbqqB,EAAG,GAAGZ,IAAyB,IAAbY,EAAG,GAAGrqB,IAAyB,IAAbqqB,EAAG,GAAGZ,GAAwB,IAAZY,EAAG,GAAGrqB,IAAwB,IAAbqqB,EAAG,GAAGZ,IAAyB,IAAbY,EAAG,GAAGrqB,IAAyB,IAAbqqB,EAAG,GAAGZ,EACtM,OAnCJ,SAA+BQ,EAAOC,EAAQI,GAC5C,IAEIG,EACAz5C,EACAs0B,EACAolB,EACA9D,EACA+D,EACAC,EARA/B,EAAUyB,EAAgBzB,QAC1BC,EAAWwB,EAAgB3B,aAAaI,YAAY,MAQpD8B,EAAS,GAGb,IAAK75C,EAAI,EAAGA,EAAIk5C,EAAQl5C,IAMtB,IALA41C,EAAMiE,EAAO75C,GAAK,IAAI2D,WAAWs1C,GACjCU,EAAO35C,EAAI,EAAI41C,EAAMiE,EAAO75C,EAAI,GAEhCy5C,GADAG,EAAO55C,EAAI,EAAI41C,EAAMiE,EAAO75C,EAAI,IACZ,IAAM,GAAK45C,EAAK,IAAM,GAAKA,EAAK,IAAM,GAAKD,EAAK,IAAM,EAAIA,EAAK,IAAM,EAAIA,EAAK,IAAM,EAAIA,EAAK,IAAM,EAElHrlB,EAAI,EAAGA,EAAI2kB,EAAO3kB,IACrBshB,EAAIthB,GAAKolB,EAAQ7B,EAAQK,QAAQJ,EAAU2B,GAC3CA,GAViB,MAUDA,IAAkC,GAAKnlB,EAAI,EAAI2kB,EAAQW,EAAKtlB,EAAI,IAAM,GAAK,IAAMA,EAAI,EAAI2kB,EAAQU,EAAKrlB,EAAI,IAAM,EAAI,GAAKolB,EAI7I,OAAOG,CACT,CASWC,CAAsBb,EAAOC,EAAQI,GAG9C,IAAIS,IAAYruB,EACZsuB,EAAWxB,EAAgBW,GAAec,OAAOZ,GACrDW,EAASz2B,MAAK,SAAUX,EAAGV,GACzB,OAAOU,EAAE61B,EAAIv2B,EAAEu2B,GAAK71B,EAAEoM,EAAI9M,EAAE8M,CAC9B,IACA,IAQI5uB,EAAGowC,EARH0J,EAAiBF,EAASt1C,OAC1By1C,EAAY,IAAI/B,UAAU8B,GAC1BE,EAAY,IAAIhC,UAAU8B,GAC1BG,EAA0B,GAC1BC,EAAY,EACZC,EAAO,EACPC,EAAO,EACPC,EAAO,EAGX,IAAKjK,EAAI,EAAGA,EAAI0J,EAAgB1J,IAC9B2J,EAAU3J,GAAKwJ,EAASxJ,GAAGxhB,EAC3BorB,EAAU5J,GAAKwJ,EAASxJ,GAAGiI,EAC3B8B,EAAOjuC,KAAKkC,IAAI+rC,EAAMP,EAASxJ,GAAGxhB,GAClCwrB,EAAOluC,KAAKC,IAAIiuC,EAAMR,EAASxJ,GAAGxhB,GAClCyrB,EAAOnuC,KAAKkC,IAAIisC,EAAMT,EAASxJ,GAAGiI,GAE9BjI,EAAI0J,EAAiB,GAAKF,EAASxJ,GAAGiI,IAAMuB,EAASxJ,EAAI,GAAGiI,GAAKuB,EAASxJ,GAAGxhB,IAAMgrB,EAASxJ,EAAI,GAAGxhB,EAAI,EACzGsrB,GAAa,GAAKJ,EAAiB,EAAI1J,EAEvC6J,EAAwB51C,KAAK+rC,GAIjC,IAAIkK,EAAwBL,EAAwB31C,OAChDi2C,EAAoB,IAAIvC,UAAUsC,GAClCE,EAAoB,IAAIxC,UAAUsC,GAClCG,EAAsB,IAAIzH,YAAYsH,GAE1C,IAAKt6C,EAAI,EAAGA,EAAIs6C,EAAuBt6C,IACrCowC,EAAI6J,EAAwBj6C,GAC5Bu6C,EAAkBv6C,GAAK45C,EAASxJ,GAAGxhB,EACnC4rB,EAAkBx6C,GAAK45C,EAASxJ,GAAGiI,EACnCoC,EAAoBz6C,GAAK,GAAK85C,EAAiB,EAAI1J,EAmBrD,IAhBA,IASIlc,EACAwmB,EACAC,EAEA9C,EACAxe,EAdAuhB,GAAYT,EACZU,GAAWR,EACXS,EAAYjC,EAAQuB,EACpBW,EAAqBtC,EAAeM,GACpCvD,EAAM,IAAIjyC,WAAWs1C,GACrBY,EAAS,GACThC,EAAUyB,EAAgBzB,QAC1BC,EAAWwB,EAAgB3B,aAAaI,YAAY,MACpDqD,EAAM,EAIN3B,EAAe,EAIVz5C,EAAI,EAAGA,EAAIk5C,EAAQl5C,IAC1B,GAAIo5C,IAEFgC,GADWvD,EAAQK,QAAQJ,EAAUqD,IAInCtB,EAAOp1C,KAAKmxC,QAQhB,IAHAA,EAAM,IAAIjyC,WAAWiyC,GACrBiE,EAAOp1C,KAAKmxC,GAEPthB,EAAI,EAAGA,EAAI2kB,EAAO3kB,IACrB,GAAIylB,GAAWruB,EAAK1rB,GAAGs0B,GACrBshB,EAAIthB,GAAK,MADX,CAKA,GAAIA,GAAK0mB,GAAY1mB,EAAI4mB,GAAal7C,GAAKi7C,EAGzC,IAFAxB,EAAeA,GAAgB,EAAIa,EAE9B9J,EAAI,EAAGA,EAAIkK,EAAuBlK,IACrCsK,EAAK96C,EAAI46C,EAAkBpK,GAC3BuK,EAAKzmB,EAAIqmB,EAAkBnK,IAC3ByH,EAAM4B,EAAOiB,GAAIC,MAIftB,GADAxB,EAAM4C,EAAoBrK,SAQ9B,IAHAiJ,EAAe,EACfhgB,EAAQygB,EAAiB,EAEpB1J,EAAI,EAAGA,EAAI0J,EAAgB1J,IAAK/W,KACnCshB,EAAKzmB,EAAI6lB,EAAU3J,KAET,GAAKuK,EAAK9B,IAClB6B,EAAK96C,EAAIo6C,EAAU5J,KAET,IACRyH,EAAM4B,EAAOiB,GAAIC,MAGftB,GAAgBxB,GAAOxe,GAOjC,IAAIigB,EAAQ7B,EAAQK,QAAQJ,EAAU2B,GACtC7D,EAAIthB,GAAKolB,CArCT,CAyCJ,OAAOG,CACT,CAEA,SAASwB,EAAiBpC,EAAOC,EAAQC,EAAemC,EAAiBC,EAASC,EAASpC,EAAYC,EAAIC,GACzG,IAAImC,EAAiB/C,EAAoBS,GAAeR,OAElC,IAAlBQ,IACFsC,EAAiBA,EAAexB,OAAO,CAACZ,EAAG,MAG7C,IAGI7I,EAHAkL,EAAuBD,EAAe/2C,OACtCi3C,EAAkB,IAAIvN,WAAWsN,GACjCE,EAAkB,IAAIxN,WAAWsN,GAGrC,IAAKlL,EAAI,EAAGA,EAAIkL,EAAsBlL,IACpCmL,EAAgBnL,GAAKiL,EAAejL,GAAGxhB,EACvC4sB,EAAgBpL,GAAKiL,EAAejL,GAAGiI,EAGzC,IAAIoD,EAAoBnD,EAAoBS,GAAeP,UAErC,IAAlBO,IACF0C,EAAoBA,EAAkB5B,OAAO,CAACZ,EAAG,MAGnD,IAAIyC,EAA0BD,EAAkBn3C,OAC5Cq3C,EAAqB,IAAI3N,WAAW0N,GACpCE,EAAqB,IAAI5N,WAAW0N,GAExC,IAAKtL,EAAI,EAAGA,EAAIsL,EAAyBtL,IACvCuL,EAAmBvL,GAAKqL,EAAkBrL,GAAGxhB,EAC7CgtB,EAAmBxL,GAAKqL,EAAkBrL,GAAGiI,EAW/C,IARA,IAAIwD,EAAiBX,EAAgB,GAAG52C,OACpCw3C,EAAkBZ,EAAgB52C,OAClCy2C,EAAqBrC,EAAyBK,GAC9CU,EAAS,GACThC,EAAUyB,EAAgBzB,QAC1BC,EAAWwB,EAAgB3B,aAAaI,YAAY,MACpDqD,EAAM,EAEDp7C,EAAI,EAAGA,EAAIk5C,EAAQl5C,IAAK,CAC/B,GAAIo5C,IAEFgC,GADWvD,EAAQK,QAAQJ,EAAUqD,IAInC,MAAM,IAAI5D,EAAW,+BAIzB,IAAI3B,EAAM,IAAIjyC,WAAWs1C,GACzBY,EAAOp1C,KAAKmxC,GAEZ,IAAK,IAAIthB,EAAI,EAAGA,EAAI2kB,EAAO3kB,IAAK,CAC9B,IAAIwmB,EAAIC,EACJtB,EAAe,EAEnB,IAAKjJ,EAAI,EAAGA,EAAIkL,EAAsBlL,IACpCsK,EAAK96C,EAAI47C,EAAgBpL,GACzBuK,EAAKzmB,EAAIqnB,EAAgBnL,GAErBsK,EAAK,GAAKC,EAAK,GAAKA,GAAM9B,EAC5BQ,IAAiB,EAEjBA,EAAeA,GAAgB,EAAII,EAAOiB,GAAIC,GAIlD,IAAKvK,EAAI,EAAGA,EAAIsL,EAAyBtL,IACvCsK,EAAK96C,EAAIg8C,EAAmBxL,GAAKgL,EACjCT,EAAKzmB,EAAIynB,EAAmBvL,GAAK+K,EAE7BT,EAAK,GAAKA,GAAMoB,GAAmBnB,EAAK,GAAKA,GAAMkB,EACrDxC,IAAiB,EAEjBA,EAAeA,GAAgB,EAAI6B,EAAgBR,GAAIC,GAI3D,IAAIrB,EAAQ7B,EAAQK,QAAQJ,EAAU2B,GACtC7D,EAAIthB,GAAKolB,CACX,CACF,CAEA,OAAOG,CACT,CAsIA,SAASsC,EAAiBC,EAASC,EAAYpD,EAAOC,EAAQoD,EAAmBC,EAAyBC,EAAWC,EAAcC,EAAkBC,EAAYC,EAAUC,EAAiBC,EAAqBC,EAAeC,EAAyBC,EAAc3D,EAAiB4D,EAAcC,GACpS,GAAIf,GAAWC,EACb,MAAM,IAAI9E,EAAW,4CAGvB,IACIv3C,EAAG41C,EADHiE,EAAS,GAGb,IAAK75C,EAAI,EAAGA,EAAIk5C,EAAQl5C,IAAK,CAG3B,GAFA41C,EAAM,IAAIjyC,WAAWs1C,GAEjBqD,EACF,IAAK,IAAIhoB,EAAI,EAAGA,EAAI2kB,EAAO3kB,IACzBshB,EAAIthB,GAAKgoB,EAIbzC,EAAOp1C,KAAKmxC,EACd,CAEA,IAAIiC,EAAUyB,EAAgBzB,QAC1BF,EAAe2B,EAAgB3B,aAC/ByF,EAAShB,GAAWW,EAAcM,YAAYC,OAAOH,IAAiBzF,EAAcC,EAAc,OAAQE,GAC1G0F,EAAS,EAGb,IAFAv9C,EAAI,EAEGA,EAAIu8C,GAAyB,CAElCa,GADahB,EAAUW,EAAcM,YAAYC,OAAOH,GAAgBzF,EAAcC,EAAc,OAAQE,GAM5G,IAFA,IAAI2F,EADJD,GADkBnB,EAAUW,EAAcU,YAAYH,OAAOH,GAAgBzF,EAAcC,EAAc,OAAQE,KAI9G,CACD,IAAI6F,EAAW,EAEXlB,EAAY,IACdkB,EAAWtB,EAAUe,EAAa3J,SAAS0J,GAAgBxF,EAAcC,EAAc,OAAQE,IAGjG,IAAI52C,EAAIu7C,EAAYY,EAASM,EACzBC,EAAWvB,EAAUW,EAAca,cAAcN,OAAOH,GAAgBhF,EAAWR,EAAcE,EAAS6E,GAC1GmB,EAAkBxB,IAAeD,EAAUe,EAAajF,UAAYR,EAAcC,EAAc,OAAQE,IACxGiG,EAAerB,EAAakB,GAC5BI,EAAcD,EAAa,GAAGp5C,OAC9Bs5C,EAAeF,EAAap5C,OAEhC,GAAIm5C,EAAiB,CACnB,IAAII,EAAMvG,EAAcC,EAAc,QAASE,GAC3CqG,EAAMxG,EAAcC,EAAc,QAASE,GAK/CiG,EAAezC,EAFf0C,GAAeE,EACfD,GAAgBE,EAC2ClB,EAAyBc,GAAeG,GAAO,GAJhGvG,EAAcC,EAAc,QAASE,IAIsEqG,GAAO,GAHlHxG,EAAcC,EAAc,QAASE,IAGuF,EAAOoF,EAAc3D,EAC7J,CAEA,IAEI6E,EAAIC,EAAIC,EAFRC,EAAUr9C,GAAuB,EAAlB47C,EAAsB,EAAImB,EAAe,GACxDO,EAAUf,GAA8B,EAAlBX,EAAsBkB,EAAc,EAAI,GAGlE,GAAIpB,EAAY,CACd,IAAKwB,EAAK,EAAGA,EAAKH,EAAcG,IAG9B,GAFAvI,EAAMiE,EAAO0E,EAAUJ,GAEvB,CAIAE,EAAYP,EAAaK,GACzB,IAAIK,EAAWlyC,KAAKkC,IAAIyqC,EAAQqF,EAASP,GAEzC,OAAQjB,GACN,KAAK,EACH,IAAKsB,EAAK,EAAGA,EAAKI,EAAUJ,IAC1BxI,EAAI0I,EAAUF,IAAOC,EAAUD,GAGjC,MAEF,KAAK,EACH,IAAKA,EAAK,EAAGA,EAAKI,EAAUJ,IAC1BxI,EAAI0I,EAAUF,IAAOC,EAAUD,GAGjC,MAEF,QACE,MAAM,IAAI7G,EAAW,YAAYuF,sBArBrC,CAyBFU,GAAYQ,EAAe,CAC7B,KAAO,CACL,IAAKI,EAAK,EAAGA,EAAKJ,EAAcI,IAG9B,GAFAxI,EAAMiE,EAAOyE,EAAUF,GAQvB,OAFAC,EAAYP,EAAaM,GAEjBtB,GACN,KAAK,EACH,IAAKqB,EAAK,EAAGA,EAAKJ,EAAaI,IAC7BvI,EAAI2I,EAAUJ,IAAOE,EAAUF,GAGjC,MAEF,KAAK,EACH,IAAKA,EAAK,EAAGA,EAAKJ,EAAaI,IAC7BvI,EAAI2I,EAAUJ,IAAOE,EAAUF,GAGjC,MAEF,QACE,MAAM,IAAI5G,EAAW,YAAYuF,sBAIvCU,GAAYO,EAAc,CAC5B,CAEA/9C,IACA,IAAIy+C,EAASrC,EAAUW,EAAc2B,YAAYpB,OAAOH,GAAgBzF,EAAcC,EAAc,OAAQE,GAE5G,GAAe,OAAX4G,EACF,MAGFjB,GAAYiB,EAAS7B,CACvB,CACF,CAEA,OAAO/C,CACT,CA2KA,SAAS8E,EAAkBj7C,EAAM+D,GAC/B,IAAIm3C,EAAgB,CAAC,EACrBA,EAAcnwB,QAAS,EAAIjsB,EAAY4sB,YAAY1rB,EAAM+D,GACzD,IAAIsyB,EAAQr2B,EAAK+D,EAAQ,GACrBo3C,EAAsB,GAAR9kB,EAElB,IAAKwe,EAAasG,GAChB,MAAM,IAAItH,EAAW,yBAA2BsH,GAGlDD,EAAc56B,KAAO66B,EACrBD,EAAcE,SAAWvG,EAAasG,GACtCD,EAAcG,qBAA+B,IAARhlB,GACrC,IAAIilB,KAAsC,GAARjlB,GAC9BklB,EAAgBv7C,EAAK+D,EAAQ,GAC7By3C,EAAkBD,GAAiB,EAAI,EACvCE,EAAa,CAAiB,GAAhBF,GACdx0B,EAAWhjB,EAAQ,EAEvB,GAAsB,IAAlBw3C,EAAqB,CACvBC,EAAoE,WAAlD,EAAI18C,EAAY4sB,YAAY1rB,EAAM+mB,EAAW,GAC/DA,GAAY,EACZ,IAAItjB,EAAQ+3C,EAAkB,GAAK,EAGnC,IAFAC,EAAW,GAAKz7C,EAAK+mB,OAEZtjB,EAAQ,GACfg4C,EAAW16C,KAAKf,EAAK+mB,KAEzB,MAAO,GAAsB,IAAlBw0B,GAAyC,IAAlBA,EAChC,MAAM,IAAI1H,EAAW,6BAGvBqH,EAAcO,WAAaA,EAC3B,IAAIC,EAA8B,EAE9BR,EAAcnwB,QAAU,IAC1B2wB,EAA8B,EACrBR,EAAcnwB,QAAU,QACjC2wB,EAA8B,GAGhC,IACIp/C,EAAGikB,EADHo7B,EAAa,GAGjB,IAAKr/C,EAAI,EAAGA,EAAIk/C,EAAiBl/C,IAAK,CACpC,IAAIyuB,EAGFA,EADkC,IAAhC2wB,EACO17C,EAAK+mB,GAC2B,IAAhC20B,GACA,EAAI58C,EAAY2sB,YAAYzrB,EAAM+mB,IAElC,EAAIjoB,EAAY4sB,YAAY1rB,EAAM+mB,GAG7C40B,EAAW56C,KAAKgqB,GAChBhE,GAAY20B,CACd,CAcA,GAZAR,EAAcS,WAAaA,EAEtBL,GAGHJ,EAAcU,iBAAkB,EAAI98C,EAAY4sB,YAAY1rB,EAAM+mB,GAClEA,GAAY,GAHZm0B,EAAcU,gBAAkB57C,EAAK+mB,KAMvCm0B,EAAcl6C,QAAS,EAAIlC,EAAY4sB,YAAY1rB,EAAM+mB,GACzDA,GAAY,EAEiB,aAAzBm0B,EAAcl6C,OAAuB,CACvC,GAAoB,KAAhBm6C,EAkCF,MAAM,IAAItH,EAAW,kCAjCrB,IAAIgI,EAAoBC,EAA6B97C,EAAM+mB,GAEvDg1B,KAAkD,EADtB/7C,EAAK+mB,EAAWi1B,IAG5CC,EAAgB,IAAIh8C,WADE,GAa1B,IAVK87C,IACHE,EAAc,GAAK,IACnBA,EAAc,GAAK,KAGrBA,EAAc,GAAKJ,EAAkBrG,SAAW,GAAK,IACrDyG,EAAc,GAAKJ,EAAkBrG,QAAU,GAAK,IACpDyG,EAAc,GAAKJ,EAAkBrG,QAAU,EAAI,IACnDyG,EAAc,GAAgC,IAA3BJ,EAAkBrG,OAEhCl5C,EAAIyqB,EAAUxG,EAAKvgB,EAAKgB,OAAQ1E,EAAIikB,EAAIjkB,IAAK,CAGhD,IAFA,IAAIs0B,EAAI,EAEDA,EAhBiB,GAgBUqrB,EAAcrrB,KAAO5wB,EAAK1D,EAAIs0B,IAC9DA,IAGF,GApBwB,IAoBpBA,EAA2B,CAC7BsqB,EAAcl6C,OAAS1E,EArBD,EAsBtB,KACF,CACF,CAEA,GAA6B,aAAzB4+C,EAAcl6C,OAChB,MAAM,IAAI6yC,EAAW,4BAK3B,CAGA,OADAqH,EAAcgB,UAAYn1B,EACnBm0B,CACT,CAEA,SAASiB,EAAaC,EAAQp8C,EAAM+D,EAAOkhB,GAIzC,IAHA,IAAIo3B,EAAW,GACXt1B,EAAWhjB,EAERgjB,EAAW9B,GAAK,CACrB,IAAIi2B,EAAgBD,EAAkBj7C,EAAM+mB,GAC5CA,EAAWm0B,EAAcgB,UACzB,IAAII,EAAU,CACZF,OAAQlB,EACRl7C,QAWF,GARKo8C,EAAOG,eACVD,EAAQv4C,MAAQgjB,EAChBA,GAAYm0B,EAAcl6C,OAC1Bs7C,EAAQr3B,IAAM8B,GAGhBs1B,EAASt7C,KAAKu7C,GAEa,KAAvBpB,EAAc56B,KAChB,KAEJ,CAEA,GAAI87B,EAAOG,aACT,IAAK,IAAIjgD,EAAI,EAAGikB,EAAK87B,EAASr7C,OAAQ1E,EAAIikB,EAAIjkB,IAC5C+/C,EAAS//C,GAAGyH,MAAQgjB,EACpBA,GAAYs1B,EAAS//C,GAAG8/C,OAAOp7C,OAC/Bq7C,EAAS//C,GAAG2oB,IAAM8B,EAItB,OAAOs1B,CACT,CAEA,SAASP,EAA6B97C,EAAM+D,GAC1C,MAAO,CACLwxC,OAAO,EAAIz2C,EAAY4sB,YAAY1rB,EAAM+D,GACzCyxC,QAAQ,EAAI12C,EAAY4sB,YAAY1rB,EAAM+D,EAAQ,GAClDunB,GAAG,EAAIxsB,EAAY4sB,YAAY1rB,EAAM+D,EAAQ,GAC7CgxC,GAAG,EAAIj2C,EAAY4sB,YAAY1rB,EAAM+D,EAAQ,IAC7Cq1C,oBAAwC,EAAnBp5C,EAAK+D,EAAQ,IAEtC,CAEA,IAAIi4C,EAAsC,GAE1C,SAASQ,EAAeF,EAASG,GAC/B,IAII73B,EAAM+wB,EAAIr5C,EAAGogD,EAJbN,EAASE,EAAQF,OACjBp8C,EAAOs8C,EAAQt8C,KACf+mB,EAAWu1B,EAAQv4C,MACnBkhB,EAAMq3B,EAAQr3B,IAGlB,OAAQm3B,EAAO97B,MACb,KAAK,EACH,IAAIq8B,EAAa,CAAC,EACdC,GAAkB,EAAI99C,EAAY2sB,YAAYzrB,EAAM+mB,GAaxD,GAZA41B,EAAWjE,WAA+B,EAAlBkE,GACxBD,EAAWhE,cAAkC,EAAlBiE,GAC3BD,EAAWE,kBAAoBD,GAAmB,EAAI,EACtDD,EAAWG,kBAAoBF,GAAmB,EAAI,EACtDD,EAAWI,mBAAqBH,GAAmB,EAAI,EACvDD,EAAWK,6BAA+BJ,GAAmB,EAAI,EACjED,EAAWM,2BAA+C,IAAlBL,GACxCD,EAAWO,+BAAmD,IAAlBN,GAC5CD,EAAWrG,SAAWsG,GAAmB,GAAK,EAC9CD,EAAWQ,mBAAqBP,GAAmB,GAAK,EACxD71B,GAAY,GAEP41B,EAAWjE,QAAS,CAIvB,IAHAgE,EAAmC,IAAxBC,EAAWrG,SAAiB,EAAI,EAC3CX,EAAK,GAEAr5C,EAAI,EAAGA,EAAIogD,EAAUpgD,IACxBq5C,EAAG50C,KAAK,CACNuqB,GAAG,EAAIxsB,EAAYysB,UAAUvrB,EAAM+mB,GACnCguB,GAAG,EAAIj2C,EAAYysB,UAAUvrB,EAAM+mB,EAAW,KAEhDA,GAAY,EAGd41B,EAAWhH,GAAKA,CAClB,CAEA,GAAIgH,EAAWhE,aAAegE,EAAWQ,mBAAoB,CAG3D,IAFAxH,EAAK,GAEAr5C,EAAI,EAAGA,EAAI,EAAGA,IACjBq5C,EAAG50C,KAAK,CACNuqB,GAAG,EAAIxsB,EAAYysB,UAAUvrB,EAAM+mB,GACnCguB,GAAG,EAAIj2C,EAAYysB,UAAUvrB,EAAM+mB,EAAW,KAEhDA,GAAY,EAGd41B,EAAWpD,aAAe5D,CAC5B,CAEAgH,EAAWS,yBAA0B,EAAIt+C,EAAY4sB,YAAY1rB,EAAM+mB,GACvEA,GAAY,EACZ41B,EAAWU,oBAAqB,EAAIv+C,EAAY4sB,YAAY1rB,EAAM+mB,GAClEA,GAAY,EACZnC,EAAO,CAAC+3B,EAAYP,EAAOrxB,OAAQqxB,EAAOT,WAAY37C,EAAM+mB,EAAU9B,GACtE,MAEF,KAAK,EACL,KAAK,EACH,IAAIq4B,EAAa,CAAC,EAClBA,EAAW/4C,KAAOu3C,EAA6B97C,EAAM+mB,GACrDA,GAAYi1B,EACZ,IAAIuB,GAAyB,EAAIz+C,EAAY2sB,YAAYzrB,EAAM+mB,GAa/D,GAZAA,GAAY,EACZu2B,EAAW5E,WAAsC,EAAzB6E,GACxBD,EAAW3E,cAAyC,EAAzB4E,GAC3BD,EAAW9D,aAAe+D,GAA0B,EAAI,EACxDD,EAAWxE,UAAY,GAAKwE,EAAW9D,aACvC8D,EAAWnE,gBAAkBoE,GAA0B,EAAI,EAC3DD,EAAWrE,cAAyC,GAAzBsE,GAC3BD,EAAWlE,oBAAsBmE,GAA0B,EAAI,EAC/DD,EAAW1E,kBAAoB2E,GAA0B,EAAI,EAC7DD,EAAWpE,SAAWqE,GAA0B,IAAM,GACtDD,EAAWH,mBAAqBI,GAA0B,GAAK,EAE3DD,EAAW5E,QAAS,CACtB,IAAI8E,GAAyB,EAAI1+C,EAAY2sB,YAAYzrB,EAAM+mB,GAC/DA,GAAY,EACZu2B,EAAWG,UAAqC,EAAzBD,EACvBF,EAAWI,UAAYF,GAA0B,EAAI,EACrDF,EAAWK,UAAYH,GAA0B,EAAI,EACrDF,EAAWM,oBAAsBJ,GAA0B,EAAI,EAC/DF,EAAWO,oBAAsBL,GAA0B,EAAI,EAC/DF,EAAWQ,oBAAsBN,GAA0B,GAAK,EAChEF,EAAWS,oBAAsBP,GAA0B,GAAK,EAChEF,EAAWU,iCAA4D,MAAzBR,EAChD,CAEA,GAAIF,EAAW3E,aAAe2E,EAAWH,mBAAoB,CAG3D,IAFAxH,EAAK,GAEAr5C,EAAI,EAAGA,EAAI,EAAGA,IACjBq5C,EAAG50C,KAAK,CACNuqB,GAAG,EAAIxsB,EAAYysB,UAAUvrB,EAAM+mB,GACnCguB,GAAG,EAAIj2C,EAAYysB,UAAUvrB,EAAM+mB,EAAW,KAEhDA,GAAY,EAGdu2B,EAAW/D,aAAe5D,CAC5B,CAEA2H,EAAWzE,yBAA0B,EAAI/5C,EAAY4sB,YAAY1rB,EAAM+mB,GACvEA,GAAY,EACZnC,EAAO,CAAC04B,EAAYlB,EAAOT,WAAY37C,EAAM+mB,EAAU9B,GACvD,MAEF,KAAK,GACH,MAAMg5B,EAAoB,CAAC,EACrBC,EAAyBl+C,EAAK+mB,KACpCk3B,EAAkB3I,OAAkC,EAAzB4I,GAC3BD,EAAkB3H,SAAW4H,GAA0B,EAAI,EAC3DD,EAAkBE,aAAen+C,EAAK+mB,KACtCk3B,EAAkBG,cAAgBp+C,EAAK+mB,KACvCk3B,EAAkBI,iBAAkB,EAAIv/C,EAAY4sB,YAAY1rB,EAAM+mB,GACtEA,GAAY,EACZnC,EAAO,CAACq5B,EAAmB7B,EAAOrxB,OAAQ/qB,EAAM+mB,EAAU9B,GAC1D,MAEF,KAAK,GACL,KAAK,GACH,MAAMq5B,EAAiB,CAAC,EACxBA,EAAe/5C,KAAOu3C,EAA6B97C,EAAM+mB,GACzDA,GAAYi1B,EACZ,MAAMuC,EAAsBv+C,EAAK+mB,KACjCu3B,EAAehJ,OAA+B,EAAtBiJ,GACxBD,EAAehI,SAAWiI,GAAuB,EAAI,EACrDD,EAAeE,cAAsC,EAAtBD,GAC/BD,EAAelF,oBAAsBmF,GAAuB,EAAI,EAChED,EAAe1F,kBAAoB2F,GAAuB,EAAI,EAC9DD,EAAeG,WAAY,EAAI3/C,EAAY4sB,YAAY1rB,EAAM+mB,GAC7DA,GAAY,EACZu3B,EAAeI,YAAa,EAAI5/C,EAAY4sB,YAAY1rB,EAAM+mB,GAC9DA,GAAY,EACZu3B,EAAeK,YAA4D,YAA9C,EAAI7/C,EAAY4sB,YAAY1rB,EAAM+mB,GAC/DA,GAAY,EACZu3B,EAAeM,YAA4D,YAA9C,EAAI9/C,EAAY4sB,YAAY1rB,EAAM+mB,GAC/DA,GAAY,EACZu3B,EAAeO,aAAc,EAAI//C,EAAY2sB,YAAYzrB,EAAM+mB,GAC/DA,GAAY,EACZu3B,EAAeQ,aAAc,EAAIhgD,EAAY2sB,YAAYzrB,EAAM+mB,GAC/DA,GAAY,EACZnC,EAAO,CAAC05B,EAAgBlC,EAAOT,WAAY37C,EAAM+mB,EAAU9B,GAC3D,MAEF,KAAK,GACL,KAAK,GACH,IAAI85B,EAAgB,CAAC,EACrBA,EAAcx6C,KAAOu3C,EAA6B97C,EAAM+mB,GACxDA,GAAYi1B,EACZ,IAAIgD,EAA4Bh/C,EAAK+mB,KAKrC,GAJAg4B,EAAczJ,OAAqC,EAA5B0J,GACvBD,EAAczI,SAAW0I,GAA6B,EAAI,EAC1DD,EAAcrJ,cAA4C,EAA5BsJ,IAEzBD,EAAczJ,IAAK,CAItB,IAHAoH,EAAsC,IAA3BqC,EAAczI,SAAiB,EAAI,EAC9CX,EAAK,GAEAr5C,EAAI,EAAGA,EAAIogD,EAAUpgD,IACxBq5C,EAAG50C,KAAK,CACNuqB,GAAG,EAAIxsB,EAAYysB,UAAUvrB,EAAM+mB,GACnCguB,GAAG,EAAIj2C,EAAYysB,UAAUvrB,EAAM+mB,EAAW,KAEhDA,GAAY,EAGdg4B,EAAcpJ,GAAKA,CACrB,CAEA/wB,EAAO,CAACm6B,EAAe/+C,EAAM+mB,EAAU9B,GACvC,MAEF,KAAK,GACH,IAAIg6B,EAAW,CACb1J,OAAO,EAAIz2C,EAAY4sB,YAAY1rB,EAAM+mB,GACzCyuB,QAAQ,EAAI12C,EAAY4sB,YAAY1rB,EAAM+mB,EAAW,GACrDm4B,aAAa,EAAIpgD,EAAY4sB,YAAY1rB,EAAM+mB,EAAW,GAC1Do4B,aAAa,EAAIrgD,EAAY4sB,YAAY1rB,EAAM+mB,EAAW,KAGpC,aAApBk4B,EAASzJ,eACJyJ,EAASzJ,OAGlB,IAAI4J,EAAmBp/C,EAAK+mB,EAAW,KACvC,EAAIjoB,EAAY2sB,YAAYzrB,EAAM+mB,EAAW,IAC7Ck4B,EAASI,YAAiC,EAAnBD,GACvBH,EAAStG,cAAmC,EAAnByG,GACzBH,EAASrG,kBAAoBwG,GAAoB,EAAI,EACrDH,EAAS7F,oBAAsBgG,GAAoB,EAAI,EACvDH,EAASK,kBAAuC,GAAnBF,GAC7BH,EAASM,+BAAoD,GAAnBH,GAC1Cx6B,EAAO,CAACq6B,GACR,MAEF,KAAK,GAGL,KAAK,GAGL,KAAK,GAOL,KAAK,GACH,MALF,KAAK,GACHr6B,EAAO,CAACw3B,EAAOrxB,OAAQ/qB,EAAM+mB,EAAU9B,GACvC,MAKF,QACE,MAAM,IAAI4uB,EAAW,gBAAgBuI,EAAOhB,YAAYgB,EAAO97B,4BAGnE,IAAIk/B,EAAe,KAAOpD,EAAOhB,SAE7BoE,KAAgB/C,GAClBA,EAAQ+C,GAAc70C,MAAM8xC,EAAS73B,EAEzC,CAEA,SAAS66B,EAAgBpD,EAAUI,GACjC,IAAK,IAAIngD,EAAI,EAAGikB,EAAK87B,EAASr7C,OAAQ1E,EAAIikB,EAAIjkB,IAC5CkgD,EAAeH,EAAS//C,GAAImgD,EAEhC,CAkEA,SAASiD,IAAwB,CAkLjC,SAASC,EAAYC,GACK,IAApBA,EAAS5+C,QACXjC,KAAK8gD,OAAQ,EACb9gD,KAAK+gD,SAAW,EAChB/gD,KAAKghD,aAAeH,EAAS,GAC7B7gD,KAAKihD,YAAc,EACnBjhD,KAAKkhD,WAAaL,EAAS,GAC3B7gD,KAAKmhD,cAAe,IAEpBnhD,KAAK8gD,OAAQ,EACb9gD,KAAK+gD,SAAWF,EAAS,GACzB7gD,KAAKghD,aAAeH,EAAS,GAC7B7gD,KAAKihD,YAAcJ,EAAS,GAC5B7gD,KAAKkhD,WAAaL,EAAS,GAC3B7gD,KAAKmhD,aAA+B,UAAhBN,EAAS,GAEjC,CAEA,SAASO,EAAgBC,GACvBrhD,KAAKshD,SAAW,GAEZD,GACFrhD,KAAKuhD,QAAS,EACdvhD,KAAKihD,YAAcI,EAAKJ,YACxBjhD,KAAK+gD,SAAWM,EAAKN,SACrB/gD,KAAKmhD,aAAeE,EAAKF,aACzBnhD,KAAK8gD,MAAQO,EAAKP,OAElB9gD,KAAKuhD,QAAS,CAElB,CAwCA,SAASC,EAAaC,EAAOC,GACtBA,GACH1hD,KAAK2hD,kBAAkBF,GAGzBzhD,KAAK4hD,SAAW,IAAIR,EAAgB,MAEpC,IAAK,IAAI7jD,EAAI,EAAGikB,EAAKigC,EAAMx/C,OAAQ1E,EAAIikB,EAAIjkB,IAAK,CAC9C,MAAM8jD,EAAOI,EAAMlkD,GAEf8jD,EAAKL,aAAe,GACtBhhD,KAAK4hD,SAASC,UAAUR,EAAMA,EAAKL,aAAe,EAEtD,CACF,CApQAL,EAAqBzhD,UAAY,CAC/B4iD,kBAAmB,SAAgDt8C,GACjExF,KAAK+hD,gBAAkBv8C,EACvB,IAAIw8C,EAAUx8C,EAAKgxC,MAAQ,GAAK,EAC5Br3B,EAAS,IAAIyJ,kBAAkBo5B,EAAUx8C,EAAKixC,QAElD,GAAIjxC,EAAKq0C,kBACP,IAAK,IAAIt8C,EAAI,EAAGikB,EAAKrC,EAAOld,OAAQ1E,EAAIikB,EAAIjkB,IAC1C4hB,EAAO5hB,GAAK,IAIhByC,KAAKmf,OAASA,CAChB,EACA8iC,WAAY,SAAyCC,EAAY9K,GAC/D,IAQI75C,EAAGs0B,EAAGswB,EAAM11B,EARZyzB,EAAWlgD,KAAK+hD,gBAChBvL,EAAQ0L,EAAW1L,MACnBC,EAASyL,EAAWzL,OACpBuL,EAAU9B,EAAS1J,MAAQ,GAAK,EAChC6D,EAAsB6F,EAASM,4BAA8B0B,EAAW7H,oBAAsB6F,EAAS7F,oBACvGl7B,EAASnf,KAAKmf,OACdijC,EAAQ,MAAuB,EAAfF,EAAW31B,GAC3B81B,EAAUH,EAAWlM,EAAIgM,GAAWE,EAAW31B,GAAK,GAGxD,OAAQ8tB,GACN,KAAK,EACH,IAAK98C,EAAI,EAAGA,EAAIk5C,EAAQl5C,IAAK,CAI3B,IAHA4kD,EAAOC,EACP31B,EAAS41B,EAEJxwB,EAAI,EAAGA,EAAI2kB,EAAO3kB,IACjBulB,EAAO75C,GAAGs0B,KACZ1S,EAAOsN,IAAW01B,IAGpBA,IAAS,KAGPA,EAAO,IACP11B,KAIJ41B,GAAWL,CACb,CAEA,MAEF,KAAK,EACH,IAAKzkD,EAAI,EAAGA,EAAIk5C,EAAQl5C,IAAK,CAI3B,IAHA4kD,EAAOC,EACP31B,EAAS41B,EAEJxwB,EAAI,EAAGA,EAAI2kB,EAAO3kB,IACjBulB,EAAO75C,GAAGs0B,KACZ1S,EAAOsN,IAAW01B,IAGpBA,IAAS,KAGPA,EAAO,IACP11B,KAIJ41B,GAAWL,CACb,CAEA,MAEF,QACE,MAAM,IAAIlN,EAAW,YAAYuF,sBAEvC,EACAiI,yBAA0B,SAAuDC,EAAQthD,EAAM+D,EAAOkhB,GACpG,IAAIg8B,EAAaK,EAAO/8C,KACpBqxC,EAAkB,IAAI7B,EAAgB/zC,EAAM+D,EAAOkhB,GACnDkxB,EAASd,EAAaiM,EAAOhM,IAAK2L,EAAW1L,MAAO0L,EAAWzL,OAAQ8L,EAAOhL,SAAUgL,EAAO5L,WAAY,KAAM4L,EAAO3L,GAAIC,GAChI72C,KAAKiiD,WAAWC,EAAY9K,EAC9B,EACAoL,iCAAkC,WAChCxiD,KAAKsiD,yBAAyB12C,MAAM5L,KAAMyiD,UAC5C,EACAC,mBAAoB,SAAiD9E,EAAY+E,EAAgBC,EAAkB3hD,EAAM+D,EAAOkhB,GAC9H,IAAIo0B,EAAeI,EAEfkD,EAAWjE,UACbW,EA2gBN,SAA0CsD,EAAYhB,EAAYiG,GAChE,IACIC,EACAC,EAgCAC,EAAiBC,EAlCjBC,EAAc,EAIlB,OAAQtF,EAAWE,mBACjB,KAAK,EACL,KAAK,EACHgF,EAAmBK,EAAiBvF,EAAWE,kBAAoB,GACnE,MAEF,KAAK,EACHgF,EAAmBM,EAAsBF,EAAatG,EAAYiG,GAClEK,IACA,MAEF,QACE,MAAM,IAAIpO,EAAW,+BAGzB,OAAQ8I,EAAWG,mBACjB,KAAK,EACL,KAAK,EACHgF,EAAkBI,EAAiBvF,EAAWG,kBAAoB,GAClE,MAEF,KAAK,EACHgF,EAAkBK,EAAsBF,EAAatG,EAAYiG,GACjEK,IACA,MAEF,QACE,MAAM,IAAIpO,EAAW,+BAkBzB,OAbI8I,EAAWI,oBACbgF,EAAkBI,EAAsBF,EAAatG,EAAYiG,GACjEK,KAEAF,EAAkBG,EAAiB,GAInCF,EADErF,EAAWK,6BACamF,EAAsBF,EAAatG,EAAYiG,GAE/CM,EAAiB,GAGtC,CACLL,mBACAC,kBACAC,kBACAC,0BAEJ,CAnkBsBI,CAAiCzF,EAAYgF,EAAkB5iD,KAAK6iD,cACpFnI,EAAe,IAAI3D,EAAO91C,EAAM+D,EAAOkhB,IAGzC,IAAIo9B,EAAUtjD,KAAKsjD,QAEdA,IACHtjD,KAAKsjD,QAAUA,EAAU,CAAC,GAK5B,IAFA,IAAItJ,EAAe,GAEVz8C,EAAI,EAAGikB,EAAKohC,EAAiB3gD,OAAQ1E,EAAIikB,EAAIjkB,IAAK,CACzD,MAAMgmD,EAAkBD,EAAQV,EAAiBrlD,IAE7CgmD,IACFvJ,EAAeA,EAAaxC,OAAO+L,GAEvC,CAEA,IAAI1M,EAAkB,IAAI7B,EAAgB/zC,EAAM+D,EAAOkhB,GACvDo9B,EAAQX,GAl/BZ,SAAgChJ,EAASC,EAAY0J,EAAShF,EAAoBD,EAAyB/D,EAAe5D,EAAeE,EAAI2D,EAAyBC,EAAc3D,EAAiB6D,GACnM,GAAIf,GAAWC,EACb,MAAM,IAAI9E,EAAW,mDAGvB,IAAI0O,EAAa,GACbC,EAAgB,EAChBxJ,GAAmB,EAAIl6C,EAAYusB,MAAMg3B,EAAQrhD,OAASq8C,GAC1DlJ,EAAUyB,EAAgBzB,QAC1BF,EAAe2B,EAAgB3B,aACnC,IAAIwO,EAASC,EAQb,IANIhK,IACF+J,EAAUP,EAAiB,GAC3BQ,EAAe,GACf1J,EAAmBpwC,KAAKC,IAAImwC,EAAkB,IAGzCuJ,EAAWvhD,OAASq8C,GAAoB,CAE7CmF,GADkB9J,EAAUW,EAAcwI,iBAAiBjI,OAAOH,GAAgBzF,EAAcC,EAAc,OAAQE,GAEtH,IAAIwO,EAAe,EACfC,EAAa,EACjB,MAAMC,EAAcnK,EAAUgK,EAAa1hD,OAAS,EAEpD,OAAa,CACX,IAQIm1C,EARA2M,EAAapK,EAAUW,EAAcyI,gBAAgBlI,OAAOH,GAAgBzF,EAAcC,EAAc,OAAQE,GAEpH,GAAmB,OAAf2O,EACF,MAOF,GAJAH,GAAgBG,EAChBF,GAAcD,EAGVhK,EAAY,CACd,IAAIoK,EAAoB/O,EAAcC,EAAc,OAAQE,GAE5D,GAAI4O,EAAoB,EACtB5M,EAASsC,EAAiBC,EAASC,EAAYgK,EAAcH,EAAe,EAAGO,EAAmB,EAAGV,EAAQ9L,OAAOgM,GAAavJ,EAAkB,EAAG,EAAG,EAAG,EAAGK,EAAeC,EAAyBC,EAAc3D,EAAiB,EAAG6D,OACpO,CACL,IAAIQ,EAAWxF,EAAWR,EAAcE,EAAS6E,GAC7CgK,EAAMhP,EAAcC,EAAc,QAASE,GAC3C8O,EAAMjP,EAAcC,EAAc,QAASE,GAE/CgC,EAASwB,EAAiBgL,EAAcH,EAAelJ,EAD1CW,EAAWoI,EAAQrhD,OAASqhD,EAAQpI,GAAYsI,EAAWtI,EAAWoI,EAAQrhD,QACHgiD,EAAKC,GAAK,EAAO1J,EAAc3D,EACzH,CAEA2M,EAAWxhD,KAAKo1C,EAClB,MAAWuC,EACTgK,EAAa3hD,KAAK4hD,IAElBxM,EAASd,GAAa,EAAOsN,EAAcH,EAAe/M,GAAe,EAAO,KAAME,EAAIC,GAC1F2M,EAAWxhD,KAAKo1C,GAEpB,CAEA,GAAIuC,IAAYC,EAAY,CAC1B,MAAMuK,EAAa7J,EAAc0I,gBAAgBnI,OAAOH,GAExD,IAAI0J,EAEJ,GAHA1J,EAAa9H,YAGM,IAAfuR,EACFC,EAAmBC,EAAuB3J,EAAcmJ,EAAYJ,OAC/D,CACL,MAAMa,EAAc5J,EAAax0B,IAC3Bq+B,EAAY7J,EAAa1yB,SAAWm8B,EAC1CzJ,EAAax0B,IAAMq+B,EACnBH,EAAmBtN,EAAgB4D,EAAcmJ,EAAYJ,GAAe,GAC5E/I,EAAax0B,IAAMo+B,EACnB5J,EAAa1yB,SAAWu8B,CAC1B,CAEA,MAAMC,EAAyBb,EAAa1hD,OAE5C,GAAI6hD,IAAgBU,EAAyB,EAC3ChB,EAAWxhD,KAAKoiD,OACX,CACL,IAAI7mD,EACAy4C,EAEAyO,EACAC,EACArJ,EAHAsJ,EAAO,EAKX,IAAKpnD,EAAIumD,EAAavmD,EAAIinD,EAAwBjnD,IAAK,CAKrD,IAJAmnD,EAAcf,EAAapmD,GAC3BknD,EAAOE,EAAOD,EACdrJ,EAAe,GAEVrF,EAAI,EAAGA,EAAIyN,EAAezN,IAC7BqF,EAAar5C,KAAKoiD,EAAiBpO,GAAG/pC,SAAS04C,EAAMF,IAGvDjB,EAAWxhD,KAAKq5C,GAChBsJ,EAAOF,CACT,CACF,CACF,CACF,CAOA,IALA,IAAIG,EAAkB,GAClBttB,EAAQ,GACRutB,GAAc,EACdC,EAAqBxB,EAAQrhD,OAASq8C,EAEnChnB,EAAMr1B,OAAS6iD,GAAoB,CAGxC,IAFA,IAAIC,EAAYpL,EAAU+J,EAAQ7I,OAAOH,GAAgBzF,EAAcC,EAAc,OAAQE,GAEtF2P,KACLztB,EAAMt1B,KAAK6iD,GAGbA,GAAeA,CACjB,CAEA,IAAK,IAAItnD,EAAI,EAAGikB,EAAK8hC,EAAQrhD,OAAQ1E,EAAIikB,EAAIjkB,IACvC+5B,EAAM/5B,IACRqnD,EAAgB5iD,KAAKshD,EAAQ/lD,IAIjC,IAAK,IAAIs0B,EAAI,EAAGA,EAAIysB,EAAoB/gD,IAAKs0B,IACvCyF,EAAM/5B,IACRqnD,EAAgB5iD,KAAKwhD,EAAW3xB,IAIpC,OAAO+yB,CACT,CAg3B8BI,CAAuBpH,EAAWjE,QAASiE,EAAWhE,WAAYI,EAAc4D,EAAWU,mBAAoBV,EAAWS,wBAAyB/D,EAAesD,EAAWrG,SAAUqG,EAAWhH,GAAIgH,EAAWQ,mBAAoBR,EAAWpD,aAAc3D,EAAiB6D,EAC3S,EACAuK,sBAAuB,SAAoD1C,EAAQK,EAAkB3hD,EAAM+D,EAAOkhB,GAChH,IAAIg8B,EAAaK,EAAO/8C,KACxB,IAAI80C,EAAeI,EAInB,IAHA,IAAI4I,EAAUtjD,KAAKsjD,QACftJ,EAAe,GAEVz8C,EAAI,EAAGikB,EAAKohC,EAAiB3gD,OAAQ1E,EAAIikB,EAAIjkB,IAAK,CACzD,MAAMgmD,EAAkBD,EAAQV,EAAiBrlD,IAE7CgmD,IACFvJ,EAAeA,EAAaxC,OAAO+L,GAEvC,CAEA,IAAItJ,GAAmB,EAAIl6C,EAAYusB,MAAM0tB,EAAa/3C,QAEtDsgD,EAAO5I,UACTe,EAAe,IAAI3D,EAAO91C,EAAM+D,EAAOkhB,GACvCo0B,EA6WN,SAAoCiE,EAAY3B,EAAYiG,EAAcqC,EAAiBC,GACzF,MAAM3Y,EAAQ,GAEd,IAAK,IAAIjvC,EAAI,EAAGA,GAAK,GAAIA,IAAK,CAC5B,MAAMgzC,EAAa4U,EAAOpU,SAAS,GACnCvE,EAAMxqC,KAAK,IAAI4+C,EAAY,CAACrjD,EAAGgzC,EAAY,EAAG,IAChD,CAEA,MAAM6U,EAAgB,IAAI5D,EAAahV,GAAO,GAC9CA,EAAMvqC,OAAS,EAEf,IAAK,IAAI1E,EAAI,EAAGA,EAAI2nD,GAAkB,CACpC,MAAM3U,EAAa6U,EAAcvK,OAAOsK,GAExC,GAAI5U,GAAc,GAAI,CACpB,IAAI8U,EAAgBC,EAAiBzzB,EAErC,OAAQ0e,GACN,KAAK,GACH,GAAU,IAANhzC,EACF,MAAM,IAAIu3C,EAAW,wCAGvBwQ,EAAkBH,EAAOpU,SAAS,GAAK,EACvCsU,EAAiB7Y,EAAMjvC,EAAI,GAAGyjD,aAC9B,MAEF,KAAK,GACHsE,EAAkBH,EAAOpU,SAAS,GAAK,EACvCsU,EAAiB,EACjB,MAEF,KAAK,GACHC,EAAkBH,EAAOpU,SAAS,GAAK,GACvCsU,EAAiB,EACjB,MAEF,QACE,MAAM,IAAIvQ,EAAW,0CAGzB,IAAKjjB,EAAI,EAAGA,EAAIyzB,EAAiBzzB,IAC/B2a,EAAMxqC,KAAK,IAAI4+C,EAAY,CAACrjD,EAAG8nD,EAAgB,EAAG,KAClD9nD,GAEJ,MACEivC,EAAMxqC,KAAK,IAAI4+C,EAAY,CAACrjD,EAAGgzC,EAAY,EAAG,KAC9ChzC,GAEJ,CAEA4nD,EAAOvS,YACP,MAAMuI,EAAgB,IAAIqG,EAAahV,GAAO,GAC9C,IACIwO,EACAiB,EACArB,EAHAsI,EAAc,EAKlB,OAAQ3E,EAAWG,WACjB,KAAK,EACL,KAAK,EACH1D,EAAcmI,EAAiB5E,EAAWG,UAAY,GACtD,MAEF,KAAK,EACH1D,EAAcoI,EAAsBF,EAAatG,EAAYiG,GAC7DK,IACA,MAEF,QACE,MAAM,IAAIpO,EAAW,+BAGzB,OAAQyJ,EAAWI,WACjB,KAAK,EACL,KAAK,EACL,KAAK,EACH1C,EAAckH,EAAiB5E,EAAWI,UAAY,GACtD,MAEF,KAAK,EACH1C,EAAcmH,EAAsBF,EAAatG,EAAYiG,GAC7DK,IACA,MAEF,QACE,MAAM,IAAIpO,EAAW,+BAGzB,OAAQyJ,EAAWK,WACjB,KAAK,EACL,KAAK,EACL,KAAK,EACHhE,EAAcuI,EAAiB5E,EAAWK,UAAY,IACtD,MAEF,KAAK,EACHhE,EAAcwI,EAAsBF,EAAatG,EAAYiG,GAC7DK,IACA,MAEF,QACE,MAAM,IAAIpO,EAAW,+BAGzB,GAAIyJ,EAAW3E,WACb,MAAM,IAAI9E,EAAW,4CAGvB,MAAO,CACLqG,gBACAH,cACAiB,cACArB,cAEJ,CAhesB2K,CAA2BhD,EAAQK,EAAkB5iD,KAAK6iD,aAAc7I,EAAa/3C,OAAQy4C,IAG/G,IAAI7D,EAAkB,IAAI7B,EAAgB/zC,EAAM+D,EAAOkhB,GACnDkxB,EAASsC,EAAiB6I,EAAO5I,QAAS4I,EAAO3I,WAAYsI,EAAW1L,MAAO0L,EAAWzL,OAAQ8L,EAAO1I,kBAAmB0I,EAAOzI,wBAAyByI,EAAOxI,UAAWC,EAAcC,EAAkBsI,EAAOrI,WAAYqI,EAAOpI,SAAUoI,EAAOnI,gBAAiBmI,EAAOlI,oBAAqBC,EAAeiI,EAAOnE,mBAAoBmE,EAAO/H,aAAc3D,EAAiB0L,EAAO9H,aAAcC,GAC/Y16C,KAAKiiD,WAAWC,EAAY9K,EAC9B,EACAoO,8BAA+B,WAC7BxlD,KAAKilD,sBAAsBr5C,MAAM5L,KAAMyiD,UACzC,EAEAgD,oBAAoB7H,EAAY+E,EAAgB1hD,EAAM+D,EAAOkhB,GAC3D,IAAIw/B,EAAW1lD,KAAK0lD,SAEfA,IACH1lD,KAAK0lD,SAAWA,EAAW,CAAC,GAG9B,MAAM7O,EAAkB,IAAI7B,EAAgB/zC,EAAM+D,EAAOkhB,GACzDw/B,EAAS/C,GAzwBb,SAAiCpM,EAAK6I,EAAcC,EAAeC,EAAiB/H,EAAUV,GAC5F,MAAMD,EAAK,GAENL,IACHK,EAAG50C,KAAK,CACNuqB,GAAI6yB,EACJpJ,EAAG,IAGY,IAAbuB,IACFX,EAAG50C,KAAK,CACNuqB,GAAI,EACJypB,GAAI,IAENY,EAAG50C,KAAK,CACNuqB,EAAG,EACHypB,GAAI,IAENY,EAAG50C,KAAK,CACNuqB,GAAI,EACJypB,GAAI,MAKV,MACMoO,EAAmB9N,EAAaC,GADb+I,EAAkB,GAAKF,EACYC,EAAe9H,GAAU,EAAO,KAAMX,EAAIC,GAChG6O,EAAW,GAEjB,IAAK,IAAInoD,EAAI,EAAGA,GAAK+hD,EAAiB/hD,IAAK,CACzC,MAAMooD,EAAgB,GAChBhB,EAAOvF,EAAe7hD,EACtBknD,EAAOE,EAAOvF,EAEpB,IAAK,IAAIpJ,EAAI,EAAGA,EAAIqJ,EAAerJ,IACjC2P,EAAc3jD,KAAKoiD,EAAiBpO,GAAG/pC,SAAS04C,EAAMF,IAGxDiB,EAAS1jD,KAAK2jD,EAChB,CAEA,OAAOD,CACT,CA+tB+BE,CAAwBhI,EAAWrH,IAAKqH,EAAWwB,aAAcxB,EAAWyB,cAAezB,EAAW0B,gBAAiB1B,EAAWrG,SAAUV,EACzK,EAEAgP,0BAA0BtD,EAAQK,EAAkB3hD,EAAM+D,EAAOkhB,GAC/D,MAAMw/B,EAAW1lD,KAAK0lD,SAAS9C,EAAiB,IAC1CV,EAAaK,EAAO/8C,KACpBqxC,EAAkB,IAAI7B,EAAgB/zC,EAAM+D,EAAOkhB,GACnDkxB,EApuBV,SAA8Bb,EAAKmP,EAAUnO,EAAUuO,EAAaC,EAAclM,EAAmB4F,EAAYpF,EAAqBqF,EAAWC,EAAYC,EAAaC,EAAaC,EAAaC,EAAalJ,GAG/M,GAAI4I,EACF,MAAM,IAAI3K,EAAW,yBAGvB,GAA4B,IAAxBuF,EACF,MAAM,IAAIvF,EAAW,YAAcuF,EAAsB,wCAG3D,MAAM2L,EAAe,GACrB,IAAIzoD,EAAGs0B,EAAGshB,EAEV,IAAK51C,EAAI,EAAGA,EAAIwoD,EAAcxoD,IAAK,CAGjC,GAFA41C,EAAM,IAAIjyC,WAAW4kD,GAEjBjM,EACF,IAAKhoB,EAAI,EAAGA,EAAIi0B,EAAaj0B,IAC3BshB,EAAIthB,GAAKgoB,EAIbmM,EAAahkD,KAAKmxC,EACpB,CAEA,MAAM8S,EAAmBP,EAASzjD,OAC5BikD,EAAWR,EAAS,GACpBtG,EAAe8G,EAAS,GAAGjkD,OAC3Bo9C,EAAgB6G,EAASjkD,OACzBkkD,GAAe,EAAIpmD,EAAYusB,MAAM25B,GACrCrP,EAAK,GAENL,IACHK,EAAG50C,KAAK,CACNuqB,EAAGgrB,GAAY,EAAI,EAAI,EACvBvB,GAAI,IAGW,IAAbuB,IACFX,EAAG50C,KAAK,CACNuqB,GAAI,EACJypB,GAAI,IAENY,EAAG50C,KAAK,CACNuqB,EAAG,EACHypB,GAAI,IAENY,EAAG50C,KAAK,CACNuqB,GAAI,EACJypB,GAAI,MAKV,MAAMoQ,EAAqB,GAC3B,IAAIC,EAAUjP,EAgBVkP,EAAIC,EAAI/Q,EAAKgR,EAAcb,EAAep5B,EAAGypB,EAAGyQ,EAAYC,EAVhE,IAJInQ,IACF8P,EAAW,IAAItP,EAAOF,EAAgB51C,KAAM41C,EAAgB7xC,MAAO6xC,EAAgB3wB,MAGhF3oB,EAAI4oD,EAAe,EAAG5oD,GAAK,EAAGA,IAE/B65C,EADEb,EACOO,EAAgBuP,EAAU3G,EAAWC,GAAY,GAEjDrJ,GAAa,EAAOoJ,EAAWC,EAAYpI,GAAU,EAjErD,KAiEkEX,EAAIC,GAGjFuP,EAAmB7oD,GAAK65C,EAK1B,IAAKkP,EAAK,EAAGA,EAAK3G,EAAY2G,IAC5B,IAAKC,EAAK,EAAGA,EAAK7G,EAAW6G,IAAM,CAIjC,IAHA/Q,EAAM,EACNgR,EAAe,EAEV30B,EAAIs0B,EAAe,EAAGt0B,GAAK,EAAGA,IACjC2jB,EAAM4Q,EAAmBv0B,GAAGy0B,GAAIC,GAAM/Q,EACtCgR,GAAgBhR,GAAO3jB,EAOzB,GAJA8zB,EAAgBD,EAASc,GACzBj6B,EAAIqzB,EAAc0G,EAAKvG,EAAcwG,EAAKzG,GAAe,EACzD9J,EAAI6J,EAAcyG,EAAKxG,EAAcyG,EAAKxG,GAAe,EAErDxzB,GAAK,GAAKA,EAAI6yB,GAAgB0G,GAAe9P,GAAK,GAAKA,EAAIqJ,GAAiB0G,EAC9E,IAAKxoD,EAAI,EAAGA,EAAI8hD,EAAe9hD,IAI7B,IAHAmpD,EAAYV,EAAahQ,EAAIz4C,GAC7BkpD,EAAad,EAAcpoD,GAEtBs0B,EAAI,EAAGA,EAAIutB,EAAcvtB,IAC5B60B,EAAUn6B,EAAIsF,IAAM40B,EAAW50B,OAG9B,CACL,IAAI80B,EAASC,EAEb,IAAKrpD,EAAI,EAAGA,EAAI8hD,EAAe9hD,IAG7B,GAFAqpD,EAAU5Q,EAAIz4C,IAEVqpD,EAAU,GAAKA,GAAWb,GAO9B,IAHAW,EAAYV,EAAaY,GACzBH,EAAad,EAAcpoD,GAEtBs0B,EAAI,EAAGA,EAAIutB,EAAcvtB,IAC5B80B,EAAUp6B,EAAIsF,EAEV80B,GAAW,GAAKA,EAAUb,IAC5BY,EAAUC,IAAYF,EAAW50B,GAIzC,CACF,CAGF,OAAOm0B,CACT,CAymBmBa,CAAqBtE,EAAOhM,IAAKmP,EAAUnD,EAAOhL,SAAU2K,EAAW1L,MAAO0L,EAAWzL,OAAQ8L,EAAO1I,kBAAmB0I,EAAO9C,WAAY8C,EAAOlI,oBAAqBkI,EAAO7C,UAAW6C,EAAO5C,WAAY4C,EAAO3C,YAAa2C,EAAO1C,YAAa0C,EAAOzC,YAAayC,EAAOxC,YAAalJ,GAC9S72C,KAAKiiD,WAAWC,EAAY9K,EAC9B,EAEA0P,oCACE9mD,KAAK6lD,0BAA0Bj6C,MAAM5L,KAAMyiD,UAC7C,EAEAsE,SAASpE,EAAgB1hD,EAAM+D,EAAOkhB,GACpC,IAAI28B,EAAe7iD,KAAK6iD,aAEnBA,IACH7iD,KAAK6iD,aAAeA,EAAe,CAAC,GAGtCA,EAAaF,GA2IjB,SAA6B1hD,EAAM+D,EAAOkhB,GACxC,MAAMoR,EAAQr2B,EAAK+D,GACbgiD,EAA6D,YAA/C,EAAIjnD,EAAY4sB,YAAY1rB,EAAM+D,EAAQ,GACxDiiD,EAA8D,YAA/C,EAAIlnD,EAAY4sB,YAAY1rB,EAAM+D,EAAQ,GACzDmgD,EAAS,IAAIpO,EAAO91C,EAAM+D,EAAQ,EAAGkhB,GACrCghC,EAAoC,GAAlB5vB,GAAS,EAAI,GAC/B6vB,EAAmC,GAAlB7vB,GAAS,EAAI,GAC9BmqB,EAAQ,GACd,IAAIT,EACAC,EACAmG,EAAkBJ,EAEtB,GACEhG,EAAemE,EAAOpU,SAASmW,GAC/BjG,EAAckE,EAAOpU,SAASoW,GAC9B1F,EAAMz/C,KAAK,IAAI4+C,EAAY,CAACwG,EAAiBpG,EAAcC,EAAa,KACxEmG,GAAmB,GAAKnG,QACjBmG,EAAkBH,GAY3B,OAVAjG,EAAemE,EAAOpU,SAASmW,GAC/BzF,EAAMz/C,KAAK,IAAI4+C,EAAY,CAACoG,EAAc,EAAGhG,EAAc,GAAI,EAAG,WAClEA,EAAemE,EAAOpU,SAASmW,GAC/BzF,EAAMz/C,KAAK,IAAI4+C,EAAY,CAACqG,EAAcjG,EAAc,GAAI,KAEhD,EAAR1pB,IACF0pB,EAAemE,EAAOpU,SAASmW,GAC/BzF,EAAMz/C,KAAK,IAAI4+C,EAAY,CAACI,EAAc,MAGrC,IAAIQ,EAAaC,GAAO,EACjC,CAzKmC4F,CAAoBpmD,EAAM+D,EAAOkhB,EAClE,GAoCFk7B,EAAgBliD,UAAY,CAC1B2iD,UAAUR,EAAMrqB,GACd,MAAMwe,EAAM6L,EAAKH,YAAclqB,EAAQ,EAEvC,GAAIA,GAAS,EACXh3B,KAAKshD,SAAS9L,GAAO,IAAI4L,EAAgBC,OACpC,CACL,IAAItkB,EAAO/8B,KAAKshD,SAAS9L,GAEpBzY,IACH/8B,KAAKshD,SAAS9L,GAAOzY,EAAO,IAAIqkB,EAAgB,OAGlDrkB,EAAK8kB,UAAUR,EAAMrqB,EAAQ,EAC/B,CACF,EAEAswB,WAAWnC,GACT,GAAInlD,KAAKuhD,OAAQ,CACf,GAAIvhD,KAAK8gD,MACP,OAAO,KAGT,MAAMyG,EAAWpC,EAAOpU,SAAS/wC,KAAKihD,aACtC,OAAOjhD,KAAK+gD,UAAY/gD,KAAKmhD,cAAgBoG,EAAWA,EAC1D,CAEA,MAAMxqB,EAAO/8B,KAAKshD,SAAS6D,EAAO1P,WAElC,IAAK1Y,EACH,MAAM,IAAI+X,EAAW,wBAGvB,OAAO/X,EAAKuqB,WAAWnC,EACzB,GAoBF3D,EAAatiD,UAAY,CACvB27C,OAAOsK,GACL,OAAOnlD,KAAK4hD,SAAS0F,WAAWnC,EAClC,EAEAxD,kBAAkBF,GAChB,MAAM+F,EAAc/F,EAAMx/C,OAC1B,IAAIwlD,EAAkB,EAEtB,IAAK,IAAIlqD,EAAI,EAAGA,EAAIiqD,EAAajqD,IAC/BkqD,EAAkB59C,KAAKC,IAAI29C,EAAiBhG,EAAMlkD,GAAGyjD,cAGvD,MAAM0G,EAAY,IAAIxoC,YAAYuoC,EAAkB,GAEpD,IAAK,IAAIlqD,EAAI,EAAGA,EAAIiqD,EAAajqD,IAC/BmqD,EAAUjG,EAAMlkD,GAAGyjD,gBAGrB,IAEI2G,EACAC,EACAvG,EAJAwG,EAAgB,EAChBC,EAAY,EAMhB,IAFAJ,EAAU,GAAK,EAERG,GAAiBJ,GAAiB,CAKvC,IAJAK,EAAYA,EAAYJ,EAAUG,EAAgB,IAAM,EACxDF,EAAcG,EACdF,EAAc,EAEPA,EAAcJ,GACnBnG,EAAOI,EAAMmG,GAETvG,EAAKL,eAAiB6G,IACxBxG,EAAKH,WAAayG,EAClBA,KAGFC,IAGFC,GACF,CACF,GAoCF,MAAME,EAAsB,CAAC,EAE7B,SAAS5E,EAAiBn3B,GACxB,IAMIy1B,EANAlV,EAAQwb,EAAoB/7B,GAEhC,GAAIugB,EACF,OAAOA,EAKT,OAAQvgB,GACN,KAAK,EACHy1B,EAAQ,CAAC,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,GAAI,EAAG,EAAG,GAAM,CAAC,IAAK,EAAG,GAAI,GAAM,CAAC,MAAO,EAAG,GAAI,IAC5E,MAEF,KAAK,EACHA,EAAQ,CAAC,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,IAAM,CAAC,GAAI,EAAG,EAAG,IAAO,CAAC,GAAI,EAAG,GAAI,IAAO,CAAC,EAAG,KAClH,MAEF,KAAK,EACHA,EAAQ,CAAC,EAAE,IAAK,EAAG,EAAG,KAAO,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,IAAM,CAAC,GAAI,EAAG,EAAG,IAAO,EAAE,IAAK,EAAG,GAAI,IAAM,SAAU,CAAC,GAAI,EAAG,GAAI,KAAO,CAAC,EAAG,KACpK,MAEF,KAAK,EACHA,EAAQ,CAAC,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,IAAM,CAAC,GAAI,EAAG,EAAG,IAAO,CAAC,GAAI,EAAG,GAAI,KACvG,MAEF,KAAK,EACHA,EAAQ,CAAC,EAAE,IAAK,EAAG,EAAG,KAAO,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,IAAM,CAAC,GAAI,EAAG,EAAG,IAAO,EAAE,IAAK,EAAG,GAAI,IAAM,SAAU,CAAC,GAAI,EAAG,GAAI,KACzJ,MAEF,KAAK,EACHA,EAAQ,CAAC,EAAE,KAAM,EAAG,GAAI,IAAO,EAAE,KAAM,EAAG,EAAG,GAAM,EAAE,IAAK,EAAG,EAAG,GAAM,EAAE,IAAK,EAAG,EAAG,IAAM,EAAE,IAAK,EAAG,EAAG,IAAO,EAAE,GAAI,EAAG,EAAG,IAAO,EAAE,GAAI,EAAG,EAAG,IAAM,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,IAAK,EAAG,EAAG,GAAM,CAAC,IAAK,EAAG,EAAG,GAAM,CAAC,IAAK,EAAG,EAAG,IAAM,CAAC,KAAM,EAAG,GAAI,IAAM,EAAE,KAAM,EAAG,GAAI,GAAM,SAAU,CAAC,KAAM,EAAG,GAAI,KACzR,MAEF,KAAK,EACHA,EAAQ,CAAC,EAAE,KAAM,EAAG,EAAG,GAAM,EAAE,IAAK,EAAG,EAAG,GAAM,EAAE,IAAK,EAAG,EAAG,GAAM,EAAE,IAAK,EAAG,EAAG,IAAO,EAAE,GAAI,EAAG,EAAG,IAAO,EAAE,GAAI,EAAG,EAAG,IAAM,CAAC,EAAG,EAAG,EAAG,IAAM,CAAC,GAAI,EAAG,EAAG,IAAO,CAAC,GAAI,EAAG,EAAG,IAAO,CAAC,IAAK,EAAG,EAAG,IAAM,CAAC,IAAK,EAAG,EAAG,GAAM,CAAC,IAAK,EAAG,EAAG,GAAM,CAAC,KAAM,EAAG,GAAI,GAAM,EAAE,KAAM,EAAG,GAAI,GAAM,SAAU,CAAC,KAAM,EAAG,GAAI,KACvS,MAEF,KAAK,EACHA,EAAQ,CAAC,EAAE,GAAI,EAAG,EAAG,KAAO,EAAE,EAAG,EAAG,EAAG,KAAQ,EAAE,EAAG,EAAG,EAAG,KAAO,EAAE,EAAG,EAAG,EAAG,KAAQ,EAAE,EAAG,EAAG,EAAG,KAAO,EAAE,EAAG,EAAG,EAAG,IAAM,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,IAAO,CAAC,EAAG,EAAG,EAAG,IAAO,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,GAAI,EAAG,EAAG,IAAO,CAAC,GAAI,EAAG,EAAG,IAAM,CAAC,GAAI,EAAG,EAAG,IAAM,CAAC,GAAI,EAAG,EAAG,IAAO,CAAC,IAAK,EAAG,EAAG,IAAO,CAAC,IAAK,EAAG,EAAG,IAAO,CAAC,IAAK,EAAG,EAAG,KAAO,CAAC,IAAK,EAAG,GAAI,IAAO,EAAE,GAAI,EAAG,GAAI,IAAO,SAAU,CAAC,KAAM,EAAG,GAAI,KAAQ,CAAC,EAAG,IACpY,MAEF,KAAK,EACHA,EAAQ,CAAC,EAAE,GAAI,EAAG,EAAG,KAAO,EAAE,GAAI,EAAG,EAAG,KAAQ,EAAE,GAAI,EAAG,EAAG,KAAO,EAAE,EAAG,EAAG,EAAG,KAAQ,EAAE,EAAG,EAAG,EAAG,KAAO,EAAE,EAAG,EAAG,EAAG,IAAM,EAAE,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,IAAO,CAAC,EAAG,EAAG,EAAG,IAAO,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,GAAI,EAAG,EAAG,IAAO,CAAC,GAAI,EAAG,EAAG,IAAM,CAAC,GAAI,EAAG,EAAG,IAAM,CAAC,IAAK,EAAG,EAAG,IAAO,CAAC,IAAK,EAAG,EAAG,IAAO,CAAC,IAAK,EAAG,EAAG,IAAO,CAAC,IAAK,EAAG,EAAG,KAAO,CAAC,KAAM,EAAG,GAAI,IAAO,EAAE,GAAI,EAAG,GAAI,IAAO,SAAU,CAAC,KAAM,EAAG,GAAI,KAAQ,CAAC,EAAG,IACzZ,MAEF,KAAK,GACHA,EAAQ,CAAC,EAAE,GAAI,EAAG,EAAG,KAAO,EAAE,EAAG,EAAG,EAAG,KAAO,EAAE,EAAG,EAAG,EAAG,KAAO,EAAE,EAAG,EAAG,EAAG,IAAO,EAAE,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,IAAO,CAAC,EAAG,EAAG,EAAG,IAAO,CAAC,EAAG,EAAG,EAAG,KAAO,CAAC,EAAG,EAAG,EAAG,KAAO,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,GAAI,EAAG,EAAG,IAAO,CAAC,IAAK,EAAG,EAAG,IAAO,CAAC,IAAK,EAAG,EAAG,IAAO,CAAC,IAAK,EAAG,EAAG,IAAO,CAAC,IAAK,EAAG,EAAG,IAAO,CAAC,IAAK,EAAG,EAAG,IAAO,CAAC,KAAM,EAAG,GAAI,IAAO,CAAC,KAAM,EAAG,GAAI,KAAO,EAAE,GAAI,EAAG,GAAI,IAAM,SAAU,CAAC,KAAM,EAAG,GAAI,KAAO,CAAC,EAAG,IACxY,MAEF,KAAK,GACHA,EAAQ,CAAC,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,IAAM,CAAC,EAAG,EAAG,EAAG,IAAM,CAAC,EAAG,EAAG,EAAG,IAAO,CAAC,EAAG,EAAG,EAAG,IAAO,CAAC,GAAI,EAAG,EAAG,IAAO,CAAC,GAAI,EAAG,EAAG,KAAO,CAAC,GAAI,EAAG,EAAG,KAAO,CAAC,GAAI,EAAG,EAAG,KAAO,CAAC,GAAI,EAAG,EAAG,KAAO,CAAC,GAAI,EAAG,EAAG,KAAO,CAAC,IAAK,EAAG,GAAI,MACpO,MAEF,KAAK,GACHA,EAAQ,CAAC,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,IAAO,CAAC,EAAG,EAAG,EAAG,IAAO,CAAC,EAAG,EAAG,EAAG,IAAO,CAAC,GAAI,EAAG,EAAG,KAAO,CAAC,GAAI,EAAG,EAAG,KAAO,CAAC,GAAI,EAAG,EAAG,KAAO,CAAC,GAAI,EAAG,EAAG,KAAO,CAAC,GAAI,EAAG,EAAG,KAAO,CAAC,GAAI,EAAG,EAAG,KAAO,CAAC,GAAI,EAAG,GAAI,MACpO,MAEF,KAAK,GACHA,EAAQ,CAAC,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,IAAM,CAAC,EAAG,EAAG,EAAG,IAAO,CAAC,EAAG,EAAG,EAAG,IAAM,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,GAAI,EAAG,EAAG,IAAO,CAAC,GAAI,EAAG,EAAG,IAAO,CAAC,GAAI,EAAG,EAAG,IAAO,CAAC,GAAI,EAAG,EAAG,IAAO,CAAC,GAAI,EAAG,EAAG,IAAO,CAAC,GAAI,EAAG,EAAG,KAAO,CAAC,IAAK,EAAG,GAAI,MACnO,MAEF,KAAK,GACHA,EAAQ,CAAC,EAAE,EAAG,EAAG,EAAG,GAAM,EAAE,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,IACrF,MAEF,KAAK,GACHA,EAAQ,CAAC,EAAE,GAAI,EAAG,EAAG,KAAO,EAAE,EAAG,EAAG,EAAG,IAAO,EAAE,EAAG,EAAG,EAAG,IAAO,EAAE,EAAG,EAAG,EAAG,IAAM,EAAE,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,GAAM,CAAC,EAAG,EAAG,EAAG,IAAM,CAAC,EAAG,EAAG,EAAG,IAAO,CAAC,EAAG,EAAG,EAAG,IAAO,CAAC,EAAG,EAAG,EAAG,KAAO,EAAE,GAAI,EAAG,GAAI,IAAM,SAAU,CAAC,GAAI,EAAG,GAAI,MAC9O,MAEF,QACE,MAAM,IAAI3M,EAAW,oBAAoB9oB,oBAG7C,IAAK,IAAIzuB,EAAI,EAAGikB,EAAKigC,EAAMx/C,OAAQ1E,EAAIikB,EAAIjkB,IACzCkkD,EAAMlkD,GAAK,IAAIqjD,EAAYa,EAAMlkD,IAKnC,OAFAgvC,EAAQ,IAAIiV,EAAaC,GAAO,GAChCsG,EAAoB/7B,GAAUugB,EACvBA,CACT,CAEA,SAASwK,EAAO91C,EAAM+D,EAAOkhB,GAC3BlmB,KAAKiB,KAAOA,EACZjB,KAAKgF,MAAQA,EACbhF,KAAKkmB,IAAMA,EACXlmB,KAAKgoB,SAAWhjB,EAChBhF,KAAKg3B,OAAS,EACdh3B,KAAKgoD,YAAc,CACrB,CA2CA,SAAS5E,EAAsBt2C,EAAO8vC,EAAYiG,GAChD,IAAIzpB,EAAe,EAEnB,IAAK,IAAI77B,EAAI,EAAGikB,EAAKo7B,EAAW36C,OAAQ1E,EAAIikB,EAAIjkB,IAAK,CACnD,MAAMgvC,EAAQsW,EAAajG,EAAWr/C,IAEtC,GAAIgvC,EAAO,CACT,GAAIz/B,IAAUssB,EACZ,OAAOmT,EAGTnT,GACF,CACF,CAEA,MAAM,IAAI0b,EAAW,kCACvB,CAiLA,SAASuP,EAAuBc,EAAQ3O,EAAOC,GAC7C,MAAMW,EAAS,GAEf,IAAK,IAAIpB,EAAI,EAAGA,EAAIS,EAAQT,IAAK,CAC/B,MAAM7C,EAAM,IAAIjyC,WAAWs1C,GAC3BY,EAAOp1C,KAAKmxC,GAEZ,IAAK,IAAI5mB,EAAI,EAAGA,EAAIiqB,EAAOjqB,IACzB4mB,EAAI5mB,GAAK44B,EAAO1P,UAGlB0P,EAAOvS,WACT,CAEA,OAAOwE,CACT,CAEA,SAASN,EAAgB/G,EAAOyG,EAAOC,EAAQwR,GAC7C,MAAM7qB,EAAS,CACbuU,GAAI,EACJG,QAAS0E,EACTzE,KAAM0E,EACNxE,UAAU,EACVD,WAAYiW,GAER7S,EAAU,IAAI5D,EAAOE,gBAAgB3B,EAAO3S,GAC5Cga,EAAS,GACf,IAAI4Q,EACA9c,GAAM,EAEV,IAAK,IAAI8K,EAAI,EAAGA,EAAIS,EAAQT,IAAK,CAC/B,MAAM7C,EAAM,IAAIjyC,WAAWs1C,GAC3BY,EAAOp1C,KAAKmxC,GACZ,IAAInc,GAAS,EAEb,IAAK,IAAIzK,EAAI,EAAGA,EAAIiqB,EAAOjqB,IACrByK,EAAQ,IACVgxB,EAAc5S,EAAQlD,gBAED,IAAjB8V,IACFA,EAAc,EACd9c,GAAM,GAGRlU,EAAQ,GAGVmc,EAAI5mB,GAAKy7B,GAAehxB,EAAQ,EAChCA,GAEJ,CAEA,GAAIixB,IAAe/c,EAAK,CACtB,MAAMgd,EAAkB,EAExB,IAAK,IAAI3qD,EAAI,EAAGA,EAAI2qD,IACc,IAA5B9S,EAAQlD,eADuB30C,KAKvC,CAEA,OAAO65C,CACT,CAEA,SAAS3C,IAAc,CAmBvB,OA9TAsC,EAAO73C,UAAY,CACjBu2C,UACE,GAAIz1C,KAAKg3B,MAAQ,EAAG,CAClB,GAAIh3B,KAAKgoB,UAAYhoB,KAAKkmB,IACxB,MAAM,IAAI4uB,EAAW,iCAGvB90C,KAAKgoD,YAAchoD,KAAKiB,KAAKjB,KAAKgoB,YAClChoB,KAAKg3B,MAAQ,CACf,CAEA,MAAMwe,EAAMx1C,KAAKgoD,aAAehoD,KAAKg3B,MAAQ,EAE7C,OADAh3B,KAAKg3B,QACEwe,CACT,EAEAzE,SAASoX,GACP,IACI5qD,EADAyjB,EAAS,EAGb,IAAKzjB,EAAI4qD,EAAU,EAAG5qD,GAAK,EAAGA,IAC5ByjB,GAAUhhB,KAAKy1C,WAAal4C,EAG9B,OAAOyjB,CACT,EAEA4xB,YACE5yC,KAAKg3B,OAAS,CAChB,EAEAuF,OACE,OAAIv8B,KAAKgoB,UAAYhoB,KAAKkmB,KAChB,EAGHlmB,KAAKiB,KAAKjB,KAAKgoB,WACxB,GAwQFysB,EAAWv1C,UAAY,CACrB01C,YAAYptB,GApyBd,SAA0BA,GAGxB,IAFA,IAAIk2B,EAAU,IAAIiD,EAETpjD,EAAI,EAAGikB,EAAKgG,EAAOvlB,OAAQ1E,EAAIikB,EAAIjkB,IAAK,CAC/C,IAAIyO,EAAQwb,EAAOjqB,GAEnBmjD,EADetD,EAAa,CAAC,EAAGpxC,EAAM/K,KAAM+K,EAAMhH,MAAOgH,EAAMka,KACrCw3B,EAC5B,CAEA,OAAOA,EAAQv+B,MACjB,CA2xBWipC,CAAiB5gC,GAG1B0K,MAAMjxB,GACJ,MAAM,QACJonD,EAAO,MACP7R,EAAK,OACLC,GAhyBN,SAAoBx1C,GAClB,MAAMilB,EAAMjlB,EAAKgB,OACjB,IAAI+lB,EAAW,EAEf,GAAuB,MAAnB/mB,EAAK+mB,IAA6C,KAAvB/mB,EAAK+mB,EAAW,IAAsC,KAAvB/mB,EAAK+mB,EAAW,IAAsC,KAAvB/mB,EAAK+mB,EAAW,IAAsC,KAAvB/mB,EAAK+mB,EAAW,IAAsC,KAAvB/mB,EAAK+mB,EAAW,IAAsC,KAAvB/mB,EAAK+mB,EAAW,IAAsC,KAAvB/mB,EAAK+mB,EAAW,GACvO,MAAM,IAAI8sB,EAAW,gCAGvB,MAAMuI,EAASr/C,OAAOY,OAAO,MAC7BopB,GAAY,EACZ,MAAMsP,EAAQr2B,EAAK+mB,KACnBq1B,EAAOG,eAAyB,EAARlmB,GAEV,EAARA,IACJ+lB,EAAOiL,eAAgB,EAAIvoD,EAAY4sB,YAAY1rB,EAAM+mB,GACzDA,GAAY,GAGd,MAAMs1B,EAAWF,EAAaC,EAAQp8C,EAAM+mB,EAAU9B,GAChDw3B,EAAU,IAAIiD,EACpBD,EAAgBpD,EAAUI,GAC1B,MAAM,MACJlH,EAAK,OACLC,GACEiH,EAAQqE,gBACNwG,EAAY7K,EAAQv+B,OACpBkpC,EAAU,IAAIz/B,kBAAkB4tB,EAAQC,GAC9C,IAAIxF,EAAI,EACJlD,EAAI,EAER,IAAK,IAAIxwC,EAAI,EAAGA,EAAIk5C,EAAQl5C,IAAK,CAC/B,IACI4hB,EADAgjC,EAAO,EAGX,IAAK,IAAItwB,EAAI,EAAGA,EAAI2kB,EAAO3kB,IACpBswB,IACHA,EAAO,IACPhjC,EAASopC,EAAUxa,MAGrBsa,EAAQpX,KAAO9xB,EAASgjC,EAAO,EAAI,IACnCA,IAAS,CAEb,CAEA,MAAO,CACLkG,UACA7R,QACAC,SAEJ,CA+uBQ+R,CAAWvnD,GAGf,OAFAjB,KAAKw2C,MAAQA,EACbx2C,KAAKy2C,OAASA,EACP4R,CACT,GAGK5T,CACT,CAjoEiB,GAmoEjBp3C,EAAQo3C,WAAaA,CAEd,EAED,SAAUn3C,EAAQD,EAASF,GAEjC,aAGAa,OAAOC,eAAeZ,EAAS,aAAc,CAC3CkB,OAAO,IAETlB,EAAQu4C,uBAAoB,EAC5B,MAAM6S,EAAU,CAAC,CACfC,GAAI,MACJC,KAAM,EACNC,KAAM,EACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,EACNC,KAAM,EACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,EACNC,KAAM,EACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,EACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,EACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,EACNC,KAAM,EACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,EACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,EACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,GACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,GACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,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M,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,EAAM,IAAM,GAAM,IAAM,GAAM,IAAM,EAAM,IAAM,EAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,EAAM,IAAM,GAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,EAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,KACphDlB,KAAK2tE,OAAS,IAAIzsE,WAAW,CAAC,GAAM,EAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,EAAM,IAAM,IAAM,IAAM,EAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,EAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,GAAM,MACxhDlB,KAAK4tE,KAAO,IAAI1uD,YAAY,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,WAAY,WAAY,WAA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AAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,QAAS,KAAM,KAAM,OAAQ,KAAM,KAAM,KAAM,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,GAAI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,GAAI,OAAQ,O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M,IACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,MACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,MACVA,EAAE,MAA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N,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,MAEN,CACCD,MAAO,KACPC,IAAK,OAEN,CACCD,MAAO,MACPC,IAAK,OAEN,CACCD,MAAO,MACPC,IAAK,OAEN,CACCD,MAAO,MACPC,IAAK,OAEN,CACCD,MAAO,MACPC,IAAK,OAEN,CACCD,MAAO,MACPC,IAAK,OAEN,CACCD,MAAO,MACPC,IAAK,OAEN,CACCD,MAAO,MACPC,IAAK,OAEN,CACCD,MAAO,MACPC,IAAK,OAEN,CACCD,MAAO,MACPC,IAAK,OAEN,CACCD,MAAO,MACPC,IAAK,OAEN,CACCD,MAAO,MACPC,IAAK,OAEN,CACCD,MAAO,MACPC,IAAK,OAEN,CACCD,MAAO,MACPC,IAAK,OAEN,CACCD,MAAO,MACPC,IAAK,OAEN,CACCD,MAAO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,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,OACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,UACdA,EAAE,KAAY,SACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACf,IAYAnB,EAAQ4+G,wBAp5DR,SAAiC90G,GAChC,OAAIA,GAAQ,OAAUA,GAAQ,MACtB,EACGA,GAAQ,OAAUA,GAAQ,MAC7B4+P,IAAuB5+P,IAASA,EACpB,MAATA,EACH,GAEDA,CACR,EA44DA9J,EAAQs4F,aAZR,SAAsB7G,GACrB,IA/2CsBvwF,EAClBusB,EA82CAm7O,EAAcn3K,EAAM7sF,OACxB,GAAIgkQ,GAAe,MAh3CG1nQ,EAg3CiBuwF,EAAMpgF,WAAW,MA/2CpDoc,EAAQk7O,EAAc,KACP//O,OAAS1nB,EAAQusB,EAAM5E,KAItC3nB,IADJusB,EAAQk7O,EAAc,KACH//O,OAAS1nB,EAAQusB,EAAM5E,KA22CzC,OAAO4oE,EAGR,IADA,IAAIzvF,EAAI,GACCmiB,EAAKykP,EAAc,EAAGzkP,GAAM,EAAGA,IACvCniB,GAAKyvF,EAAMttE,GAEZ,OAAOniB,CACR,EAGAhC,EAAQqxG,mBAp4CR,SAA4BnwG,GAC3B,IAAK,IAAIhB,EAAI,EAAGikB,EAAKwkP,EAAc/jQ,OAAQ1E,EAAIikB,EAAIjkB,IAAK,CACvD,IAAIutB,EAAQk7O,EAAczoQ,GAC1B,GAAIgB,GAASusB,EAAM7E,OAAS1nB,EAAQusB,EAAM5E,IACzC,OAAO3oB,CAET,CACA,OAAQ,CACT,EA63CAF,EAAQq4F,sBAAwBA,EAChCr4F,EAAQ48F,mBA94DR,SAA4Bp8F,EAAMi8F,GACjC,IAAItE,EAAUsE,EAAiBj8F,GAC/B,QAAgB2N,IAAZgqF,EACH,OAAOA,EAER,IAAK33F,EACJ,OAAQ,EAET,GAAgB,MAAZA,EAAK,GAAY,CACpB,IAA2BqoQ,EAAvBC,EAAUtoQ,EAAKoE,OACnB,GAAgB,IAAZkkQ,GAA6B,MAAZtoQ,EAAK,IAA0B,MAAZA,EAAK,GAC5CqoQ,EAASroQ,EAAKs1B,UAAU,OAClB,MAAIgzO,GAAW,GAAKA,GAAW,GAGrC,OAAQ,EAFRD,EAASroQ,EAAKs1B,UAAU,EAGzB,CACA,GAAI+yO,IAAWA,EAAOE,gBACrB5wK,EAAUxiE,SAASkzO,EAAQ,MACZ,EACd,OAAO1wK,CAGV,CACA,OAAQ,CACT,CAu3DO,EAED,SAAUl4F,EAAQD,EAASF,GAEjC,aAGAa,OAAOC,eAAeZ,EAAS,aAAc,CAC3CkB,OAAO,IAETlB,EAAQyyG,yBAAsB,EAE9B,IAAIrwG,EAAQtC,EAAoB,GAE5B6qG,EAAc7qG,EAAoB,IAElCwsF,EAAaxsF,EAAoB,IAEjCmsF,EAAansF,EAAoB,IAEjCooB,EAAUpoB,EAAoB,IAE9B2yG,EAAsB,WACxB,SAASu2J,EAAQplQ,EAAMwrB,GACrB,OAAOxrB,EAAKwrB,IAAW,GAAKxrB,EAAKwrB,EAAS,IAAM,GAAKxrB,EAAKwrB,EAAS,IAAM,EAAIxrB,EAAKwrB,EAAS,EAC7F,CAEA,SAAS65O,EAAUrlQ,EAAMwrB,GACvB,OAAOxrB,EAAKwrB,IAAW,EAAIxrB,EAAKwrB,EAAS,EAC3C,CAEA,SAAS85O,EAAkB7oJ,GACzB,MAAM8oJ,EAAW9oJ,EAAMz7G,OACvB,IAAIwrG,EAAO,MAQX,OANI+4J,EAAW,KACb/4J,EAAO,IACE+4J,EAAW,QACpB/4J,EAAO,MAGFA,CACT,CAEA,SAASg5J,EAAUxlQ,EAAM+D,EAAOkhB,GAC9B,IAEI2E,EAAQzrB,EAAG7B,EAFXkvB,EAAwC,IAA/B65O,EAAUrlQ,EAAM+D,EAAQ,GAAWqhQ,EAAQplQ,EAAM+D,EAAQ,GAAKqhQ,EAAQplQ,EAAM+D,EAAQ,IAC7F8zG,EAASwtJ,EAAUrlQ,EAAM+D,EAAQynB,GAGrC,GAAe,IAAXqsF,EAAc,CAChBwtJ,EAAUrlQ,EAAM+D,EAAQynB,EAAS,GACjC,IAAI0gF,EAAWm5J,EAAUrlQ,EAAM+D,EAAQynB,EAAS,IAAM,EAItD,IAHArtB,EAAI4F,EAAQynB,EAAS,GACrB5B,EAAS,GAEJttB,EAAI,EAAGA,EAAI4vG,EAAU5vG,IAAK6B,GAAK,EAClCyrB,EAAOttB,GAAK,CACV2oB,IAAKogP,EAAUrlQ,EAAM7B,IAMzB,IAFAA,GAAK,EAEA7B,EAAI,EAAGA,EAAI4vG,EAAU5vG,IAAK6B,GAAK,EAClCyrB,EAAOttB,GAAGyH,MAAQshQ,EAAUrlQ,EAAM7B,GAGpC,IAAK7B,EAAI,EAAGA,EAAI4vG,EAAU5vG,IAAK6B,GAAK,EAClCyrB,EAAOttB,GAAGmpQ,QAAUJ,EAAUrlQ,EAAM7B,GAGtC,IAAK7B,EAAI,EAAGA,EAAI4vG,EAAU5vG,IAAK6B,GAAK,EAAG,CACrC,IAAIunQ,EAAWL,EAAUrlQ,EAAM7B,GAE/B,GAAiB,IAAbunQ,EAAJ,CAIA97O,EAAOttB,GAAGshC,IAAM,GAEhB,IAAK,IAAIhN,EAAI,EAAGiI,EAAKjP,EAAOttB,GAAG2oB,IAAM2E,EAAOttB,GAAGyH,MAAQ,EAAG6sB,EAAIiI,EAAIjI,IAChEhH,EAAOttB,GAAGshC,IAAIhN,GAAKy0O,EAAUrlQ,EAAM7B,EAAIunQ,GACvCA,GAAY,CANd,CAQF,CAEA,OAAO97O,CACT,CAAO,GAAe,KAAXiuF,EAAe,CACxButJ,EAAQplQ,EAAM+D,EAAQynB,EAAS,GAC/B,IAAIm6O,EAASP,EAAQplQ,EAAM+D,EAAQynB,EAAS,IAI5C,IAHArtB,EAAI4F,EAAQynB,EAAS,GACrB5B,EAAS,GAEJttB,EAAI,EAAGA,EAAIqpQ,EAAQrpQ,IACtBstB,EAAO7oB,KAAK,CACVgD,MAAOqhQ,EAAQplQ,EAAM7B,GACrB8mB,IAAKmgP,EAAQplQ,EAAM7B,EAAI,GACvBsnQ,QAASL,EAAQplQ,EAAM7B,EAAI,GAAKinQ,EAAQplQ,EAAM7B,KAEhDA,GAAK,GAGP,OAAOyrB,CACT,CAEA,MAAM,IAAIprB,EAAM8P,YAAY,qBAAqBupG,IACnD,CAEA,SAAS+tJ,EAAS5lQ,EAAM+D,EAAOkhB,EAAK65F,GAClC,IAEIzU,EADS,IAAItD,EAAYgS,UAAU,IAAIz0F,EAAQY,OAAOllB,EAAM+D,EAAOkhB,EAAMlhB,GAD5D,CAAC,EAC+E+6G,GAChF7tF,QACjB,MAAO,CACL68D,OAAQuc,EAAIuT,YAAYiG,QACxBpH,MAAOpS,EAAIjpE,QAAQy8E,aAAexT,EAAIjpE,QAAQy8E,YAAYK,YAAc7T,EAAIjpE,QAAQy8E,YAAYK,WAAW2F,QAC3GgiJ,OAAQx7J,EAAIiT,iBAAmBjT,EAAIiT,gBAAgBuG,QACnDiiJ,aAAcz7J,EAAI+T,UAClB8B,SAAU7V,EAAI6V,SACdF,QAAS3V,EAAI2V,QAEjB,CA+BA,SAAS+lJ,EAAWn8O,EAAQ2qE,GAM1B,IALA,IAAIruF,EAAOquF,EAAQyxK,YAAY,GAC3B3iJ,EAAM,EACN9mH,EAAI,EACJY,EAAIysB,EAAO5oB,OAAS,EAEjBzE,EAAIY,GAAG,CACZ,IAAIT,EAAIH,EAAIY,EAAI,GAAK,EAEjB+I,EAAO0jB,EAAOltB,GAAGqH,MACnB5G,EAAIT,EAAI,EAERH,EAAIG,CAER,CAMA,OAJIktB,EAAOrtB,GAAGwH,OAASmC,GAAQA,GAAQ0jB,EAAOrtB,GAAG0oB,MAC/Co+F,EAAMz5F,EAAOrtB,GAAGkpQ,SAAW77O,EAAOrtB,GAAGqhC,IAAMhU,EAAOrtB,GAAGqhC,IAAI13B,EAAO0jB,EAAOrtB,GAAGwH,OAASmC,GAAQ,OAGtF,CACLm0F,SAAUn0F,EACVwlG,QAAS2X,EAEb,CAEA,SAAS4iJ,EAAY//P,EAAMggQ,EAAMxpP,GAC/B,SAASpF,EAAOgU,EAAGypB,GACjBmxN,EAAKnlQ,KAAK,CACRsgB,IAAK,SACLuD,KAAM,CAAC0G,EAAGypB,IAEd,CAEA,SAASx9B,EAAO+T,EAAGypB,GACjBmxN,EAAKnlQ,KAAK,CACRsgB,IAAK,SACLuD,KAAM,CAAC0G,EAAGypB,IAEd,CAEA,SAASoxN,EAAiBC,EAAIC,EAAI/6O,EAAGypB,GACnCmxN,EAAKnlQ,KAAK,CACRsgB,IAAK,mBACLuD,KAAM,CAACwhP,EAAIC,EAAI/6O,EAAGypB,IAEtB,CAEA,IAEI1e,EAFA/5B,EAAI,EACJgqQ,GAAoBpgQ,EAAK5J,IAAM,GAAK4J,EAAK5J,EAAI,IAAM,KAAO,GAE1DgvB,EAAI,EACJypB,EAAI,EAGR,GAFAz4C,GAAK,GAEDgqQ,EAAmB,EACrB,EAAG,CACDjwO,EAAQnwB,EAAK5J,IAAM,EAAI4J,EAAK5J,EAAI,GAChC,IAEIiqQ,EAAMC,EAFNhiJ,EAAat+G,EAAK5J,EAAI,IAAM,EAAI4J,EAAK5J,EAAI,GAC7CA,GAAK,EAGO,EAAR+5B,GACFkwO,GAAQrgQ,EAAK5J,IAAM,GAAK4J,EAAK5J,EAAI,IAAM,KAAO,GAC9CkqQ,GAAQtgQ,EAAK5J,EAAI,IAAM,GAAK4J,EAAK5J,EAAI,IAAM,KAAO,GAClDA,GAAK,IAELiqQ,EAAOrgQ,EAAK5J,KACZkqQ,EAAOtgQ,EAAK5J,MAGF,EAAR+5B,GACF/K,EAAIi7O,EACJxxN,EAAIyxN,IAEJl7O,EAAI,EACJypB,EAAI,GAGN,IAAIod,EAAS,EACTC,EAAS,EACTq0M,EAAU,EACVC,EAAU,EAEF,EAARrwO,GACF87B,EAASC,GAAUlsD,EAAK5J,IAAM,GAAK4J,EAAK5J,EAAI,IAAM,IAAM,WACxDA,GAAK,GACY,GAAR+5B,GACT87B,GAAUjsD,EAAK5J,IAAM,GAAK4J,EAAK5J,EAAI,IAAM,IAAM,WAC/C81D,GAAUlsD,EAAK5J,EAAI,IAAM,GAAK4J,EAAK5J,EAAI,IAAM,IAAM,WACnDA,GAAK,GACY,IAAR+5B,IACT87B,GAAUjsD,EAAK5J,IAAM,GAAK4J,EAAK5J,EAAI,IAAM,IAAM,WAC/CmqQ,GAAWvgQ,EAAK5J,EAAI,IAAM,GAAK4J,EAAK5J,EAAI,IAAM,IAAM,WACpDoqQ,GAAWxgQ,EAAK5J,EAAI,IAAM,GAAK4J,EAAK5J,EAAI,IAAM,IAAM,WACpD81D,GAAUlsD,EAAK5J,EAAI,IAAM,GAAK4J,EAAK5J,EAAI,IAAM,IAAM,WACnDA,GAAK,GAGP,IAAIqqQ,EAAWjqP,EAAKoxE,OAAO02B,GAEvBmiJ,IACFT,EAAKnlQ,KAAK,CACRsgB,IAAK,SAEP6kP,EAAKnlQ,KAAK,CACRsgB,IAAK,YACLuD,KAAM,CAACutC,EAAQs0M,EAASC,EAASt0M,EAAQ9mC,EAAGypB,KAE9CkxN,EAAYU,EAAUT,EAAMxpP,GAC5BwpP,EAAKnlQ,KAAK,CACRsgB,IAAK,YAGX,OAAiB,GAARgV,OACJ,CACL,IACIzF,EAAGiI,EADH+tO,EAAmB,GAGvB,IAAKh2O,EAAI,EAAGA,EAAI01O,EAAkB11O,IAChCg2O,EAAiB7lQ,KAAKmF,EAAK5J,IAAM,EAAI4J,EAAK5J,EAAI,IAC9CA,GAAK,EAIPA,GAAK,GADmB4J,EAAK5J,IAAM,EAAI4J,EAAK5J,EAAI,IAKhD,IAHA,IAAIuqQ,EAAiBD,EAAiBA,EAAiB5lQ,OAAS,GAAK,EACjE8lQ,EAAS,GAENA,EAAO9lQ,OAAS6lQ,GAAgB,CAErC,IAAIp1J,EAAS,EAMb,IAJY,GAHZp7E,EAAQnwB,EAAK5J,QAIXm1G,GAAUvrG,EAAK5J,MAGVm1G,KAAW,GAChBq1J,EAAO/lQ,KAAK,CACVs1B,SAGN,CAEA,IAAKzF,EAAI,EAAGA,EAAIi2O,EAAgBj2O,IAAK,CACnC,OAA0B,GAAlBk2O,EAAOl2O,GAAGyF,OAChB,KAAK,EACH/K,IAAMplB,EAAK5J,IAAM,GAAK4J,EAAK5J,EAAI,IAAM,KAAO,GAC5CA,GAAK,EACL,MAEF,KAAK,EACHgvB,GAAKplB,EAAK5J,KACV,MAEF,KAAK,GACHgvB,GAAKplB,EAAK5J,KAIdwqQ,EAAOl2O,GAAGtF,EAAIA,CAChB,CAEA,IAAKsF,EAAI,EAAGA,EAAIi2O,EAAgBj2O,IAAK,CACnC,OAA0B,GAAlBk2O,EAAOl2O,GAAGyF,OAChB,KAAK,EACH0e,IAAM7uC,EAAK5J,IAAM,GAAK4J,EAAK5J,EAAI,IAAM,KAAO,GAC5CA,GAAK,EACL,MAEF,KAAK,EACHy4C,GAAK7uC,EAAK5J,KACV,MAEF,KAAK,GACHy4C,GAAK7uC,EAAK5J,KAIdwqQ,EAAOl2O,GAAGmkB,EAAIA,CAChB,CAEA,IAAIgyN,EAAa,EAEjB,IAAKzqQ,EAAI,EAAGA,EAAIgqQ,EAAkBhqQ,IAAK,CACrC,IAAI0qQ,EAAWJ,EAAiBtqQ,GAC5B2qQ,EAAUH,EAAOhoP,MAAMioP,EAAYC,EAAW,GAElD,GAAuB,EAAnBC,EAAQ,GAAG5wO,MACb4wO,EAAQlmQ,KAAKkmQ,EAAQ,SAChB,GAAwC,EAApCA,EAAQA,EAAQjmQ,OAAS,GAAGq1B,MACrC4wO,EAAQxlL,QAAQwlL,EAAQA,EAAQjmQ,OAAS,QACpC,CACL,IAAI7C,EAAI,CACNk4B,MAAO,EACP/K,GAAI27O,EAAQ,GAAG37O,EAAI27O,EAAQA,EAAQjmQ,OAAS,GAAGsqB,GAAK,EACpDypB,GAAIkyN,EAAQ,GAAGlyN,EAAIkyN,EAAQA,EAAQjmQ,OAAS,GAAG+zC,GAAK,GAEtDkyN,EAAQxlL,QAAQtjF,GAChB8oQ,EAAQlmQ,KAAK5C,EACf,CAIA,IAFAmZ,EAAO2vP,EAAQ,GAAG37O,EAAG27O,EAAQ,GAAGlyN,GAE3BnkB,EAAI,EAAGiI,EAAKouO,EAAQjmQ,OAAQ4vB,EAAIiI,EAAIjI,IAChB,EAAnBq2O,EAAQr2O,GAAGyF,MACb9e,EAAO0vP,EAAQr2O,GAAGtF,EAAG27O,EAAQr2O,GAAGmkB,GACA,EAAvBkyN,EAAQr2O,EAAI,GAAGyF,OACxB8vO,EAAiBc,EAAQr2O,GAAGtF,EAAG27O,EAAQr2O,GAAGmkB,EAAGkyN,EAAQr2O,EAAI,GAAGtF,EAAG27O,EAAQr2O,EAAI,GAAGmkB,GAC9EnkB,KAEAu1O,EAAiBc,EAAQr2O,GAAGtF,EAAG27O,EAAQr2O,GAAGmkB,GAAIkyN,EAAQr2O,GAAGtF,EAAI27O,EAAQr2O,EAAI,GAAGtF,GAAK,GAAI27O,EAAQr2O,GAAGmkB,EAAIkyN,EAAQr2O,EAAI,GAAGmkB,GAAK,GAI5HgyN,EAAaC,EAAW,CAC1B,CACF,CACF,CAEA,SAASE,EAAkBC,EAAgBjB,EAAMxpP,EAAMgvF,GACrD,SAASp0F,EAAOgU,EAAGypB,GACjBmxN,EAAKnlQ,KAAK,CACRsgB,IAAK,SACLuD,KAAM,CAAC0G,EAAGypB,IAEd,CAEA,SAASx9B,EAAO+T,EAAGypB,GACjBmxN,EAAKnlQ,KAAK,CACRsgB,IAAK,SACLuD,KAAM,CAAC0G,EAAGypB,IAEd,CAEA,SAASqyN,EAAcjyM,EAAIK,EAAIjtB,EAAIs8B,EAAIv5C,EAAGypB,GACxCmxN,EAAKnlQ,KAAK,CACRsgB,IAAK,gBACLuD,KAAM,CAACuwC,EAAIK,EAAIjtB,EAAIs8B,EAAIv5C,EAAGypB,IAE9B,CAEA,IAAImwD,EAAQ,GACR55E,EAAI,EACJypB,EAAI,EACJsyN,EAAQ,GAEZ,SAASp2O,EAAM/qB,GAGb,IAFA,IAAI5J,EAAI,EAEDA,EAAI4J,EAAKlF,QAAQ,CACtB,IAEIolQ,EAAIkB,EAAIjB,EAAIkB,EAAI/xM,EAAIqP,EAAQ/mE,EAAG0pQ,EAF/BC,GAAa,EACbl8P,EAAIrF,EAAK5J,KAGb,OAAQiP,GACN,KAAK,EAKL,KAAK,EA0ML,KAAK,GA8BL,KAAK,GACH87P,GAASniK,EAAMlkG,QAAU,EACzBymQ,GAAa,EACb,MAtOF,KAAK,EACH1yN,GAAKmwD,EAAM1pE,MACXlkB,EAAOgU,EAAGypB,GACV0yN,GAAa,EACb,MAEF,KAAK,EACH,KAAOviK,EAAMlkG,OAAS,GACpBsqB,GAAK45E,EAAMnvE,QACXgf,GAAKmwD,EAAMnvE,QACXxe,EAAO+T,EAAGypB,GAGZ,MAEF,KAAK,EACH,KAAOmwD,EAAMlkG,OAAS,IAEpBuW,EADA+T,GAAK45E,EAAMnvE,QACDgf,GAEW,IAAjBmwD,EAAMlkG,SAIV+zC,GAAKmwD,EAAMnvE,QACXxe,EAAO+T,EAAGypB,GAGZ,MAEF,KAAK,EACH,KAAOmwD,EAAMlkG,OAAS,IACpB+zC,GAAKmwD,EAAMnvE,QACXxe,EAAO+T,EAAGypB,GAEW,IAAjBmwD,EAAMlkG,SAKVuW,EADA+T,GAAK45E,EAAMnvE,QACDgf,GAGZ,MAEF,KAAK,EACH,KAAOmwD,EAAMlkG,OAAS,GACpBolQ,EAAK96O,EAAI45E,EAAMnvE,QACfswO,EAAKtxN,EAAImwD,EAAMnvE,QACfuxO,EAAKlB,EAAKlhK,EAAMnvE,QAChBwxO,EAAKlB,EAAKnhK,EAAMnvE,QAChBzK,EAAIg8O,EAAKpiK,EAAMnvE,QACfgf,EAAIwyN,EAAKriK,EAAMnvE,QACfqxO,EAAchB,EAAIC,EAAIiB,EAAIC,EAAIj8O,EAAGypB,GAGnC,MAEF,KAAK,GAIH,GAHAj3C,EAAIonG,EAAM1pE,MACVgsO,EAAW,KAEP9qP,EAAKopP,aAAc,CACrB,MAAMjkJ,EAAUnlG,EAAKwjG,SAAS4B,WAAWpW,GAEzC,GAAImW,GAAW,GAAKA,EAAUnlG,EAAKsjG,QAAQh/G,OAAQ,CACjD,MAAM++G,EAAWrjG,EAAKsjG,QAAQ6B,GAC9B,IAAIpF,EAEAsD,EAASlC,aAAekC,EAASlC,YAAYK,aAC/CzB,EAAQsD,EAASlC,YAAYK,WAAW2F,SAGtCpH,IAEF+qJ,EAAW/qJ,EADX3+G,GAAKwnQ,EAAkB7oJ,IAG3B,MACE,EAAIj+G,EAAMgK,MAAM,oCAEpB,MACEg/P,EAAW9qP,EAAK+/F,MAAM3+G,EAAI4e,EAAKgrP,WAG7BF,GACFv2O,EAAMu2O,GAGR,MAEF,KAAK,GACH,OAEF,KAAK,GAGH,OAFAj8P,EAAIrF,EAAK5J,MAGP,KAAK,GAEHgrQ,GADAlB,EAAK96O,EAAI45E,EAAMnvE,SACLmvE,EAAMnvE,QAChBy/B,EAAKzgB,EAAImwD,EAAMnvE,QACfzK,EAAIg8O,EAAKpiK,EAAMnvE,QACfqxO,EAAchB,EAAIrxN,EAAGuyN,EAAI9xM,EAAIlqC,EAAGkqC,GAEhC8xM,GADAlB,EAAK96O,EAAI45E,EAAMnvE,SACLmvE,EAAMnvE,QAChBzK,EAAIg8O,EAAKpiK,EAAMnvE,QACfqxO,EAAchB,EAAI5wM,EAAI8xM,EAAIvyN,EAAGzpB,EAAGypB,GAChC,MAEF,KAAK,GACHqxN,EAAK96O,EAAI45E,EAAMnvE,QACfswO,EAAKtxN,EAAImwD,EAAMnvE,QACfuxO,EAAKlB,EAAKlhK,EAAMnvE,QAChBwxO,EAAKlB,EAAKnhK,EAAMnvE,QAChBzK,EAAIg8O,EAAKpiK,EAAMnvE,QACfgf,EAAIwyN,EAAKriK,EAAMnvE,QACfqxO,EAAchB,EAAIC,EAAIiB,EAAIC,EAAIj8O,EAAGypB,GACjCqxN,EAAK96O,EAAI45E,EAAMnvE,QACfswO,EAAKtxN,EAAImwD,EAAMnvE,QACfuxO,EAAKlB,EAAKlhK,EAAMnvE,QAChBwxO,EAAKlB,EAAKnhK,EAAMnvE,QAChBzK,EAAIg8O,EAAKpiK,EAAMnvE,QACfgf,EAAIwyN,EAAKriK,EAAMnvE,QACfqxO,EAAchB,EAAIC,EAAIiB,EAAIC,EAAIj8O,EAAGypB,GACjCmwD,EAAM1pE,MACN,MAEF,KAAK,GAMH4rO,EALAhB,EAAK96O,EAAI45E,EAAMnvE,QACfy/B,EAAKzgB,EAAImwD,EAAMnvE,QACfuxO,EAAKlB,EAAKlhK,EAAMnvE,QAChB8uC,EAAKrP,EAAK0vC,EAAMnvE,QAChBzK,EAAIg8O,EAAKpiK,EAAMnvE,QACkB8uC,GAKjCuiM,EAJAhB,EAAK96O,EAAI45E,EAAMnvE,QAIG8uC,EAHlByiM,EAAKlB,EAAKlhK,EAAMnvE,QACX8uC,EAAKqgC,EAAMnvE,QAChBzK,EAAIg8O,EAAKpiK,EAAMnvE,QACkBgf,GACjC,MAEF,KAAK,GACH,IAAIigB,EAAK1pC,EACL+pC,EAAKtgB,EACTqxN,EAAK96O,EAAI45E,EAAMnvE,QACfswO,EAAKtxN,EAAImwD,EAAMnvE,QACfuxO,EAAKlB,EAAKlhK,EAAMnvE,QAChBwxO,EAAKlB,EAAKnhK,EAAMnvE,QAChBzK,EAAIg8O,EAAKpiK,EAAMnvE,QACfgf,EAAIwyN,EAAKriK,EAAMnvE,QACfqxO,EAAchB,EAAIC,EAAIiB,EAAIC,EAAIj8O,EAAGypB,GACjCqxN,EAAK96O,EAAI45E,EAAMnvE,QACfswO,EAAKtxN,EAAImwD,EAAMnvE,QACfuxO,EAAKlB,EAAKlhK,EAAMnvE,QAChBwxO,EAAKlB,EAAKnhK,EAAMnvE,QAChBzK,EAAIg8O,EACJvyN,EAAIwyN,EAEA3+P,KAAKssF,IAAI5pE,EAAI0pC,GAAMpsD,KAAKssF,IAAIngD,EAAIsgB,GAClC/pC,GAAK45E,EAAMnvE,QAEXgf,GAAKmwD,EAAMnvE,QAGbqxO,EAAchB,EAAIC,EAAIiB,EAAIC,EAAIj8O,EAAGypB,GACjC,MAEF,QACE,MAAM,IAAIv2C,EAAM8P,YAAY,wBAAwB/C,KAGxD,MAEF,KAAK,GACH,GAAI25F,EAAMlkG,QAAU,EAAG,CACrB,IAAI2mQ,EAAQziK,EAAM1pE,MACdosO,EAAQ1iK,EAAM1pE,MAClBuZ,EAAImwD,EAAM1pE,MACVlQ,EAAI45E,EAAM1pE,MACV0qO,EAAKnlQ,KAAK,CACRsgB,IAAK,SAEP6kP,EAAKnlQ,KAAK,CACRsgB,IAAK,YACLuD,KAAM,CAAC0G,EAAGypB,KAEZ,IAAIolD,EAAO4rK,EAAWrpP,EAAKy9E,KAAM1vF,OAAOC,aAAagS,EAAKmrP,aAAax/K,EAAW2P,iBAAiB2vK,MACnGT,EAAkBxqP,EAAKoxE,OAAOqM,EAAKuR,SAAUw6J,EAAMxpP,EAAMy9E,EAAKuR,SAC9Dw6J,EAAKnlQ,KAAK,CACRsgB,IAAK,YAEP84E,EAAO4rK,EAAWrpP,EAAKy9E,KAAM1vF,OAAOC,aAAagS,EAAKmrP,aAAax/K,EAAW2P,iBAAiB4vK,MAC/FV,EAAkBxqP,EAAKoxE,OAAOqM,EAAKuR,SAAUw6J,EAAMxpP,EAAMy9E,EAAKuR,QAChE,CAEA,OAOF,KAAK,GAML,KAAK,GAEHpvG,IADA+qQ,GAASniK,EAAMlkG,QAAU,GACZ,GAAK,EAClBymQ,GAAa,EACb,MAEF,KAAK,GACH1yN,GAAKmwD,EAAM1pE,MAEXlkB,EADAgU,GAAK45E,EAAM1pE,MACDuZ,GACV0yN,GAAa,EACb,MAEF,KAAK,GAEHnwP,EADAgU,GAAK45E,EAAM1pE,MACDuZ,GACV0yN,GAAa,EACb,MAOF,KAAK,GACH,KAAOviK,EAAMlkG,OAAS,GACpBolQ,EAAK96O,EAAI45E,EAAMnvE,QACfswO,EAAKtxN,EAAImwD,EAAMnvE,QACfuxO,EAAKlB,EAAKlhK,EAAMnvE,QAChBwxO,EAAKlB,EAAKnhK,EAAMnvE,QAChBzK,EAAIg8O,EAAKpiK,EAAMnvE,QACfgf,EAAIwyN,EAAKriK,EAAMnvE,QACfqxO,EAAchB,EAAIC,EAAIiB,EAAIC,EAAIj8O,EAAGypB,GAGnCzpB,GAAK45E,EAAMnvE,QACXgf,GAAKmwD,EAAMnvE,QACXxe,EAAO+T,EAAGypB,GACV,MAEF,KAAK,GACH,KAAOmwD,EAAMlkG,OAAS,GACpBsqB,GAAK45E,EAAMnvE,QACXgf,GAAKmwD,EAAMnvE,QACXxe,EAAO+T,EAAGypB,GAGZqxN,EAAK96O,EAAI45E,EAAMnvE,QACfswO,EAAKtxN,EAAImwD,EAAMnvE,QACfuxO,EAAKlB,EAAKlhK,EAAMnvE,QAChBwxO,EAAKlB,EAAKnhK,EAAMnvE,QAChBzK,EAAIg8O,EAAKpiK,EAAMnvE,QACfgf,EAAIwyN,EAAKriK,EAAMnvE,QACfqxO,EAAchB,EAAIC,EAAIiB,EAAIC,EAAIj8O,EAAGypB,GACjC,MAEF,KAAK,GAKH,IAJImwD,EAAMlkG,OAAS,IACjBsqB,GAAK45E,EAAMnvE,SAGNmvE,EAAMlkG,OAAS,GACpBolQ,EAAK96O,EACL+6O,EAAKtxN,EAAImwD,EAAMnvE,QACfuxO,EAAKlB,EAAKlhK,EAAMnvE,QAChBwxO,EAAKlB,EAAKnhK,EAAMnvE,QAChBzK,EAAIg8O,EACJvyN,EAAIwyN,EAAKriK,EAAMnvE,QACfqxO,EAAchB,EAAIC,EAAIiB,EAAIC,EAAIj8O,EAAGypB,GAGnC,MAEF,KAAK,GAKH,IAJImwD,EAAMlkG,OAAS,IACjB+zC,GAAKmwD,EAAMnvE,SAGNmvE,EAAMlkG,OAAS,GAOpBomQ,EANAhB,EAAK96O,EAAI45E,EAAMnvE,QACfswO,EAAKtxN,EACLuyN,EAAKlB,EAAKlhK,EAAMnvE,QAChBwxO,EAAKlB,EAAKnhK,EAAMnvE,QAChBzK,EAAIg8O,EAAKpiK,EAAMnvE,QACfgf,EAAIwyN,GAIN,MAEF,KAAK,GACHriK,EAAMnkG,MAAMmF,EAAK5J,IAAM,GAAK4J,EAAK5J,EAAI,IAAM,KAAO,IAClDA,GAAK,EACL,MAEF,KAAK,GACHwB,EAAIonG,EAAM1pE,MAAQ9e,EAAKorP,YACvBN,EAAW9qP,EAAKmpP,OAAO/nQ,KAGrBmzB,EAAMu2O,GAGR,MAEF,KAAK,GACH,KAAOtiK,EAAMlkG,OAAS,IACpBolQ,EAAK96O,EACL+6O,EAAKtxN,EAAImwD,EAAMnvE,QACfuxO,EAAKlB,EAAKlhK,EAAMnvE,QAChBwxO,EAAKlB,EAAKnhK,EAAMnvE,QAChBzK,EAAIg8O,EAAKpiK,EAAMnvE,QACfgf,EAAIwyN,GAAuB,IAAjBriK,EAAMlkG,OAAekkG,EAAMnvE,QAAU,GAC/CqxO,EAAchB,EAAIC,EAAIiB,EAAIC,EAAIj8O,EAAGypB,GAEZ,IAAjBmwD,EAAMlkG,SAIVolQ,EAAK96O,EAAI45E,EAAMnvE,QACfswO,EAAKtxN,EACLuyN,EAAKlB,EAAKlhK,EAAMnvE,QAChBwxO,EAAKlB,EAAKnhK,EAAMnvE,QAChBgf,EAAIwyN,EAAKriK,EAAMnvE,QAEfqxO,EAAchB,EAAIC,EAAIiB,EAAIC,EAD1Bj8O,EAAIg8O,GAAuB,IAAjBpiK,EAAMlkG,OAAekkG,EAAMnvE,QAAU,GACdgf,GAGnC,MAEF,KAAK,GACH,KAAOmwD,EAAMlkG,OAAS,IACpBolQ,EAAK96O,EAAI45E,EAAMnvE,QACfswO,EAAKtxN,EACLuyN,EAAKlB,EAAKlhK,EAAMnvE,QAChBwxO,EAAKlB,EAAKnhK,EAAMnvE,QAChBgf,EAAIwyN,EAAKriK,EAAMnvE,QAEfqxO,EAAchB,EAAIC,EAAIiB,EAAIC,EAD1Bj8O,EAAIg8O,GAAuB,IAAjBpiK,EAAMlkG,OAAekkG,EAAMnvE,QAAU,GACdgf,GAEZ,IAAjBmwD,EAAMlkG,SAIVolQ,EAAK96O,EACL+6O,EAAKtxN,EAAImwD,EAAMnvE,QACfuxO,EAAKlB,EAAKlhK,EAAMnvE,QAChBwxO,EAAKlB,EAAKnhK,EAAMnvE,QAChBzK,EAAIg8O,EAAKpiK,EAAMnvE,QACfgf,EAAIwyN,GAAuB,IAAjBriK,EAAMlkG,OAAekkG,EAAMnvE,QAAU,GAC/CqxO,EAAchB,EAAIC,EAAIiB,EAAIC,EAAIj8O,EAAGypB,GAGnC,MAEF,QACE,GAAIxpC,EAAI,GACN,MAAM,IAAI/M,EAAM8P,YAAY,qBAAqB/C,KAG/CA,EAAI,IACN25F,EAAMnkG,KAAKwK,EAAI,KACNA,EAAI,IACb25F,EAAMnkG,KAAiB,KAAXwK,EAAI,KAAarF,EAAK5J,KAAO,KAChCiP,EAAI,IACb25F,EAAMnkG,KAAkB,MAAXwK,EAAI,KAAarF,EAAK5J,KAAO,MAE1C4oG,EAAMnkG,MAAMmF,EAAK5J,IAAM,GAAK4J,EAAK5J,EAAI,IAAM,GAAK4J,EAAK5J,EAAI,IAAM,EAAI4J,EAAK5J,EAAI,IAAM,OAClFA,GAAK,GAMPmrQ,IACFviK,EAAMlkG,OAAS,EAEnB,CACF,CAEAiwB,CAAMk2O,EACR,CAEA,MAAMY,EAAO,GAEb,MAAMC,EACJpqP,YAAY21E,GACNx0F,KAAK6e,cAAgBoqP,IACvB,EAAIxpQ,EAAM0P,aAAa,mCAGzBnP,KAAKw0F,WAAaA,EAClBx0F,KAAKkpQ,eAAiBlrQ,OAAOY,OAAO,MACpCoB,KAAKmpQ,0BAA4BnrQ,OAAOY,OAAO,KACjD,CAEAkgG,UAAUtJ,GACR,MAAM4F,EAAO4rK,EAAWhnQ,KAAKo7F,KAAM5F,GACnC,IAAItN,EAAKloF,KAAKkpQ,eAAe9tK,EAAKuR,SAWlC,OATKzkB,IACHA,EAAKloF,KAAKopQ,aAAappQ,KAAK+uF,OAAOqM,EAAKuR,SAAUvR,EAAKuR,SACvD3sG,KAAKkpQ,eAAe9tK,EAAKuR,SAAWzkB,QAGgB18E,IAAlDxL,KAAKmpQ,0BAA0B/tK,EAAKE,YACtCt7F,KAAKmpQ,0BAA0B/tK,EAAKE,UAAYF,EAAKuR,SAGhDzkB,CACT,CAEAkhL,aAAajiQ,EAAMwlG,GACjB,IAAKxlG,GAAwB,IAAhBA,EAAKlF,QAA4B,KAAZkF,EAAK,GACrC,OAAO6hQ,EAGT,IAAIx0K,EAAax0F,KAAKw0F,WAEtB,GAAIx0F,KAAK+mQ,aAAc,CACrB,MAAMjkJ,EAAU9iH,KAAKmhH,SAAS4B,WAAWpW,GAErCmW,GAAW,GAAKA,EAAU9iH,KAAKihH,QAAQh/G,OAEzCuyF,EADiBx0F,KAAKihH,QAAQ6B,GACRrmC,UAAU,eAAiBh9E,EAAMiR,sBAEvD,EAAIjR,EAAMgK,MAAM,oCAEpB,CAEA,MAAM09P,EAAO,GAgBb,OAfAA,EAAKnlQ,KAAK,CACRsgB,IAAK,SAEP6kP,EAAKnlQ,KAAK,CACRsgB,IAAK,YACLuD,KAAM2uE,EAAWz0E,UAEnBonP,EAAKnlQ,KAAK,CACRsgB,IAAK,QACLuD,KAAM,CAAC,OAAQ,WAEjB7lB,KAAKqpQ,iBAAiBliQ,EAAMggQ,EAAMx6J,GAClCw6J,EAAKnlQ,KAAK,CACRsgB,IAAK,YAEA6kP,CACT,CAEAkC,oBACE,EAAI5pQ,EAAM0P,aAAa,0CACzB,CAEA0vF,aAAarJ,GACX,MAAM4F,EAAO4rK,EAAWhnQ,KAAKo7F,KAAM5F,GACnC,YAA6ChqF,IAAtCxL,KAAKkpQ,eAAe9tK,EAAKuR,eAA4EnhG,IAAlDxL,KAAKmpQ,0BAA0B/tK,EAAKE,SAChG,EAIF,MAAMguK,UAAyBL,EAC7BpqP,YAAYkwE,EAAQqM,EAAM5G,GACxB11E,MAAM01E,GAAc,CAAC,OAAU,EAAG,EAAG,OAAU,EAAG,IAClDx0F,KAAK+uF,OAASA,EACd/uF,KAAKo7F,KAAOA,CACd,CAEAiuK,iBAAiBliQ,EAAMggQ,GACrBD,EAAY//P,EAAMggQ,EAAMnnQ,KAC1B,EAIF,MAAMupQ,UAAsBN,EAC1BpqP,YAAY2qP,EAASpuK,EAAM5G,EAAYs0K,GACrChqP,MAAM01E,GAAc,CAAC,KAAO,EAAG,EAAG,KAAO,EAAG,IAC5Cx0F,KAAK+uF,OAASy6K,EAAQz6K,OACtB/uF,KAAK8mQ,OAAS0C,EAAQ1C,QAAU,GAChC9mQ,KAAK09G,MAAQ8rJ,EAAQ9rJ,OAAS,GAC9B19G,KAAKo7F,KAAOA,EACZp7F,KAAK8oQ,aAAeA,IAAgB,EAAIn/K,EAAWoQ,oBACnD/5F,KAAK+oQ,WAAaxC,EAAkBvmQ,KAAK8mQ,QACzC9mQ,KAAK2oQ,UAAYpC,EAAkBvmQ,KAAK09G,OACxC19G,KAAK+mQ,aAAeyC,EAAQzC,aAC5B/mQ,KAAKmhH,SAAWqoJ,EAAQroJ,SACxBnhH,KAAKihH,QAAUuoJ,EAAQvoJ,OACzB,CAEAooJ,iBAAiBliQ,EAAMggQ,EAAMx6J,GAC3Bw7J,EAAkBhhQ,EAAMggQ,EAAMnnQ,KAAM2sG,EACtC,EAIF,MAAO,CACL/tG,OAAQ,SAAoC+e,EAAMoiG,GAKhD,IAJA,IACI3kB,EAAM4W,EAAM0D,EAAMpK,EAAKoL,EAAkBzI,EADzChtG,EAAO,IAAIC,WAAWyc,EAAK1c,MAE3BkpG,EAAYm8J,EAAUrlQ,EAAM,GAEvB1D,EAAI,EAAG6B,EAAI,GAAI7B,EAAI4sG,EAAW5sG,IAAK6B,GAAK,GAAI,CACnD,IAAIorG,GAAM,EAAI/qG,EAAM8L,eAAetK,EAAKgL,SAAS7M,EAAGA,EAAI,IACpDqtB,EAAS45O,EAAQplQ,EAAM7B,EAAI,GAC3B6C,EAASokQ,EAAQplQ,EAAM7B,EAAI,IAE/B,OAAQorG,GACN,IAAK,OACHpP,EAAOqrK,EAAUxlQ,EAAMwrB,GACvB,MAEF,IAAK,OACHulF,EAAO/wG,EAAKgL,SAASwgB,EAAQA,EAASxqB,GACtC,MAEF,IAAK,OACHyzG,EAAOz0G,EAAKgL,SAASwgB,EAAQA,EAASxqB,GACtC,MAEF,IAAK,OACHgsG,EAAaq4J,EAAUrlQ,EAAMwrB,EAAS,IACtCiqF,EAAmB4vJ,EAAUrlQ,EAAMwrB,EAAS,IAC5C,MAEF,IAAK,OACH6+E,EAAMu7J,EAAS5lQ,EAAMwrB,EAAQA,EAASxqB,EAAQ89G,GAGpD,CAEA,GAAI/N,EAAM,CACR,IAAIxd,EAAcyZ,EAA+B,CAAC,EAAIA,EAAY,EAAG,EAAG,EAAIA,EAAY,EAAG,GAA5DtwF,EAAK62E,WACpC,OAAO,IAAI80K,EAl0BjB,SAAwBt3J,EAAM0D,EAAMoB,GAClC,IAAIE,EAAUC,EAEVH,GACFE,EAAW,EAEXC,EAAa,SAA4Bh2G,EAAMwrB,GAC7C,OAAOxrB,EAAKwrB,IAAW,GAAKxrB,EAAKwrB,EAAS,IAAM,GAAKxrB,EAAKwrB,EAAS,IAAM,EAAIxrB,EAAKwrB,EAAS,EAC7F,IAEAuqF,EAAW,EAEXC,EAAa,SAAwBh2G,EAAMwrB,GACzC,OAAOxrB,EAAKwrB,IAAW,EAAIxrB,EAAKwrB,EAAS,IAAM,CACjD,GAMF,IAHA,IAAIsiE,EAAS,GACTxiC,EAAc0qD,EAAWvB,EAAM,GAE1B7jF,EAAImlF,EAAUnlF,EAAI6jF,EAAKzzG,OAAQ4vB,GAAKmlF,EAAU,CACrD,IAAItxE,EAAYuxE,EAAWvB,EAAM7jF,GACjCk9D,EAAO/sF,KAAKgwG,EAAK/lG,SAASsgD,EAAa7mB,IACvC6mB,EAAc7mB,CAChB,CAEA,OAAOqpD,CACT,CAuyBkC06K,CAAez3J,EAAM0D,EAAMgB,GAAmBtb,EAAM5G,EAClF,CAEA,OAAO,IAAI+0K,EAAcj+J,EAAKlQ,EAAMz9E,EAAK62E,WAAY72E,EAAKmrP,aAC5D,EAEJ,CA56B0B,GA86B1BzrQ,EAAQyyG,oBAAsBA,CAEvB,EAED,SAAUxyG,EAAQD,EAASF,GAEjC,aAGAa,OAAOC,eAAeZ,EAAS,aAAc,CAC3CkB,OAAO,IAETlB,EAAQ8/G,iBAAc,EAEtB,IAAI7zB,EAAansF,EAAoB,IAEjC4C,EAAc5C,EAAoB,GAElCooB,EAAUpoB,EAAoB,IAE9BsC,EAAQtC,EAAoB,GAI5BusQ,EAAkB,WACpB,IAAIC,EAGO,CAAC,GAHRA,EAIO,CAAC,GAJRA,EAKO,CAAC,GALRA,EAMO,CAAC,GANRA,EAOS,CAAC,GAPVA,EASI,CAAC,GAAI,IATTA,EAWO,CAAC,IAXRA,EAYO,CAAC,IAZRA,EAaO,CAAC,IAbRA,EAcS,CAAC,IAdVA,EAeS,CAAC,IAGd,SAASD,IACP1pQ,KAAKw2C,MAAQ,EACbx2C,KAAK4pQ,IAAM,EACX5pQ,KAAK6pQ,SAAU,EACf7pQ,KAAKmzD,OAAS,GACdnzD,KAAKmmG,MAAQ,EACf,CAqRA,OAnRAujK,EAAgBxqQ,UAAY,CAC1BusG,QAAS,SAAiCq+J,EAASpsJ,EAAOqC,GAKxD,IAJA,IAEIgqJ,EAAIC,EAAKvnJ,EAFTjrF,EAAQsyO,EAAQ7nQ,OAChB6D,GAAQ,EAGHvI,EAAI,EAAGA,EAAIi6B,EAAOj6B,IAAK,CAC9B,IAAIgB,EAAQurQ,EAAQvsQ,GAEpB,GAAIgB,EAAQ,GAAZ,CAKE,OAJc,KAAVA,IACFA,GAASA,GAAS,GAAKurQ,IAAUvsQ,IAG3BgB,GACN,KAAK,EASL,KAAK,EAwCL,KAAK,EAkEL,KAAK,KAIL,KAAK,KASL,KAAK,KAsEL,KAAK,KACHyB,KAAKmmG,MAAQ,GACb,MAtLF,KAAK,EACH,GAAInmG,KAAK6pQ,QAAS,CAChB,GAAI7pQ,KAAKmmG,MAAMlkG,OAAS,EAAG,CACzB6D,GAAQ,EACR,KACF,CAEA,IAAImkQ,EAAKjqQ,KAAKmmG,MAAM1pE,MACpBz8B,KAAKmmG,MAAMnkG,KAAK,EAAGioQ,GACnB,KACF,CAEAnkQ,EAAQ9F,KAAKkqQ,eAAe,EAAGP,GAC/B,MAEF,KAAK,EACH7jQ,EAAQ9F,KAAKkqQ,eAAe,EAAGP,GAC/B,MAEF,KAAK,EACH7jQ,EAAQ9F,KAAKkqQ,eAAe,EAAGP,GAC/B,MAEF,KAAK,EACH7jQ,EAAQ9F,KAAKkqQ,eAAe,EAAGP,GAC/B,MAEF,KAAK,EACH7jQ,EAAQ9F,KAAKkqQ,eAAe,EAAGP,GAC/B,MAMF,KAAK,GACH,GAAI3pQ,KAAKmmG,MAAMlkG,OAAS,EAAG,CACzB6D,GAAQ,EACR,KACF,CAIA,IAAK43G,EAFL+E,EAAaziH,KAAKmmG,MAAM1pE,OAEA,CACtB32B,GAAQ,EACR,KACF,CAEAA,EAAQ9F,KAAKyrG,QAAQiS,EAAM+E,GAAa/E,EAAOqC,GAC/C,MAEF,KAAK,GACH,OAAOj6G,EAET,KAAK,GACH,GAAI9F,KAAKmmG,MAAMlkG,OAAS,EAAG,CACzB6D,GAAQ,EACR,KACF,CAEAikQ,EAAK/pQ,KAAKmmG,MAAM1pE,MAChButO,EAAMhqQ,KAAKmmG,MAAM1pE,MACjBz8B,KAAK4pQ,IAAMI,EACXhqQ,KAAKw2C,MAAQuzN,EACb/pQ,KAAKmmG,MAAMnkG,KAAK+nQ,EAAIC,GACpBlkQ,EAAQ9F,KAAKkqQ,eAAe,EAAGP,GAC/B,MAEF,KAAK,GACH3pQ,KAAKmzD,OAAOnxD,KAAK2nQ,EAAoB,IACrC,MAEF,KAAK,GACH,GAAI3pQ,KAAK6pQ,QACP,MAGF/jQ,EAAQ9F,KAAKkqQ,eAAe,EAAGP,GAC/B,MAEF,KAAK,GACH,GAAI3pQ,KAAK6pQ,QAAS,CAChB7pQ,KAAKmmG,MAAMnkG,KAAK,GAChB,KACF,CAEA8D,EAAQ9F,KAAKkqQ,eAAe,EAAGP,GAC/B,MAEF,KAAK,GACH7jQ,EAAQ9F,KAAKkqQ,eAAe,EAAGP,GAC/B,MAEF,KAAK,GACH7jQ,EAAQ9F,KAAKkqQ,eAAe,EAAGP,GAC/B,MAwBF,KAAK,KACC5pJ,GACF//G,KAAKm7G,KAAOn7G,KAAKmmG,MAAMrjG,QAAQ,EAAG,GAClCgD,EAAQ9F,KAAKkqQ,eAAe,EAAGP,IAE/B7jQ,EAAQ9F,KAAKkqQ,eAAe,EAAGP,GAGjC,MAEF,KAAK,KACH,GAAI3pQ,KAAKmmG,MAAMlkG,OAAS,EAAG,CACzB6D,GAAQ,EACR,KACF,CAEA9F,KAAKmmG,MAAM1pE,MACXstO,EAAK/pQ,KAAKmmG,MAAM1pE,MAChB,IAAI0tO,EAAMnqQ,KAAKmmG,MAAM1pE,MACrButO,EAAMhqQ,KAAKmmG,MAAM1pE,MACjBz8B,KAAK4pQ,IAAMI,EACXhqQ,KAAKw2C,MAAQuzN,EACb/pQ,KAAKmmG,MAAMnkG,KAAK+nQ,EAAIC,EAAKG,GACzBrkQ,EAAQ9F,KAAKkqQ,eAAe,EAAGP,GAC/B,MAEF,KAAK,KACH,GAAI3pQ,KAAKmmG,MAAMlkG,OAAS,EAAG,CACzB6D,GAAQ,EACR,KACF,CAEA,IAAIskQ,EAAOpqQ,KAAKmmG,MAAM1pE,MAClB4tO,EAAOrqQ,KAAKmmG,MAAM1pE,MACtBz8B,KAAKmmG,MAAMnkG,KAAKqoQ,EAAOD,GACvB,MAEF,KAAK,KACH,GAAIpqQ,KAAKmmG,MAAMlkG,OAAS,EAAG,CACzB6D,GAAQ,EACR,KACF,CAEA28G,EAAaziH,KAAKmmG,MAAM1pE,MACxB,IAAI8jE,EAAUvgG,KAAKmmG,MAAM1pE,MAEzB,GAAmB,IAAfgmF,GAAgC,IAAZliB,EAAe,CACrC,IAAI+pK,EAAWtqQ,KAAKmmG,MAAMrjG,OAAO9C,KAAKmmG,MAAMlkG,OAAS,GAAI,IACzDjC,KAAKmmG,MAAMnkG,KAAKsoQ,EAAS,GAAKA,EAAS,GAAIA,EAAS,GAAKA,EAAS,GAAIA,EAAS,GAAIA,EAAS,GAAIA,EAAS,GAAIA,EAAS,GAAIA,EAAS,GAAIA,EAAS,GAAIA,EAAS,IAAKA,EAAS,IAAKA,EAAS,IAAKA,EAAS,IAAKA,EAAS,KACrNxkQ,EAAQ9F,KAAKkqQ,eAAe,GAAIP,GAAkB,GAClD3pQ,KAAK6pQ,SAAU,EACf7pQ,KAAKmmG,MAAMnkG,KAAKsoQ,EAAS,IAAKA,EAAS,IACzC,MAA0B,IAAf7nJ,GAAgC,IAAZliB,IAC7BvgG,KAAK6pQ,SAAU,GAGjB,MAEF,KAAK,KACH,MAMF,SACE,EAAIpqQ,EAAMgK,MAAM,yCAA2ClL,EAAQ,KAIvE,GAAIuH,EACF,KAYJ,MARWvH,GAAS,IAClBA,GAAgB,IAEhBA,EADSA,GAAS,IACM,KAAfA,EAAQ,KAAaurQ,IAAUvsQ,GAAK,IACpCgB,GAAS,KACQ,KAAfA,EAAQ,KAAcurQ,IAAUvsQ,GAAK,KAExB,IAAfusQ,IAAUvsQ,KAAc,IAAqB,IAAfusQ,IAAUvsQ,KAAc,IAAqB,IAAfusQ,IAAUvsQ,KAAc,GAAoB,IAAfusQ,IAAUvsQ,KAAc,EAG5HyC,KAAKmmG,MAAMnkG,KAAKzD,EAClB,CAEA,OAAOuH,CACT,EAEAokQ,eAAeK,EAAaC,EAASC,GACnC,IAAIC,EAAc1qQ,KAAKmmG,MAAMlkG,OAE7B,GAAIsoQ,EAAcG,EAChB,OAAO,EAKT,IAFA,IAAI1lQ,EAAQ0lQ,EAAcH,EAEjBhtQ,EAAIyH,EAAOzH,EAAImtQ,EAAantQ,IAAK,CACxC,IAAIgB,EAAQyB,KAAKmmG,MAAM5oG,GAEnB8Q,OAAOC,UAAU/P,GACnByB,KAAKmzD,OAAOnxD,KAAK,GAAIzD,GAAS,EAAI,IAAc,IAARA,IAExCA,EAAQ,MAAQA,EAAQ,EACxByB,KAAKmzD,OAAOnxD,KAAK,IAAKzD,GAAS,GAAK,IAAMA,GAAS,GAAK,IAAMA,GAAS,EAAI,IAAc,IAARA,GAErF,CAUA,OARAyB,KAAKmzD,OAAOnxD,KAAK4J,MAAM5L,KAAKmzD,OAAQq3M,GAEhCC,EACFzqQ,KAAKmmG,MAAMrjG,OAAOkC,EAAOulQ,GAEzBvqQ,KAAKmmG,MAAMlkG,OAAS,GAGf,CACT,GAGKynQ,CACT,CA/SsB,GAiTlBvsJ,EAAc,WAIhB,SAASwtJ,EAAWxjQ,GAClB,OAAOA,GAAQ,IAAMA,GAAQ,IAAMA,GAAQ,IAAMA,GAAQ,IAAMA,GAAQ,IAAMA,GAAQ,GACvF,CAEA,SAASwoC,EAAQ1uC,EAAMpC,EAAK+rQ,GAC1B,GAAIA,GAAiB3pQ,EAAKgB,OACxB,OAAO,IAAIf,WAAW,GAGxB,IAGI3D,EACAs0B,EAJAzzB,EAAU,EAANS,EAMR,IAAKtB,EAAI,EAAGA,EAAIqtQ,EAAertQ,IAC7Ba,EANO,OAMF6C,EAAK1D,GAAKa,GALR,MAKuB,MAGhC,IAAIo5B,EAAQv2B,EAAKgB,OAAS2oQ,EACtBC,EAAY,IAAI3pQ,WAAWs2B,GAE/B,IAAKj6B,EAAIqtQ,EAAe/4O,EAAI,EAAGA,EAAI2F,EAAOj6B,IAAKs0B,IAAK,CAClD,IAAItzB,EAAQ0C,EAAK1D,GACjBstQ,EAAUh5O,GAAKtzB,EAAQH,GAAK,EAC5BA,EAfO,OAeFG,EAAQH,GAdN,MAcqB,KAC9B,CAEA,OAAOysQ,CACT,CAmCA,SAASC,EAAUntQ,GACjB,OAAa,KAANA,GAAoB,KAANA,GAAoB,KAANA,GAAoB,MAANA,GAAoB,MAANA,GAAoB,KAANA,GAAoB,KAANA,CAC7F,CAEA,SAASw/G,EAAY14G,EAAQsmQ,EAAWhrJ,GACtC,GAAIgrJ,EAAW,CACb,IAAI9pQ,EAAOwD,EAAOqe,WACdkoP,KAAcL,EAAW1pQ,EAAK,MAAO,EAAIlB,EAAY6sB,cAAc3rB,EAAK,MAAQ0pQ,EAAW1pQ,EAAK,KAAO0pQ,EAAW1pQ,EAAK,KAAO0pQ,EAAW1pQ,EAAK,KAAO0pQ,EAAW1pQ,EAAK,KAAO0pQ,EAAW1pQ,EAAK,KAAO0pQ,EAAW1pQ,EAAK,KAAO0pQ,EAAW1pQ,EAAK,KAC9OwD,EAAS,IAAI8gB,EAAQY,OAAO6kP,EAAWr7N,EAAQ1uC,EA3E3B,MA2EoD,GAzC5E,SAAsBA,EAAMpC,EAAK+rQ,GAC/B,IAMIrtQ,EAAGs0B,EANHzzB,EAAIS,MAGJ24B,EAAQv2B,EAAKgB,OAEb4oQ,EAAY,IAAI3pQ,WADFs2B,IAAU,GAI5B,IAAKj6B,EAAI,EAAGs0B,EAAI,EAAGt0B,EAAIi6B,EAAOj6B,IAAK,CACjC,IAAI0tQ,EAAShqQ,EAAK1D,GAElB,GAAKotQ,EAAWM,GAAhB,CAKA,IAAIC,EAEJ,IAHA3tQ,IAGOA,EAAIi6B,IAAUmzO,EAAWO,EAASjqQ,EAAK1D,KAC5CA,IAGF,GAAIA,EAAIi6B,EAAO,CACb,IAAIj5B,EAAQy0B,SAAStnB,OAAOC,aAAas/P,EAAQC,GAAS,IAC1DL,EAAUh5O,KAAOtzB,EAAQH,GAAK,EAC9BA,EAxBK,OAwBAG,EAAQH,GAvBR,MAuBuB,KAC9B,CAbA,CAcF,CAEA,OAAOysQ,EAAU9qP,MAWoG,EAX/E8R,EACxC,CAUiFs5O,CAAalqQ,GAC5F,CAEAjB,KAAK+/G,sBAAwBA,EAC7B//G,KAAKyE,OAASA,EACdzE,KAAK+mC,UACP,CAySA,OAvSAo2E,EAAYj+G,UAAY,CACtBksQ,gBAAiB,WACfprQ,KAAKqrQ,WAGL,IAFA,IAAIlmO,EAAQ,KAEC,CACX,IAAIvE,EAAQ5gC,KAAKqrQ,WAEjB,GAAc,OAAVzqO,GAA4B,MAAVA,GAA2B,MAAVA,EACrC,MAGFuE,EAAMnjC,KAAKg6F,WAAWp7D,GAAS,GACjC,CAEA,OAAOuE,CACT,EACA4gE,WAAY,WACV,IAAInlE,EAAQ5gC,KAAKqrQ,WACjB,OAAOrvK,WAAWp7D,GAAS,EAC7B,EACA0qO,QAAS,WACP,IAAI1qO,EAAQ5gC,KAAKqrQ,WACjB,OAAkC,EAA3Br4O,SAAS4N,GAAS,EAAG,GAC9B,EACA2qO,YAAa,WAEX,MAAiB,SADLvrQ,KAAKqrQ,WACS,EAAI,CAChC,EACAtkO,SAAU,WACR,OAAO/mC,KAAKyoC,YAAczoC,KAAKyE,OAAO6jB,SACxC,EACA+iP,SAAU,WAIR,IAHA,IAAIvhO,GAAU,EACVjd,EAAK7sB,KAAKyoC,cAED,CACX,IAAY,IAAR5b,EACF,OAAO,KAGT,GAAIid,EACS,KAAPjd,GAAsB,KAAPA,IACjBid,GAAU,QAEP,GAAW,KAAPjd,EACTid,GAAU,OACL,KAAK,EAAI/pC,EAAY6sB,cAAcC,GACxC,MAGFA,EAAK7sB,KAAK+mC,UACZ,CAEA,GAAI+jO,EAAUj+O,GAEZ,OADA7sB,KAAK+mC,WACEr7B,OAAOC,aAAakhB,GAG7B,IAAI+T,EAAQ,GAEZ,GACEA,GAASl1B,OAAOC,aAAakhB,GAC7BA,EAAK7sB,KAAK+mC,iBACHla,GAAM,KAAM,EAAI9sB,EAAY6sB,cAAcC,KAAQi+O,EAAUj+O,IAErE,OAAO+T,CACT,EACA4qO,gBAAiB,SAAqC9mQ,EAAO+mQ,GAC3D,OAAe,IAAXA,EACK/mQ,EAGFirC,EAAQjrC,EA3JS,KA2JqB+mQ,EAC/C,EACAluJ,mBAAoB,SAAwC3lB,GAC1D,IAAInzF,EAASzE,KAAKyE,OACdi5G,EAAQ,GACR3P,EAAc,GACdkR,EAAcjhH,OAAOY,OAAO,MAChCqgH,EAAYwsJ,MAAQ,EAUpB,IATA,IAOI7qO,EAAO3+B,EAAQhB,EAAMwqQ,EAAO3B,EAP5B4B,EAAU,CACZhuJ,MAAO,GACP3P,YAAa,GACbnW,WAAY,CACVqnB,gBAKiC,QAA7Br+E,EAAQ5gC,KAAKqrQ,aACnB,GAAc,MAAVzqO,EAMJ,OAFAA,EAAQ5gC,KAAKqrQ,YAGX,IAAK,cAMH,IALArrQ,KAAKqrQ,WACLrrQ,KAAKqrQ,WACLrrQ,KAAKqrQ,WACLrrQ,KAAKqrQ,WAKW,QAFdzqO,EAAQ5gC,KAAKqrQ,aAEmB,QAAVzqO,GAItB,GAAc,MAAVA,EAAJ,CAIA,IAAIy0D,EAAQr1F,KAAKqrQ,WACjBppQ,EAASjC,KAAKsrQ,UACdtrQ,KAAKqrQ,WACLpqQ,EAAOgB,EAAS,EAAIwC,EAAOqe,SAAS7gB,GAAU,IAAIf,WAAW,GAC7DuqQ,EAAQC,EAAQ9zK,WAAWqnB,YAAYwsJ,MACvC3B,EAAU9pQ,KAAKwrQ,gBAAgBvqQ,EAAMwqQ,GACrCzrQ,KAAK+mC,WAGS,cAFdnG,EAAQ5gC,KAAKqrQ,aAGXrrQ,KAAKqrQ,WAGPt9J,EAAY/rG,KAAK,CACfqzF,QACAy0K,WAjBF,CAqBF,MAEF,IAAK,QAIH,IAHA9pQ,KAAKsrQ,UACLtrQ,KAAKqrQ,WAEsB,QAApBrrQ,KAAKqrQ,YAAsB,CAChC,MAAMv+P,EAAQ9M,KAAKsrQ,UACnBrpQ,EAASjC,KAAKsrQ,UACdtrQ,KAAKqrQ,WACLpqQ,EAAOgB,EAAS,EAAIwC,EAAOqe,SAAS7gB,GAAU,IAAIf,WAAW,GAC7DuqQ,EAAQC,EAAQ9zK,WAAWqnB,YAAYwsJ,MACvC3B,EAAU9pQ,KAAKwrQ,gBAAgBvqQ,EAAMwqQ,GACrCzrQ,KAAK+mC,WAGS,cAFdnG,EAAQ5gC,KAAKqrQ,aAGXrrQ,KAAKqrQ,WAGP3tJ,EAAM5wG,GAASg9P,CACjB,CAEA,MAEF,IAAK,aACL,IAAK,aACL,IAAK,cACL,IAAK,mBACH,IAAI6B,EAAY3rQ,KAAKorQ,kBAEjBO,EAAU1pQ,OAAS,GAAK0pQ,EAAU1pQ,OAItC,MAEF,IAAK,YACL,IAAK,YACHypQ,EAAQ9zK,WAAWqnB,YAAYr+E,GAAS5gC,KAAKorQ,kBAC7C,MAEF,IAAK,QACL,IAAK,QACHM,EAAQ9zK,WAAWqnB,YAAYr+E,GAAS5gC,KAAKorQ,kBAAkB,GAC/D,MAEF,IAAK,YACL,IAAK,QACL,IAAK,WACL,IAAK,YACL,IAAK,gBACL,IAAK,kBACHM,EAAQ9zK,WAAWqnB,YAAYr+E,GAAS5gC,KAAK+lG,aAC7C,MAEF,IAAK,YACH2lK,EAAQ9zK,WAAWqnB,YAAYr+E,GAAS5gC,KAAKurQ,cAKnD,IAAK,IAAIhuQ,EAAI,EAAGA,EAAIwwG,EAAY9rG,OAAQ1E,IAAK,CAC3C83F,EAAQ0Y,EAAYxwG,GAAG83F,MACvBy0K,EAAU/7J,EAAYxwG,GAAGusQ,QACzB,IAAI8B,EAAa,IAAIlC,EACjB5jQ,EAAQ8lQ,EAAWngK,QAAQq+J,EAASpsJ,EAAO19G,KAAK+/G,qBAChD5sD,EAASy4M,EAAWz4M,OAEpBrtD,IACFqtD,EAAS,CAAC,KAGZ,MAAM04M,EAAmB,CACvBhyK,UAAWxE,EACXwmB,WAAY1oD,EACZ3c,MAAOo1N,EAAWp1N,MAClBozN,IAAKgC,EAAWhC,IAChBzuJ,KAAMywJ,EAAWzwJ,MASnB,GANc,YAAV9lB,EACFq2K,EAAQ39J,YAAYrrB,QAAQmpL,GAE5BH,EAAQ39J,YAAY/rG,KAAK6pQ,GAGvBj0K,EAAW4iB,gBAAiB,CAC9B,MAAM1tG,EAAQ8qF,EAAW4iB,gBAAgB33G,QAAQwyF,GAE7CvoF,GAAS,QAAkCtB,IAA7BosF,EAAW+D,OAAO7uF,IAAwBA,GAAS8qF,EAAWqD,WAAanuF,GAAS8qF,EAAWsD,WAC/GtD,EAAW+D,OAAO7uF,GAAS8+P,EAAWp1N,MAE1C,CACF,CAEA,OAAOk1N,CACT,EACAtuJ,kBAAmB,SAAuCxlB,GAGxD,IAFA,IAAIh3D,EAEiC,QAA7BA,EAAQ5gC,KAAKqrQ,aACnB,GAAc,MAAVzqO,EAMJ,OAFAA,EAAQ5gC,KAAKqrQ,YAGX,IAAK,aACH,IAAIz1L,EAAS51E,KAAKorQ,kBAClBxzK,EAAWpD,WAAa5e,EACxB,MAEF,IAAK,WACH,IACIljC,EADAo5N,EAAc9rQ,KAAKqrQ,WAGvB,GAAK,QAAQn3O,KAAK43O,GAEX,CACLp5N,EAAW,GACX,IAAIztB,EAAmC,EAA5B+N,SAAS84O,EAAa,IACjC9rQ,KAAKqrQ,WAEL,IAAK,IAAIx5O,EAAI,EAAGA,EAAI5M,EAAM4M,IAAK,CAG7B,IAFA+O,EAAQ5gC,KAAKqrQ,WAEI,QAAVzqO,GAA6B,QAAVA,GAGxB,GAAc,QAFdA,EAAQ5gC,KAAKqrQ,YAGX,OAIJ,GAAc,QAAVzqO,EACF,MAGF,IAAI9zB,EAAQ9M,KAAKsrQ,UACjBtrQ,KAAKqrQ,WACL,IAAIh2K,EAAQr1F,KAAKqrQ,WACjB34N,EAAS5lC,GAASuoF,EAClBr1F,KAAKqrQ,UACP,CACF,MA3BE34N,GAAW,EAAI42C,EAAWqP,aAAamzK,GA6BzCl0K,EAAW4iB,gBAAkB9nE,EAC7B,MAEF,IAAK,WACH,IAAImuE,EAAW7gH,KAAKorQ,kBACpBxzK,EAAWzD,OAAStqF,KAAKC,IAAI+2G,EAAS,GAAIA,EAAS,IACnDjpB,EAAWxD,QAAUvqF,KAAKkC,IAAI80G,EAAS,GAAIA,EAAS,IACpDjpB,EAAW+W,cAAe,EAIlC,GAEKwO,CACT,CA5XkB,GA8XlB9/G,EAAQ8/G,YAAcA,CAEf,EAED,SAAU7/G,EAAQD,EAASF,GAEjC,aAGAa,OAAOC,eAAeZ,EAAS,aAAc,CAC3CkB,OAAO,IAETlB,EAAQ4wF,mBAg5BR,SAA4Bj+D,EAAcpL,EAAMiB,GAC9C,MAAM+vD,EAAShxD,EAAKZ,SAAS,UAEvB88D,EAAOrhF,EAAM+P,KAAKyR,cAAc2D,EAAKZ,SAAS,SAE9C+nP,EAAQnnP,EAAKzmB,IAAI,SACjB6tQ,EAAQpnP,EAAKzmB,IAAI,SACjB8tQ,EAAYrnP,EAAKzmB,IAAI,aACrB+tQ,EAAatnP,EAAKzmB,IAAI,cAE5B,GAAI2iF,EAAK,GAAKA,EAAK,IAAO,GAAKA,EAAK,GAAKA,EAAK,IAAO,EACnD,MAAM,IAAIrhF,EAAM8P,YAAY,4CAA4CuxE,OAG1E,MAAO,CAAC,gBAAiBj7D,EAAMmK,EAAc4lD,EAAQkL,EAAMirL,EAAOC,EAAOC,EAAWC,EACtF,EA95BA7uQ,EAAQ4zF,aAAU,EAElB,IAAIxxF,EAAQtC,EAAoB,GAE5Bu4B,EAAcv4B,EAAoB,IAElCuC,EAAcvC,EAAoB,GAElC4C,EAAc5C,EAAoB,GAYlC8zF,EAAU,WACZ,SAASA,KACP,EAAIxxF,EAAM0P,aAAa,sCACzB,CAwCA,OAtCA8hF,EAAQ/xF,UAAY,CAClBitQ,WAAY,SAA4BC,IACtC,EAAI3sQ,EAAM0P,aAAa,qCAAqCi9P,IAC9D,GAGFn7K,EAAQC,aAAe,SAAUF,EAASpb,EAAQjxE,EAAMwwE,EAAKt0E,EAASmtB,GACpE,IAAIpJ,GAAO,EAAIllB,EAAYmjB,UAAUmuE,GAAWA,EAAQpsE,KAAOosE,EAC3DzvE,EAAOqD,EAAKzmB,IAAI,eAEpB,IACE,OAAQojB,GACN,KAzBC,EA0BD,KAzBE,EA0BA,OAAO,IAAI8qP,EAASC,YAAY1nP,EAAMgxD,EAAQjxE,EAAMwwE,EAAKnnD,GAE3D,KA3BU,EA4BV,KA3Ba,EA4Bb,KA3BY,EA4BZ,KA3Ba,EA4BX,OAAO,IAAIq+O,EAASE,KAAKv7K,EAASpb,EAAQjxE,EAAMwwE,EAAKnnD,GAEvD,QACE,MAAM,IAAIvuB,EAAM8P,YAAY,4BAA8BgS,GAYhE,CAVE,MAAOta,GACP,GAAIA,aAAclH,EAAY2mB,qBAC5B,MAAMzf,EAOR,OAJApG,EAAQM,KAAK,qBAAsB,CACjCwE,UAAWlG,EAAMmG,qBAAqB8X,kBAExC,EAAIje,EAAMgK,MAAMxC,GACT,IAAIolQ,EAASG,KACtB,CACF,EAEOv7K,CACT,CA5Cc,GA8Cd5zF,EAAQ4zF,QAAUA,EAClB,IAAIo7K,EAAW,CACfA,aAAwB,MAExBA,EAASC,YAAc,WACrB,SAASA,EAAY1nP,EAAMgxD,EAAQjxE,EAAMwwE,EAAKnnD,GAC5ChuB,KAAK41E,OAASA,EACd51E,KAAKysQ,UAAY7nP,EAAKZ,SAAS,UAC/BhkB,KAAK0sQ,YAAc9nP,EAAKzmB,IAAI,eAC5B6B,KAAKuhB,KAAO,UACZ,IAAI2zD,EAAKtwD,EAAKzmB,IAAI,aAAc,MAChC+2E,EAAKx/C,EAAYgC,WAAWxF,MAAMgjD,EAAIvwE,EAAMwwE,EAAKnnD,GACjDhuB,KAAKk1E,GAAKA,EACV,MAAM4L,EAAOl8D,EAAKZ,SAAS,QAEvBC,MAAMC,QAAQ48D,IAAyB,IAAhBA,EAAK7+E,OAC9BjC,KAAK8gF,KAAOrhF,EAAM+P,KAAKyR,cAAc6/D,GAErC9gF,KAAK8gF,KAAO,KAGd,IAAI6rL,EAAK,EACLx/L,EAAK,EAET,GAAIvoD,EAAKN,IAAI,UAAW,CACtB,IAAIsoP,EAAYhoP,EAAKZ,SAAS,UAC9B2oP,EAAKC,EAAU,GACfz/L,EAAKy/L,EAAU,EACjB,CAEA,IAAIC,GAAc,EACdC,GAAY,EAEhB,GAAIloP,EAAKN,IAAI,UAAW,CACtB,IAAIyoP,EAAYnoP,EAAKZ,SAAS,UAC9B6oP,EAAcE,EAAU,GACxBD,EAAYC,EAAU,EACxB,CAEA,KA5FM,IA4FF/sQ,KAAK0sQ,aAAwCG,GAAgBC,GAAY,CAC3E,IAAI12M,EAAKp2D,KAAKysQ,UAAU,GACpBh2M,EAAKz2D,KAAKysQ,UAAU,GACpBO,EAAKhtQ,KAAKysQ,UAAU,GACpBjjO,EAAKxpC,KAAKysQ,UAAU,GACpB3mM,EAAK9lE,KAAKysQ,UAAU,GACpBQ,EAAKjtQ,KAAKysQ,UAAU,GACpBS,EAAWrjQ,KAAKyW,MAAM81C,EAAK5sB,IAAO4sB,EAAK5sB,IAAOitB,EAAKqP,IAAOrP,EAAKqP,IAE/DknM,GAAMC,EAAKC,GAAYD,GAAMD,EAAKE,IACpC,EAAIztQ,EAAMgK,MAAM,+BAEpB,CAEAzJ,KAAK6sQ,YAAcA,EACnB7sQ,KAAK8sQ,UAAYA,EACjB,IAAIK,EAAQvoP,EAAKzmB,IAAI,YACjB+pF,EAAKl6D,EAAmBo/O,gBAAgBD,GAC5C,MACMt6O,GAAQs6C,EAAKw/L,GADO,GAE1B,IAAIU,EAAartQ,KAAKqtQ,WAAa,GAEnC,GAAIV,GAAMx/L,GAAMt6C,GAAQ,GACtB,EAAIpzB,EAAM+F,MAAM,2BADlB,CAKA,IAEIiyB,EAFAF,EAAQ,IAAI0rC,aAAaiS,EAAGhC,UAC5B84I,EAAQ,IAAI/oJ,aAAa,GAG7B,IAAK,IAAI1lE,EAAI,EAAGA,GAbU,GAacA,IAAK,CAC3CyuN,EAAM,GAAK2gD,EAAKpvQ,EAAIs1B,EACpBq1D,EAAG8jI,EAAO,EAAGz0L,EAAO,GACpBE,EAAWy9C,EAAGr9C,OAAON,EAAO,GAE5B,IAAI+1O,EAAW7tQ,EAAM+P,KAAK+9P,WAAW91O,EAAS,GAAIA,EAAS,GAAIA,EAAS,IAExE41O,EAAWrrQ,KAAK,CAACzE,EApBO,GAoBgB+vQ,GAC1C,CAEA,IAAIE,EAAa,cAEb5oP,EAAKN,IAAI,gBACXmT,EAAWy9C,EAAGr9C,OAAOjT,EAAKzmB,IAAI,cAAe,GAC7CqvQ,EAAa/tQ,EAAM+P,KAAK+9P,WAAW91O,EAAS,GAAIA,EAAS,GAAIA,EAAS,KAGnEo1O,IACHQ,EAAW3qL,QAAQ,CAAC,EAAG8qL,IACvBH,EAAW,GAAG,IAAMhB,EAASoB,cAG1BX,IACHO,EAAWA,EAAWprQ,OAAS,GAAG,IAAMoqQ,EAASoB,aACjDJ,EAAWrrQ,KAAK,CAAC,EAAGwrQ,KAGtBxtQ,KAAKqtQ,WAAaA,CAjClB,CAkCF,CAyCA,OAvCAf,EAAYptQ,UAAY,CACtB6pF,MAAO,WACL,IAEIxnE,EAAM+tC,EAAI1vC,EAAI8tP,EAAIV,EAFlBP,EAAYzsQ,KAAKysQ,UACjBC,EAAc1sQ,KAAK0sQ,YA7JpB,IAgKCA,GACFp9M,EAAK,CAACm9M,EAAU,GAAIA,EAAU,IAC9B7sP,EAAK,CAAC6sP,EAAU,GAAIA,EAAU,IAC9BiB,EAAK,KACLV,EAAK,KACLzrP,EAAO,SApKL,IAqKOmrP,GACTp9M,EAAK,CAACm9M,EAAU,GAAIA,EAAU,IAC9B7sP,EAAK,CAAC6sP,EAAU,GAAIA,EAAU,IAC9BiB,EAAKjB,EAAU,GACfO,EAAKP,EAAU,GACflrP,EAAO,WAEP,EAAI9hB,EAAM0P,aAAa,4BAA4Bu9P,KAGrD,IAAI92L,EAAS51E,KAAK41E,OAElB,GAAIA,IACFtmB,EAAK7vD,EAAM+P,KAAKqQ,eAAeyvC,EAAIsmB,GACnCh2D,EAAKngB,EAAM+P,KAAKqQ,eAAeD,EAAIg2D,GAnLjC,IAqLE82L,GAAoC,CACtC,IAAIpuM,EAAQ7+D,EAAM+P,KAAKm+P,8BAA8B/3L,GAErD83L,GAAMpvM,EAAM,GACZ0uM,GAAM1uM,EAAM,EACd,CAGF,MAAO,CAAC,cAAe/8C,EAAMvhB,KAAK8gF,KAAM9gF,KAAKqtQ,WAAY/9M,EAAI1vC,EAAI8tP,EAAIV,EACvE,GAEKV,CACT,CAxIuB,GA0IvBD,EAASE,KAAO,WACd,SAASqB,EAAiBnpQ,EAAQmyD,GAChC52D,KAAKyE,OAASA,EACdzE,KAAK42D,QAAUA,EACf52D,KAAKmf,OAAS,EACdnf,KAAKirC,aAAe,EACpB,IAAIioC,EAAWtc,EAAQsc,SACvBlzE,KAAK6tQ,YAAc,IAAI5qM,aAAaiQ,GACpC,IAAI46L,EAAal3M,EAAQo1B,WAAW9Y,SACpClzE,KAAK+tQ,cAAgBn3M,EAAQo3M,QAAU,IAAI/qM,aAAa6qM,GAAc9tQ,KAAK6tQ,WAC7E,CAEAD,EAAiB1uQ,UAAY,CACvB+uQ,cACF,GAAIjuQ,KAAKyE,OAAOyhB,IACd,OAAOlmB,KAAKyE,OAAOwG,IAAMjL,KAAKyE,OAAOyhB,IAGvC,GAAIlmB,KAAKirC,aAAe,EACtB,OAAO,EAGT,IAAIyhB,EAAW1sD,KAAKyE,OAAO6jB,UAE3B,QAAIokC,EAAW,IAIf1sD,KAAKmf,OAASutC,EACd1sD,KAAKirC,aAAe,EACb,GACT,EAEA8F,SAAU,SAAmChyC,GAC3C,IAAIogB,EAASnf,KAAKmf,OACd8rB,EAAejrC,KAAKirC,aAExB,GAAU,KAANlsC,EAAU,CACZ,GAAqB,IAAjBksC,EACF,OAAQjrC,KAAKyE,OAAO6jB,WAAa,GAAKtoB,KAAKyE,OAAO6jB,WAAa,GAAKtoB,KAAKyE,OAAO6jB,WAAa,EAAItoB,KAAKyE,OAAO6jB,aAAe,EAG9HnJ,EAASA,GAAU,GAAKnf,KAAKyE,OAAO6jB,WAAa,GAAKtoB,KAAKyE,OAAO6jB,WAAa,EAAItoB,KAAKyE,OAAO6jB,UAC/F,IAAIokC,EAAW1sD,KAAKyE,OAAO6jB,UAE3B,OADAtoB,KAAKmf,OAASutC,GAAY,GAAKzhB,GAAgB,GACvC9rB,GAAU,EAAI8rB,GAA2B,IAAXyhB,IAAoBzhB,KAAkB,CAC9E,CAEA,GAAU,IAANlsC,GAA4B,IAAjBksC,EACb,OAAOjrC,KAAKyE,OAAO6jB,UAGrB,KAAO2iB,EAAelsC,GACpBogB,EAASA,GAAU,EAAInf,KAAKyE,OAAO6jB,UACnC2iB,GAAgB,EAMlB,OAHAA,GAAgBlsC,EAChBiB,KAAKirC,aAAeA,EACpBjrC,KAAKmf,OAASA,GAAU,GAAK8rB,GAAgB,EACtC9rB,GAAU8rB,CACnB,EACAijO,MAAO,WACLluQ,KAAKmf,OAAS,EACdnf,KAAKirC,aAAe,CACtB,EACAkjO,SAAU,WACR,OAAOnuQ,KAAK+wC,SAAS/wC,KAAK42D,QAAQw3M,YACpC,EACAC,eAAgB,WACd,IAAIC,EAAoBtuQ,KAAK42D,QAAQ03M,kBACjCntB,EAAKnhP,KAAK+wC,SAASu9N,GACnBC,EAAKvuQ,KAAK+wC,SAASu9N,GACnBzzN,EAAS76C,KAAK42D,QAAQ/b,OACtByjB,EAAQgwM,EAAoB,GAAK,IAAM,GAAKA,GAAqB,GAAK,uBAC1E,MAAO,CAACntB,EAAK7iL,GAASzjB,EAAO,GAAKA,EAAO,IAAMA,EAAO,GAAI0zN,EAAKjwM,GAASzjB,EAAO,GAAKA,EAAO,IAAMA,EAAO,GAC1G,EACA2zN,eAAgB,WAOd,IANA,IAAIt7L,EAAWlzE,KAAK42D,QAAQsc,SACxBppB,EAAmB9pD,KAAK42D,QAAQ9M,iBAChCwU,EAAQxU,EAAmB,GAAK,IAAM,GAAKA,GAAoB,GAAK,uBACpEjP,EAAS76C,KAAK42D,QAAQ/b,OACtBiR,EAAa9rD,KAAK6tQ,YAEbtwQ,EAAI,EAAGs0B,EAAI,EAAGt0B,EAAI21E,EAAU31E,IAAKs0B,GAAK,EAAG,CAChD,IAAI48O,EAAKzuQ,KAAK+wC,SAAS+Y,GACvBgC,EAAWvuD,GAAKkxQ,EAAKnwM,GAASzjB,EAAOhpB,EAAI,GAAKgpB,EAAOhpB,IAAMgpB,EAAOhpB,EACpE,CAEA,IAAI0F,EAAQv3B,KAAK+tQ,cAMjB,OAJI/tQ,KAAK42D,QAAQo3M,SACfhuQ,KAAK42D,QAAQo3M,QAAQliN,EAAY,EAAGv0B,EAAO,GAGtCv3B,KAAK42D,QAAQo1B,WAAWn0D,OAAON,EAAO,EAC/C,GA0EF,IAiBMse,EAbF64N,GAaE74N,EAAQ,GACL,SAAcre,GAKnB,OAJKqe,EAAMre,KACTqe,EAAMre,GAfV,SAAgBA,GAGd,IAFA,IAAIm3O,EAAM,GAEDpxQ,EAAI,EAAGA,GAAKi6B,EAAOj6B,IAAK,CAC/B,IAAIiB,EAAIjB,EAAIi6B,EACRo3O,EAAK,EAAIpwQ,EACbmwQ,EAAI3sQ,KAAK,IAAIihE,aAAa,CAAC2rM,EAAKA,EAAKA,EAAI,EAAIpwQ,EAAIowQ,EAAKA,EAAI,EAAIpwQ,EAAIA,EAAIowQ,EAAIpwQ,EAAIA,EAAIA,IACpF,CAEA,OAAOmwQ,CACT,CAKmBE,CAAOr3O,IAGjBqe,EAAMre,EACf,GAGF,SAASs3O,EAAqBC,EAAMjiQ,GAClC,IAAIkiQ,EAASD,EAAKE,QAAQniQ,IAC1B,EAAIrN,EAAM6L,QAAwB,UAAhB0jQ,EAAOztP,KAAkB,gCAC3C,IAAI2tP,EAASH,EAAKG,OACd5gO,EAASygO,EAAKzgO,OACd80K,EAAK4rD,EAAOE,OACZT,EAAKO,EAAO1gO,OACZ6gO,EAAatlQ,KAAKkC,IAAImjQ,EAAO9rD,EAAG,IAAI,GAAI8rD,EAAO9rD,EAAG,IAAI,GAAI8rD,EAAO9rD,EAAG,KAAK,GAAI8rD,EAAO9rD,EAAG,KAAK,IAC5FgsD,EAAavlQ,KAAKkC,IAAImjQ,EAAO9rD,EAAG,IAAI,GAAI8rD,EAAO9rD,EAAG,IAAI,GAAI8rD,EAAO9rD,EAAG,KAAK,GAAI8rD,EAAO9rD,EAAG,KAAK,IAC5FisD,EAAaxlQ,KAAKC,IAAIolQ,EAAO9rD,EAAG,IAAI,GAAI8rD,EAAO9rD,EAAG,IAAI,GAAI8rD,EAAO9rD,EAAG,KAAK,GAAI8rD,EAAO9rD,EAAG,KAAK,IAC5FksD,EAAazlQ,KAAKC,IAAIolQ,EAAO9rD,EAAG,IAAI,GAAI8rD,EAAO9rD,EAAG,IAAI,GAAI8rD,EAAO9rD,EAAG,KAAK,GAAI8rD,EAAO9rD,EAAG,KAAK,IAC5FmsD,EAAW1lQ,KAAKud,KApCC,IAoCKioP,EAAaF,IAAkCJ,EAAKS,OAAO,GAAKT,EAAKS,OAAO,KACtGD,EAAW1lQ,KAAKC,IAvCkB,EAuCiBD,KAAKkC,IAtCtB,GAsCyDwjQ,IAC3F,IAAIE,EAAW5lQ,KAAKud,KAtCC,IAsCKkoP,EAAaF,IAAkCL,EAAKS,OAAO,GAAKT,EAAKS,OAAO,KACtGC,EAAW5lQ,KAAKC,IAzCkB,EAyCiBD,KAAKkC,IAxCtB,GAwCyD0jQ,IAc3F,IAbA,IAAIC,EAAiBH,EAAW,EAC5BI,EAAe,IAAIhkO,YAAY8jO,EAAW,GAAKC,GAC/CE,EAAe,IAAIjkO,YAAY8jO,EAAW,GAAKC,GAC/C3hO,EAAI,EACJ8hO,EAAK,IAAI3uQ,WAAW,GACpB4uQ,EAAK,IAAI5uQ,WAAW,GACpB6uQ,EAAKzhO,EAAOmgO,EAAG,IACfuB,EAAK1hO,EAAOmgO,EAAG,IACfwB,EAAK3hO,EAAOmgO,EAAG,IACfyB,EAAK5hO,EAAOmgO,EAAG,IACf0B,EAAOzB,EAAKe,GACZW,EAAO1B,EAAKa,GAEPp8N,EAAM,EAAGA,GAAOs8N,EAAUt8N,IAAO,CACxC08N,EAAG,IAAME,EAAG,IAAMN,EAAWt8N,GAAO88N,EAAG,GAAK98N,GAAOs8N,EAAW,EAC9DI,EAAG,IAAME,EAAG,IAAMN,EAAWt8N,GAAO88N,EAAG,GAAK98N,GAAOs8N,EAAW,EAC9DI,EAAG,IAAME,EAAG,IAAMN,EAAWt8N,GAAO88N,EAAG,GAAK98N,GAAOs8N,EAAW,EAC9DK,EAAG,IAAME,EAAG,IAAMP,EAAWt8N,GAAO+8N,EAAG,GAAK/8N,GAAOs8N,EAAW,EAC9DK,EAAG,IAAME,EAAG,IAAMP,EAAWt8N,GAAO+8N,EAAG,GAAK/8N,GAAOs8N,EAAW,EAC9DK,EAAG,IAAME,EAAG,IAAMP,EAAWt8N,GAAO+8N,EAAG,GAAK/8N,GAAOs8N,EAAW,EAE9D,IAAK,IAAI/jN,EAAM,EAAGA,GAAO6jN,EAAU7jN,IAAO3d,IACxC,GAAa,IAARoF,GAAaA,IAAQs8N,GAAsB,IAAR/jN,GAAaA,IAAQ6jN,EAA7D,CAQA,IAJA,IAAIhjP,EAAI,EACJypB,EAAI,EACJ/E,EAAI,EAEC1zC,EAAI,EAAGA,GAAK,EAAGA,IACtB,IAAK,IAAIs0B,EAAI,EAAGA,GAAK,EAAGA,IAAKof,IAAK,CAChC,IAAIvzC,EAAIyyQ,EAAKh9N,GAAK51C,GAAK6yQ,EAAK1kN,GAAK75B,GACjCtF,GAAK2iP,EAAO9rD,EAAGnyK,IAAI,GAAKvzC,EACxBs4C,GAAKk5N,EAAO9rD,EAAGnyK,IAAI,GAAKvzC,CAC1B,CAGFiyQ,EAAa5hO,GAAKmhO,EAAOjtQ,OACzBitQ,EAAOltQ,KAAK,CAACuqB,EAAGypB,IAChB45N,EAAa7hO,GAAKO,EAAOrsC,OACzB,IAAIouQ,EAAW,IAAInvQ,WAAW,GAC9BmvQ,EAAS,IAAMR,EAAG,IAAMN,EAAW7jN,GAAOokN,EAAG,GAAKpkN,GAAO6jN,EAAW,EACpEc,EAAS,IAAMR,EAAG,IAAMN,EAAW7jN,GAAOokN,EAAG,GAAKpkN,GAAO6jN,EAAW,EACpEc,EAAS,IAAMR,EAAG,IAAMN,EAAW7jN,GAAOokN,EAAG,GAAKpkN,GAAO6jN,EAAW,EACpEjhO,EAAOtsC,KAAKquQ,EArBZ,CAuBJ,CAEAV,EAAa,GAAKvsD,EAAG,GACrBwsD,EAAa,GAAKnB,EAAG,GACrBkB,EAAaJ,GAAYnsD,EAAG,GAC5BwsD,EAAaL,GAAYd,EAAG,GAC5BkB,EAAaD,EAAiBD,GAAYrsD,EAAG,IAC7CwsD,EAAaF,EAAiBD,GAAYhB,EAAG,GAC7CkB,EAAaD,EAAiBD,EAAWF,GAAYnsD,EAAG,IACxDwsD,EAAaF,EAAiBD,EAAWF,GAAYd,EAAG,GACxDM,EAAKE,QAAQniQ,GAAS,CACpByU,KAAM,UACN2tP,OAAQS,EACRrhO,OAAQshO,EACRF,iBAEJ,CAgRA,SAASY,EAAavB,GAMpB,IALA,IAAIj3N,EAAOi3N,EAAKG,OAAO,GAAG,GACtBl3N,EAAO+2N,EAAKG,OAAO,GAAG,GACtBn3N,EAAOD,EACPipC,EAAO/oC,EAEFz6C,EAAI,EAAGikB,EAAKutP,EAAKG,OAAOjtQ,OAAQ1E,EAAIikB,EAAIjkB,IAAK,CACpD,IAAIgvB,EAAIwiP,EAAKG,OAAO3xQ,GAAG,GACnBy4C,EAAI+4N,EAAKG,OAAO3xQ,GAAG,GACvBu6C,EAAOA,EAAOvrB,EAAIA,EAAIurB,EACtBE,EAAOA,EAAOhC,EAAIA,EAAIgC,EACtBD,EAAOA,EAAOxrB,EAAIA,EAAIwrB,EACtBgpC,EAAOA,EAAO/qC,EAAIA,EAAI+qC,CACxB,CAEAguL,EAAKS,OAAS,CAAC13N,EAAME,EAAMD,EAAMgpC,EACnC,CAuCA,SAASwrL,EAAK9nQ,EAAQmxE,EAAQjxE,EAAMwwE,EAAKnnD,GACvC,KAAK,EAAItuB,EAAYmjB,UAAUpe,GAC7B,MAAM,IAAIhF,EAAM8P,YAAY,6BAG9B,IAAIqV,EAAOngB,EAAOmgB,KAClB5kB,KAAK41E,OAASA,EACd51E,KAAK0sQ,YAAc9nP,EAAKzmB,IAAI,eAC5B6B,KAAKuhB,KAAO,UACZ,MAAMu/D,EAAOl8D,EAAKZ,SAAS,QAEvBC,MAAMC,QAAQ48D,IAAyB,IAAhBA,EAAK7+E,OAC9BjC,KAAK8gF,KAAOrhF,EAAM+P,KAAKyR,cAAc6/D,GAErC9gF,KAAK8gF,KAAO,KAGd,IAAI5L,EAAKtwD,EAAKzmB,IAAI,aAAc,MAChC+2E,EAAKx/C,EAAYgC,WAAWxF,MAAMgjD,EAAIvwE,EAAMwwE,EAAKnnD,GACjDhuB,KAAKk1E,GAAKA,EACVl1E,KAAKwtQ,WAAa5oP,EAAKN,IAAI,cAAgB4wD,EAAGr9C,OAAOjT,EAAKzmB,IAAI,cAAe,GAAK,KAClF,IAAIgvQ,EAAQvoP,EAAKzmB,IAAI,YACjB+pF,EAAKilL,EAAQn/O,EAAmBo/O,gBAAgBD,GAAS,KAC7DntQ,KAAKkvQ,OAAS,GACdlvQ,KAAKsuC,OAAS,GACdtuC,KAAKivQ,QAAU,GACf,IASI9pN,EAAS,IAAIyoN,EAAiBnpQ,EATd,CAClB6pQ,kBAAmB1pP,EAAKzmB,IAAI,qBAC5B2rD,iBAAkBllC,EAAKzmB,IAAI,oBAC3BiwQ,YAAaxpP,EAAKzmB,IAAI,eACtB08C,OAAQj2B,EAAKZ,SAAS,UACtBgqP,QAAS9lL,EACT8D,WAAY9W,EACZhC,SAAUgV,EAAK,EAAIhT,EAAGhC,WAGpBq9L,GAAY,EAEhB,OAAQvwQ,KAAK0sQ,aACX,KAn0BY,GAqShB,SAA4BqC,EAAM5pN,GAOhC,IANA,IAAI+pN,EAASH,EAAKG,OACd5gO,EAASygO,EAAKzgO,OACdkiO,EAAY,GACZC,EAAK,GACLC,EAAe,EAEZvrN,EAAO8oN,SAAS,CACrB,IAAI5iM,EAAIlmB,EAAOgpN,WACXwC,EAAQxrN,EAAOkpN,iBACf92O,EAAQ4tB,EAAOqpN,iBAEnB,GAAqB,IAAjBkC,EAAoB,CACtB,KAAM,GAAKrlM,GAAKA,GAAK,GACnB,MAAM,IAAI5rE,EAAM8P,YAAY,sBAG9B,OAAQ87D,GACN,KAAK,EACHqlM,EAAe,EACf,MAEF,KAAK,EACHD,EAAGzuQ,KAAKyuQ,EAAGA,EAAGxuQ,OAAS,GAAIwuQ,EAAGA,EAAGxuQ,OAAS,IAC1CyuQ,EAAe,EACf,MAEF,KAAK,EACHD,EAAGzuQ,KAAKyuQ,EAAGA,EAAGxuQ,OAAS,GAAIwuQ,EAAGA,EAAGxuQ,OAAS,IAC1CyuQ,EAAe,EAInBF,EAAUxuQ,KAAKqpE,EACjB,CAEAolM,EAAGzuQ,KAAKktQ,EAAOjtQ,QACfitQ,EAAOltQ,KAAK2uQ,GACZriO,EAAOtsC,KAAKu1B,GACZm5O,IACAvrN,EAAO+oN,OACT,CAEAa,EAAKE,QAAQjtQ,KAAK,CAChBuf,KAAM,YACN2tP,OAAQ,IAAIvjO,WAAW8kO,GACvBniO,OAAQ,IAAI3C,WAAW8kO,IAE3B,CA+eMG,CAAmB5wQ,KAAMmlD,GACzB,MAEF,KAt0Be,EAu0Bb,IAAIuqN,EAA8C,EAA7B9qP,EAAKzmB,IAAI,kBAE9B,GAAIuxQ,EAAiB,EACnB,MAAM,IAAIjwQ,EAAM8P,YAAY,2BApfpC,SAA4Bw/P,EAAM5pN,EAAQuqN,GAKxC,IAJA,IAAIR,EAASH,EAAKG,OACd5gO,EAASygO,EAAKzgO,OACdmiO,EAAK,GAEFtrN,EAAO8oN,SAAS,CACrB,IAAI0C,EAAQxrN,EAAOkpN,iBACf92O,EAAQ4tB,EAAOqpN,iBACnBiC,EAAGzuQ,KAAKktQ,EAAOjtQ,QACfitQ,EAAOltQ,KAAK2uQ,GACZriO,EAAOtsC,KAAKu1B,EACd,CAEAw3O,EAAKE,QAAQjtQ,KAAK,CAChBuf,KAAM,UACN2tP,OAAQ,IAAIvjO,WAAW8kO,GACvBniO,OAAQ,IAAI3C,WAAW8kO,GACvBf,kBAEJ,CAoeMmB,CAAmB7wQ,KAAMmlD,EAAQuqN,GACjC,MAEF,KA/0Bc,GAqdlB,SAA4BX,EAAM5pN,GAMhC,IALA,IAAI+pN,EAASH,EAAKG,OACd5gO,EAASygO,EAAKzgO,OACdmiO,EAAK,IAAI9kO,WAAW,IACpBupC,EAAK,IAAIvpC,WAAW,GAEjBwZ,EAAO8oN,SAAS,CACrB,IAMI1wQ,EAAGikB,EANH6pD,EAAIlmB,EAAOgpN,WAEf,KAAM,GAAK9iM,GAAKA,GAAK,GACnB,MAAM,IAAI5rE,EAAM8P,YAAY,sBAI9B,IAAI6zM,EAAK8rD,EAAOjtQ,OAEhB,IAAK1E,EAAI,EAAGikB,EAAW,IAAN6pD,EAAU,EAAI,GAAI9tE,EAAIikB,EAAIjkB,IACzC2xQ,EAAOltQ,KAAKmjD,EAAOkpN,kBAGrB,IAMI9gM,EAAM3C,EAAM0C,EAAMwjM,EANlBrC,EAAKngO,EAAOrsC,OAEhB,IAAK1E,EAAI,EAAGikB,EAAW,IAAN6pD,EAAU,EAAI,EAAG9tE,EAAIikB,EAAIjkB,IACxC+wC,EAAOtsC,KAAKmjD,EAAOqpN,kBAKrB,OAAQnjM,GACN,KAAK,EACHolM,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,GAAKrtD,EACRqtD,EAAG,GAAKrtD,EAAK,GACbqtD,EAAG,GAAKrtD,EAAK,GACbqtD,EAAG,GAAKrtD,EAAK,EACbluI,EAAG,GAAKu5L,EAAK,EACbv5L,EAAG,GAAKu5L,EAAK,EACbv5L,EAAG,GAAKu5L,EACRv5L,EAAG,GAAKu5L,EAAK,EACb,MAEF,KAAK,EACHlhM,EAAOkjM,EAAG,IACV7lM,EAAO6lM,EAAG,IACVnjM,EAAOmjM,EAAG,IACVK,EAAOL,EAAG,IACVA,EAAG,IAAMK,EACTL,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,GAAKnjM,EACRmjM,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,GAAK7lM,EACR6lM,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,GAAKljM,EACRkjM,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,GAAKrtD,EAAK,EACb71I,EAAO2H,EAAG,GACVtK,EAAOsK,EAAG,GACVA,EAAG,GAAKtK,EACRsK,EAAG,GAAKu5L,EACRv5L,EAAG,GAAK3H,EACR2H,EAAG,GAAKu5L,EAAK,EACb,MAEF,KAAK,EACHlhM,EAAOkjM,EAAG,IACV7lM,EAAO6lM,EAAG,IACVA,EAAG,IAAMA,EAAG,GACZA,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,GAAKA,EAAG,GACXA,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,GAAK7lM,EACR6lM,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,GAAKljM,EACRkjM,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,GAAKrtD,EAAK,EACb71I,EAAO2H,EAAG,GACVA,EAAG,GAAKA,EAAG,GACXA,EAAG,GAAKu5L,EACRv5L,EAAG,GAAK3H,EACR2H,EAAG,GAAKu5L,EAAK,EACb,MAEF,KAAK,EACHgC,EAAG,IAAMA,EAAG,GACZA,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,GAAKA,EAAG,GACXA,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,GAAKA,EAAG,GACXA,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,GAAKA,EAAG,GACXA,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,GAAKrtD,EAAK,EACbluI,EAAG,GAAKA,EAAG,GACXA,EAAG,GAAKu5L,EACRv5L,EAAG,GAAKA,EAAG,GACXA,EAAG,GAAKu5L,EAAK,EAIjBgC,EAAG,GAAKvB,EAAOjtQ,OACfitQ,EAAOltQ,KAAK,GAAG,EAAIktQ,EAAOuB,EAAG,IAAI,GAAKvB,EAAOuB,EAAG,KAAK,GAAK,GAAKvB,EAAOuB,EAAG,IAAI,GAAKvB,EAAOuB,EAAG,IAAI,IAAM,GAAKvB,EAAOuB,EAAG,KAAK,GAAKvB,EAAOuB,EAAG,IAAI,IAAM,GAAKvB,EAAOuB,EAAG,KAAK,GAAKvB,EAAOuB,EAAG,IAAI,KAAO,IAAK,EAAIvB,EAAOuB,EAAG,IAAI,GAAKvB,EAAOuB,EAAG,KAAK,GAAK,GAAKvB,EAAOuB,EAAG,IAAI,GAAKvB,EAAOuB,EAAG,IAAI,IAAM,GAAKvB,EAAOuB,EAAG,KAAK,GAAKvB,EAAOuB,EAAG,IAAI,IAAM,GAAKvB,EAAOuB,EAAG,KAAK,GAAKvB,EAAOuB,EAAG,IAAI,KAAO,IACxXA,EAAG,GAAKvB,EAAOjtQ,OACfitQ,EAAOltQ,KAAK,GAAG,EAAIktQ,EAAOuB,EAAG,IAAI,GAAKvB,EAAOuB,EAAG,KAAK,GAAK,GAAKvB,EAAOuB,EAAG,IAAI,GAAKvB,EAAOuB,EAAG,IAAI,IAAM,GAAKvB,EAAOuB,EAAG,IAAI,GAAKvB,EAAOuB,EAAG,KAAK,IAAM,GAAKvB,EAAOuB,EAAG,IAAI,GAAKvB,EAAOuB,EAAG,KAAK,KAAO,IAAK,EAAIvB,EAAOuB,EAAG,IAAI,GAAKvB,EAAOuB,EAAG,KAAK,GAAK,GAAKvB,EAAOuB,EAAG,IAAI,GAAKvB,EAAOuB,EAAG,IAAI,IAAM,GAAKvB,EAAOuB,EAAG,IAAI,GAAKvB,EAAOuB,EAAG,KAAK,IAAM,GAAKvB,EAAOuB,EAAG,IAAI,GAAKvB,EAAOuB,EAAG,KAAK,KAAO,IACxXA,EAAG,GAAKvB,EAAOjtQ,OACfitQ,EAAOltQ,KAAK,GAAG,EAAIktQ,EAAOuB,EAAG,KAAK,GAAKvB,EAAOuB,EAAG,IAAI,GAAK,GAAKvB,EAAOuB,EAAG,IAAI,GAAKvB,EAAOuB,EAAG,KAAK,IAAM,GAAKvB,EAAOuB,EAAG,IAAI,GAAKvB,EAAOuB,EAAG,KAAK,IAAM,GAAKvB,EAAOuB,EAAG,KAAK,GAAKvB,EAAOuB,EAAG,IAAI,KAAO,IAAK,EAAIvB,EAAOuB,EAAG,KAAK,GAAKvB,EAAOuB,EAAG,IAAI,GAAK,GAAKvB,EAAOuB,EAAG,IAAI,GAAKvB,EAAOuB,EAAG,KAAK,IAAM,GAAKvB,EAAOuB,EAAG,IAAI,GAAKvB,EAAOuB,EAAG,KAAK,IAAM,GAAKvB,EAAOuB,EAAG,KAAK,GAAKvB,EAAOuB,EAAG,IAAI,KAAO,IAC1XA,EAAG,IAAMvB,EAAOjtQ,OAChBitQ,EAAOltQ,KAAK,GAAG,EAAIktQ,EAAOuB,EAAG,KAAK,GAAKvB,EAAOuB,EAAG,IAAI,GAAK,GAAKvB,EAAOuB,EAAG,KAAK,GAAKvB,EAAOuB,EAAG,KAAK,IAAM,GAAKvB,EAAOuB,EAAG,KAAK,GAAKvB,EAAOuB,EAAG,IAAI,IAAM,GAAKvB,EAAOuB,EAAG,IAAI,GAAKvB,EAAOuB,EAAG,IAAI,KAAO,IAAK,EAAIvB,EAAOuB,EAAG,KAAK,GAAKvB,EAAOuB,EAAG,IAAI,GAAK,GAAKvB,EAAOuB,EAAG,KAAK,GAAKvB,EAAOuB,EAAG,KAAK,IAAM,GAAKvB,EAAOuB,EAAG,KAAK,GAAKvB,EAAOuB,EAAG,IAAI,IAAM,GAAKvB,EAAOuB,EAAG,IAAI,GAAKvB,EAAOuB,EAAG,IAAI,KAAO,IAC1X1B,EAAKE,QAAQjtQ,KAAK,CAChBuf,KAAM,QACN2tP,OAAQ,IAAIvjO,WAAW8kO,GACvBniO,OAAQ,IAAI3C,WAAWupC,IAE3B,CACF,CA0PM67L,CAAmB/wQ,KAAMmlD,GACzBorN,GAAY,EACZ,MAEF,KAn1Be,GAulBnB,SAA4BxB,EAAM5pN,GAMhC,IALA,IAAI+pN,EAASH,EAAKG,OACd5gO,EAASygO,EAAKzgO,OACdmiO,EAAK,IAAI9kO,WAAW,IACpBupC,EAAK,IAAIvpC,WAAW,GAEjBwZ,EAAO8oN,SAAS,CACrB,IAMI1wQ,EAAGikB,EANH6pD,EAAIlmB,EAAOgpN,WAEf,KAAM,GAAK9iM,GAAKA,GAAK,GACnB,MAAM,IAAI5rE,EAAM8P,YAAY,sBAI9B,IAAI6zM,EAAK8rD,EAAOjtQ,OAEhB,IAAK1E,EAAI,EAAGikB,EAAW,IAAN6pD,EAAU,GAAK,GAAI9tE,EAAIikB,EAAIjkB,IAC1C2xQ,EAAOltQ,KAAKmjD,EAAOkpN,kBAGrB,IAMI9gM,EAAM3C,EAAM0C,EAAMwjM,EANlBrC,EAAKngO,EAAOrsC,OAEhB,IAAK1E,EAAI,EAAGikB,EAAW,IAAN6pD,EAAU,EAAI,EAAG9tE,EAAIikB,EAAIjkB,IACxC+wC,EAAOtsC,KAAKmjD,EAAOqpN,kBAKrB,OAAQnjM,GACN,KAAK,EACHolM,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,GAAKrtD,EAAK,GACbqtD,EAAG,IAAMrtD,EAAK,GACdqtD,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,GAAKrtD,EAAK,GACbqtD,EAAG,GAAKrtD,EAAK,GACbqtD,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,GAAKrtD,EACRqtD,EAAG,GAAKrtD,EAAK,GACbqtD,EAAG,GAAKrtD,EAAK,GACbqtD,EAAG,GAAKrtD,EAAK,EACbluI,EAAG,GAAKu5L,EAAK,EACbv5L,EAAG,GAAKu5L,EAAK,EACbv5L,EAAG,GAAKu5L,EACRv5L,EAAG,GAAKu5L,EAAK,EACb,MAEF,KAAK,EACHlhM,EAAOkjM,EAAG,IACV7lM,EAAO6lM,EAAG,IACVnjM,EAAOmjM,EAAG,IACVK,EAAOL,EAAG,IACVA,EAAG,IAAMK,EACTL,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,GAAKnjM,EACRmjM,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,IAAMrtD,EAAK,GACdqtD,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,GAAK7lM,EACR6lM,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,GAAKrtD,EAAK,GACbqtD,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,GAAKljM,EACRkjM,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,GAAKrtD,EAAK,EACb71I,EAAO2H,EAAG,GACVtK,EAAOsK,EAAG,GACVA,EAAG,GAAKtK,EACRsK,EAAG,GAAKu5L,EACRv5L,EAAG,GAAK3H,EACR2H,EAAG,GAAKu5L,EAAK,EACb,MAEF,KAAK,EACHlhM,EAAOkjM,EAAG,IACV7lM,EAAO6lM,EAAG,IACVA,EAAG,IAAMA,EAAG,GACZA,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,GAAKA,EAAG,GACXA,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,IAAMrtD,EAAK,GACdqtD,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,GAAK7lM,EACR6lM,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,GAAKrtD,EAAK,GACbqtD,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,GAAKljM,EACRkjM,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,GAAKrtD,EAAK,EACb71I,EAAO2H,EAAG,GACVA,EAAG,GAAKA,EAAG,GACXA,EAAG,GAAKu5L,EACRv5L,EAAG,GAAK3H,EACR2H,EAAG,GAAKu5L,EAAK,EACb,MAEF,KAAK,EACHgC,EAAG,IAAMA,EAAG,GACZA,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,GAAKA,EAAG,GACXA,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,IAAMrtD,EAAK,GACdqtD,EAAG,IAAMrtD,EAAK,EACdqtD,EAAG,GAAKA,EAAG,GACXA,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,GAAKrtD,EAAK,GACbqtD,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,GAAKA,EAAG,GACXA,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,GAAKrtD,EAAK,EACbqtD,EAAG,GAAKrtD,EAAK,EACbluI,EAAG,GAAKA,EAAG,GACXA,EAAG,GAAKu5L,EACRv5L,EAAG,GAAKA,EAAG,GACXA,EAAG,GAAKu5L,EAAK,EAIjBM,EAAKE,QAAQjtQ,KAAK,CAChBuf,KAAM,QACN2tP,OAAQ,IAAIvjO,WAAW8kO,GACvBniO,OAAQ,IAAI3C,WAAWupC,IAE3B,CACF,CAoHM87L,CAAmBhxQ,KAAMmlD,GACzBorN,GAAY,EACZ,MAEF,SACE,EAAI9wQ,EAAM0P,aAAa,0BAI3B,GAAIohQ,EAAW,CACbD,EAAatwQ,MAEb,IAAK,IAAIzC,EAAI,EAAGikB,EAAKxhB,KAAKivQ,QAAQhtQ,OAAQ1E,EAAIikB,EAAIjkB,IAChDuxQ,EAAqB9uQ,KAAMzC,EAE/B,CAEA+yQ,EAAatwQ,MAjHf,SAAkB+uQ,GAChB,IAAIxxQ,EAAGikB,EAAIqQ,EAAGiI,EACVo1O,EAASH,EAAKG,OACd+B,EAAe,IAAIhuM,aAA6B,EAAhBisM,EAAOjtQ,QAE3C,IAAK1E,EAAI,EAAGs0B,EAAI,EAAGrQ,EAAK0tP,EAAOjtQ,OAAQ1E,EAAIikB,EAAIjkB,IAAK,CAClD,IAAI2zQ,EAAKhC,EAAO3xQ,GAChB0zQ,EAAap/O,KAAOq/O,EAAG,GACvBD,EAAap/O,KAAOq/O,EAAG,EACzB,CAEAnC,EAAKG,OAAS+B,EACd,IAAI3iO,EAASygO,EAAKzgO,OACd6iO,EAAe,IAAIjwQ,WAA2B,EAAhBotC,EAAOrsC,QAEzC,IAAK1E,EAAI,EAAGs0B,EAAI,EAAGrQ,EAAK8sB,EAAOrsC,OAAQ1E,EAAIikB,EAAIjkB,IAAK,CAClD,IAAII,EAAI2wC,EAAO/wC,GACf4zQ,EAAat/O,KAAOl0B,EAAE,GACtBwzQ,EAAat/O,KAAOl0B,EAAE,GACtBwzQ,EAAat/O,KAAOl0B,EAAE,EACxB,CAEAoxQ,EAAKzgO,OAAS6iO,EACd,IAAIlC,EAAUF,EAAKE,QAEnB,IAAK1xQ,EAAI,EAAGikB,EAAKytP,EAAQhtQ,OAAQ1E,EAAIikB,EAAIjkB,IAAK,CAC5C,IAAIyxQ,EAASC,EAAQ1xQ,GACjBkzQ,EAAKzB,EAAOE,OACZh6L,EAAK85L,EAAO1gO,OAEhB,IAAKzc,EAAI,EAAGiI,EAAK22O,EAAGxuQ,OAAQ4vB,EAAIiI,EAAIjI,IAClC4+O,EAAG5+O,IAAM,EACTqjD,EAAGrjD,IAAM,CAEb,CACF,CA+EEu/O,CAASpxQ,KACX,CAOA,OALAusQ,EAAKrtQ,UAAY,CACf6pF,MAAO,WACL,MAAO,CAAC,OAAQ/oF,KAAK0sQ,YAAa1sQ,KAAKkvQ,OAAQlvQ,KAAKsuC,OAAQtuC,KAAKivQ,QAASjvQ,KAAKwvQ,OAAQxvQ,KAAK41E,OAAQ51E,KAAK8gF,KAAM9gF,KAAKwtQ,WACtH,GAEKjB,CACT,CAhrBgB,GAkrBhBF,EAASG,MAAQ,WACf,SAASA,IACPxsQ,KAAKuhB,KAAO,SACd,CAOA,OALAirP,EAAMttQ,UAAY,CAChB6pF,MAAO,WACL,MAAO,CAAC,QACV,GAEKyjL,CACT,CAXiB,EA8BV,EAED,SAAUlvQ,EAAQD,EAASF,GAEjC,aAGAa,OAAOC,eAAeZ,EAAS,aAAc,CAC3CkB,OAAO,IAETlB,EAAQm5F,KAyDR,SAAcvoF,EAAKojQ,EAAYj+K,GAC7B,IAAIk+K,GAAQ,EACRC,EAAYtjQ,EAAIhM,OAEpB,GAAkB,IAAdsvQ,GAAmBn+K,EACrB,OAAOo+K,EAAevjQ,EAAKqjQ,EAAOl+K,GAGpCtE,EAAM7sF,OAASsvQ,EACfpsJ,EAAMljH,OAASsvQ,EACf,IACIh0Q,EAAGikB,EADHiwP,EAAU,EAGd,IAAKl0Q,EAAI,EAAGA,EAAIg0Q,IAAah0Q,EAAG,CAC9BuxF,EAAMvxF,GAAK0Q,EAAIW,OAAOrR,GACtB,IAAI+9F,EAAWrtF,EAAIS,WAAWnR,GAC1Bm0Q,EAAW,IAEXp2K,GAAY,IACdo2K,EAAWC,EAAUr2K,GACZ,MAAUA,GAAYA,GAAY,KAC3Co2K,EAAW,IACF,MAAUp2K,GAAYA,GAAY,MAC3Co2K,EAAWE,EAAuB,IAAXt2K,MAGrB,EAAI77F,EAAMgK,MAAM,mCAAqC6xF,EAASxzF,SAAS,KAEhE,MAAUwzF,GAAYA,GAAY,OAC3Co2K,EAAW,MAGI,MAAbA,GAAiC,OAAbA,GAAkC,OAAbA,GAC3CD,IAGFtsJ,EAAM5nH,GAAKm0Q,CACb,CAEA,GAAgB,IAAZD,EAEF,OAAOD,EAAevjQ,EADtBqjQ,GAAQ,IAIU,IAAhBD,IACEI,EAAUF,EAAY,IACxBD,GAAQ,EACRD,EAAa,IAEbC,GAAQ,EACRD,EAAa,IAIjB,IAAI3qM,EAAS,GAEb,IAAKnpE,EAAI,EAAGA,EAAIg0Q,IAAah0Q,EAC3BmpE,EAAOnpE,GAAK8zQ,EAGd,IAcI7yQ,EAdAwL,EAAI6nQ,EAAMR,GAAc,IAAM,IAC9BS,EAAM9nQ,EACN+nQ,EAAMD,EACNE,EAAWF,EAEf,IAAKv0Q,EAAI,EAAGA,EAAIg0Q,IAAah0Q,EACV,QAAb4nH,EAAM5nH,GACR4nH,EAAM5nH,GAAKy0Q,EAEXA,EAAW7sJ,EAAM5nH,GAOrB,IAHAy0Q,EAAWF,EAGNv0Q,EAAI,EAAGA,EAAIg0Q,IAAah0Q,EAGjB,QAFViB,EAAI2mH,EAAM5nH,IAGR4nH,EAAM5nH,GAAkB,OAAby0Q,EAAoB,KAAO,KACvB,MAANxzQ,GAAmB,MAANA,GAAmB,OAANA,IACnCwzQ,EAAWxzQ,GAIf,IAAKjB,EAAI,EAAGA,EAAIg0Q,IAAah0Q,EAGjB,QAFViB,EAAI2mH,EAAM5nH,MAGR4nH,EAAM5nH,GAAK,KAIf,IAAKA,EAAI,EAAGA,EAAIg0Q,EAAY,IAAKh0Q,EACd,OAAb4nH,EAAM5nH,IAAgC,OAAjB4nH,EAAM5nH,EAAI,IAAgC,OAAjB4nH,EAAM5nH,EAAI,KAC1D4nH,EAAM5nH,GAAK,MAGI,OAAb4nH,EAAM5nH,IAAiC,OAAjB4nH,EAAM5nH,EAAI,IAAgC,OAAjB4nH,EAAM5nH,EAAI,IAAgB4nH,EAAM5nH,EAAI,KAAO4nH,EAAM5nH,EAAI,KACtG4nH,EAAM5nH,GAAK4nH,EAAM5nH,EAAI,IAIzB,IAAKA,EAAI,EAAGA,EAAIg0Q,IAAah0Q,EAC3B,GAAiB,OAAb4nH,EAAM5nH,GAAa,CACrB,IAAIs0B,EAEJ,IAAKA,EAAIt0B,EAAI,EAAGs0B,GAAK,GACF,OAAbszF,EAAMtzF,KADcA,EAKxBszF,EAAMtzF,GAAK,KAGb,IAAKA,EAAIt0B,EAAI,EAAGs0B,EAAI0/O,GACD,OAAbpsJ,EAAMtzF,KADqBA,EAK/BszF,EAAMtzF,GAAK,IAEf,CAGF,IAAKt0B,EAAI,EAAGA,EAAIg0Q,IAAah0Q,EAGjB,QAFViB,EAAI2mH,EAAM5nH,KAEc,OAANiB,GAAoB,OAANA,GAAoB,OAANA,IAC5C2mH,EAAM5nH,GAAK,MAMf,IAFAy0Q,EAAWF,EAENv0Q,EAAI,EAAGA,EAAIg0Q,IAAah0Q,EAGjB,QAFViB,EAAI2mH,EAAM5nH,IAGR4nH,EAAM5nH,GAAkB,MAAby0Q,EAAmB,IAAM,KACrB,MAANxzQ,GAAmB,MAANA,IACtBwzQ,EAAWxzQ,GAIf,IAAKjB,EAAI,EAAGA,EAAIg0Q,IAAah0Q,EAC3B,GAAiB,OAAb4nH,EAAM5nH,GAAa,CACrB,IAAI2oB,EAAM+rP,EAAY9sJ,EAAO5nH,EAAI,EAAG,MAChC20Q,EAASJ,EAETv0Q,EAAI,IACN20Q,EAAS/sJ,EAAM5nH,EAAI,IAGrB,IAAI40Q,EAAQJ,EAER7rP,EAAM,EAAIqrP,IACZY,EAAQhtJ,EAAMj/F,EAAM,IAGP,MAAXgsP,IACFA,EAAS,KAGG,MAAVC,IACFA,EAAQ,KAGND,IAAWC,GACbC,EAAUjtJ,EAAO5nH,EAAG2oB,EAAKgsP,GAG3B30Q,EAAI2oB,EAAM,CACZ,CAGF,IAAK3oB,EAAI,EAAGA,EAAIg0Q,IAAah0Q,EACV,OAAb4nH,EAAM5nH,KACR4nH,EAAM5nH,GAAKyM,GAIf,IAAKzM,EAAI,EAAGA,EAAIg0Q,IAAah0Q,EAC3BiB,EAAI2mH,EAAM5nH,GAEN80Q,EAAO3rM,EAAOnpE,IACN,MAANiB,EACFkoE,EAAOnpE,IAAM,EACE,OAANiB,GAAoB,OAANA,IACvBkoE,EAAOnpE,IAAM,GAGL,MAANiB,GAAmB,OAANA,GAAoB,OAANA,IAC7BkoE,EAAOnpE,IAAM,GAKnB,IAEI6Q,EAFAkkQ,GAAgB,EAChBC,EAAiB,GAGrB,IAAKh1Q,EAAI,EAAGikB,EAAKklD,EAAOzkE,OAAQ1E,EAAIikB,IAAMjkB,EAGpC+0Q,GAFJlkQ,EAAQs4D,EAAOnpE,MAGb+0Q,EAAelkQ,GAGbmkQ,EAAiBnkQ,GAASyjQ,EAAMzjQ,KAClCmkQ,EAAiBnkQ,GAIrB,IAAKA,EAAQkkQ,EAAclkQ,GAASmkQ,IAAkBnkQ,EAAO,CAC3D,IAAIpJ,GAAS,EAEb,IAAKzH,EAAI,EAAGikB,EAAKklD,EAAOzkE,OAAQ1E,EAAIikB,IAAMjkB,EACpCmpE,EAAOnpE,GAAK6Q,EACVpJ,GAAS,IACXwtQ,EAAc1jL,EAAO9pF,EAAOzH,GAC5ByH,GAAS,GAEFA,EAAQ,IACjBA,EAAQzH,GAIRyH,GAAS,GACXwtQ,EAAc1jL,EAAO9pF,EAAO0hE,EAAOzkE,OAEvC,CAEA,IAAK1E,EAAI,EAAGikB,EAAKstE,EAAM7sF,OAAQ1E,EAAIikB,IAAMjkB,EAAG,CAC1C,IAAIsvB,EAAKiiE,EAAMvxF,GAEJ,MAAPsvB,GAAqB,MAAPA,IAChBiiE,EAAMvxF,GAAK,GAEf,CAEA,OAAOi0Q,EAAe1iL,EAAM5sF,KAAK,IAAKovQ,EACxC,EA1SA,IAAI7xQ,EAAQtC,EAAoB,GAE5Bw0Q,EAAY,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAC14CC,EAAc,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,K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","sources":["webpack://tabeeb-sidebar/./node_modules/pdfjs-dist/build/pdf.worker.js","webpack://tabeeb-sidebar/webpack/bootstrap","webpack://tabeeb-sidebar/./node_modules/pdfjs-dist/build/pdf.worker.entry.js"],"sourcesContent":["/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2020 Mozilla Foundation\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 * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\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(\"pdfjs-dist/build/pdf.worker\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf.worker\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf.worker\"] = root.pdfjsWorker = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_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, __w_pdfjs_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__w_pdfjs_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__w_pdfjs_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__w_pdfjs_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__w_pdfjs_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__w_pdfjs_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __w_pdfjs_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__w_pdfjs_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__w_pdfjs_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__w_pdfjs_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__w_pdfjs_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"WorkerMessageHandler\", {\n enumerable: true,\n get: function () {\n return _worker.WorkerMessageHandler;\n }\n});\n\nvar _worker = __w_pdfjs_require__(1);\n\nconst pdfjsVersion = '2.5.207';\nconst pdfjsBuild = '0974d605';\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.WorkerMessageHandler = exports.WorkerTask = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _primitives = __w_pdfjs_require__(5);\n\nvar _pdf_manager = __w_pdfjs_require__(6);\n\nvar _is_node = __w_pdfjs_require__(4);\n\nvar _message_handler = __w_pdfjs_require__(45);\n\nvar _worker_stream = __w_pdfjs_require__(46);\n\nvar _core_utils = __w_pdfjs_require__(8);\n\nvar WorkerTask = function WorkerTaskClosure() {\n function WorkerTask(name) {\n this.name = name;\n this.terminated = false;\n this._capability = (0, _util.createPromiseCapability)();\n }\n\n WorkerTask.prototype = {\n get finished() {\n return this._capability.promise;\n },\n\n finish() {\n this._capability.resolve();\n },\n\n terminate() {\n this.terminated = true;\n },\n\n ensureNotTerminated() {\n if (this.terminated) {\n throw new Error(\"Worker task was terminated\");\n }\n }\n\n };\n return WorkerTask;\n}();\n\nexports.WorkerTask = WorkerTask;\nvar WorkerMessageHandler = {\n setup(handler, port) {\n var testMessageProcessed = false;\n handler.on(\"test\", function wphSetupTest(data) {\n if (testMessageProcessed) {\n return;\n }\n\n testMessageProcessed = true;\n\n if (!(data instanceof Uint8Array)) {\n handler.send(\"test\", null);\n return;\n }\n\n const supportTransfers = data[0] === 255;\n handler.postMessageTransfers = supportTransfers;\n handler.send(\"test\", {\n supportTransfers\n });\n });\n handler.on(\"configure\", function wphConfigure(data) {\n (0, _util.setVerbosityLevel)(data.verbosity);\n });\n handler.on(\"GetDocRequest\", function wphSetupDoc(data) {\n return WorkerMessageHandler.createDocumentHandler(data, port);\n });\n },\n\n createDocumentHandler(docParams, port) {\n var pdfManager;\n var terminated = false;\n var cancelXHRs = null;\n var WorkerTasks = [];\n const verbosity = (0, _util.getVerbosityLevel)();\n const apiVersion = docParams.apiVersion;\n const workerVersion = '2.5.207';\n\n if (apiVersion !== workerVersion) {\n throw new Error(`The API version \"${apiVersion}\" does not match ` + `the Worker version \"${workerVersion}\".`);\n }\n\n const enumerableProperties = [];\n\n for (const property in []) {\n enumerableProperties.push(property);\n }\n\n if (enumerableProperties.length) {\n throw new Error(\"The `Array.prototype` contains unexpected enumerable properties: \" + enumerableProperties.join(\", \") + \"; thus breaking e.g. `for...in` iteration of `Array`s.\");\n }\n\n if (typeof ReadableStream === \"undefined\" || typeof Promise.allSettled === \"undefined\") {\n throw new Error(\"The browser/environment lacks native support for critical \" + \"functionality used by the PDF.js library (e.g. \" + \"`ReadableStream` and/or `Promise.allSettled`); \" + \"please use an ES5-compatible build instead.\");\n }\n\n var docId = docParams.docId;\n var docBaseUrl = docParams.docBaseUrl;\n var workerHandlerName = docParams.docId + \"_worker\";\n var handler = new _message_handler.MessageHandler(workerHandlerName, docId, port);\n handler.postMessageTransfers = docParams.postMessageTransfers;\n\n function ensureNotTerminated() {\n if (terminated) {\n throw new Error(\"Worker was terminated\");\n }\n }\n\n function startWorkerTask(task) {\n WorkerTasks.push(task);\n }\n\n function finishWorkerTask(task) {\n task.finish();\n var i = WorkerTasks.indexOf(task);\n WorkerTasks.splice(i, 1);\n }\n\n async function loadDocument(recoveryMode) {\n await pdfManager.ensureDoc(\"checkHeader\");\n await pdfManager.ensureDoc(\"parseStartXRef\");\n await pdfManager.ensureDoc(\"parse\", [recoveryMode]);\n\n if (!recoveryMode) {\n await pdfManager.ensureDoc(\"checkFirstPage\");\n }\n\n const [numPages, fingerprint] = await Promise.all([pdfManager.ensureDoc(\"numPages\"), pdfManager.ensureDoc(\"fingerprint\")]);\n return {\n numPages,\n fingerprint\n };\n }\n\n function getPdfManager(data, evaluatorOptions) {\n var pdfManagerCapability = (0, _util.createPromiseCapability)();\n let newPdfManager;\n var source = data.source;\n\n if (source.data) {\n try {\n newPdfManager = new _pdf_manager.LocalPdfManager(docId, source.data, source.password, evaluatorOptions, docBaseUrl);\n pdfManagerCapability.resolve(newPdfManager);\n } catch (ex) {\n pdfManagerCapability.reject(ex);\n }\n\n return pdfManagerCapability.promise;\n }\n\n var pdfStream,\n cachedChunks = [];\n\n try {\n pdfStream = new _worker_stream.PDFWorkerStream(handler);\n } catch (ex) {\n pdfManagerCapability.reject(ex);\n return pdfManagerCapability.promise;\n }\n\n var fullRequest = pdfStream.getFullReader();\n fullRequest.headersReady.then(function () {\n if (!fullRequest.isRangeSupported) {\n return;\n }\n\n var disableAutoFetch = source.disableAutoFetch || fullRequest.isStreamingSupported;\n newPdfManager = new _pdf_manager.NetworkPdfManager(docId, pdfStream, {\n msgHandler: handler,\n password: source.password,\n length: fullRequest.contentLength,\n disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize\n }, evaluatorOptions, docBaseUrl);\n\n for (let i = 0; i < cachedChunks.length; i++) {\n newPdfManager.sendProgressiveData(cachedChunks[i]);\n }\n\n cachedChunks = [];\n pdfManagerCapability.resolve(newPdfManager);\n cancelXHRs = null;\n }).catch(function (reason) {\n pdfManagerCapability.reject(reason);\n cancelXHRs = null;\n });\n var loaded = 0;\n\n var flushChunks = function () {\n var pdfFile = (0, _util.arraysToBytes)(cachedChunks);\n\n if (source.length && pdfFile.length !== source.length) {\n (0, _util.warn)(\"reported HTTP length is different from actual\");\n }\n\n try {\n newPdfManager = new _pdf_manager.LocalPdfManager(docId, pdfFile, source.password, evaluatorOptions, docBaseUrl);\n pdfManagerCapability.resolve(newPdfManager);\n } catch (ex) {\n pdfManagerCapability.reject(ex);\n }\n\n cachedChunks = [];\n };\n\n var readPromise = new Promise(function (resolve, reject) {\n var readChunk = function ({\n value,\n done\n }) {\n try {\n ensureNotTerminated();\n\n if (done) {\n if (!newPdfManager) {\n flushChunks();\n }\n\n cancelXHRs = null;\n return;\n }\n\n loaded += (0, _util.arrayByteLength)(value);\n\n if (!fullRequest.isStreamingSupported) {\n handler.send(\"DocProgress\", {\n loaded,\n total: Math.max(loaded, fullRequest.contentLength || 0)\n });\n }\n\n if (newPdfManager) {\n newPdfManager.sendProgressiveData(value);\n } else {\n cachedChunks.push(value);\n }\n\n fullRequest.read().then(readChunk, reject);\n } catch (e) {\n reject(e);\n }\n };\n\n fullRequest.read().then(readChunk, reject);\n });\n readPromise.catch(function (e) {\n pdfManagerCapability.reject(e);\n cancelXHRs = null;\n });\n\n cancelXHRs = function (reason) {\n pdfStream.cancelAllRequests(reason);\n };\n\n return pdfManagerCapability.promise;\n }\n\n function setupDoc(data) {\n function onSuccess(doc) {\n ensureNotTerminated();\n handler.send(\"GetDoc\", {\n pdfInfo: doc\n });\n }\n\n function onFailure(ex) {\n ensureNotTerminated();\n\n if (ex instanceof _util.PasswordException) {\n var task = new WorkerTask(`PasswordException: response ${ex.code}`);\n startWorkerTask(task);\n handler.sendWithPromise(\"PasswordRequest\", ex).then(function ({\n password\n }) {\n finishWorkerTask(task);\n pdfManager.updatePassword(password);\n pdfManagerReady();\n }).catch(function () {\n finishWorkerTask(task);\n handler.send(\"DocException\", ex);\n });\n } else if (ex instanceof _util.InvalidPDFException || ex instanceof _util.MissingPDFException || ex instanceof _util.UnexpectedResponseException || ex instanceof _util.UnknownErrorException) {\n handler.send(\"DocException\", ex);\n } else {\n handler.send(\"DocException\", new _util.UnknownErrorException(ex.message, ex.toString()));\n }\n }\n\n function pdfManagerReady() {\n ensureNotTerminated();\n loadDocument(false).then(onSuccess, function loadFailure(ex) {\n ensureNotTerminated();\n\n if (!(ex instanceof _core_utils.XRefParseException)) {\n onFailure(ex);\n return;\n }\n\n pdfManager.requestLoadedStream();\n pdfManager.onLoadedStream().then(function () {\n ensureNotTerminated();\n loadDocument(true).then(onSuccess, onFailure);\n });\n }, onFailure);\n }\n\n ensureNotTerminated();\n var evaluatorOptions = {\n maxImageSize: data.maxImageSize,\n disableFontFace: data.disableFontFace,\n ignoreErrors: data.ignoreErrors,\n isEvalSupported: data.isEvalSupported,\n fontExtraProperties: data.fontExtraProperties\n };\n getPdfManager(data, evaluatorOptions).then(function (newPdfManager) {\n if (terminated) {\n newPdfManager.terminate(new _util.AbortException(\"Worker was terminated.\"));\n throw new Error(\"Worker was terminated\");\n }\n\n pdfManager = newPdfManager;\n pdfManager.onLoadedStream().then(function (stream) {\n handler.send(\"DataLoaded\", {\n length: stream.bytes.byteLength\n });\n });\n }).then(pdfManagerReady, onFailure);\n }\n\n handler.on(\"GetPage\", function wphSetupGetPage(data) {\n return pdfManager.getPage(data.pageIndex).then(function (page) {\n return Promise.all([pdfManager.ensure(page, \"rotate\"), pdfManager.ensure(page, \"ref\"), pdfManager.ensure(page, \"userUnit\"), pdfManager.ensure(page, \"view\")]).then(function ([rotate, ref, userUnit, view]) {\n return {\n rotate,\n ref,\n userUnit,\n view\n };\n });\n });\n });\n handler.on(\"GetPageIndex\", function wphSetupGetPageIndex(data) {\n var ref = _primitives.Ref.get(data.ref.num, data.ref.gen);\n\n var catalog = pdfManager.pdfDocument.catalog;\n return catalog.getPageIndex(ref);\n });\n handler.on(\"GetDestinations\", function wphSetupGetDestinations(data) {\n return pdfManager.ensureCatalog(\"destinations\");\n });\n handler.on(\"GetDestination\", function wphSetupGetDestination(data) {\n return pdfManager.ensureCatalog(\"getDestination\", [data.id]);\n });\n handler.on(\"GetPageLabels\", function wphSetupGetPageLabels(data) {\n return pdfManager.ensureCatalog(\"pageLabels\");\n });\n handler.on(\"GetPageLayout\", function wphSetupGetPageLayout(data) {\n return pdfManager.ensureCatalog(\"pageLayout\");\n });\n handler.on(\"GetPageMode\", function wphSetupGetPageMode(data) {\n return pdfManager.ensureCatalog(\"pageMode\");\n });\n handler.on(\"GetViewerPreferences\", function (data) {\n return pdfManager.ensureCatalog(\"viewerPreferences\");\n });\n handler.on(\"GetOpenAction\", function (data) {\n return pdfManager.ensureCatalog(\"openAction\");\n });\n handler.on(\"GetAttachments\", function wphSetupGetAttachments(data) {\n return pdfManager.ensureCatalog(\"attachments\");\n });\n handler.on(\"GetJavaScript\", function wphSetupGetJavaScript(data) {\n return pdfManager.ensureCatalog(\"javaScript\");\n });\n handler.on(\"GetOutline\", function wphSetupGetOutline(data) {\n return pdfManager.ensureCatalog(\"documentOutline\");\n });\n handler.on(\"GetPermissions\", function (data) {\n return pdfManager.ensureCatalog(\"permissions\");\n });\n handler.on(\"GetMetadata\", function wphSetupGetMetadata(data) {\n return Promise.all([pdfManager.ensureDoc(\"documentInfo\"), pdfManager.ensureCatalog(\"metadata\")]);\n });\n handler.on(\"GetData\", function wphSetupGetData(data) {\n pdfManager.requestLoadedStream();\n return pdfManager.onLoadedStream().then(function (stream) {\n return stream.bytes;\n });\n });\n handler.on(\"GetStats\", function wphSetupGetStats(data) {\n return pdfManager.pdfDocument.xref.stats;\n });\n handler.on(\"GetAnnotations\", function ({\n pageIndex,\n intent\n }) {\n return pdfManager.getPage(pageIndex).then(function (page) {\n return page.getAnnotationsData(intent);\n });\n });\n handler.on(\"GetOperatorList\", function wphSetupRenderPage(data, sink) {\n var pageIndex = data.pageIndex;\n pdfManager.getPage(pageIndex).then(function (page) {\n var task = new WorkerTask(`GetOperatorList: page ${pageIndex}`);\n startWorkerTask(task);\n const start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;\n page.getOperatorList({\n handler,\n sink,\n task,\n intent: data.intent,\n renderInteractiveForms: data.renderInteractiveForms\n }).then(function (operatorListInfo) {\n finishWorkerTask(task);\n\n if (start) {\n (0, _util.info)(`page=${pageIndex + 1} - getOperatorList: time=` + `${Date.now() - start}ms, len=${operatorListInfo.length}`);\n }\n\n sink.close();\n }, function (reason) {\n finishWorkerTask(task);\n\n if (task.terminated) {\n return;\n }\n\n handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorOperatorList\n });\n sink.error(reason);\n });\n });\n }, this);\n handler.on(\"GetTextContent\", function wphExtractText(data, sink) {\n var pageIndex = data.pageIndex;\n\n sink.onPull = function (desiredSize) {};\n\n sink.onCancel = function (reason) {};\n\n pdfManager.getPage(pageIndex).then(function (page) {\n var task = new WorkerTask(\"GetTextContent: page \" + pageIndex);\n startWorkerTask(task);\n const start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;\n page.extractTextContent({\n handler,\n task,\n sink,\n normalizeWhitespace: data.normalizeWhitespace,\n combineTextItems: data.combineTextItems\n }).then(function () {\n finishWorkerTask(task);\n\n if (start) {\n (0, _util.info)(`page=${pageIndex + 1} - getTextContent: time=` + `${Date.now() - start}ms`);\n }\n\n sink.close();\n }, function (reason) {\n finishWorkerTask(task);\n\n if (task.terminated) {\n return;\n }\n\n sink.error(reason);\n });\n });\n });\n handler.on(\"FontFallback\", function (data) {\n return pdfManager.fontFallback(data.id, handler);\n });\n handler.on(\"Cleanup\", function wphCleanup(data) {\n return pdfManager.cleanup(true);\n });\n handler.on(\"Terminate\", function wphTerminate(data) {\n terminated = true;\n const waitOn = [];\n\n if (pdfManager) {\n pdfManager.terminate(new _util.AbortException(\"Worker was terminated.\"));\n const cleanupPromise = pdfManager.cleanup();\n waitOn.push(cleanupPromise);\n pdfManager = null;\n } else {\n (0, _primitives.clearPrimitiveCaches)();\n }\n\n if (cancelXHRs) {\n cancelXHRs(new _util.AbortException(\"Worker was terminated.\"));\n }\n\n WorkerTasks.forEach(function (task) {\n waitOn.push(task.finished);\n task.terminate();\n });\n return Promise.all(waitOn).then(function () {\n handler.destroy();\n handler = null;\n });\n });\n handler.on(\"Ready\", function wphReady(data) {\n setupDoc(docParams);\n docParams = null;\n });\n return workerHandlerName;\n },\n\n initializeFromPort(port) {\n var handler = new _message_handler.MessageHandler(\"worker\", \"main\", port);\n WorkerMessageHandler.setup(handler, port);\n handler.send(\"ready\", null);\n }\n\n};\nexports.WorkerMessageHandler = WorkerMessageHandler;\n\nfunction isMessagePort(maybePort) {\n return typeof maybePort.postMessage === \"function\" && \"onmessage\" in maybePort;\n}\n\nif (typeof window === \"undefined\" && !_is_node.isNodeJS && typeof self !== \"undefined\" && isMessagePort(self)) {\n WorkerMessageHandler.initializeFromPort(self);\n}\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.isBool = isBool;\nexports.isEmptyObj = isEmptyObj;\nexports.isNum = isNum;\nexports.isString = isString;\nexports.isSameOrigin = isSameOrigin;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.removeNullCharacters = removeNullCharacters;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nexports.unreachable = unreachable;\nexports.IsEvalSupportedCached = exports.IsLittleEndianCached = exports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.MissingPDFException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = exports.BaseException = void 0;\n\n__w_pdfjs_require__(3);\n\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nconst PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n};\nexports.PermissionFlag = PermissionFlag;\nconst TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n};\nexports.TextRenderingMode = TextRenderingMode;\nconst ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\nconst AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n};\nexports.AnnotationType = AnnotationType;\nconst AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\"\n};\nexports.AnnotationStateModelType = AnnotationStateModelType;\nconst AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\"\n};\nexports.AnnotationMarkedState = AnnotationMarkedState;\nconst AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\"\n};\nexports.AnnotationReviewState = AnnotationReviewState;\nconst AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n};\nexports.AnnotationReplyType = AnnotationReplyType;\nconst AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n};\nexports.AnnotationFlag = AnnotationFlag;\nconst AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nconst StreamType = {\n UNKNOWN: \"UNKNOWN\",\n FLATE: \"FLATE\",\n LZW: \"LZW\",\n DCT: \"DCT\",\n JPX: \"JPX\",\n JBIG: \"JBIG\",\n A85: \"A85\",\n AHX: \"AHX\",\n CCF: \"CCF\",\n RLX: \"RLX\"\n};\nexports.StreamType = StreamType;\nconst FontType = {\n UNKNOWN: \"UNKNOWN\",\n TYPE1: \"TYPE1\",\n TYPE1C: \"TYPE1C\",\n CIDFONTTYPE0: \"CIDFONTTYPE0\",\n CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n TRUETYPE: \"TRUETYPE\",\n CIDFONTTYPE2: \"CIDFONTTYPE2\",\n TYPE3: \"TYPE3\",\n OPENTYPE: \"OPENTYPE\",\n TYPE0: \"TYPE0\",\n MMTYPE1: \"MMTYPE1\"\n};\nexports.FontType = FontType;\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nconst CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n};\nexports.CMapCompressionType = CMapCompressionType;\nconst OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n};\nexports.OPS = OPS;\nconst UNSUPPORTED_FEATURES = {\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n font: \"font\",\n errorTilingPattern: \"errorTilingPattern\",\n errorExtGState: \"errorExtGState\",\n errorXObject: \"errorXObject\",\n errorFontLoadType3: \"errorFontLoadType3\",\n errorFontState: \"errorFontState\",\n errorFontMissing: \"errorFontMissing\",\n errorFontTranslate: \"errorFontTranslate\",\n errorColorSpace: \"errorColorSpace\",\n errorOperatorList: \"errorOperatorList\",\n errorFontToUnicode: \"errorFontToUnicode\",\n errorFontLoadNative: \"errorFontLoadNative\",\n errorFontGetPath: \"errorFontGetPath\"\n};\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nlet verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\n\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(`Warning: ${msg}`);\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\nfunction isSameOrigin(baseUrl, otherUrl) {\n let base;\n\n try {\n base = new URL(baseUrl);\n\n if (!base.origin || base.origin === \"null\") {\n return false;\n }\n } catch (e) {\n return false;\n }\n\n const other = new URL(otherUrl, base);\n return base.origin === other.origin;\n}\n\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n\n switch (url.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n\n default:\n return false;\n }\n}\n\nfunction createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n\n try {\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n}\n\nconst BaseException = function BaseExceptionClosure() {\n function BaseException(message) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n\n this.message = message;\n this.name = this.constructor.name;\n }\n\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n return BaseException;\n}();\n\nexports.BaseException = BaseException;\n\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg);\n this.code = code;\n }\n\n}\n\nexports.PasswordException = PasswordException;\n\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg);\n this.details = details;\n }\n\n}\n\nexports.UnknownErrorException = UnknownErrorException;\n\nclass InvalidPDFException extends BaseException {}\n\nexports.InvalidPDFException = InvalidPDFException;\n\nclass MissingPDFException extends BaseException {}\n\nexports.MissingPDFException = MissingPDFException;\n\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg);\n this.status = status;\n }\n\n}\n\nexports.UnexpectedResponseException = UnexpectedResponseException;\n\nclass FormatError extends BaseException {}\n\nexports.FormatError = FormatError;\n\nclass AbortException extends BaseException {}\n\nexports.AbortException = AbortException;\nconst NullCharactersRegExp = /\\x00/g;\n\nfunction removeNullCharacters(str) {\n if (typeof str !== \"string\") {\n warn(\"The argument for removeNullCharacters must be a string.\");\n return str;\n }\n\n return str.replace(NullCharactersRegExp, \"\");\n}\n\nfunction bytesToString(bytes) {\n assert(bytes !== null && typeof bytes === \"object\" && bytes.length !== undefined, \"Invalid argument for bytesToString\");\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n\n const strBuf = [];\n\n for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n const chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n\n return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n assert(typeof str === \"string\", \"Invalid argument for stringToBytes\");\n const length = str.length;\n const bytes = new Uint8Array(length);\n\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n\n return bytes;\n}\n\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n\n assert(arr.byteLength !== undefined, \"arrayByteLength - invalid argument.\");\n return arr.byteLength;\n}\n\nfunction arraysToBytes(arr) {\n const length = arr.length;\n\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n\n let resultLength = 0;\n\n for (let i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n\n let pos = 0;\n const data = new Uint8Array(resultLength);\n\n for (let i = 0; i < length; i++) {\n let item = arr[i];\n\n if (!(item instanceof Uint8Array)) {\n if (typeof item === \"string\") {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n\n const itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n\n return data;\n}\n\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\n\nfunction isLittleEndian() {\n const buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\n\nconst IsLittleEndianCached = {\n get value() {\n return shadow(this, \"value\", isLittleEndian());\n }\n\n};\nexports.IsLittleEndianCached = IsLittleEndianCached;\n\nfunction isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch (e) {\n return false;\n }\n}\n\nconst IsEvalSupportedCached = {\n get value() {\n return shadow(this, \"value\", isEvalSupported());\n }\n\n};\nexports.IsEvalSupportedCached = IsEvalSupportedCached;\nconst rgbBuf = [\"rgb(\", 0, \",\", 0, \",\", 0, \")\"];\n\nclass Util {\n static makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join(\"\");\n }\n\n static transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n }\n\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = Util.applyTransform(r, m);\n const p2 = Util.applyTransform(r.slice(2, 4), m);\n const p3 = Util.applyTransform([r[0], r[3]], m);\n const p4 = Util.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n }\n\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n }\n\n static apply3dTransform(m, v) {\n return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n }\n\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n\n static normalizeRect(rect) {\n const r = rect.slice(0);\n\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n\n return r;\n }\n\n static intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n const orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n const orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n const result = [];\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\n if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return null;\n }\n\n if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return null;\n }\n\n return result;\n }\n\n}\n\nexports.Util = Util;\nconst PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];\n\nfunction stringToPDFString(str) {\n const length = str.length,\n strBuf = [];\n\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n for (let i = 2; i < length; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n }\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n for (let i = 2; i < length; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i + 1) << 8 | str.charCodeAt(i)));\n }\n } else {\n for (let i = 0; i < length; ++i) {\n const code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n }\n\n return strBuf.join(\"\");\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isEmptyObj(obj) {\n for (const key in obj) {\n return false;\n }\n\n return true;\n}\n\nfunction isBool(v) {\n return typeof v === \"boolean\";\n}\n\nfunction isNum(v) {\n return typeof v === \"number\";\n}\n\nfunction isString(v) {\n return typeof v === \"string\";\n}\n\nfunction isArrayBuffer(v) {\n return typeof v === \"object\" && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n return arr1.every(function (element, index) {\n return element === arr2[index];\n });\n}\n\nfunction createPromiseCapability() {\n const capability = Object.create(null);\n let isSettled = false;\n Object.defineProperty(capability, \"settled\", {\n get() {\n return isSettled;\n }\n\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\nconst createObjectURL = function createObjectURLClosure() {\n const digits = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n return function createObjectURL(data, contentType, forceDataSchema = false) {\n if (!forceDataSchema && URL.createObjectURL) {\n const blob = new Blob([data], {\n type: contentType\n });\n return URL.createObjectURL(blob);\n }\n\n let buffer = `data:${contentType};base64,`;\n\n for (let i = 0, ii = data.length; i < ii; i += 3) {\n const b1 = data[i] & 0xff;\n const b2 = data[i + 1] & 0xff;\n const b3 = data[i + 2] & 0xff;\n const d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n const d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;\n const d4 = i + 2 < ii ? b3 & 0x3f : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n\n return buffer;\n };\n}();\n\nexports.createObjectURL = createObjectURL;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _is_node = __w_pdfjs_require__(4);\n\n;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isNodeJS = void 0;\nconst isNodeJS = typeof process === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !process.versions.electron;\nexports.isNodeJS = isNodeJS;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.clearPrimitiveCaches = clearPrimitiveCaches;\nexports.isEOF = isEOF;\nexports.isCmd = isCmd;\nexports.isDict = isDict;\nexports.isName = isName;\nexports.isRef = isRef;\nexports.isRefsEqual = isRefsEqual;\nexports.isStream = isStream;\nexports.RefSetCache = exports.RefSet = exports.Ref = exports.Name = exports.Dict = exports.Cmd = exports.EOF = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar EOF = {};\nexports.EOF = EOF;\n\nvar Name = function NameClosure() {\n let nameCache = Object.create(null);\n\n function Name(name) {\n this.name = name;\n }\n\n Name.prototype = {};\n\n Name.get = function Name_get(name) {\n var nameValue = nameCache[name];\n return nameValue ? nameValue : nameCache[name] = new Name(name);\n };\n\n Name._clearCache = function () {\n nameCache = Object.create(null);\n };\n\n return Name;\n}();\n\nexports.Name = Name;\n\nvar Cmd = function CmdClosure() {\n let cmdCache = Object.create(null);\n\n function Cmd(cmd) {\n this.cmd = cmd;\n }\n\n Cmd.prototype = {};\n\n Cmd.get = function Cmd_get(cmd) {\n var cmdValue = cmdCache[cmd];\n return cmdValue ? cmdValue : cmdCache[cmd] = new Cmd(cmd);\n };\n\n Cmd._clearCache = function () {\n cmdCache = Object.create(null);\n };\n\n return Cmd;\n}();\n\nexports.Cmd = Cmd;\n\nvar Dict = function DictClosure() {\n var nonSerializable = function nonSerializableClosure() {\n return nonSerializable;\n };\n\n function Dict(xref) {\n this._map = Object.create(null);\n this.xref = xref;\n this.objId = null;\n this.suppressEncryption = false;\n this.__nonSerializable__ = nonSerializable;\n }\n\n Dict.prototype = {\n assignXref: function Dict_assignXref(newXref) {\n this.xref = newXref;\n },\n\n get(key1, key2, key3) {\n let value = this._map[key1];\n\n if (value === undefined && key2 !== undefined) {\n value = this._map[key2];\n\n if (value === undefined && key3 !== undefined) {\n value = this._map[key3];\n }\n }\n\n if (value instanceof Ref && this.xref) {\n return this.xref.fetch(value, this.suppressEncryption);\n }\n\n return value;\n },\n\n async getAsync(key1, key2, key3) {\n let value = this._map[key1];\n\n if (value === undefined && key2 !== undefined) {\n value = this._map[key2];\n\n if (value === undefined && key3 !== undefined) {\n value = this._map[key3];\n }\n }\n\n if (value instanceof Ref && this.xref) {\n return this.xref.fetchAsync(value, this.suppressEncryption);\n }\n\n return value;\n },\n\n getArray(key1, key2, key3) {\n let value = this.get(key1, key2, key3);\n\n if (!Array.isArray(value) || !this.xref) {\n return value;\n }\n\n value = value.slice();\n\n for (let i = 0, ii = value.length; i < ii; i++) {\n if (!(value[i] instanceof Ref)) {\n continue;\n }\n\n value[i] = this.xref.fetch(value[i], this.suppressEncryption);\n }\n\n return value;\n },\n\n getRaw: function Dict_getRaw(key) {\n return this._map[key];\n },\n getKeys: function Dict_getKeys() {\n return Object.keys(this._map);\n },\n set: function Dict_set(key, value) {\n this._map[key] = value;\n },\n has: function Dict_has(key) {\n return this._map[key] !== undefined;\n },\n forEach: function Dict_forEach(callback) {\n for (var key in this._map) {\n callback(key, this.get(key));\n }\n }\n };\n Dict.empty = new Dict(null);\n\n Dict.merge = function (xref, dictArray) {\n const mergedDict = new Dict(xref);\n\n for (let i = 0, ii = dictArray.length; i < ii; i++) {\n const dict = dictArray[i];\n\n if (!isDict(dict)) {\n continue;\n }\n\n for (const keyName in dict._map) {\n if (mergedDict._map[keyName] !== undefined) {\n continue;\n }\n\n mergedDict._map[keyName] = dict._map[keyName];\n }\n }\n\n return mergedDict;\n };\n\n return Dict;\n}();\n\nexports.Dict = Dict;\n\nvar Ref = function RefClosure() {\n let refCache = Object.create(null);\n\n function Ref(num, gen) {\n this.num = num;\n this.gen = gen;\n }\n\n Ref.prototype = {\n toString: function Ref_toString() {\n if (this.gen === 0) {\n return `${this.num}R`;\n }\n\n return `${this.num}R${this.gen}`;\n }\n };\n\n Ref.get = function (num, gen) {\n const key = gen === 0 ? `${num}R` : `${num}R${gen}`;\n const refValue = refCache[key];\n return refValue ? refValue : refCache[key] = new Ref(num, gen);\n };\n\n Ref._clearCache = function () {\n refCache = Object.create(null);\n };\n\n return Ref;\n}();\n\nexports.Ref = Ref;\n\nvar RefSet = function RefSetClosure() {\n function RefSet() {\n this.dict = Object.create(null);\n }\n\n RefSet.prototype = {\n has: function RefSet_has(ref) {\n return ref.toString() in this.dict;\n },\n put: function RefSet_put(ref) {\n this.dict[ref.toString()] = true;\n },\n remove: function RefSet_remove(ref) {\n delete this.dict[ref.toString()];\n }\n };\n return RefSet;\n}();\n\nexports.RefSet = RefSet;\n\nvar RefSetCache = function RefSetCacheClosure() {\n function RefSetCache() {\n this.dict = Object.create(null);\n }\n\n RefSetCache.prototype = {\n get size() {\n return Object.keys(this.dict).length;\n },\n\n get: function RefSetCache_get(ref) {\n return this.dict[ref.toString()];\n },\n has: function RefSetCache_has(ref) {\n return ref.toString() in this.dict;\n },\n put: function RefSetCache_put(ref, obj) {\n this.dict[ref.toString()] = obj;\n },\n putAlias: function RefSetCache_putAlias(ref, aliasRef) {\n this.dict[ref.toString()] = this.get(aliasRef);\n },\n forEach: function RefSetCache_forEach(callback) {\n for (const i in this.dict) {\n callback(this.dict[i]);\n }\n },\n clear: function RefSetCache_clear() {\n this.dict = Object.create(null);\n }\n };\n return RefSetCache;\n}();\n\nexports.RefSetCache = RefSetCache;\n\nfunction isEOF(v) {\n return v === EOF;\n}\n\nfunction isName(v, name) {\n return v instanceof Name && (name === undefined || v.name === name);\n}\n\nfunction isCmd(v, cmd) {\n return v instanceof Cmd && (cmd === undefined || v.cmd === cmd);\n}\n\nfunction isDict(v, type) {\n return v instanceof Dict && (type === undefined || isName(v.get(\"Type\"), type));\n}\n\nfunction isRef(v) {\n return v instanceof Ref;\n}\n\nfunction isRefsEqual(v1, v2) {\n return v1.num === v2.num && v1.gen === v2.gen;\n}\n\nfunction isStream(v) {\n return typeof v === \"object\" && v !== null && v.getBytes !== undefined;\n}\n\nfunction clearPrimitiveCaches() {\n Cmd._clearCache();\n\n Name._clearCache();\n\n Ref._clearCache();\n}\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NetworkPdfManager = exports.LocalPdfManager = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _chunked_stream = __w_pdfjs_require__(7);\n\nvar _core_utils = __w_pdfjs_require__(8);\n\nvar _document = __w_pdfjs_require__(9);\n\nvar _stream = __w_pdfjs_require__(12);\n\nclass BasePdfManager {\n constructor() {\n if (this.constructor === BasePdfManager) {\n (0, _util.unreachable)(\"Cannot initialize BasePdfManager.\");\n }\n }\n\n get docId() {\n return this._docId;\n }\n\n get password() {\n return this._password;\n }\n\n get docBaseUrl() {\n let docBaseUrl = null;\n\n if (this._docBaseUrl) {\n const absoluteUrl = (0, _util.createValidAbsoluteUrl)(this._docBaseUrl);\n\n if (absoluteUrl) {\n docBaseUrl = absoluteUrl.href;\n } else {\n (0, _util.warn)(`Invalid absolute docBaseUrl: \"${this._docBaseUrl}\".`);\n }\n }\n\n return (0, _util.shadow)(this, \"docBaseUrl\", docBaseUrl);\n }\n\n onLoadedStream() {\n (0, _util.unreachable)(\"Abstract method `onLoadedStream` called\");\n }\n\n ensureDoc(prop, args) {\n return this.ensure(this.pdfDocument, prop, args);\n }\n\n ensureXRef(prop, args) {\n return this.ensure(this.pdfDocument.xref, prop, args);\n }\n\n ensureCatalog(prop, args) {\n return this.ensure(this.pdfDocument.catalog, prop, args);\n }\n\n getPage(pageIndex) {\n return this.pdfDocument.getPage(pageIndex);\n }\n\n fontFallback(id, handler) {\n return this.pdfDocument.fontFallback(id, handler);\n }\n\n cleanup(manuallyTriggered = false) {\n return this.pdfDocument.cleanup(manuallyTriggered);\n }\n\n async ensure(obj, prop, args) {\n (0, _util.unreachable)(\"Abstract method `ensure` called\");\n }\n\n requestRange(begin, end) {\n (0, _util.unreachable)(\"Abstract method `requestRange` called\");\n }\n\n requestLoadedStream() {\n (0, _util.unreachable)(\"Abstract method `requestLoadedStream` called\");\n }\n\n sendProgressiveData(chunk) {\n (0, _util.unreachable)(\"Abstract method `sendProgressiveData` called\");\n }\n\n updatePassword(password) {\n this._password = password;\n }\n\n terminate(reason) {\n (0, _util.unreachable)(\"Abstract method `terminate` called\");\n }\n\n}\n\nclass LocalPdfManager extends BasePdfManager {\n constructor(docId, data, password, evaluatorOptions, docBaseUrl) {\n super();\n this._docId = docId;\n this._password = password;\n this._docBaseUrl = docBaseUrl;\n this.evaluatorOptions = evaluatorOptions;\n const stream = new _stream.Stream(data);\n this.pdfDocument = new _document.PDFDocument(this, stream);\n this._loadedStreamPromise = Promise.resolve(stream);\n }\n\n async ensure(obj, prop, args) {\n const value = obj[prop];\n\n if (typeof value === \"function\") {\n return value.apply(obj, args);\n }\n\n return value;\n }\n\n requestRange(begin, end) {\n return Promise.resolve();\n }\n\n requestLoadedStream() {}\n\n onLoadedStream() {\n return this._loadedStreamPromise;\n }\n\n terminate(reason) {}\n\n}\n\nexports.LocalPdfManager = LocalPdfManager;\n\nclass NetworkPdfManager extends BasePdfManager {\n constructor(docId, pdfNetworkStream, args, evaluatorOptions, docBaseUrl) {\n super();\n this._docId = docId;\n this._password = args.password;\n this._docBaseUrl = docBaseUrl;\n this.msgHandler = args.msgHandler;\n this.evaluatorOptions = evaluatorOptions;\n this.streamManager = new _chunked_stream.ChunkedStreamManager(pdfNetworkStream, {\n msgHandler: args.msgHandler,\n length: args.length,\n disableAutoFetch: args.disableAutoFetch,\n rangeChunkSize: args.rangeChunkSize\n });\n this.pdfDocument = new _document.PDFDocument(this, this.streamManager.getStream());\n }\n\n async ensure(obj, prop, args) {\n try {\n const value = obj[prop];\n\n if (typeof value === \"function\") {\n return value.apply(obj, args);\n }\n\n return value;\n } catch (ex) {\n if (!(ex instanceof _core_utils.MissingDataException)) {\n throw ex;\n }\n\n await this.requestRange(ex.begin, ex.end);\n return this.ensure(obj, prop, args);\n }\n }\n\n requestRange(begin, end) {\n return this.streamManager.requestRange(begin, end);\n }\n\n requestLoadedStream() {\n this.streamManager.requestAllChunks();\n }\n\n sendProgressiveData(chunk) {\n this.streamManager.onReceiveData({\n chunk\n });\n }\n\n onLoadedStream() {\n return this.streamManager.onLoadedStream();\n }\n\n terminate(reason) {\n this.streamManager.abort(reason);\n }\n\n}\n\nexports.NetworkPdfManager = NetworkPdfManager;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ChunkedStreamManager = exports.ChunkedStream = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _core_utils = __w_pdfjs_require__(8);\n\nclass ChunkedStream {\n constructor(length, chunkSize, manager) {\n this.bytes = new Uint8Array(length);\n this.start = 0;\n this.pos = 0;\n this.end = length;\n this.chunkSize = chunkSize;\n this.loadedChunks = [];\n this.numChunksLoaded = 0;\n this.numChunks = Math.ceil(length / chunkSize);\n this.manager = manager;\n this.progressiveDataLength = 0;\n this.lastSuccessfulEnsureByteChunk = -1;\n }\n\n getMissingChunks() {\n const chunks = [];\n\n for (let chunk = 0, n = this.numChunks; chunk < n; ++chunk) {\n if (!this.loadedChunks[chunk]) {\n chunks.push(chunk);\n }\n }\n\n return chunks;\n }\n\n getBaseStreams() {\n return [this];\n }\n\n allChunksLoaded() {\n return this.numChunksLoaded === this.numChunks;\n }\n\n onReceiveData(begin, chunk) {\n const chunkSize = this.chunkSize;\n\n if (begin % chunkSize !== 0) {\n throw new Error(`Bad begin offset: ${begin}`);\n }\n\n const end = begin + chunk.byteLength;\n\n if (end % chunkSize !== 0 && end !== this.bytes.length) {\n throw new Error(`Bad end offset: ${end}`);\n }\n\n this.bytes.set(new Uint8Array(chunk), begin);\n const beginChunk = Math.floor(begin / chunkSize);\n const endChunk = Math.floor((end - 1) / chunkSize) + 1;\n\n for (let curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n if (!this.loadedChunks[curChunk]) {\n this.loadedChunks[curChunk] = true;\n ++this.numChunksLoaded;\n }\n }\n }\n\n onReceiveProgressiveData(data) {\n let position = this.progressiveDataLength;\n const beginChunk = Math.floor(position / this.chunkSize);\n this.bytes.set(new Uint8Array(data), position);\n position += data.byteLength;\n this.progressiveDataLength = position;\n const endChunk = position >= this.end ? this.numChunks : Math.floor(position / this.chunkSize);\n\n for (let curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n if (!this.loadedChunks[curChunk]) {\n this.loadedChunks[curChunk] = true;\n ++this.numChunksLoaded;\n }\n }\n }\n\n ensureByte(pos) {\n if (pos < this.progressiveDataLength) {\n return;\n }\n\n const chunk = Math.floor(pos / this.chunkSize);\n\n if (chunk === this.lastSuccessfulEnsureByteChunk) {\n return;\n }\n\n if (!this.loadedChunks[chunk]) {\n throw new _core_utils.MissingDataException(pos, pos + 1);\n }\n\n this.lastSuccessfulEnsureByteChunk = chunk;\n }\n\n ensureRange(begin, end) {\n if (begin >= end) {\n return;\n }\n\n if (end <= this.progressiveDataLength) {\n return;\n }\n\n const chunkSize = this.chunkSize;\n const beginChunk = Math.floor(begin / chunkSize);\n const endChunk = Math.floor((end - 1) / chunkSize) + 1;\n\n for (let chunk = beginChunk; chunk < endChunk; ++chunk) {\n if (!this.loadedChunks[chunk]) {\n throw new _core_utils.MissingDataException(begin, end);\n }\n }\n }\n\n nextEmptyChunk(beginChunk) {\n const numChunks = this.numChunks;\n\n for (let i = 0; i < numChunks; ++i) {\n const chunk = (beginChunk + i) % numChunks;\n\n if (!this.loadedChunks[chunk]) {\n return chunk;\n }\n }\n\n return null;\n }\n\n hasChunk(chunk) {\n return !!this.loadedChunks[chunk];\n }\n\n get length() {\n return this.end - this.start;\n }\n\n get isEmpty() {\n return this.length === 0;\n }\n\n getByte() {\n const pos = this.pos;\n\n if (pos >= this.end) {\n return -1;\n }\n\n if (pos >= this.progressiveDataLength) {\n this.ensureByte(pos);\n }\n\n return this.bytes[this.pos++];\n }\n\n getUint16() {\n const b0 = this.getByte();\n const b1 = this.getByte();\n\n if (b0 === -1 || b1 === -1) {\n return -1;\n }\n\n return (b0 << 8) + b1;\n }\n\n getInt32() {\n const b0 = this.getByte();\n const b1 = this.getByte();\n const b2 = this.getByte();\n const b3 = this.getByte();\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n }\n\n getBytes(length, forceClamped = false) {\n const bytes = this.bytes;\n const pos = this.pos;\n const strEnd = this.end;\n\n if (!length) {\n if (strEnd > this.progressiveDataLength) {\n this.ensureRange(pos, strEnd);\n }\n\n const subarray = bytes.subarray(pos, strEnd);\n return forceClamped ? new Uint8ClampedArray(subarray) : subarray;\n }\n\n let end = pos + length;\n\n if (end > strEnd) {\n end = strEnd;\n }\n\n if (end > this.progressiveDataLength) {\n this.ensureRange(pos, end);\n }\n\n this.pos = end;\n const subarray = bytes.subarray(pos, end);\n return forceClamped ? new Uint8ClampedArray(subarray) : subarray;\n }\n\n peekByte() {\n const peekedByte = this.getByte();\n\n if (peekedByte !== -1) {\n this.pos--;\n }\n\n return peekedByte;\n }\n\n peekBytes(length, forceClamped = false) {\n const bytes = this.getBytes(length, forceClamped);\n this.pos -= bytes.length;\n return bytes;\n }\n\n getByteRange(begin, end) {\n if (begin < 0) {\n begin = 0;\n }\n\n if (end > this.end) {\n end = this.end;\n }\n\n if (end > this.progressiveDataLength) {\n this.ensureRange(begin, end);\n }\n\n return this.bytes.subarray(begin, end);\n }\n\n skip(n) {\n if (!n) {\n n = 1;\n }\n\n this.pos += n;\n }\n\n reset() {\n this.pos = this.start;\n }\n\n moveStart() {\n this.start = this.pos;\n }\n\n makeSubStream(start, length, dict) {\n if (length) {\n if (start + length > this.progressiveDataLength) {\n this.ensureRange(start, start + length);\n }\n } else {\n if (start >= this.progressiveDataLength) {\n this.ensureByte(start);\n }\n }\n\n function ChunkedStreamSubstream() {}\n\n ChunkedStreamSubstream.prototype = Object.create(this);\n\n ChunkedStreamSubstream.prototype.getMissingChunks = function () {\n const chunkSize = this.chunkSize;\n const beginChunk = Math.floor(this.start / chunkSize);\n const endChunk = Math.floor((this.end - 1) / chunkSize) + 1;\n const missingChunks = [];\n\n for (let chunk = beginChunk; chunk < endChunk; ++chunk) {\n if (!this.loadedChunks[chunk]) {\n missingChunks.push(chunk);\n }\n }\n\n return missingChunks;\n };\n\n ChunkedStreamSubstream.prototype.allChunksLoaded = function () {\n if (this.numChunksLoaded === this.numChunks) {\n return true;\n }\n\n return this.getMissingChunks().length === 0;\n };\n\n const subStream = new ChunkedStreamSubstream();\n subStream.pos = subStream.start = start;\n subStream.end = start + length || this.end;\n subStream.dict = dict;\n return subStream;\n }\n\n}\n\nexports.ChunkedStream = ChunkedStream;\n\nclass ChunkedStreamManager {\n constructor(pdfNetworkStream, args) {\n this.length = args.length;\n this.chunkSize = args.rangeChunkSize;\n this.stream = new ChunkedStream(this.length, this.chunkSize, this);\n this.pdfNetworkStream = pdfNetworkStream;\n this.disableAutoFetch = args.disableAutoFetch;\n this.msgHandler = args.msgHandler;\n this.currRequestId = 0;\n this.chunksNeededByRequest = Object.create(null);\n this.requestsByChunk = Object.create(null);\n this.promisesByRequest = Object.create(null);\n this.progressiveDataLength = 0;\n this.aborted = false;\n this._loadedStreamCapability = (0, _util.createPromiseCapability)();\n }\n\n onLoadedStream() {\n return this._loadedStreamCapability.promise;\n }\n\n sendRequest(begin, end) {\n const rangeReader = this.pdfNetworkStream.getRangeReader(begin, end);\n\n if (!rangeReader.isStreamingSupported) {\n rangeReader.onProgress = this.onProgress.bind(this);\n }\n\n let chunks = [],\n loaded = 0;\n const promise = new Promise((resolve, reject) => {\n const readChunk = chunk => {\n try {\n if (!chunk.done) {\n const data = chunk.value;\n chunks.push(data);\n loaded += (0, _util.arrayByteLength)(data);\n\n if (rangeReader.isStreamingSupported) {\n this.onProgress({\n loaded\n });\n }\n\n rangeReader.read().then(readChunk, reject);\n return;\n }\n\n const chunkData = (0, _util.arraysToBytes)(chunks);\n chunks = null;\n resolve(chunkData);\n } catch (e) {\n reject(e);\n }\n };\n\n rangeReader.read().then(readChunk, reject);\n });\n promise.then(data => {\n if (this.aborted) {\n return;\n }\n\n this.onReceiveData({\n chunk: data,\n begin\n });\n });\n }\n\n requestAllChunks() {\n const missingChunks = this.stream.getMissingChunks();\n\n this._requestChunks(missingChunks);\n\n return this._loadedStreamCapability.promise;\n }\n\n _requestChunks(chunks) {\n const requestId = this.currRequestId++;\n const chunksNeeded = Object.create(null);\n this.chunksNeededByRequest[requestId] = chunksNeeded;\n\n for (const chunk of chunks) {\n if (!this.stream.hasChunk(chunk)) {\n chunksNeeded[chunk] = true;\n }\n }\n\n if ((0, _util.isEmptyObj)(chunksNeeded)) {\n return Promise.resolve();\n }\n\n const capability = (0, _util.createPromiseCapability)();\n this.promisesByRequest[requestId] = capability;\n const chunksToRequest = [];\n\n for (let chunk in chunksNeeded) {\n chunk = chunk | 0;\n\n if (!(chunk in this.requestsByChunk)) {\n this.requestsByChunk[chunk] = [];\n chunksToRequest.push(chunk);\n }\n\n this.requestsByChunk[chunk].push(requestId);\n }\n\n if (!chunksToRequest.length) {\n return capability.promise;\n }\n\n const groupedChunksToRequest = this.groupChunks(chunksToRequest);\n\n for (const groupedChunk of groupedChunksToRequest) {\n const begin = groupedChunk.beginChunk * this.chunkSize;\n const end = Math.min(groupedChunk.endChunk * this.chunkSize, this.length);\n this.sendRequest(begin, end);\n }\n\n return capability.promise;\n }\n\n getStream() {\n return this.stream;\n }\n\n requestRange(begin, end) {\n end = Math.min(end, this.length);\n const beginChunk = this.getBeginChunk(begin);\n const endChunk = this.getEndChunk(end);\n const chunks = [];\n\n for (let chunk = beginChunk; chunk < endChunk; ++chunk) {\n chunks.push(chunk);\n }\n\n return this._requestChunks(chunks);\n }\n\n requestRanges(ranges = []) {\n const chunksToRequest = [];\n\n for (const range of ranges) {\n const beginChunk = this.getBeginChunk(range.begin);\n const endChunk = this.getEndChunk(range.end);\n\n for (let chunk = beginChunk; chunk < endChunk; ++chunk) {\n if (!chunksToRequest.includes(chunk)) {\n chunksToRequest.push(chunk);\n }\n }\n }\n\n chunksToRequest.sort(function (a, b) {\n return a - b;\n });\n return this._requestChunks(chunksToRequest);\n }\n\n groupChunks(chunks) {\n const groupedChunks = [];\n let beginChunk = -1;\n let prevChunk = -1;\n\n for (let i = 0, ii = chunks.length; i < ii; ++i) {\n const chunk = chunks[i];\n\n if (beginChunk < 0) {\n beginChunk = chunk;\n }\n\n if (prevChunk >= 0 && prevChunk + 1 !== chunk) {\n groupedChunks.push({\n beginChunk,\n endChunk: prevChunk + 1\n });\n beginChunk = chunk;\n }\n\n if (i + 1 === chunks.length) {\n groupedChunks.push({\n beginChunk,\n endChunk: chunk + 1\n });\n }\n\n prevChunk = chunk;\n }\n\n return groupedChunks;\n }\n\n onProgress(args) {\n this.msgHandler.send(\"DocProgress\", {\n loaded: this.stream.numChunksLoaded * this.chunkSize + args.loaded,\n total: this.length\n });\n }\n\n onReceiveData(args) {\n const chunk = args.chunk;\n const isProgressive = args.begin === undefined;\n const begin = isProgressive ? this.progressiveDataLength : args.begin;\n const end = begin + chunk.byteLength;\n const beginChunk = Math.floor(begin / this.chunkSize);\n const endChunk = end < this.length ? Math.floor(end / this.chunkSize) : Math.ceil(end / this.chunkSize);\n\n if (isProgressive) {\n this.stream.onReceiveProgressiveData(chunk);\n this.progressiveDataLength = end;\n } else {\n this.stream.onReceiveData(begin, chunk);\n }\n\n if (this.stream.allChunksLoaded()) {\n this._loadedStreamCapability.resolve(this.stream);\n }\n\n const loadedRequests = [];\n\n for (let curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n const requestIds = this.requestsByChunk[curChunk] || [];\n delete this.requestsByChunk[curChunk];\n\n for (const requestId of requestIds) {\n const chunksNeeded = this.chunksNeededByRequest[requestId];\n\n if (curChunk in chunksNeeded) {\n delete chunksNeeded[curChunk];\n }\n\n if (!(0, _util.isEmptyObj)(chunksNeeded)) {\n continue;\n }\n\n loadedRequests.push(requestId);\n }\n }\n\n if (!this.disableAutoFetch && (0, _util.isEmptyObj)(this.requestsByChunk)) {\n let nextEmptyChunk;\n\n if (this.stream.numChunksLoaded === 1) {\n const lastChunk = this.stream.numChunks - 1;\n\n if (!this.stream.hasChunk(lastChunk)) {\n nextEmptyChunk = lastChunk;\n }\n } else {\n nextEmptyChunk = this.stream.nextEmptyChunk(endChunk);\n }\n\n if (Number.isInteger(nextEmptyChunk)) {\n this._requestChunks([nextEmptyChunk]);\n }\n }\n\n for (const requestId of loadedRequests) {\n const capability = this.promisesByRequest[requestId];\n delete this.promisesByRequest[requestId];\n capability.resolve();\n }\n\n this.msgHandler.send(\"DocProgress\", {\n loaded: this.stream.numChunksLoaded * this.chunkSize,\n total: this.length\n });\n }\n\n onError(err) {\n this._loadedStreamCapability.reject(err);\n }\n\n getBeginChunk(begin) {\n return Math.floor(begin / this.chunkSize);\n }\n\n getEndChunk(end) {\n return Math.floor((end - 1) / this.chunkSize) + 1;\n }\n\n abort(reason) {\n this.aborted = true;\n\n if (this.pdfNetworkStream) {\n this.pdfNetworkStream.cancelAllRequests(reason);\n }\n\n for (const requestId in this.promisesByRequest) {\n this.promisesByRequest[requestId].reject(reason);\n }\n }\n\n}\n\nexports.ChunkedStreamManager = ChunkedStreamManager;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getLookupTableFactory = getLookupTableFactory;\nexports.getInheritableProperty = getInheritableProperty;\nexports.toRomanNumerals = toRomanNumerals;\nexports.log2 = log2;\nexports.readInt8 = readInt8;\nexports.readUint16 = readUint16;\nexports.readUint32 = readUint32;\nexports.isWhiteSpace = isWhiteSpace;\nexports.XRefParseException = exports.XRefEntryException = exports.MissingDataException = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nfunction getLookupTableFactory(initializer) {\n let lookup;\n return function () {\n if (initializer) {\n lookup = Object.create(null);\n initializer(lookup);\n initializer = null;\n }\n\n return lookup;\n };\n}\n\nclass MissingDataException extends _util.BaseException {\n constructor(begin, end) {\n super(`Missing data [${begin}, ${end})`);\n this.begin = begin;\n this.end = end;\n }\n\n}\n\nexports.MissingDataException = MissingDataException;\n\nclass XRefEntryException extends _util.BaseException {}\n\nexports.XRefEntryException = XRefEntryException;\n\nclass XRefParseException extends _util.BaseException {}\n\nexports.XRefParseException = XRefParseException;\n\nfunction getInheritableProperty({\n dict,\n key,\n getArray = false,\n stopWhenFound = true\n}) {\n const LOOP_LIMIT = 100;\n let loopCount = 0;\n let values;\n\n while (dict) {\n const value = getArray ? dict.getArray(key) : dict.get(key);\n\n if (value !== undefined) {\n if (stopWhenFound) {\n return value;\n }\n\n if (!values) {\n values = [];\n }\n\n values.push(value);\n }\n\n if (++loopCount > LOOP_LIMIT) {\n (0, _util.warn)(`getInheritableProperty: maximum loop count exceeded for \"${key}\"`);\n break;\n }\n\n dict = dict.get(\"Parent\");\n }\n\n return values;\n}\n\nconst ROMAN_NUMBER_MAP = [\"\", \"C\", \"CC\", \"CCC\", \"CD\", \"D\", \"DC\", \"DCC\", \"DCCC\", \"CM\", \"\", \"X\", \"XX\", \"XXX\", \"XL\", \"L\", \"LX\", \"LXX\", \"LXXX\", \"XC\", \"\", \"I\", \"II\", \"III\", \"IV\", \"V\", \"VI\", \"VII\", \"VIII\", \"IX\"];\n\nfunction toRomanNumerals(number, lowerCase = false) {\n (0, _util.assert)(Number.isInteger(number) && number > 0, \"The number should be a positive integer.\");\n const romanBuf = [];\n let pos;\n\n while (number >= 1000) {\n number -= 1000;\n romanBuf.push(\"M\");\n }\n\n pos = number / 100 | 0;\n number %= 100;\n romanBuf.push(ROMAN_NUMBER_MAP[pos]);\n pos = number / 10 | 0;\n number %= 10;\n romanBuf.push(ROMAN_NUMBER_MAP[10 + pos]);\n romanBuf.push(ROMAN_NUMBER_MAP[20 + number]);\n const romanStr = romanBuf.join(\"\");\n return lowerCase ? romanStr.toLowerCase() : romanStr;\n}\n\nfunction log2(x) {\n if (x <= 0) {\n return 0;\n }\n\n return Math.ceil(Math.log2(x));\n}\n\nfunction readInt8(data, offset) {\n return data[offset] << 24 >> 24;\n}\n\nfunction readUint16(data, offset) {\n return data[offset] << 8 | data[offset + 1];\n}\n\nfunction readUint32(data, offset) {\n return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;\n}\n\nfunction isWhiteSpace(ch) {\n return ch === 0x20 || ch === 0x09 || ch === 0x0d || ch === 0x0a;\n}\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFDocument = exports.Page = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _obj = __w_pdfjs_require__(10);\n\nvar _primitives = __w_pdfjs_require__(5);\n\nvar _core_utils = __w_pdfjs_require__(8);\n\nvar _stream = __w_pdfjs_require__(12);\n\nvar _annotation = __w_pdfjs_require__(25);\n\nvar _crypto = __w_pdfjs_require__(22);\n\nvar _parser = __w_pdfjs_require__(11);\n\nvar _operator_list = __w_pdfjs_require__(26);\n\nvar _evaluator = __w_pdfjs_require__(27);\n\nvar _function = __w_pdfjs_require__(41);\n\nconst DEFAULT_USER_UNIT = 1.0;\nconst LETTER_SIZE_MEDIABOX = [0, 0, 612, 792];\n\nfunction isAnnotationRenderable(annotation, intent) {\n return intent === \"display\" && annotation.viewable || intent === \"print\" && annotation.printable;\n}\n\nclass Page {\n constructor({\n pdfManager,\n xref,\n pageIndex,\n pageDict,\n ref,\n fontCache,\n builtInCMapCache,\n globalImageCache,\n pdfFunctionFactory\n }) {\n this.pdfManager = pdfManager;\n this.pageIndex = pageIndex;\n this.pageDict = pageDict;\n this.xref = xref;\n this.ref = ref;\n this.fontCache = fontCache;\n this.builtInCMapCache = builtInCMapCache;\n this.globalImageCache = globalImageCache;\n this.pdfFunctionFactory = pdfFunctionFactory;\n this.evaluatorOptions = pdfManager.evaluatorOptions;\n this.resourcesPromise = null;\n const idCounters = {\n obj: 0\n };\n this.idFactory = {\n createObjId() {\n return `p${pageIndex}_${++idCounters.obj}`;\n },\n\n getDocId() {\n return `g_${pdfManager.docId}`;\n }\n\n };\n }\n\n _getInheritableProperty(key, getArray = false) {\n const value = (0, _core_utils.getInheritableProperty)({\n dict: this.pageDict,\n key,\n getArray,\n stopWhenFound: false\n });\n\n if (!Array.isArray(value)) {\n return value;\n }\n\n if (value.length === 1 || !(0, _primitives.isDict)(value[0])) {\n return value[0];\n }\n\n return _primitives.Dict.merge(this.xref, value);\n }\n\n get content() {\n return this.pageDict.get(\"Contents\");\n }\n\n get resources() {\n return (0, _util.shadow)(this, \"resources\", this._getInheritableProperty(\"Resources\") || _primitives.Dict.empty);\n }\n\n _getBoundingBox(name) {\n const box = this._getInheritableProperty(name, true);\n\n if (Array.isArray(box) && box.length === 4) {\n if (box[2] - box[0] !== 0 && box[3] - box[1] !== 0) {\n return box;\n }\n\n (0, _util.warn)(`Empty /${name} entry.`);\n }\n\n return null;\n }\n\n get mediaBox() {\n return (0, _util.shadow)(this, \"mediaBox\", this._getBoundingBox(\"MediaBox\") || LETTER_SIZE_MEDIABOX);\n }\n\n get cropBox() {\n return (0, _util.shadow)(this, \"cropBox\", this._getBoundingBox(\"CropBox\") || this.mediaBox);\n }\n\n get userUnit() {\n let obj = this.pageDict.get(\"UserUnit\");\n\n if (!(0, _util.isNum)(obj) || obj <= 0) {\n obj = DEFAULT_USER_UNIT;\n }\n\n return (0, _util.shadow)(this, \"userUnit\", obj);\n }\n\n get view() {\n const {\n cropBox,\n mediaBox\n } = this;\n let view;\n\n if (cropBox === mediaBox || (0, _util.isArrayEqual)(cropBox, mediaBox)) {\n view = mediaBox;\n } else {\n const box = _util.Util.intersect(cropBox, mediaBox);\n\n if (box && box[2] - box[0] !== 0 && box[3] - box[1] !== 0) {\n view = box;\n } else {\n (0, _util.warn)(\"Empty /CropBox and /MediaBox intersection.\");\n }\n }\n\n return (0, _util.shadow)(this, \"view\", view || mediaBox);\n }\n\n get rotate() {\n let rotate = this._getInheritableProperty(\"Rotate\") || 0;\n\n if (rotate % 90 !== 0) {\n rotate = 0;\n } else if (rotate >= 360) {\n rotate = rotate % 360;\n } else if (rotate < 0) {\n rotate = (rotate % 360 + 360) % 360;\n }\n\n return (0, _util.shadow)(this, \"rotate\", rotate);\n }\n\n getContentStream() {\n const content = this.content;\n let stream;\n\n if (Array.isArray(content)) {\n const xref = this.xref;\n const streams = [];\n\n for (const subStream of content) {\n streams.push(xref.fetchIfRef(subStream));\n }\n\n stream = new _stream.StreamsSequenceStream(streams);\n } else if ((0, _primitives.isStream)(content)) {\n stream = content;\n } else {\n stream = new _stream.NullStream();\n }\n\n return stream;\n }\n\n loadResources(keys) {\n if (!this.resourcesPromise) {\n this.resourcesPromise = this.pdfManager.ensure(this, \"resources\");\n }\n\n return this.resourcesPromise.then(() => {\n const objectLoader = new _obj.ObjectLoader(this.resources, keys, this.xref);\n return objectLoader.load();\n });\n }\n\n getOperatorList({\n handler,\n sink,\n task,\n intent,\n renderInteractiveForms\n }) {\n const contentStreamPromise = this.pdfManager.ensure(this, \"getContentStream\");\n const resourcesPromise = this.loadResources([\"ExtGState\", \"ColorSpace\", \"Pattern\", \"Shading\", \"XObject\", \"Font\"]);\n const partialEvaluator = new _evaluator.PartialEvaluator({\n xref: this.xref,\n handler,\n pageIndex: this.pageIndex,\n idFactory: this.idFactory,\n fontCache: this.fontCache,\n builtInCMapCache: this.builtInCMapCache,\n globalImageCache: this.globalImageCache,\n options: this.evaluatorOptions,\n pdfFunctionFactory: this.pdfFunctionFactory\n });\n const dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);\n const pageListPromise = dataPromises.then(([contentStream]) => {\n const opList = new _operator_list.OperatorList(intent, sink, this.pageIndex);\n handler.send(\"StartRenderPage\", {\n transparency: partialEvaluator.hasBlendModes(this.resources),\n pageIndex: this.pageIndex,\n intent\n });\n return partialEvaluator.getOperatorList({\n stream: contentStream,\n task,\n resources: this.resources,\n operatorList: opList\n }).then(function () {\n return opList;\n });\n });\n return Promise.all([pageListPromise, this._parsedAnnotations]).then(function ([pageOpList, annotations]) {\n if (annotations.length === 0) {\n pageOpList.flush(true);\n return {\n length: pageOpList.totalLength\n };\n }\n\n const opListPromises = [];\n\n for (const annotation of annotations) {\n if (isAnnotationRenderable(annotation, intent)) {\n opListPromises.push(annotation.getOperatorList(partialEvaluator, task, renderInteractiveForms).catch(function (reason) {\n (0, _util.warn)(\"getOperatorList - ignoring annotation data during \" + `\"${task.name}\" task: \"${reason}\".`);\n return null;\n }));\n }\n }\n\n return Promise.all(opListPromises).then(function (opLists) {\n pageOpList.addOp(_util.OPS.beginAnnotations, []);\n\n for (const opList of opLists) {\n pageOpList.addOpList(opList);\n }\n\n pageOpList.addOp(_util.OPS.endAnnotations, []);\n pageOpList.flush(true);\n return {\n length: pageOpList.totalLength\n };\n });\n });\n }\n\n extractTextContent({\n handler,\n task,\n normalizeWhitespace,\n sink,\n combineTextItems\n }) {\n const contentStreamPromise = this.pdfManager.ensure(this, \"getContentStream\");\n const resourcesPromise = this.loadResources([\"ExtGState\", \"XObject\", \"Font\"]);\n const dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);\n return dataPromises.then(([contentStream]) => {\n const partialEvaluator = new _evaluator.PartialEvaluator({\n xref: this.xref,\n handler,\n pageIndex: this.pageIndex,\n idFactory: this.idFactory,\n fontCache: this.fontCache,\n builtInCMapCache: this.builtInCMapCache,\n globalImageCache: this.globalImageCache,\n options: this.evaluatorOptions,\n pdfFunctionFactory: this.pdfFunctionFactory\n });\n return partialEvaluator.getTextContent({\n stream: contentStream,\n task,\n resources: this.resources,\n normalizeWhitespace,\n combineTextItems,\n sink\n });\n });\n }\n\n getAnnotationsData(intent) {\n return this._parsedAnnotations.then(function (annotations) {\n const annotationsData = [];\n\n for (let i = 0, ii = annotations.length; i < ii; i++) {\n if (!intent || isAnnotationRenderable(annotations[i], intent)) {\n annotationsData.push(annotations[i].data);\n }\n }\n\n return annotationsData;\n });\n }\n\n get annotations() {\n return (0, _util.shadow)(this, \"annotations\", this._getInheritableProperty(\"Annots\") || []);\n }\n\n get _parsedAnnotations() {\n const parsedAnnotations = this.pdfManager.ensure(this, \"annotations\").then(() => {\n const annotationPromises = [];\n\n for (const annotationRef of this.annotations) {\n annotationPromises.push(_annotation.AnnotationFactory.create(this.xref, annotationRef, this.pdfManager, this.idFactory).catch(function (reason) {\n (0, _util.warn)(`_parsedAnnotations: \"${reason}\".`);\n return null;\n }));\n }\n\n return Promise.all(annotationPromises).then(function (annotations) {\n return annotations.filter(annotation => !!annotation);\n });\n });\n return (0, _util.shadow)(this, \"_parsedAnnotations\", parsedAnnotations);\n }\n\n}\n\nexports.Page = Page;\nconst PDF_HEADER_SIGNATURE = new Uint8Array([0x25, 0x50, 0x44, 0x46, 0x2d]);\nconst STARTXREF_SIGNATURE = new Uint8Array([0x73, 0x74, 0x61, 0x72, 0x74, 0x78, 0x72, 0x65, 0x66]);\nconst ENDOBJ_SIGNATURE = new Uint8Array([0x65, 0x6e, 0x64, 0x6f, 0x62, 0x6a]);\nconst FINGERPRINT_FIRST_BYTES = 1024;\nconst EMPTY_FINGERPRINT = \"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\";\nconst PDF_HEADER_VERSION_REGEXP = /^[1-9]\\.[0-9]$/;\n\nfunction find(stream, signature, limit = 1024, backwards = false) {\n const signatureLength = signature.length;\n const scanBytes = stream.peekBytes(limit);\n const scanLength = scanBytes.length - signatureLength;\n\n if (scanLength <= 0) {\n return false;\n }\n\n if (backwards) {\n const signatureEnd = signatureLength - 1;\n let pos = scanBytes.length - 1;\n\n while (pos >= signatureEnd) {\n let j = 0;\n\n while (j < signatureLength && scanBytes[pos - j] === signature[signatureEnd - j]) {\n j++;\n }\n\n if (j >= signatureLength) {\n stream.pos += pos - signatureEnd;\n return true;\n }\n\n pos--;\n }\n } else {\n let pos = 0;\n\n while (pos <= scanLength) {\n let j = 0;\n\n while (j < signatureLength && scanBytes[pos + j] === signature[j]) {\n j++;\n }\n\n if (j >= signatureLength) {\n stream.pos += pos;\n return true;\n }\n\n pos++;\n }\n }\n\n return false;\n}\n\nclass PDFDocument {\n constructor(pdfManager, arg) {\n let stream;\n\n if ((0, _primitives.isStream)(arg)) {\n stream = arg;\n } else if ((0, _util.isArrayBuffer)(arg)) {\n stream = new _stream.Stream(arg);\n } else {\n throw new Error(\"PDFDocument: Unknown argument type\");\n }\n\n if (stream.length <= 0) {\n throw new _util.InvalidPDFException(\"The PDF file is empty, i.e. its size is zero bytes.\");\n }\n\n this.pdfManager = pdfManager;\n this.stream = stream;\n this.xref = new _obj.XRef(stream, pdfManager);\n this.pdfFunctionFactory = new _function.PDFFunctionFactory({\n xref: this.xref,\n isEvalSupported: pdfManager.evaluatorOptions.isEvalSupported\n });\n this._pagePromises = [];\n }\n\n parse(recoveryMode) {\n this.setup(recoveryMode);\n const version = this.catalog.catDict.get(\"Version\");\n\n if ((0, _primitives.isName)(version)) {\n this.pdfFormatVersion = version.name;\n }\n\n try {\n this.acroForm = this.catalog.catDict.get(\"AcroForm\");\n\n if (this.acroForm) {\n this.xfa = this.acroForm.get(\"XFA\");\n const fields = this.acroForm.get(\"Fields\");\n\n if ((!Array.isArray(fields) || fields.length === 0) && !this.xfa) {\n this.acroForm = null;\n }\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.info)(\"Cannot fetch AcroForm entry; assuming no AcroForms are present\");\n this.acroForm = null;\n }\n\n try {\n const collection = this.catalog.catDict.get(\"Collection\");\n\n if ((0, _primitives.isDict)(collection) && collection.getKeys().length > 0) {\n this.collection = collection;\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.info)(\"Cannot fetch Collection dictionary.\");\n }\n }\n\n get linearization() {\n let linearization = null;\n\n try {\n linearization = _parser.Linearization.create(this.stream);\n } catch (err) {\n if (err instanceof _core_utils.MissingDataException) {\n throw err;\n }\n\n (0, _util.info)(err);\n }\n\n return (0, _util.shadow)(this, \"linearization\", linearization);\n }\n\n get startXRef() {\n const stream = this.stream;\n let startXRef = 0;\n\n if (this.linearization) {\n stream.reset();\n\n if (find(stream, ENDOBJ_SIGNATURE)) {\n startXRef = stream.pos + 6 - stream.start;\n }\n } else {\n const step = 1024;\n const startXRefLength = STARTXREF_SIGNATURE.length;\n let found = false,\n pos = stream.end;\n\n while (!found && pos > 0) {\n pos -= step - startXRefLength;\n\n if (pos < 0) {\n pos = 0;\n }\n\n stream.pos = pos;\n found = find(stream, STARTXREF_SIGNATURE, step, true);\n }\n\n if (found) {\n stream.skip(9);\n let ch;\n\n do {\n ch = stream.getByte();\n } while ((0, _core_utils.isWhiteSpace)(ch));\n\n let str = \"\";\n\n while (ch >= 0x20 && ch <= 0x39) {\n str += String.fromCharCode(ch);\n ch = stream.getByte();\n }\n\n startXRef = parseInt(str, 10);\n\n if (isNaN(startXRef)) {\n startXRef = 0;\n }\n }\n }\n\n return (0, _util.shadow)(this, \"startXRef\", startXRef);\n }\n\n checkHeader() {\n const stream = this.stream;\n stream.reset();\n\n if (!find(stream, PDF_HEADER_SIGNATURE)) {\n return;\n }\n\n stream.moveStart();\n const MAX_PDF_VERSION_LENGTH = 12;\n let version = \"\",\n ch;\n\n while ((ch = stream.getByte()) > 0x20) {\n if (version.length >= MAX_PDF_VERSION_LENGTH) {\n break;\n }\n\n version += String.fromCharCode(ch);\n }\n\n if (!this.pdfFormatVersion) {\n this.pdfFormatVersion = version.substring(5);\n }\n }\n\n parseStartXRef() {\n this.xref.setStartXRef(this.startXRef);\n }\n\n setup(recoveryMode) {\n this.xref.parse(recoveryMode);\n this.catalog = new _obj.Catalog(this.pdfManager, this.xref);\n }\n\n get numPages() {\n const linearization = this.linearization;\n const num = linearization ? linearization.numPages : this.catalog.numPages;\n return (0, _util.shadow)(this, \"numPages\", num);\n }\n\n get documentInfo() {\n const DocumentInfoValidators = {\n Title: _util.isString,\n Author: _util.isString,\n Subject: _util.isString,\n Keywords: _util.isString,\n Creator: _util.isString,\n Producer: _util.isString,\n CreationDate: _util.isString,\n ModDate: _util.isString,\n Trapped: _primitives.isName\n };\n let version = this.pdfFormatVersion;\n\n if (typeof version !== \"string\" || !PDF_HEADER_VERSION_REGEXP.test(version)) {\n (0, _util.warn)(`Invalid PDF header version number: ${version}`);\n version = null;\n }\n\n const docInfo = {\n PDFFormatVersion: version,\n IsLinearized: !!this.linearization,\n IsAcroFormPresent: !!this.acroForm,\n IsXFAPresent: !!this.xfa,\n IsCollectionPresent: !!this.collection\n };\n let infoDict;\n\n try {\n infoDict = this.xref.trailer.get(\"Info\");\n } catch (err) {\n if (err instanceof _core_utils.MissingDataException) {\n throw err;\n }\n\n (0, _util.info)(\"The document information dictionary is invalid.\");\n }\n\n if ((0, _primitives.isDict)(infoDict)) {\n for (const key of infoDict.getKeys()) {\n const value = infoDict.get(key);\n\n if (DocumentInfoValidators[key]) {\n if (DocumentInfoValidators[key](value)) {\n docInfo[key] = typeof value !== \"string\" ? value : (0, _util.stringToPDFString)(value);\n } else {\n (0, _util.info)(`Bad value in document info for \"${key}\".`);\n }\n } else if (typeof key === \"string\") {\n let customValue;\n\n if ((0, _util.isString)(value)) {\n customValue = (0, _util.stringToPDFString)(value);\n } else if ((0, _primitives.isName)(value) || (0, _util.isNum)(value) || (0, _util.isBool)(value)) {\n customValue = value;\n } else {\n (0, _util.info)(`Unsupported value in document info for (custom) \"${key}\".`);\n continue;\n }\n\n if (!docInfo.Custom) {\n docInfo.Custom = Object.create(null);\n }\n\n docInfo.Custom[key] = customValue;\n }\n }\n }\n\n return (0, _util.shadow)(this, \"documentInfo\", docInfo);\n }\n\n get fingerprint() {\n let hash;\n const idArray = this.xref.trailer.get(\"ID\");\n\n if (Array.isArray(idArray) && idArray[0] && (0, _util.isString)(idArray[0]) && idArray[0] !== EMPTY_FINGERPRINT) {\n hash = (0, _util.stringToBytes)(idArray[0]);\n } else {\n hash = (0, _crypto.calculateMD5)(this.stream.getByteRange(0, FINGERPRINT_FIRST_BYTES), 0, FINGERPRINT_FIRST_BYTES);\n }\n\n const fingerprintBuf = [];\n\n for (let i = 0, ii = hash.length; i < ii; i++) {\n const hex = hash[i].toString(16);\n fingerprintBuf.push(hex.padStart(2, \"0\"));\n }\n\n return (0, _util.shadow)(this, \"fingerprint\", fingerprintBuf.join(\"\"));\n }\n\n _getLinearizationPage(pageIndex) {\n const {\n catalog,\n linearization\n } = this;\n\n const ref = _primitives.Ref.get(linearization.objectNumberFirst, 0);\n\n return this.xref.fetchAsync(ref).then(obj => {\n if ((0, _primitives.isDict)(obj, \"Page\") || (0, _primitives.isDict)(obj) && !obj.has(\"Type\") && obj.has(\"Contents\")) {\n if (ref && !catalog.pageKidsCountCache.has(ref)) {\n catalog.pageKidsCountCache.put(ref, 1);\n }\n\n return [obj, ref];\n }\n\n throw new _util.FormatError(\"The Linearization dictionary doesn't point \" + \"to a valid Page dictionary.\");\n }).catch(reason => {\n (0, _util.info)(reason);\n return catalog.getPageDict(pageIndex);\n });\n }\n\n getPage(pageIndex) {\n if (this._pagePromises[pageIndex] !== undefined) {\n return this._pagePromises[pageIndex];\n }\n\n const {\n catalog,\n linearization\n } = this;\n const promise = linearization && linearization.pageFirst === pageIndex ? this._getLinearizationPage(pageIndex) : catalog.getPageDict(pageIndex);\n return this._pagePromises[pageIndex] = promise.then(([pageDict, ref]) => {\n return new Page({\n pdfManager: this.pdfManager,\n xref: this.xref,\n pageIndex,\n pageDict,\n ref,\n fontCache: catalog.fontCache,\n builtInCMapCache: catalog.builtInCMapCache,\n globalImageCache: catalog.globalImageCache,\n pdfFunctionFactory: this.pdfFunctionFactory\n });\n });\n }\n\n checkFirstPage() {\n return this.getPage(0).catch(async reason => {\n if (reason instanceof _core_utils.XRefEntryException) {\n this._pagePromises.length = 0;\n await this.cleanup();\n throw new _core_utils.XRefParseException();\n }\n });\n }\n\n fontFallback(id, handler) {\n return this.catalog.fontFallback(id, handler);\n }\n\n async cleanup(manuallyTriggered = false) {\n return this.catalog ? this.catalog.cleanup(manuallyTriggered) : (0, _primitives.clearPrimitiveCaches)();\n }\n\n}\n\nexports.PDFDocument = PDFDocument;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FileSpec = exports.XRef = exports.ObjectLoader = exports.Catalog = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _primitives = __w_pdfjs_require__(5);\n\nvar _parser = __w_pdfjs_require__(11);\n\nvar _core_utils = __w_pdfjs_require__(8);\n\nvar _crypto = __w_pdfjs_require__(22);\n\nvar _colorspace = __w_pdfjs_require__(23);\n\nvar _image_utils = __w_pdfjs_require__(24);\n\nfunction fetchDestination(dest) {\n return (0, _primitives.isDict)(dest) ? dest.get(\"D\") : dest;\n}\n\nclass Catalog {\n constructor(pdfManager, xref) {\n this.pdfManager = pdfManager;\n this.xref = xref;\n this.catDict = xref.getCatalogObj();\n\n if (!(0, _primitives.isDict)(this.catDict)) {\n throw new _util.FormatError(\"Catalog object is not a dictionary.\");\n }\n\n this.fontCache = new _primitives.RefSetCache();\n this.builtInCMapCache = new Map();\n this.globalImageCache = new _image_utils.GlobalImageCache();\n this.pageKidsCountCache = new _primitives.RefSetCache();\n }\n\n get metadata() {\n const streamRef = this.catDict.getRaw(\"Metadata\");\n\n if (!(0, _primitives.isRef)(streamRef)) {\n return (0, _util.shadow)(this, \"metadata\", null);\n }\n\n const suppressEncryption = !(this.xref.encrypt && this.xref.encrypt.encryptMetadata);\n const stream = this.xref.fetch(streamRef, suppressEncryption);\n let metadata;\n\n if (stream && (0, _primitives.isDict)(stream.dict)) {\n const type = stream.dict.get(\"Type\");\n const subtype = stream.dict.get(\"Subtype\");\n\n if ((0, _primitives.isName)(type, \"Metadata\") && (0, _primitives.isName)(subtype, \"XML\")) {\n try {\n metadata = (0, _util.stringToUTF8String)((0, _util.bytesToString)(stream.getBytes()));\n } catch (e) {\n if (e instanceof _core_utils.MissingDataException) {\n throw e;\n }\n\n (0, _util.info)(\"Skipping invalid metadata.\");\n }\n }\n }\n\n return (0, _util.shadow)(this, \"metadata\", metadata);\n }\n\n get toplevelPagesDict() {\n const pagesObj = this.catDict.get(\"Pages\");\n\n if (!(0, _primitives.isDict)(pagesObj)) {\n throw new _util.FormatError(\"Invalid top-level pages dictionary.\");\n }\n\n return (0, _util.shadow)(this, \"toplevelPagesDict\", pagesObj);\n }\n\n get documentOutline() {\n let obj = null;\n\n try {\n obj = this._readDocumentOutline();\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"Unable to read document outline.\");\n }\n\n return (0, _util.shadow)(this, \"documentOutline\", obj);\n }\n\n _readDocumentOutline() {\n let obj = this.catDict.get(\"Outlines\");\n\n if (!(0, _primitives.isDict)(obj)) {\n return null;\n }\n\n obj = obj.getRaw(\"First\");\n\n if (!(0, _primitives.isRef)(obj)) {\n return null;\n }\n\n const root = {\n items: []\n };\n const queue = [{\n obj,\n parent: root\n }];\n const processed = new _primitives.RefSet();\n processed.put(obj);\n const xref = this.xref,\n blackColor = new Uint8ClampedArray(3);\n\n while (queue.length > 0) {\n const i = queue.shift();\n const outlineDict = xref.fetchIfRef(i.obj);\n\n if (outlineDict === null) {\n continue;\n }\n\n if (!outlineDict.has(\"Title\")) {\n throw new _util.FormatError(\"Invalid outline item encountered.\");\n }\n\n const data = {\n url: null,\n dest: null\n };\n Catalog.parseDestDictionary({\n destDict: outlineDict,\n resultObj: data,\n docBaseUrl: this.pdfManager.docBaseUrl\n });\n const title = outlineDict.get(\"Title\");\n const flags = outlineDict.get(\"F\") || 0;\n const color = outlineDict.getArray(\"C\");\n const count = outlineDict.get(\"Count\");\n let rgbColor = blackColor;\n\n if (Array.isArray(color) && color.length === 3 && (color[0] !== 0 || color[1] !== 0 || color[2] !== 0)) {\n rgbColor = _colorspace.ColorSpace.singletons.rgb.getRgb(color, 0);\n }\n\n const outlineItem = {\n dest: data.dest,\n url: data.url,\n unsafeUrl: data.unsafeUrl,\n newWindow: data.newWindow,\n title: (0, _util.stringToPDFString)(title),\n color: rgbColor,\n count: Number.isInteger(count) ? count : undefined,\n bold: !!(flags & 2),\n italic: !!(flags & 1),\n items: []\n };\n i.parent.items.push(outlineItem);\n obj = outlineDict.getRaw(\"First\");\n\n if ((0, _primitives.isRef)(obj) && !processed.has(obj)) {\n queue.push({\n obj,\n parent: outlineItem\n });\n processed.put(obj);\n }\n\n obj = outlineDict.getRaw(\"Next\");\n\n if ((0, _primitives.isRef)(obj) && !processed.has(obj)) {\n queue.push({\n obj,\n parent: i.parent\n });\n processed.put(obj);\n }\n }\n\n return root.items.length > 0 ? root.items : null;\n }\n\n get permissions() {\n let permissions = null;\n\n try {\n permissions = this._readPermissions();\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"Unable to read permissions.\");\n }\n\n return (0, _util.shadow)(this, \"permissions\", permissions);\n }\n\n _readPermissions() {\n const encrypt = this.xref.trailer.get(\"Encrypt\");\n\n if (!(0, _primitives.isDict)(encrypt)) {\n return null;\n }\n\n let flags = encrypt.get(\"P\");\n\n if (!(0, _util.isNum)(flags)) {\n return null;\n }\n\n flags += 2 ** 32;\n const permissions = [];\n\n for (const key in _util.PermissionFlag) {\n const value = _util.PermissionFlag[key];\n\n if (flags & value) {\n permissions.push(value);\n }\n }\n\n return permissions;\n }\n\n get numPages() {\n const obj = this.toplevelPagesDict.get(\"Count\");\n\n if (!Number.isInteger(obj)) {\n throw new _util.FormatError(\"Page count in top-level pages dictionary is not an integer.\");\n }\n\n return (0, _util.shadow)(this, \"numPages\", obj);\n }\n\n get destinations() {\n const obj = this._readDests(),\n dests = Object.create(null);\n\n if (obj instanceof NameTree) {\n const names = obj.getAll();\n\n for (const name in names) {\n dests[name] = fetchDestination(names[name]);\n }\n } else if (obj instanceof _primitives.Dict) {\n obj.forEach(function (key, value) {\n if (value) {\n dests[key] = fetchDestination(value);\n }\n });\n }\n\n return (0, _util.shadow)(this, \"destinations\", dests);\n }\n\n getDestination(destinationId) {\n const obj = this._readDests();\n\n if (obj instanceof NameTree || obj instanceof _primitives.Dict) {\n return fetchDestination(obj.get(destinationId) || null);\n }\n\n return null;\n }\n\n _readDests() {\n const obj = this.catDict.get(\"Names\");\n\n if (obj && obj.has(\"Dests\")) {\n return new NameTree(obj.getRaw(\"Dests\"), this.xref);\n } else if (this.catDict.has(\"Dests\")) {\n return this.catDict.get(\"Dests\");\n }\n\n return undefined;\n }\n\n get pageLabels() {\n let obj = null;\n\n try {\n obj = this._readPageLabels();\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"Unable to read page labels.\");\n }\n\n return (0, _util.shadow)(this, \"pageLabels\", obj);\n }\n\n _readPageLabels() {\n const obj = this.catDict.getRaw(\"PageLabels\");\n\n if (!obj) {\n return null;\n }\n\n const pageLabels = new Array(this.numPages);\n let style = null,\n prefix = \"\";\n const numberTree = new NumberTree(obj, this.xref);\n const nums = numberTree.getAll();\n let currentLabel = \"\",\n currentIndex = 1;\n\n for (let i = 0, ii = this.numPages; i < ii; i++) {\n if (i in nums) {\n const labelDict = nums[i];\n\n if (!(0, _primitives.isDict)(labelDict)) {\n throw new _util.FormatError(\"PageLabel is not a dictionary.\");\n }\n\n if (labelDict.has(\"Type\") && !(0, _primitives.isName)(labelDict.get(\"Type\"), \"PageLabel\")) {\n throw new _util.FormatError(\"Invalid type in PageLabel dictionary.\");\n }\n\n if (labelDict.has(\"S\")) {\n const s = labelDict.get(\"S\");\n\n if (!(0, _primitives.isName)(s)) {\n throw new _util.FormatError(\"Invalid style in PageLabel dictionary.\");\n }\n\n style = s.name;\n } else {\n style = null;\n }\n\n if (labelDict.has(\"P\")) {\n const p = labelDict.get(\"P\");\n\n if (!(0, _util.isString)(p)) {\n throw new _util.FormatError(\"Invalid prefix in PageLabel dictionary.\");\n }\n\n prefix = (0, _util.stringToPDFString)(p);\n } else {\n prefix = \"\";\n }\n\n if (labelDict.has(\"St\")) {\n const st = labelDict.get(\"St\");\n\n if (!(Number.isInteger(st) && st >= 1)) {\n throw new _util.FormatError(\"Invalid start in PageLabel dictionary.\");\n }\n\n currentIndex = st;\n } else {\n currentIndex = 1;\n }\n }\n\n switch (style) {\n case \"D\":\n currentLabel = currentIndex;\n break;\n\n case \"R\":\n case \"r\":\n currentLabel = (0, _core_utils.toRomanNumerals)(currentIndex, style === \"r\");\n break;\n\n case \"A\":\n case \"a\":\n const LIMIT = 26;\n const A_UPPER_CASE = 0x41,\n A_LOWER_CASE = 0x61;\n const baseCharCode = style === \"a\" ? A_LOWER_CASE : A_UPPER_CASE;\n const letterIndex = currentIndex - 1;\n const character = String.fromCharCode(baseCharCode + letterIndex % LIMIT);\n const charBuf = [];\n\n for (let j = 0, jj = letterIndex / LIMIT | 0; j <= jj; j++) {\n charBuf.push(character);\n }\n\n currentLabel = charBuf.join(\"\");\n break;\n\n default:\n if (style) {\n throw new _util.FormatError(`Invalid style \"${style}\" in PageLabel dictionary.`);\n }\n\n currentLabel = \"\";\n }\n\n pageLabels[i] = prefix + currentLabel;\n currentIndex++;\n }\n\n return pageLabels;\n }\n\n get pageLayout() {\n const obj = this.catDict.get(\"PageLayout\");\n let pageLayout = \"\";\n\n if ((0, _primitives.isName)(obj)) {\n switch (obj.name) {\n case \"SinglePage\":\n case \"OneColumn\":\n case \"TwoColumnLeft\":\n case \"TwoColumnRight\":\n case \"TwoPageLeft\":\n case \"TwoPageRight\":\n pageLayout = obj.name;\n }\n }\n\n return (0, _util.shadow)(this, \"pageLayout\", pageLayout);\n }\n\n get pageMode() {\n const obj = this.catDict.get(\"PageMode\");\n let pageMode = \"UseNone\";\n\n if ((0, _primitives.isName)(obj)) {\n switch (obj.name) {\n case \"UseNone\":\n case \"UseOutlines\":\n case \"UseThumbs\":\n case \"FullScreen\":\n case \"UseOC\":\n case \"UseAttachments\":\n pageMode = obj.name;\n }\n }\n\n return (0, _util.shadow)(this, \"pageMode\", pageMode);\n }\n\n get viewerPreferences() {\n const ViewerPreferencesValidators = {\n HideToolbar: _util.isBool,\n HideMenubar: _util.isBool,\n HideWindowUI: _util.isBool,\n FitWindow: _util.isBool,\n CenterWindow: _util.isBool,\n DisplayDocTitle: _util.isBool,\n NonFullScreenPageMode: _primitives.isName,\n Direction: _primitives.isName,\n ViewArea: _primitives.isName,\n ViewClip: _primitives.isName,\n PrintArea: _primitives.isName,\n PrintClip: _primitives.isName,\n PrintScaling: _primitives.isName,\n Duplex: _primitives.isName,\n PickTrayByPDFSize: _util.isBool,\n PrintPageRange: Array.isArray,\n NumCopies: Number.isInteger\n };\n const obj = this.catDict.get(\"ViewerPreferences\");\n let prefs = null;\n\n if ((0, _primitives.isDict)(obj)) {\n for (const key in ViewerPreferencesValidators) {\n if (!obj.has(key)) {\n continue;\n }\n\n const value = obj.get(key);\n\n if (!ViewerPreferencesValidators[key](value)) {\n (0, _util.info)(`Bad value in ViewerPreferences for \"${key}\".`);\n continue;\n }\n\n let prefValue;\n\n switch (key) {\n case \"NonFullScreenPageMode\":\n switch (value.name) {\n case \"UseNone\":\n case \"UseOutlines\":\n case \"UseThumbs\":\n case \"UseOC\":\n prefValue = value.name;\n break;\n\n default:\n prefValue = \"UseNone\";\n }\n\n break;\n\n case \"Direction\":\n switch (value.name) {\n case \"L2R\":\n case \"R2L\":\n prefValue = value.name;\n break;\n\n default:\n prefValue = \"L2R\";\n }\n\n break;\n\n case \"ViewArea\":\n case \"ViewClip\":\n case \"PrintArea\":\n case \"PrintClip\":\n switch (value.name) {\n case \"MediaBox\":\n case \"CropBox\":\n case \"BleedBox\":\n case \"TrimBox\":\n case \"ArtBox\":\n prefValue = value.name;\n break;\n\n default:\n prefValue = \"CropBox\";\n }\n\n break;\n\n case \"PrintScaling\":\n switch (value.name) {\n case \"None\":\n case \"AppDefault\":\n prefValue = value.name;\n break;\n\n default:\n prefValue = \"AppDefault\";\n }\n\n break;\n\n case \"Duplex\":\n switch (value.name) {\n case \"Simplex\":\n case \"DuplexFlipShortEdge\":\n case \"DuplexFlipLongEdge\":\n prefValue = value.name;\n break;\n\n default:\n prefValue = \"None\";\n }\n\n break;\n\n case \"PrintPageRange\":\n const length = value.length;\n\n if (length % 2 !== 0) {\n break;\n }\n\n const isValid = value.every((page, i, arr) => {\n return Number.isInteger(page) && page > 0 && (i === 0 || page >= arr[i - 1]) && page <= this.numPages;\n });\n\n if (isValid) {\n prefValue = value;\n }\n\n break;\n\n case \"NumCopies\":\n if (value > 0) {\n prefValue = value;\n }\n\n break;\n\n default:\n if (typeof value !== \"boolean\") {\n throw new _util.FormatError(`viewerPreferences - expected a boolean value for: ${key}`);\n }\n\n prefValue = value;\n }\n\n if (prefValue !== undefined) {\n if (!prefs) {\n prefs = Object.create(null);\n }\n\n prefs[key] = prefValue;\n } else {\n (0, _util.info)(`Bad value in ViewerPreferences for \"${key}\".`);\n }\n }\n }\n\n return (0, _util.shadow)(this, \"viewerPreferences\", prefs);\n }\n\n get openAction() {\n const obj = this.catDict.get(\"OpenAction\");\n let openAction = null;\n\n if ((0, _primitives.isDict)(obj)) {\n const destDict = new _primitives.Dict(this.xref);\n destDict.set(\"A\", obj);\n const resultObj = {\n url: null,\n dest: null,\n action: null\n };\n Catalog.parseDestDictionary({\n destDict,\n resultObj\n });\n\n if (Array.isArray(resultObj.dest)) {\n if (!openAction) {\n openAction = Object.create(null);\n }\n\n openAction.dest = resultObj.dest;\n } else if (resultObj.action) {\n if (!openAction) {\n openAction = Object.create(null);\n }\n\n openAction.action = resultObj.action;\n }\n } else if (Array.isArray(obj)) {\n if (!openAction) {\n openAction = Object.create(null);\n }\n\n openAction.dest = obj;\n }\n\n return (0, _util.shadow)(this, \"openAction\", openAction);\n }\n\n get attachments() {\n const obj = this.catDict.get(\"Names\");\n let attachments = null;\n\n if (obj && obj.has(\"EmbeddedFiles\")) {\n const nameTree = new NameTree(obj.getRaw(\"EmbeddedFiles\"), this.xref);\n const names = nameTree.getAll();\n\n for (const name in names) {\n const fs = new FileSpec(names[name], this.xref);\n\n if (!attachments) {\n attachments = Object.create(null);\n }\n\n attachments[(0, _util.stringToPDFString)(name)] = fs.serializable;\n }\n }\n\n return (0, _util.shadow)(this, \"attachments\", attachments);\n }\n\n get javaScript() {\n const obj = this.catDict.get(\"Names\");\n let javaScript = null;\n\n function appendIfJavaScriptDict(jsDict) {\n const type = jsDict.get(\"S\");\n\n if (!(0, _primitives.isName)(type, \"JavaScript\")) {\n return;\n }\n\n let js = jsDict.get(\"JS\");\n\n if ((0, _primitives.isStream)(js)) {\n js = (0, _util.bytesToString)(js.getBytes());\n } else if (!(0, _util.isString)(js)) {\n return;\n }\n\n if (!javaScript) {\n javaScript = [];\n }\n\n javaScript.push((0, _util.stringToPDFString)(js));\n }\n\n if (obj && obj.has(\"JavaScript\")) {\n const nameTree = new NameTree(obj.getRaw(\"JavaScript\"), this.xref);\n const names = nameTree.getAll();\n\n for (const name in names) {\n const jsDict = names[name];\n\n if ((0, _primitives.isDict)(jsDict)) {\n appendIfJavaScriptDict(jsDict);\n }\n }\n }\n\n const openAction = this.catDict.get(\"OpenAction\");\n\n if ((0, _primitives.isDict)(openAction) && (0, _primitives.isName)(openAction.get(\"S\"), \"JavaScript\")) {\n appendIfJavaScriptDict(openAction);\n }\n\n return (0, _util.shadow)(this, \"javaScript\", javaScript);\n }\n\n fontFallback(id, handler) {\n const promises = [];\n this.fontCache.forEach(function (promise) {\n promises.push(promise);\n });\n return Promise.all(promises).then(translatedFonts => {\n for (const translatedFont of translatedFonts) {\n if (translatedFont.loadedName === id) {\n translatedFont.fallback(handler);\n return;\n }\n }\n });\n }\n\n cleanup(manuallyTriggered = false) {\n (0, _primitives.clearPrimitiveCaches)();\n this.globalImageCache.clear(manuallyTriggered);\n this.pageKidsCountCache.clear();\n const promises = [];\n this.fontCache.forEach(function (promise) {\n promises.push(promise);\n });\n return Promise.all(promises).then(translatedFonts => {\n for (const {\n dict\n } of translatedFonts) {\n delete dict.translated;\n }\n\n this.fontCache.clear();\n this.builtInCMapCache.clear();\n });\n }\n\n getPageDict(pageIndex) {\n const capability = (0, _util.createPromiseCapability)();\n const nodesToVisit = [this.catDict.getRaw(\"Pages\")];\n const visitedNodes = new _primitives.RefSet();\n const xref = this.xref,\n pageKidsCountCache = this.pageKidsCountCache;\n let count,\n currentPageIndex = 0;\n\n function next() {\n while (nodesToVisit.length) {\n const currentNode = nodesToVisit.pop();\n\n if ((0, _primitives.isRef)(currentNode)) {\n count = pageKidsCountCache.get(currentNode);\n\n if (count > 0 && currentPageIndex + count < pageIndex) {\n currentPageIndex += count;\n continue;\n }\n\n if (visitedNodes.has(currentNode)) {\n capability.reject(new _util.FormatError(\"Pages tree contains circular reference.\"));\n return;\n }\n\n visitedNodes.put(currentNode);\n xref.fetchAsync(currentNode).then(function (obj) {\n if ((0, _primitives.isDict)(obj, \"Page\") || (0, _primitives.isDict)(obj) && !obj.has(\"Kids\")) {\n if (pageIndex === currentPageIndex) {\n if (currentNode && !pageKidsCountCache.has(currentNode)) {\n pageKidsCountCache.put(currentNode, 1);\n }\n\n capability.resolve([obj, currentNode]);\n } else {\n currentPageIndex++;\n next();\n }\n\n return;\n }\n\n nodesToVisit.push(obj);\n next();\n }, capability.reject);\n return;\n }\n\n if (!(0, _primitives.isDict)(currentNode)) {\n capability.reject(new _util.FormatError(\"Page dictionary kid reference points to wrong type of object.\"));\n return;\n }\n\n count = currentNode.get(\"Count\");\n\n if (Number.isInteger(count) && count >= 0) {\n const objId = currentNode.objId;\n\n if (objId && !pageKidsCountCache.has(objId)) {\n pageKidsCountCache.put(objId, count);\n }\n\n if (currentPageIndex + count <= pageIndex) {\n currentPageIndex += count;\n continue;\n }\n }\n\n const kids = currentNode.get(\"Kids\");\n\n if (!Array.isArray(kids)) {\n if ((0, _primitives.isName)(currentNode.get(\"Type\"), \"Page\") || !currentNode.has(\"Type\") && currentNode.has(\"Contents\")) {\n if (currentPageIndex === pageIndex) {\n capability.resolve([currentNode, null]);\n return;\n }\n\n currentPageIndex++;\n continue;\n }\n\n capability.reject(new _util.FormatError(\"Page dictionary kids object is not an array.\"));\n return;\n }\n\n for (let last = kids.length - 1; last >= 0; last--) {\n nodesToVisit.push(kids[last]);\n }\n }\n\n capability.reject(new Error(`Page index ${pageIndex} not found.`));\n }\n\n next();\n return capability.promise;\n }\n\n getPageIndex(pageRef) {\n const xref = this.xref;\n\n function pagesBeforeRef(kidRef) {\n let total = 0,\n parentRef;\n return xref.fetchAsync(kidRef).then(function (node) {\n if ((0, _primitives.isRefsEqual)(kidRef, pageRef) && !(0, _primitives.isDict)(node, \"Page\") && !((0, _primitives.isDict)(node) && !node.has(\"Type\") && node.has(\"Contents\"))) {\n throw new _util.FormatError(\"The reference does not point to a /Page dictionary.\");\n }\n\n if (!node) {\n return null;\n }\n\n if (!(0, _primitives.isDict)(node)) {\n throw new _util.FormatError(\"Node must be a dictionary.\");\n }\n\n parentRef = node.getRaw(\"Parent\");\n return node.getAsync(\"Parent\");\n }).then(function (parent) {\n if (!parent) {\n return null;\n }\n\n if (!(0, _primitives.isDict)(parent)) {\n throw new _util.FormatError(\"Parent must be a dictionary.\");\n }\n\n return parent.getAsync(\"Kids\");\n }).then(function (kids) {\n if (!kids) {\n return null;\n }\n\n const kidPromises = [];\n let found = false;\n\n for (let i = 0, ii = kids.length; i < ii; i++) {\n const kid = kids[i];\n\n if (!(0, _primitives.isRef)(kid)) {\n throw new _util.FormatError(\"Kid must be a reference.\");\n }\n\n if ((0, _primitives.isRefsEqual)(kid, kidRef)) {\n found = true;\n break;\n }\n\n kidPromises.push(xref.fetchAsync(kid).then(function (obj) {\n if (!(0, _primitives.isDict)(obj)) {\n throw new _util.FormatError(\"Kid node must be a dictionary.\");\n }\n\n if (obj.has(\"Count\")) {\n total += obj.get(\"Count\");\n } else {\n total++;\n }\n }));\n }\n\n if (!found) {\n throw new _util.FormatError(\"Kid reference not found in parent's kids.\");\n }\n\n return Promise.all(kidPromises).then(function () {\n return [total, parentRef];\n });\n });\n }\n\n let total = 0;\n\n function next(ref) {\n return pagesBeforeRef(ref).then(function (args) {\n if (!args) {\n return total;\n }\n\n const [count, parentRef] = args;\n total += count;\n return next(parentRef);\n });\n }\n\n return next(pageRef);\n }\n\n static parseDestDictionary(params) {\n function addDefaultProtocolToUrl(url) {\n return url.startsWith(\"www.\") ? `http://${url}` : url;\n }\n\n function tryConvertUrlEncoding(url) {\n try {\n return (0, _util.stringToUTF8String)(url);\n } catch (e) {\n return url;\n }\n }\n\n const destDict = params.destDict;\n\n if (!(0, _primitives.isDict)(destDict)) {\n (0, _util.warn)(\"parseDestDictionary: `destDict` must be a dictionary.\");\n return;\n }\n\n const resultObj = params.resultObj;\n\n if (typeof resultObj !== \"object\") {\n (0, _util.warn)(\"parseDestDictionary: `resultObj` must be an object.\");\n return;\n }\n\n const docBaseUrl = params.docBaseUrl || null;\n let action = destDict.get(\"A\"),\n url,\n dest;\n\n if (!(0, _primitives.isDict)(action) && destDict.has(\"Dest\")) {\n action = destDict.get(\"Dest\");\n }\n\n if ((0, _primitives.isDict)(action)) {\n const actionType = action.get(\"S\");\n\n if (!(0, _primitives.isName)(actionType)) {\n (0, _util.warn)(\"parseDestDictionary: Invalid type in Action dictionary.\");\n return;\n }\n\n const actionName = actionType.name;\n\n switch (actionName) {\n case \"URI\":\n url = action.get(\"URI\");\n\n if ((0, _primitives.isName)(url)) {\n url = \"/\" + url.name;\n } else if ((0, _util.isString)(url)) {\n url = addDefaultProtocolToUrl(url);\n }\n\n break;\n\n case \"GoTo\":\n dest = action.get(\"D\");\n break;\n\n case \"Launch\":\n case \"GoToR\":\n const urlDict = action.get(\"F\");\n\n if ((0, _primitives.isDict)(urlDict)) {\n url = urlDict.get(\"F\") || null;\n } else if ((0, _util.isString)(urlDict)) {\n url = urlDict;\n }\n\n let remoteDest = action.get(\"D\");\n\n if (remoteDest) {\n if ((0, _primitives.isName)(remoteDest)) {\n remoteDest = remoteDest.name;\n }\n\n if ((0, _util.isString)(url)) {\n const baseUrl = url.split(\"#\")[0];\n\n if ((0, _util.isString)(remoteDest)) {\n url = baseUrl + \"#\" + remoteDest;\n } else if (Array.isArray(remoteDest)) {\n url = baseUrl + \"#\" + JSON.stringify(remoteDest);\n }\n }\n }\n\n const newWindow = action.get(\"NewWindow\");\n\n if ((0, _util.isBool)(newWindow)) {\n resultObj.newWindow = newWindow;\n }\n\n break;\n\n case \"Named\":\n const namedAction = action.get(\"N\");\n\n if ((0, _primitives.isName)(namedAction)) {\n resultObj.action = namedAction.name;\n }\n\n break;\n\n case \"JavaScript\":\n const jsAction = action.get(\"JS\");\n let js;\n\n if ((0, _primitives.isStream)(jsAction)) {\n js = (0, _util.bytesToString)(jsAction.getBytes());\n } else if ((0, _util.isString)(jsAction)) {\n js = jsAction;\n }\n\n if (js) {\n const URL_OPEN_METHODS = [\"app.launchURL\", \"window.open\"];\n const regex = new RegExp(\"^\\\\s*(\" + URL_OPEN_METHODS.join(\"|\").split(\".\").join(\"\\\\.\") + \")\\\\((?:'|\\\")([^'\\\"]*)(?:'|\\\")(?:,\\\\s*(\\\\w+)\\\\)|\\\\))\", \"i\");\n const jsUrl = regex.exec((0, _util.stringToPDFString)(js));\n\n if (jsUrl && jsUrl[2]) {\n url = jsUrl[2];\n\n if (jsUrl[3] === \"true\" && jsUrl[1] === \"app.launchURL\") {\n resultObj.newWindow = true;\n }\n\n break;\n }\n }\n\n default:\n (0, _util.warn)(`parseDestDictionary: unsupported action type \"${actionName}\".`);\n break;\n }\n } else if (destDict.has(\"Dest\")) {\n dest = destDict.get(\"Dest\");\n }\n\n if ((0, _util.isString)(url)) {\n url = tryConvertUrlEncoding(url);\n const absoluteUrl = (0, _util.createValidAbsoluteUrl)(url, docBaseUrl);\n\n if (absoluteUrl) {\n resultObj.url = absoluteUrl.href;\n }\n\n resultObj.unsafeUrl = url;\n }\n\n if (dest) {\n if ((0, _primitives.isName)(dest)) {\n dest = dest.name;\n }\n\n if ((0, _util.isString)(dest) || Array.isArray(dest)) {\n resultObj.dest = dest;\n }\n }\n }\n\n}\n\nexports.Catalog = Catalog;\n\nvar XRef = function XRefClosure() {\n function XRef(stream, pdfManager) {\n this.stream = stream;\n this.pdfManager = pdfManager;\n this.entries = [];\n this.xrefstms = Object.create(null);\n this._cacheMap = new Map();\n this.stats = {\n streamTypes: Object.create(null),\n fontTypes: Object.create(null)\n };\n }\n\n XRef.prototype = {\n setStartXRef: function XRef_setStartXRef(startXRef) {\n this.startXRefQueue = [startXRef];\n },\n parse: function XRef_parse(recoveryMode) {\n var trailerDict;\n\n if (!recoveryMode) {\n trailerDict = this.readXRef();\n } else {\n (0, _util.warn)(\"Indexing all PDF objects\");\n trailerDict = this.indexObjects();\n }\n\n trailerDict.assignXref(this);\n this.trailer = trailerDict;\n let encrypt;\n\n try {\n encrypt = trailerDict.get(\"Encrypt\");\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(`XRef.parse - Invalid \"Encrypt\" reference: \"${ex}\".`);\n }\n\n if ((0, _primitives.isDict)(encrypt)) {\n var ids = trailerDict.get(\"ID\");\n var fileId = ids && ids.length ? ids[0] : \"\";\n encrypt.suppressEncryption = true;\n this.encrypt = new _crypto.CipherTransformFactory(encrypt, fileId, this.pdfManager.password);\n }\n\n let root;\n\n try {\n root = trailerDict.get(\"Root\");\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(`XRef.parse - Invalid \"Root\" reference: \"${ex}\".`);\n }\n\n if ((0, _primitives.isDict)(root) && root.has(\"Pages\")) {\n this.root = root;\n } else {\n if (!recoveryMode) {\n throw new _core_utils.XRefParseException();\n }\n\n throw new _util.FormatError(\"Invalid root reference\");\n }\n },\n processXRefTable: function XRef_processXRefTable(parser) {\n if (!(\"tableState\" in this)) {\n this.tableState = {\n entryNum: 0,\n streamPos: parser.lexer.stream.pos,\n parserBuf1: parser.buf1,\n parserBuf2: parser.buf2\n };\n }\n\n var obj = this.readXRefTable(parser);\n\n if (!(0, _primitives.isCmd)(obj, \"trailer\")) {\n throw new _util.FormatError(\"Invalid XRef table: could not find trailer dictionary\");\n }\n\n var dict = parser.getObj();\n\n if (!(0, _primitives.isDict)(dict) && dict.dict) {\n dict = dict.dict;\n }\n\n if (!(0, _primitives.isDict)(dict)) {\n throw new _util.FormatError(\"Invalid XRef table: could not parse trailer dictionary\");\n }\n\n delete this.tableState;\n return dict;\n },\n readXRefTable: function XRef_readXRefTable(parser) {\n var stream = parser.lexer.stream;\n var tableState = this.tableState;\n stream.pos = tableState.streamPos;\n parser.buf1 = tableState.parserBuf1;\n parser.buf2 = tableState.parserBuf2;\n var obj;\n\n while (true) {\n if (!(\"firstEntryNum\" in tableState) || !(\"entryCount\" in tableState)) {\n if ((0, _primitives.isCmd)(obj = parser.getObj(), \"trailer\")) {\n break;\n }\n\n tableState.firstEntryNum = obj;\n tableState.entryCount = parser.getObj();\n }\n\n var first = tableState.firstEntryNum;\n var count = tableState.entryCount;\n\n if (!Number.isInteger(first) || !Number.isInteger(count)) {\n throw new _util.FormatError(\"Invalid XRef table: wrong types in subsection header\");\n }\n\n for (var i = tableState.entryNum; i < count; i++) {\n tableState.streamPos = stream.pos;\n tableState.entryNum = i;\n tableState.parserBuf1 = parser.buf1;\n tableState.parserBuf2 = parser.buf2;\n var entry = {};\n entry.offset = parser.getObj();\n entry.gen = parser.getObj();\n var type = parser.getObj();\n\n if (type instanceof _primitives.Cmd) {\n switch (type.cmd) {\n case \"f\":\n entry.free = true;\n break;\n\n case \"n\":\n entry.uncompressed = true;\n break;\n }\n }\n\n if (!Number.isInteger(entry.offset) || !Number.isInteger(entry.gen) || !(entry.free || entry.uncompressed)) {\n throw new _util.FormatError(`Invalid entry in XRef subsection: ${first}, ${count}`);\n }\n\n if (i === 0 && entry.free && first === 1) {\n first = 0;\n }\n\n if (!this.entries[i + first]) {\n this.entries[i + first] = entry;\n }\n }\n\n tableState.entryNum = 0;\n tableState.streamPos = stream.pos;\n tableState.parserBuf1 = parser.buf1;\n tableState.parserBuf2 = parser.buf2;\n delete tableState.firstEntryNum;\n delete tableState.entryCount;\n }\n\n if (this.entries[0] && !this.entries[0].free) {\n throw new _util.FormatError(\"Invalid XRef table: unexpected first object\");\n }\n\n return obj;\n },\n processXRefStream: function XRef_processXRefStream(stream) {\n if (!(\"streamState\" in this)) {\n var streamParameters = stream.dict;\n var byteWidths = streamParameters.get(\"W\");\n var range = streamParameters.get(\"Index\");\n\n if (!range) {\n range = [0, streamParameters.get(\"Size\")];\n }\n\n this.streamState = {\n entryRanges: range,\n byteWidths,\n entryNum: 0,\n streamPos: stream.pos\n };\n }\n\n this.readXRefStream(stream);\n delete this.streamState;\n return stream.dict;\n },\n readXRefStream: function XRef_readXRefStream(stream) {\n var i, j;\n var streamState = this.streamState;\n stream.pos = streamState.streamPos;\n var byteWidths = streamState.byteWidths;\n var typeFieldWidth = byteWidths[0];\n var offsetFieldWidth = byteWidths[1];\n var generationFieldWidth = byteWidths[2];\n var entryRanges = streamState.entryRanges;\n\n while (entryRanges.length > 0) {\n var first = entryRanges[0];\n var n = entryRanges[1];\n\n if (!Number.isInteger(first) || !Number.isInteger(n)) {\n throw new _util.FormatError(`Invalid XRef range fields: ${first}, ${n}`);\n }\n\n if (!Number.isInteger(typeFieldWidth) || !Number.isInteger(offsetFieldWidth) || !Number.isInteger(generationFieldWidth)) {\n throw new _util.FormatError(`Invalid XRef entry fields length: ${first}, ${n}`);\n }\n\n for (i = streamState.entryNum; i < n; ++i) {\n streamState.entryNum = i;\n streamState.streamPos = stream.pos;\n var type = 0,\n offset = 0,\n generation = 0;\n\n for (j = 0; j < typeFieldWidth; ++j) {\n type = type << 8 | stream.getByte();\n }\n\n if (typeFieldWidth === 0) {\n type = 1;\n }\n\n for (j = 0; j < offsetFieldWidth; ++j) {\n offset = offset << 8 | stream.getByte();\n }\n\n for (j = 0; j < generationFieldWidth; ++j) {\n generation = generation << 8 | stream.getByte();\n }\n\n var entry = {};\n entry.offset = offset;\n entry.gen = generation;\n\n switch (type) {\n case 0:\n entry.free = true;\n break;\n\n case 1:\n entry.uncompressed = true;\n break;\n\n case 2:\n break;\n\n default:\n throw new _util.FormatError(`Invalid XRef entry type: ${type}`);\n }\n\n if (!this.entries[first + i]) {\n this.entries[first + i] = entry;\n }\n }\n\n streamState.entryNum = 0;\n streamState.streamPos = stream.pos;\n entryRanges.splice(0, 2);\n }\n },\n indexObjects: function XRef_indexObjects() {\n var TAB = 0x9,\n LF = 0xa,\n CR = 0xd,\n SPACE = 0x20;\n var PERCENT = 0x25,\n LT = 0x3c;\n\n function readToken(data, offset) {\n var token = \"\",\n ch = data[offset];\n\n while (ch !== LF && ch !== CR && ch !== LT) {\n if (++offset >= data.length) {\n break;\n }\n\n token += String.fromCharCode(ch);\n ch = data[offset];\n }\n\n return token;\n }\n\n function skipUntil(data, offset, what) {\n var length = what.length,\n dataLength = data.length;\n var skipped = 0;\n\n while (offset < dataLength) {\n var i = 0;\n\n while (i < length && data[offset + i] === what[i]) {\n ++i;\n }\n\n if (i >= length) {\n break;\n }\n\n offset++;\n skipped++;\n }\n\n return skipped;\n }\n\n var objRegExp = /^(\\d+)\\s+(\\d+)\\s+obj\\b/;\n const endobjRegExp = /\\bendobj[\\b\\s]$/;\n const nestedObjRegExp = /\\s+(\\d+\\s+\\d+\\s+obj[\\b\\s<])$/;\n const CHECK_CONTENT_LENGTH = 25;\n var trailerBytes = new Uint8Array([116, 114, 97, 105, 108, 101, 114]);\n var startxrefBytes = new Uint8Array([115, 116, 97, 114, 116, 120, 114, 101, 102]);\n const objBytes = new Uint8Array([111, 98, 106]);\n var xrefBytes = new Uint8Array([47, 88, 82, 101, 102]);\n this.entries.length = 0;\n var stream = this.stream;\n stream.pos = 0;\n var buffer = stream.getBytes();\n var position = stream.start,\n length = buffer.length;\n var trailers = [],\n xrefStms = [];\n\n while (position < length) {\n var ch = buffer[position];\n\n if (ch === TAB || ch === LF || ch === CR || ch === SPACE) {\n ++position;\n continue;\n }\n\n if (ch === PERCENT) {\n do {\n ++position;\n\n if (position >= length) {\n break;\n }\n\n ch = buffer[position];\n } while (ch !== LF && ch !== CR);\n\n continue;\n }\n\n var token = readToken(buffer, position);\n var m;\n\n if (token.startsWith(\"xref\") && (token.length === 4 || /\\s/.test(token[4]))) {\n position += skipUntil(buffer, position, trailerBytes);\n trailers.push(position);\n position += skipUntil(buffer, position, startxrefBytes);\n } else if (m = objRegExp.exec(token)) {\n const num = m[1] | 0,\n gen = m[2] | 0;\n\n if (!this.entries[num] || this.entries[num].gen === gen) {\n this.entries[num] = {\n offset: position - stream.start,\n gen,\n uncompressed: true\n };\n }\n\n let contentLength,\n startPos = position + token.length;\n\n while (startPos < buffer.length) {\n const endPos = startPos + skipUntil(buffer, startPos, objBytes) + 4;\n contentLength = endPos - position;\n const checkPos = Math.max(endPos - CHECK_CONTENT_LENGTH, startPos);\n const tokenStr = (0, _util.bytesToString)(buffer.subarray(checkPos, endPos));\n\n if (endobjRegExp.test(tokenStr)) {\n break;\n } else {\n const objToken = nestedObjRegExp.exec(tokenStr);\n\n if (objToken && objToken[1]) {\n (0, _util.warn)('indexObjects: Found new \"obj\" inside of another \"obj\", ' + 'caused by missing \"endobj\" -- trying to recover.');\n contentLength -= objToken[1].length;\n break;\n }\n }\n\n startPos = endPos;\n }\n\n const content = buffer.subarray(position, position + contentLength);\n var xrefTagOffset = skipUntil(content, 0, xrefBytes);\n\n if (xrefTagOffset < contentLength && content[xrefTagOffset + 5] < 64) {\n xrefStms.push(position - stream.start);\n this.xrefstms[position - stream.start] = 1;\n }\n\n position += contentLength;\n } else if (token.startsWith(\"trailer\") && (token.length === 7 || /\\s/.test(token[7]))) {\n trailers.push(position);\n position += skipUntil(buffer, position, startxrefBytes);\n } else {\n position += token.length + 1;\n }\n }\n\n var i, ii;\n\n for (i = 0, ii = xrefStms.length; i < ii; ++i) {\n this.startXRefQueue.push(xrefStms[i]);\n this.readXRef(true);\n }\n\n let trailerDict;\n\n for (i = 0, ii = trailers.length; i < ii; ++i) {\n stream.pos = trailers[i];\n const parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream),\n xref: this,\n allowStreams: true,\n recoveryMode: true\n });\n var obj = parser.getObj();\n\n if (!(0, _primitives.isCmd)(obj, \"trailer\")) {\n continue;\n }\n\n const dict = parser.getObj();\n\n if (!(0, _primitives.isDict)(dict)) {\n continue;\n }\n\n let rootDict;\n\n try {\n rootDict = dict.get(\"Root\");\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n continue;\n }\n\n if (!(0, _primitives.isDict)(rootDict) || !rootDict.has(\"Pages\")) {\n continue;\n }\n\n if (dict.has(\"ID\")) {\n return dict;\n }\n\n trailerDict = dict;\n }\n\n if (trailerDict) {\n return trailerDict;\n }\n\n throw new _util.InvalidPDFException(\"Invalid PDF structure.\");\n },\n readXRef: function XRef_readXRef(recoveryMode) {\n var stream = this.stream;\n const startXRefParsedCache = Object.create(null);\n\n try {\n while (this.startXRefQueue.length) {\n var startXRef = this.startXRefQueue[0];\n\n if (startXRefParsedCache[startXRef]) {\n (0, _util.warn)(\"readXRef - skipping XRef table since it was already parsed.\");\n this.startXRefQueue.shift();\n continue;\n }\n\n startXRefParsedCache[startXRef] = true;\n stream.pos = startXRef + stream.start;\n const parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream),\n xref: this,\n allowStreams: true\n });\n var obj = parser.getObj();\n var dict;\n\n if ((0, _primitives.isCmd)(obj, \"xref\")) {\n dict = this.processXRefTable(parser);\n\n if (!this.topDict) {\n this.topDict = dict;\n }\n\n obj = dict.get(\"XRefStm\");\n\n if (Number.isInteger(obj)) {\n var pos = obj;\n\n if (!(pos in this.xrefstms)) {\n this.xrefstms[pos] = 1;\n this.startXRefQueue.push(pos);\n }\n }\n } else if (Number.isInteger(obj)) {\n if (!Number.isInteger(parser.getObj()) || !(0, _primitives.isCmd)(parser.getObj(), \"obj\") || !(0, _primitives.isStream)(obj = parser.getObj())) {\n throw new _util.FormatError(\"Invalid XRef stream\");\n }\n\n dict = this.processXRefStream(obj);\n\n if (!this.topDict) {\n this.topDict = dict;\n }\n\n if (!dict) {\n throw new _util.FormatError(\"Failed to read XRef stream\");\n }\n } else {\n throw new _util.FormatError(\"Invalid XRef stream header\");\n }\n\n obj = dict.get(\"Prev\");\n\n if (Number.isInteger(obj)) {\n this.startXRefQueue.push(obj);\n } else if ((0, _primitives.isRef)(obj)) {\n this.startXRefQueue.push(obj.num);\n }\n\n this.startXRefQueue.shift();\n }\n\n return this.topDict;\n } catch (e) {\n if (e instanceof _core_utils.MissingDataException) {\n throw e;\n }\n\n (0, _util.info)(\"(while reading XRef): \" + e);\n }\n\n if (recoveryMode) {\n return undefined;\n }\n\n throw new _core_utils.XRefParseException();\n },\n getEntry: function XRef_getEntry(i) {\n var xrefEntry = this.entries[i];\n\n if (xrefEntry && !xrefEntry.free && xrefEntry.offset) {\n return xrefEntry;\n }\n\n return null;\n },\n fetchIfRef: function XRef_fetchIfRef(obj, suppressEncryption) {\n if (obj instanceof _primitives.Ref) {\n return this.fetch(obj, suppressEncryption);\n }\n\n return obj;\n },\n fetch: function XRef_fetch(ref, suppressEncryption) {\n if (!(ref instanceof _primitives.Ref)) {\n throw new Error(\"ref object is not a reference\");\n }\n\n const num = ref.num;\n\n const cacheEntry = this._cacheMap.get(num);\n\n if (cacheEntry !== undefined) {\n if (cacheEntry instanceof _primitives.Dict && !cacheEntry.objId) {\n cacheEntry.objId = ref.toString();\n }\n\n return cacheEntry;\n }\n\n let xrefEntry = this.getEntry(num);\n\n if (xrefEntry === null) {\n this._cacheMap.set(num, xrefEntry);\n\n return xrefEntry;\n }\n\n if (xrefEntry.uncompressed) {\n xrefEntry = this.fetchUncompressed(ref, xrefEntry, suppressEncryption);\n } else {\n xrefEntry = this.fetchCompressed(ref, xrefEntry, suppressEncryption);\n }\n\n if ((0, _primitives.isDict)(xrefEntry)) {\n xrefEntry.objId = ref.toString();\n } else if ((0, _primitives.isStream)(xrefEntry)) {\n xrefEntry.dict.objId = ref.toString();\n }\n\n return xrefEntry;\n },\n\n fetchUncompressed(ref, xrefEntry, suppressEncryption = false) {\n var gen = ref.gen;\n var num = ref.num;\n\n if (xrefEntry.gen !== gen) {\n throw new _core_utils.XRefEntryException(`Inconsistent generation in XRef: ${ref}`);\n }\n\n var stream = this.stream.makeSubStream(xrefEntry.offset + this.stream.start);\n const parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream),\n xref: this,\n allowStreams: true\n });\n var obj1 = parser.getObj();\n var obj2 = parser.getObj();\n var obj3 = parser.getObj();\n\n if (obj1 !== num || obj2 !== gen || !(obj3 instanceof _primitives.Cmd)) {\n throw new _core_utils.XRefEntryException(`Bad (uncompressed) XRef entry: ${ref}`);\n }\n\n if (obj3.cmd !== \"obj\") {\n if (obj3.cmd.startsWith(\"obj\")) {\n num = parseInt(obj3.cmd.substring(3), 10);\n\n if (!Number.isNaN(num)) {\n return num;\n }\n }\n\n throw new _core_utils.XRefEntryException(`Bad (uncompressed) XRef entry: ${ref}`);\n }\n\n if (this.encrypt && !suppressEncryption) {\n xrefEntry = parser.getObj(this.encrypt.createCipherTransform(num, gen));\n } else {\n xrefEntry = parser.getObj();\n }\n\n if (!(0, _primitives.isStream)(xrefEntry)) {\n this._cacheMap.set(num, xrefEntry);\n }\n\n return xrefEntry;\n },\n\n fetchCompressed(ref, xrefEntry, suppressEncryption = false) {\n const tableOffset = xrefEntry.offset;\n const stream = this.fetch(_primitives.Ref.get(tableOffset, 0));\n\n if (!(0, _primitives.isStream)(stream)) {\n throw new _util.FormatError(\"bad ObjStm stream\");\n }\n\n const first = stream.dict.get(\"First\");\n const n = stream.dict.get(\"N\");\n\n if (!Number.isInteger(first) || !Number.isInteger(n)) {\n throw new _util.FormatError(\"invalid first and n parameters for ObjStm stream\");\n }\n\n const parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream),\n xref: this,\n allowStreams: true\n });\n const nums = new Array(n);\n\n for (let i = 0; i < n; ++i) {\n const num = parser.getObj();\n\n if (!Number.isInteger(num)) {\n throw new _util.FormatError(`invalid object number in the ObjStm stream: ${num}`);\n }\n\n const offset = parser.getObj();\n\n if (!Number.isInteger(offset)) {\n throw new _util.FormatError(`invalid object offset in the ObjStm stream: ${offset}`);\n }\n\n nums[i] = num;\n }\n\n const entries = new Array(n);\n\n for (let i = 0; i < n; ++i) {\n const obj = parser.getObj();\n entries[i] = obj;\n\n if (parser.buf1 instanceof _primitives.Cmd && parser.buf1.cmd === \"endobj\") {\n parser.shift();\n }\n\n if ((0, _primitives.isStream)(obj)) {\n continue;\n }\n\n const num = nums[i],\n entry = this.entries[num];\n\n if (entry && entry.offset === tableOffset && entry.gen === i) {\n this._cacheMap.set(num, obj);\n }\n }\n\n xrefEntry = entries[xrefEntry.gen];\n\n if (xrefEntry === undefined) {\n throw new _core_utils.XRefEntryException(`Bad (compressed) XRef entry: ${ref}`);\n }\n\n return xrefEntry;\n },\n\n async fetchIfRefAsync(obj, suppressEncryption) {\n if (obj instanceof _primitives.Ref) {\n return this.fetchAsync(obj, suppressEncryption);\n }\n\n return obj;\n },\n\n async fetchAsync(ref, suppressEncryption) {\n try {\n return this.fetch(ref, suppressEncryption);\n } catch (ex) {\n if (!(ex instanceof _core_utils.MissingDataException)) {\n throw ex;\n }\n\n await this.pdfManager.requestRange(ex.begin, ex.end);\n return this.fetchAsync(ref, suppressEncryption);\n }\n },\n\n getCatalogObj: function XRef_getCatalogObj() {\n return this.root;\n }\n };\n return XRef;\n}();\n\nexports.XRef = XRef;\n\nclass NameOrNumberTree {\n constructor(root, xref, type) {\n if (this.constructor === NameOrNumberTree) {\n (0, _util.unreachable)(\"Cannot initialize NameOrNumberTree.\");\n }\n\n this.root = root;\n this.xref = xref;\n this._type = type;\n }\n\n getAll() {\n const dict = Object.create(null);\n\n if (!this.root) {\n return dict;\n }\n\n const xref = this.xref;\n const processed = new _primitives.RefSet();\n processed.put(this.root);\n const queue = [this.root];\n\n while (queue.length > 0) {\n const obj = xref.fetchIfRef(queue.shift());\n\n if (!(0, _primitives.isDict)(obj)) {\n continue;\n }\n\n if (obj.has(\"Kids\")) {\n const kids = obj.get(\"Kids\");\n\n for (let i = 0, ii = kids.length; i < ii; i++) {\n const kid = kids[i];\n\n if (processed.has(kid)) {\n throw new _util.FormatError(`Duplicate entry in \"${this._type}\" tree.`);\n }\n\n queue.push(kid);\n processed.put(kid);\n }\n\n continue;\n }\n\n const entries = obj.get(this._type);\n\n if (Array.isArray(entries)) {\n for (let i = 0, ii = entries.length; i < ii; i += 2) {\n dict[xref.fetchIfRef(entries[i])] = xref.fetchIfRef(entries[i + 1]);\n }\n }\n }\n\n return dict;\n }\n\n get(key) {\n if (!this.root) {\n return null;\n }\n\n const xref = this.xref;\n let kidsOrEntries = xref.fetchIfRef(this.root);\n let loopCount = 0;\n const MAX_LEVELS = 10;\n\n while (kidsOrEntries.has(\"Kids\")) {\n if (++loopCount > MAX_LEVELS) {\n (0, _util.warn)(`Search depth limit reached for \"${this._type}\" tree.`);\n return null;\n }\n\n const kids = kidsOrEntries.get(\"Kids\");\n\n if (!Array.isArray(kids)) {\n return null;\n }\n\n let l = 0,\n r = kids.length - 1;\n\n while (l <= r) {\n const m = l + r >> 1;\n const kid = xref.fetchIfRef(kids[m]);\n const limits = kid.get(\"Limits\");\n\n if (key < xref.fetchIfRef(limits[0])) {\n r = m - 1;\n } else if (key > xref.fetchIfRef(limits[1])) {\n l = m + 1;\n } else {\n kidsOrEntries = xref.fetchIfRef(kids[m]);\n break;\n }\n }\n\n if (l > r) {\n return null;\n }\n }\n\n const entries = kidsOrEntries.get(this._type);\n\n if (Array.isArray(entries)) {\n let l = 0,\n r = entries.length - 2;\n\n while (l <= r) {\n const tmp = l + r >> 1,\n m = tmp + (tmp & 1);\n const currentKey = xref.fetchIfRef(entries[m]);\n\n if (key < currentKey) {\n r = m - 2;\n } else if (key > currentKey) {\n l = m + 2;\n } else {\n return xref.fetchIfRef(entries[m + 1]);\n }\n }\n\n (0, _util.info)(`Falling back to an exhaustive search, for key \"${key}\", ` + `in \"${this._type}\" tree.`);\n\n for (let m = 0, mm = entries.length; m < mm; m += 2) {\n const currentKey = xref.fetchIfRef(entries[m]);\n\n if (currentKey === key) {\n (0, _util.warn)(`The \"${key}\" key was found at an incorrect, ` + `i.e. out-of-order, position in \"${this._type}\" tree.`);\n return xref.fetchIfRef(entries[m + 1]);\n }\n }\n }\n\n return null;\n }\n\n}\n\nclass NameTree extends NameOrNumberTree {\n constructor(root, xref) {\n super(root, xref, \"Names\");\n }\n\n}\n\nclass NumberTree extends NameOrNumberTree {\n constructor(root, xref) {\n super(root, xref, \"Nums\");\n }\n\n}\n\nvar FileSpec = function FileSpecClosure() {\n function FileSpec(root, xref) {\n if (!root || !(0, _primitives.isDict)(root)) {\n return;\n }\n\n this.xref = xref;\n this.root = root;\n\n if (root.has(\"FS\")) {\n this.fs = root.get(\"FS\");\n }\n\n this.description = root.has(\"Desc\") ? (0, _util.stringToPDFString)(root.get(\"Desc\")) : \"\";\n\n if (root.has(\"RF\")) {\n (0, _util.warn)(\"Related file specifications are not supported\");\n }\n\n this.contentAvailable = true;\n\n if (!root.has(\"EF\")) {\n this.contentAvailable = false;\n (0, _util.warn)(\"Non-embedded file specifications are not supported\");\n }\n }\n\n function pickPlatformItem(dict) {\n if (dict.has(\"UF\")) {\n return dict.get(\"UF\");\n } else if (dict.has(\"F\")) {\n return dict.get(\"F\");\n } else if (dict.has(\"Unix\")) {\n return dict.get(\"Unix\");\n } else if (dict.has(\"Mac\")) {\n return dict.get(\"Mac\");\n } else if (dict.has(\"DOS\")) {\n return dict.get(\"DOS\");\n }\n\n return null;\n }\n\n FileSpec.prototype = {\n get filename() {\n if (!this._filename && this.root) {\n var filename = pickPlatformItem(this.root) || \"unnamed\";\n this._filename = (0, _util.stringToPDFString)(filename).replace(/\\\\\\\\/g, \"\\\\\").replace(/\\\\\\//g, \"/\").replace(/\\\\/g, \"/\");\n }\n\n return this._filename;\n },\n\n get content() {\n if (!this.contentAvailable) {\n return null;\n }\n\n if (!this.contentRef && this.root) {\n this.contentRef = pickPlatformItem(this.root.get(\"EF\"));\n }\n\n var content = null;\n\n if (this.contentRef) {\n var xref = this.xref;\n var fileObj = xref.fetchIfRef(this.contentRef);\n\n if (fileObj && (0, _primitives.isStream)(fileObj)) {\n content = fileObj.getBytes();\n } else {\n (0, _util.warn)(\"Embedded file specification points to non-existing/invalid \" + \"content\");\n }\n } else {\n (0, _util.warn)(\"Embedded file specification does not have a content\");\n }\n\n return content;\n },\n\n get serializable() {\n return {\n filename: this.filename,\n content: this.content\n };\n }\n\n };\n return FileSpec;\n}();\n\nexports.FileSpec = FileSpec;\n\nconst ObjectLoader = function () {\n function mayHaveChildren(value) {\n return value instanceof _primitives.Ref || value instanceof _primitives.Dict || Array.isArray(value) || (0, _primitives.isStream)(value);\n }\n\n function addChildren(node, nodesToVisit) {\n if (node instanceof _primitives.Dict || (0, _primitives.isStream)(node)) {\n const dict = node instanceof _primitives.Dict ? node : node.dict;\n const dictKeys = dict.getKeys();\n\n for (let i = 0, ii = dictKeys.length; i < ii; i++) {\n const rawValue = dict.getRaw(dictKeys[i]);\n\n if (mayHaveChildren(rawValue)) {\n nodesToVisit.push(rawValue);\n }\n }\n } else if (Array.isArray(node)) {\n for (let i = 0, ii = node.length; i < ii; i++) {\n const value = node[i];\n\n if (mayHaveChildren(value)) {\n nodesToVisit.push(value);\n }\n }\n }\n }\n\n function ObjectLoader(dict, keys, xref) {\n this.dict = dict;\n this.keys = keys;\n this.xref = xref;\n this.refSet = null;\n }\n\n ObjectLoader.prototype = {\n async load() {\n if (!this.xref.stream.allChunksLoaded || this.xref.stream.allChunksLoaded()) {\n return undefined;\n }\n\n const {\n keys,\n dict\n } = this;\n this.refSet = new _primitives.RefSet();\n const nodesToVisit = [];\n\n for (let i = 0, ii = keys.length; i < ii; i++) {\n const rawValue = dict.getRaw(keys[i]);\n\n if (rawValue !== undefined) {\n nodesToVisit.push(rawValue);\n }\n }\n\n return this._walk(nodesToVisit);\n },\n\n async _walk(nodesToVisit) {\n const nodesToRevisit = [];\n const pendingRequests = [];\n\n while (nodesToVisit.length) {\n let currentNode = nodesToVisit.pop();\n\n if (currentNode instanceof _primitives.Ref) {\n if (this.refSet.has(currentNode)) {\n continue;\n }\n\n try {\n this.refSet.put(currentNode);\n currentNode = this.xref.fetch(currentNode);\n } catch (ex) {\n if (!(ex instanceof _core_utils.MissingDataException)) {\n throw ex;\n }\n\n nodesToRevisit.push(currentNode);\n pendingRequests.push({\n begin: ex.begin,\n end: ex.end\n });\n }\n }\n\n if (currentNode && currentNode.getBaseStreams) {\n const baseStreams = currentNode.getBaseStreams();\n let foundMissingData = false;\n\n for (let i = 0, ii = baseStreams.length; i < ii; i++) {\n const stream = baseStreams[i];\n\n if (stream.allChunksLoaded && !stream.allChunksLoaded()) {\n foundMissingData = true;\n pendingRequests.push({\n begin: stream.start,\n end: stream.end\n });\n }\n }\n\n if (foundMissingData) {\n nodesToRevisit.push(currentNode);\n }\n }\n\n addChildren(currentNode, nodesToVisit);\n }\n\n if (pendingRequests.length) {\n await this.xref.stream.manager.requestRanges(pendingRequests);\n\n for (let i = 0, ii = nodesToRevisit.length; i < ii; i++) {\n const node = nodesToRevisit[i];\n\n if (node instanceof _primitives.Ref) {\n this.refSet.remove(node);\n }\n }\n\n return this._walk(nodesToRevisit);\n }\n\n this.refSet = null;\n return undefined;\n }\n\n };\n return ObjectLoader;\n}();\n\nexports.ObjectLoader = ObjectLoader;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Parser = exports.Linearization = exports.Lexer = void 0;\n\nvar _stream = __w_pdfjs_require__(12);\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _primitives = __w_pdfjs_require__(5);\n\nvar _core_utils = __w_pdfjs_require__(8);\n\nvar _ccitt_stream = __w_pdfjs_require__(13);\n\nvar _jbig2_stream = __w_pdfjs_require__(15);\n\nvar _jpeg_stream = __w_pdfjs_require__(18);\n\nvar _jpx_stream = __w_pdfjs_require__(20);\n\nconst MAX_LENGTH_TO_CACHE = 1000;\nconst MAX_ADLER32_LENGTH = 5552;\n\nfunction computeAdler32(bytes) {\n const bytesLength = bytes.length;\n let a = 1,\n b = 0;\n\n for (let i = 0; i < bytesLength; ++i) {\n a += bytes[i] & 0xff;\n b += a;\n }\n\n return b % 65521 << 16 | a % 65521;\n}\n\nclass Parser {\n constructor({\n lexer,\n xref,\n allowStreams = false,\n recoveryMode = false\n }) {\n this.lexer = lexer;\n this.xref = xref;\n this.allowStreams = allowStreams;\n this.recoveryMode = recoveryMode;\n this.imageCache = Object.create(null);\n this.refill();\n }\n\n refill() {\n this.buf1 = this.lexer.getObj();\n this.buf2 = this.lexer.getObj();\n }\n\n shift() {\n if (this.buf2 instanceof _primitives.Cmd && this.buf2.cmd === \"ID\") {\n this.buf1 = this.buf2;\n this.buf2 = null;\n } else {\n this.buf1 = this.buf2;\n this.buf2 = this.lexer.getObj();\n }\n }\n\n tryShift() {\n try {\n this.shift();\n return true;\n } catch (e) {\n if (e instanceof _core_utils.MissingDataException) {\n throw e;\n }\n\n return false;\n }\n }\n\n getObj(cipherTransform = null) {\n const buf1 = this.buf1;\n this.shift();\n\n if (buf1 instanceof _primitives.Cmd) {\n switch (buf1.cmd) {\n case \"BI\":\n return this.makeInlineImage(cipherTransform);\n\n case \"[\":\n const array = [];\n\n while (!(0, _primitives.isCmd)(this.buf1, \"]\") && !(0, _primitives.isEOF)(this.buf1)) {\n array.push(this.getObj(cipherTransform));\n }\n\n if ((0, _primitives.isEOF)(this.buf1)) {\n if (!this.recoveryMode) {\n throw new _util.FormatError(\"End of file inside array\");\n }\n\n return array;\n }\n\n this.shift();\n return array;\n\n case \"<<\":\n const dict = new _primitives.Dict(this.xref);\n\n while (!(0, _primitives.isCmd)(this.buf1, \">>\") && !(0, _primitives.isEOF)(this.buf1)) {\n if (!(0, _primitives.isName)(this.buf1)) {\n (0, _util.info)(\"Malformed dictionary: key must be a name object\");\n this.shift();\n continue;\n }\n\n const key = this.buf1.name;\n this.shift();\n\n if ((0, _primitives.isEOF)(this.buf1)) {\n break;\n }\n\n dict.set(key, this.getObj(cipherTransform));\n }\n\n if ((0, _primitives.isEOF)(this.buf1)) {\n if (!this.recoveryMode) {\n throw new _util.FormatError(\"End of file inside dictionary\");\n }\n\n return dict;\n }\n\n if ((0, _primitives.isCmd)(this.buf2, \"stream\")) {\n return this.allowStreams ? this.makeStream(dict, cipherTransform) : dict;\n }\n\n this.shift();\n return dict;\n\n default:\n return buf1;\n }\n }\n\n if (Number.isInteger(buf1)) {\n if (Number.isInteger(this.buf1) && (0, _primitives.isCmd)(this.buf2, \"R\")) {\n const ref = _primitives.Ref.get(buf1, this.buf1);\n\n this.shift();\n this.shift();\n return ref;\n }\n\n return buf1;\n }\n\n if (typeof buf1 === \"string\") {\n if (cipherTransform) {\n return cipherTransform.decryptString(buf1);\n }\n\n return buf1;\n }\n\n return buf1;\n }\n\n findDefaultInlineStreamEnd(stream) {\n const E = 0x45,\n I = 0x49,\n SPACE = 0x20,\n LF = 0xa,\n CR = 0xd;\n const n = 10,\n NUL = 0x0;\n const startPos = stream.pos;\n let state = 0,\n ch,\n maybeEIPos;\n\n while ((ch = stream.getByte()) !== -1) {\n if (state === 0) {\n state = ch === E ? 1 : 0;\n } else if (state === 1) {\n state = ch === I ? 2 : 0;\n } else {\n (0, _util.assert)(state === 2, \"findDefaultInlineStreamEnd - invalid state.\");\n\n if (ch === SPACE || ch === LF || ch === CR) {\n maybeEIPos = stream.pos;\n const followingBytes = stream.peekBytes(n);\n\n for (let i = 0, ii = followingBytes.length; i < ii; i++) {\n ch = followingBytes[i];\n\n if (ch === NUL && followingBytes[i + 1] !== NUL) {\n continue;\n }\n\n if (ch !== LF && ch !== CR && (ch < SPACE || ch > 0x7f)) {\n state = 0;\n break;\n }\n }\n\n if (state === 2) {\n break;\n }\n } else {\n state = 0;\n }\n }\n }\n\n if (ch === -1) {\n (0, _util.warn)(\"findDefaultInlineStreamEnd: \" + \"Reached the end of the stream without finding a valid EI marker\");\n\n if (maybeEIPos) {\n (0, _util.warn)('... trying to recover by using the last \"EI\" occurrence.');\n stream.skip(-(stream.pos - maybeEIPos));\n }\n }\n\n let endOffset = 4;\n stream.skip(-endOffset);\n ch = stream.peekByte();\n stream.skip(endOffset);\n\n if (!(0, _core_utils.isWhiteSpace)(ch)) {\n endOffset--;\n }\n\n return stream.pos - endOffset - startPos;\n }\n\n findDCTDecodeInlineStreamEnd(stream) {\n const startPos = stream.pos;\n let foundEOI = false,\n b,\n markerLength;\n\n while ((b = stream.getByte()) !== -1) {\n if (b !== 0xff) {\n continue;\n }\n\n switch (stream.getByte()) {\n case 0x00:\n break;\n\n case 0xff:\n stream.skip(-1);\n break;\n\n case 0xd9:\n foundEOI = true;\n break;\n\n case 0xc0:\n case 0xc1:\n case 0xc2:\n case 0xc3:\n case 0xc5:\n case 0xc6:\n case 0xc7:\n case 0xc9:\n case 0xca:\n case 0xcb:\n case 0xcd:\n case 0xce:\n case 0xcf:\n case 0xc4:\n case 0xcc:\n case 0xda:\n case 0xdb:\n case 0xdc:\n case 0xdd:\n case 0xde:\n case 0xdf:\n case 0xe0:\n case 0xe1:\n case 0xe2:\n case 0xe3:\n case 0xe4:\n case 0xe5:\n case 0xe6:\n case 0xe7:\n case 0xe8:\n case 0xe9:\n case 0xea:\n case 0xeb:\n case 0xec:\n case 0xed:\n case 0xee:\n case 0xef:\n case 0xfe:\n markerLength = stream.getUint16();\n\n if (markerLength > 2) {\n stream.skip(markerLength - 2);\n } else {\n stream.skip(-2);\n }\n\n break;\n }\n\n if (foundEOI) {\n break;\n }\n }\n\n const length = stream.pos - startPos;\n\n if (b === -1) {\n (0, _util.warn)(\"Inline DCTDecode image stream: \" + \"EOI marker not found, searching for /EI/ instead.\");\n stream.skip(-length);\n return this.findDefaultInlineStreamEnd(stream);\n }\n\n this.inlineStreamSkipEI(stream);\n return length;\n }\n\n findASCII85DecodeInlineStreamEnd(stream) {\n const TILDE = 0x7e,\n GT = 0x3e;\n const startPos = stream.pos;\n let ch;\n\n while ((ch = stream.getByte()) !== -1) {\n if (ch === TILDE) {\n const tildePos = stream.pos;\n ch = stream.peekByte();\n\n while ((0, _core_utils.isWhiteSpace)(ch)) {\n stream.skip();\n ch = stream.peekByte();\n }\n\n if (ch === GT) {\n stream.skip();\n break;\n }\n\n if (stream.pos > tildePos) {\n const maybeEI = stream.peekBytes(2);\n\n if (maybeEI[0] === 0x45 && maybeEI[1] === 0x49) {\n break;\n }\n }\n }\n }\n\n const length = stream.pos - startPos;\n\n if (ch === -1) {\n (0, _util.warn)(\"Inline ASCII85Decode image stream: \" + \"EOD marker not found, searching for /EI/ instead.\");\n stream.skip(-length);\n return this.findDefaultInlineStreamEnd(stream);\n }\n\n this.inlineStreamSkipEI(stream);\n return length;\n }\n\n findASCIIHexDecodeInlineStreamEnd(stream) {\n const GT = 0x3e;\n const startPos = stream.pos;\n let ch;\n\n while ((ch = stream.getByte()) !== -1) {\n if (ch === GT) {\n break;\n }\n }\n\n const length = stream.pos - startPos;\n\n if (ch === -1) {\n (0, _util.warn)(\"Inline ASCIIHexDecode image stream: \" + \"EOD marker not found, searching for /EI/ instead.\");\n stream.skip(-length);\n return this.findDefaultInlineStreamEnd(stream);\n }\n\n this.inlineStreamSkipEI(stream);\n return length;\n }\n\n inlineStreamSkipEI(stream) {\n const E = 0x45,\n I = 0x49;\n let state = 0,\n ch;\n\n while ((ch = stream.getByte()) !== -1) {\n if (state === 0) {\n state = ch === E ? 1 : 0;\n } else if (state === 1) {\n state = ch === I ? 2 : 0;\n } else if (state === 2) {\n break;\n }\n }\n }\n\n makeInlineImage(cipherTransform) {\n const lexer = this.lexer;\n const stream = lexer.stream;\n const dict = new _primitives.Dict(this.xref);\n let dictLength;\n\n while (!(0, _primitives.isCmd)(this.buf1, \"ID\") && !(0, _primitives.isEOF)(this.buf1)) {\n if (!(0, _primitives.isName)(this.buf1)) {\n throw new _util.FormatError(\"Dictionary key must be a name object\");\n }\n\n const key = this.buf1.name;\n this.shift();\n\n if ((0, _primitives.isEOF)(this.buf1)) {\n break;\n }\n\n dict.set(key, this.getObj(cipherTransform));\n }\n\n if (lexer.beginInlineImagePos !== -1) {\n dictLength = stream.pos - lexer.beginInlineImagePos;\n }\n\n const filter = dict.get(\"Filter\", \"F\");\n let filterName;\n\n if ((0, _primitives.isName)(filter)) {\n filterName = filter.name;\n } else if (Array.isArray(filter)) {\n const filterZero = this.xref.fetchIfRef(filter[0]);\n\n if ((0, _primitives.isName)(filterZero)) {\n filterName = filterZero.name;\n }\n }\n\n const startPos = stream.pos;\n let length;\n\n if (filterName === \"DCTDecode\" || filterName === \"DCT\") {\n length = this.findDCTDecodeInlineStreamEnd(stream);\n } else if (filterName === \"ASCII85Decode\" || filterName === \"A85\") {\n length = this.findASCII85DecodeInlineStreamEnd(stream);\n } else if (filterName === \"ASCIIHexDecode\" || filterName === \"AHx\") {\n length = this.findASCIIHexDecodeInlineStreamEnd(stream);\n } else {\n length = this.findDefaultInlineStreamEnd(stream);\n }\n\n let imageStream = stream.makeSubStream(startPos, length, dict);\n let cacheKey;\n\n if (length < MAX_LENGTH_TO_CACHE && dictLength < MAX_ADLER32_LENGTH) {\n const imageBytes = imageStream.getBytes();\n imageStream.reset();\n const initialStreamPos = stream.pos;\n stream.pos = lexer.beginInlineImagePos;\n const dictBytes = stream.getBytes(dictLength);\n stream.pos = initialStreamPos;\n cacheKey = computeAdler32(imageBytes) + \"_\" + computeAdler32(dictBytes);\n const cacheEntry = this.imageCache[cacheKey];\n\n if (cacheEntry !== undefined) {\n this.buf2 = _primitives.Cmd.get(\"EI\");\n this.shift();\n cacheEntry.reset();\n return cacheEntry;\n }\n }\n\n if (cipherTransform) {\n imageStream = cipherTransform.createStream(imageStream, length);\n }\n\n imageStream = this.filter(imageStream, dict, length);\n imageStream.dict = dict;\n\n if (cacheKey !== undefined) {\n imageStream.cacheKey = `inline_${length}_${cacheKey}`;\n this.imageCache[cacheKey] = imageStream;\n }\n\n this.buf2 = _primitives.Cmd.get(\"EI\");\n this.shift();\n return imageStream;\n }\n\n _findStreamLength(startPos, signature) {\n const {\n stream\n } = this.lexer;\n stream.pos = startPos;\n const SCAN_BLOCK_LENGTH = 2048;\n const signatureLength = signature.length;\n\n while (stream.pos < stream.end) {\n const scanBytes = stream.peekBytes(SCAN_BLOCK_LENGTH);\n const scanLength = scanBytes.length - signatureLength;\n\n if (scanLength <= 0) {\n break;\n }\n\n let pos = 0;\n\n while (pos < scanLength) {\n let j = 0;\n\n while (j < signatureLength && scanBytes[pos + j] === signature[j]) {\n j++;\n }\n\n if (j >= signatureLength) {\n stream.pos += pos;\n return stream.pos - startPos;\n }\n\n pos++;\n }\n\n stream.pos += scanLength;\n }\n\n return -1;\n }\n\n makeStream(dict, cipherTransform) {\n const lexer = this.lexer;\n let stream = lexer.stream;\n lexer.skipToNextLine();\n const startPos = stream.pos - 1;\n let length = dict.get(\"Length\");\n\n if (!Number.isInteger(length)) {\n (0, _util.info)(`Bad length \"${length}\" in stream`);\n length = 0;\n }\n\n stream.pos = startPos + length;\n lexer.nextChar();\n\n if (this.tryShift() && (0, _primitives.isCmd)(this.buf2, \"endstream\")) {\n this.shift();\n } else {\n const ENDSTREAM_SIGNATURE = new Uint8Array([0x65, 0x6E, 0x64, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6D]);\n\n let actualLength = this._findStreamLength(startPos, ENDSTREAM_SIGNATURE);\n\n if (actualLength < 0) {\n const MAX_TRUNCATION = 1;\n\n for (let i = 1; i <= MAX_TRUNCATION; i++) {\n const end = ENDSTREAM_SIGNATURE.length - i;\n const TRUNCATED_SIGNATURE = ENDSTREAM_SIGNATURE.slice(0, end);\n\n const maybeLength = this._findStreamLength(startPos, TRUNCATED_SIGNATURE);\n\n if (maybeLength >= 0) {\n const lastByte = stream.peekBytes(end + 1)[end];\n\n if (!(0, _core_utils.isWhiteSpace)(lastByte)) {\n break;\n }\n\n (0, _util.info)(`Found \"${(0, _util.bytesToString)(TRUNCATED_SIGNATURE)}\" when ` + \"searching for endstream command.\");\n actualLength = maybeLength;\n break;\n }\n }\n\n if (actualLength < 0) {\n throw new _util.FormatError(\"Missing endstream command.\");\n }\n }\n\n length = actualLength;\n lexer.nextChar();\n this.shift();\n this.shift();\n }\n\n this.shift();\n stream = stream.makeSubStream(startPos, length, dict);\n\n if (cipherTransform) {\n stream = cipherTransform.createStream(stream, length);\n }\n\n stream = this.filter(stream, dict, length);\n stream.dict = dict;\n return stream;\n }\n\n filter(stream, dict, length) {\n let filter = dict.get(\"Filter\", \"F\");\n let params = dict.get(\"DecodeParms\", \"DP\");\n\n if ((0, _primitives.isName)(filter)) {\n if (Array.isArray(params)) {\n (0, _util.warn)(\"/DecodeParms should not contain an Array, \" + \"when /Filter contains a Name.\");\n }\n\n return this.makeFilter(stream, filter.name, length, params);\n }\n\n let maybeLength = length;\n\n if (Array.isArray(filter)) {\n const filterArray = filter;\n const paramsArray = params;\n\n for (let i = 0, ii = filterArray.length; i < ii; ++i) {\n filter = this.xref.fetchIfRef(filterArray[i]);\n\n if (!(0, _primitives.isName)(filter)) {\n throw new _util.FormatError(`Bad filter name \"${filter}\"`);\n }\n\n params = null;\n\n if (Array.isArray(paramsArray) && i in paramsArray) {\n params = this.xref.fetchIfRef(paramsArray[i]);\n }\n\n stream = this.makeFilter(stream, filter.name, maybeLength, params);\n maybeLength = null;\n }\n }\n\n return stream;\n }\n\n makeFilter(stream, name, maybeLength, params) {\n if (maybeLength === 0) {\n (0, _util.warn)(`Empty \"${name}\" stream.`);\n return new _stream.NullStream();\n }\n\n try {\n const xrefStreamStats = this.xref.stats.streamTypes;\n\n if (name === \"FlateDecode\" || name === \"Fl\") {\n xrefStreamStats[_util.StreamType.FLATE] = true;\n\n if (params) {\n return new _stream.PredictorStream(new _stream.FlateStream(stream, maybeLength), maybeLength, params);\n }\n\n return new _stream.FlateStream(stream, maybeLength);\n }\n\n if (name === \"LZWDecode\" || name === \"LZW\") {\n xrefStreamStats[_util.StreamType.LZW] = true;\n let earlyChange = 1;\n\n if (params) {\n if (params.has(\"EarlyChange\")) {\n earlyChange = params.get(\"EarlyChange\");\n }\n\n return new _stream.PredictorStream(new _stream.LZWStream(stream, maybeLength, earlyChange), maybeLength, params);\n }\n\n return new _stream.LZWStream(stream, maybeLength, earlyChange);\n }\n\n if (name === \"DCTDecode\" || name === \"DCT\") {\n xrefStreamStats[_util.StreamType.DCT] = true;\n return new _jpeg_stream.JpegStream(stream, maybeLength, stream.dict, params);\n }\n\n if (name === \"JPXDecode\" || name === \"JPX\") {\n xrefStreamStats[_util.StreamType.JPX] = true;\n return new _jpx_stream.JpxStream(stream, maybeLength, stream.dict, params);\n }\n\n if (name === \"ASCII85Decode\" || name === \"A85\") {\n xrefStreamStats[_util.StreamType.A85] = true;\n return new _stream.Ascii85Stream(stream, maybeLength);\n }\n\n if (name === \"ASCIIHexDecode\" || name === \"AHx\") {\n xrefStreamStats[_util.StreamType.AHX] = true;\n return new _stream.AsciiHexStream(stream, maybeLength);\n }\n\n if (name === \"CCITTFaxDecode\" || name === \"CCF\") {\n xrefStreamStats[_util.StreamType.CCF] = true;\n return new _ccitt_stream.CCITTFaxStream(stream, maybeLength, params);\n }\n\n if (name === \"RunLengthDecode\" || name === \"RL\") {\n xrefStreamStats[_util.StreamType.RLX] = true;\n return new _stream.RunLengthStream(stream, maybeLength);\n }\n\n if (name === \"JBIG2Decode\") {\n xrefStreamStats[_util.StreamType.JBIG] = true;\n return new _jbig2_stream.Jbig2Stream(stream, maybeLength, stream.dict, params);\n }\n\n (0, _util.warn)(`Filter \"${name}\" is not supported.`);\n return stream;\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(`Invalid stream: \"${ex}\"`);\n return new _stream.NullStream();\n }\n }\n\n}\n\nexports.Parser = Parser;\nconst specialChars = [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n\nfunction toHexDigit(ch) {\n if (ch >= 0x30 && ch <= 0x39) {\n return ch & 0x0f;\n }\n\n if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {\n return (ch & 0x0f) + 9;\n }\n\n return -1;\n}\n\nclass Lexer {\n constructor(stream, knownCommands = null) {\n this.stream = stream;\n this.nextChar();\n this.strBuf = [];\n this.knownCommands = knownCommands;\n this._hexStringNumWarn = 0;\n this.beginInlineImagePos = -1;\n }\n\n nextChar() {\n return this.currentChar = this.stream.getByte();\n }\n\n peekChar() {\n return this.stream.peekByte();\n }\n\n getNumber() {\n let ch = this.currentChar;\n let eNotation = false;\n let divideBy = 0;\n let sign = 0;\n\n if (ch === 0x2d) {\n sign = -1;\n ch = this.nextChar();\n\n if (ch === 0x2d) {\n ch = this.nextChar();\n }\n } else if (ch === 0x2b) {\n sign = 1;\n ch = this.nextChar();\n }\n\n if (ch === 0x0a || ch === 0x0d) {\n do {\n ch = this.nextChar();\n } while (ch === 0x0a || ch === 0x0d);\n }\n\n if (ch === 0x2e) {\n divideBy = 10;\n ch = this.nextChar();\n }\n\n if (ch < 0x30 || ch > 0x39) {\n if (divideBy === 10 && sign === 0 && ((0, _core_utils.isWhiteSpace)(ch) || ch === -1)) {\n (0, _util.warn)(\"Lexer.getNumber - treating a single decimal point as zero.\");\n return 0;\n }\n\n throw new _util.FormatError(`Invalid number: ${String.fromCharCode(ch)} (charCode ${ch})`);\n }\n\n sign = sign || 1;\n let baseValue = ch - 0x30;\n let powerValue = 0;\n let powerValueSign = 1;\n\n while ((ch = this.nextChar()) >= 0) {\n if (ch >= 0x30 && ch <= 0x39) {\n const currentDigit = ch - 0x30;\n\n if (eNotation) {\n powerValue = powerValue * 10 + currentDigit;\n } else {\n if (divideBy !== 0) {\n divideBy *= 10;\n }\n\n baseValue = baseValue * 10 + currentDigit;\n }\n } else if (ch === 0x2e) {\n if (divideBy === 0) {\n divideBy = 1;\n } else {\n break;\n }\n } else if (ch === 0x2d) {\n (0, _util.warn)(\"Badly formatted number: minus sign in the middle\");\n } else if (ch === 0x45 || ch === 0x65) {\n ch = this.peekChar();\n\n if (ch === 0x2b || ch === 0x2d) {\n powerValueSign = ch === 0x2d ? -1 : 1;\n this.nextChar();\n } else if (ch < 0x30 || ch > 0x39) {\n break;\n }\n\n eNotation = true;\n } else {\n break;\n }\n }\n\n if (divideBy !== 0) {\n baseValue /= divideBy;\n }\n\n if (eNotation) {\n baseValue *= 10 ** (powerValueSign * powerValue);\n }\n\n return sign * baseValue;\n }\n\n getString() {\n let numParen = 1;\n let done = false;\n const strBuf = this.strBuf;\n strBuf.length = 0;\n let ch = this.nextChar();\n\n while (true) {\n let charBuffered = false;\n\n switch (ch | 0) {\n case -1:\n (0, _util.warn)(\"Unterminated string\");\n done = true;\n break;\n\n case 0x28:\n ++numParen;\n strBuf.push(\"(\");\n break;\n\n case 0x29:\n if (--numParen === 0) {\n this.nextChar();\n done = true;\n } else {\n strBuf.push(\")\");\n }\n\n break;\n\n case 0x5c:\n ch = this.nextChar();\n\n switch (ch) {\n case -1:\n (0, _util.warn)(\"Unterminated string\");\n done = true;\n break;\n\n case 0x6e:\n strBuf.push(\"\\n\");\n break;\n\n case 0x72:\n strBuf.push(\"\\r\");\n break;\n\n case 0x74:\n strBuf.push(\"\\t\");\n break;\n\n case 0x62:\n strBuf.push(\"\\b\");\n break;\n\n case 0x66:\n strBuf.push(\"\\f\");\n break;\n\n case 0x5c:\n case 0x28:\n case 0x29:\n strBuf.push(String.fromCharCode(ch));\n break;\n\n case 0x30:\n case 0x31:\n case 0x32:\n case 0x33:\n case 0x34:\n case 0x35:\n case 0x36:\n case 0x37:\n let x = ch & 0x0f;\n ch = this.nextChar();\n charBuffered = true;\n\n if (ch >= 0x30 && ch <= 0x37) {\n x = (x << 3) + (ch & 0x0f);\n ch = this.nextChar();\n\n if (ch >= 0x30 && ch <= 0x37) {\n charBuffered = false;\n x = (x << 3) + (ch & 0x0f);\n }\n }\n\n strBuf.push(String.fromCharCode(x));\n break;\n\n case 0x0d:\n if (this.peekChar() === 0x0a) {\n this.nextChar();\n }\n\n break;\n\n case 0x0a:\n break;\n\n default:\n strBuf.push(String.fromCharCode(ch));\n break;\n }\n\n break;\n\n default:\n strBuf.push(String.fromCharCode(ch));\n break;\n }\n\n if (done) {\n break;\n }\n\n if (!charBuffered) {\n ch = this.nextChar();\n }\n }\n\n return strBuf.join(\"\");\n }\n\n getName() {\n let ch, previousCh;\n const strBuf = this.strBuf;\n strBuf.length = 0;\n\n while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {\n if (ch === 0x23) {\n ch = this.nextChar();\n\n if (specialChars[ch]) {\n (0, _util.warn)(\"Lexer_getName: \" + \"NUMBER SIGN (#) should be followed by a hexadecimal number.\");\n strBuf.push(\"#\");\n break;\n }\n\n const x = toHexDigit(ch);\n\n if (x !== -1) {\n previousCh = ch;\n ch = this.nextChar();\n const x2 = toHexDigit(ch);\n\n if (x2 === -1) {\n (0, _util.warn)(`Lexer_getName: Illegal digit (${String.fromCharCode(ch)}) ` + \"in hexadecimal number.\");\n strBuf.push(\"#\", String.fromCharCode(previousCh));\n\n if (specialChars[ch]) {\n break;\n }\n\n strBuf.push(String.fromCharCode(ch));\n continue;\n }\n\n strBuf.push(String.fromCharCode(x << 4 | x2));\n } else {\n strBuf.push(\"#\", String.fromCharCode(ch));\n }\n } else {\n strBuf.push(String.fromCharCode(ch));\n }\n }\n\n if (strBuf.length > 127) {\n (0, _util.warn)(`Name token is longer than allowed by the spec: ${strBuf.length}`);\n }\n\n return _primitives.Name.get(strBuf.join(\"\"));\n }\n\n _hexStringWarn(ch) {\n const MAX_HEX_STRING_NUM_WARN = 5;\n\n if (this._hexStringNumWarn++ === MAX_HEX_STRING_NUM_WARN) {\n (0, _util.warn)(\"getHexString - ignoring additional invalid characters.\");\n return;\n }\n\n if (this._hexStringNumWarn > MAX_HEX_STRING_NUM_WARN) {\n return;\n }\n\n (0, _util.warn)(`getHexString - ignoring invalid character: ${ch}`);\n }\n\n getHexString() {\n const strBuf = this.strBuf;\n strBuf.length = 0;\n let ch = this.currentChar;\n let isFirstHex = true;\n let firstDigit, secondDigit;\n this._hexStringNumWarn = 0;\n\n while (true) {\n if (ch < 0) {\n (0, _util.warn)(\"Unterminated hex string\");\n break;\n } else if (ch === 0x3e) {\n this.nextChar();\n break;\n } else if (specialChars[ch] === 1) {\n ch = this.nextChar();\n continue;\n } else {\n if (isFirstHex) {\n firstDigit = toHexDigit(ch);\n\n if (firstDigit === -1) {\n this._hexStringWarn(ch);\n\n ch = this.nextChar();\n continue;\n }\n } else {\n secondDigit = toHexDigit(ch);\n\n if (secondDigit === -1) {\n this._hexStringWarn(ch);\n\n ch = this.nextChar();\n continue;\n }\n\n strBuf.push(String.fromCharCode(firstDigit << 4 | secondDigit));\n }\n\n isFirstHex = !isFirstHex;\n ch = this.nextChar();\n }\n }\n\n return strBuf.join(\"\");\n }\n\n getObj() {\n let comment = false;\n let ch = this.currentChar;\n\n while (true) {\n if (ch < 0) {\n return _primitives.EOF;\n }\n\n if (comment) {\n if (ch === 0x0a || ch === 0x0d) {\n comment = false;\n }\n } else if (ch === 0x25) {\n comment = true;\n } else if (specialChars[ch] !== 1) {\n break;\n }\n\n ch = this.nextChar();\n }\n\n switch (ch | 0) {\n case 0x30:\n case 0x31:\n case 0x32:\n case 0x33:\n case 0x34:\n case 0x35:\n case 0x36:\n case 0x37:\n case 0x38:\n case 0x39:\n case 0x2b:\n case 0x2d:\n case 0x2e:\n return this.getNumber();\n\n case 0x28:\n return this.getString();\n\n case 0x2f:\n return this.getName();\n\n case 0x5b:\n this.nextChar();\n return _primitives.Cmd.get(\"[\");\n\n case 0x5d:\n this.nextChar();\n return _primitives.Cmd.get(\"]\");\n\n case 0x3c:\n ch = this.nextChar();\n\n if (ch === 0x3c) {\n this.nextChar();\n return _primitives.Cmd.get(\"<<\");\n }\n\n return this.getHexString();\n\n case 0x3e:\n ch = this.nextChar();\n\n if (ch === 0x3e) {\n this.nextChar();\n return _primitives.Cmd.get(\">>\");\n }\n\n return _primitives.Cmd.get(\">\");\n\n case 0x7b:\n this.nextChar();\n return _primitives.Cmd.get(\"{\");\n\n case 0x7d:\n this.nextChar();\n return _primitives.Cmd.get(\"}\");\n\n case 0x29:\n this.nextChar();\n throw new _util.FormatError(`Illegal character: ${ch}`);\n }\n\n let str = String.fromCharCode(ch);\n const knownCommands = this.knownCommands;\n let knownCommandFound = knownCommands && knownCommands[str] !== undefined;\n\n while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {\n const possibleCommand = str + String.fromCharCode(ch);\n\n if (knownCommandFound && knownCommands[possibleCommand] === undefined) {\n break;\n }\n\n if (str.length === 128) {\n throw new _util.FormatError(`Command token too long: ${str.length}`);\n }\n\n str = possibleCommand;\n knownCommandFound = knownCommands && knownCommands[str] !== undefined;\n }\n\n if (str === \"true\") {\n return true;\n }\n\n if (str === \"false\") {\n return false;\n }\n\n if (str === \"null\") {\n return null;\n }\n\n if (str === \"BI\") {\n this.beginInlineImagePos = this.stream.pos;\n }\n\n return _primitives.Cmd.get(str);\n }\n\n skipToNextLine() {\n let ch = this.currentChar;\n\n while (ch >= 0) {\n if (ch === 0x0d) {\n ch = this.nextChar();\n\n if (ch === 0x0a) {\n this.nextChar();\n }\n\n break;\n } else if (ch === 0x0a) {\n this.nextChar();\n break;\n }\n\n ch = this.nextChar();\n }\n }\n\n}\n\nexports.Lexer = Lexer;\n\nclass Linearization {\n static create(stream) {\n function getInt(linDict, name, allowZeroValue = false) {\n const obj = linDict.get(name);\n\n if (Number.isInteger(obj) && (allowZeroValue ? obj >= 0 : obj > 0)) {\n return obj;\n }\n\n throw new Error(`The \"${name}\" parameter in the linearization ` + \"dictionary is invalid.\");\n }\n\n function getHints(linDict) {\n const hints = linDict.get(\"H\");\n let hintsLength;\n\n if (Array.isArray(hints) && ((hintsLength = hints.length) === 2 || hintsLength === 4)) {\n for (let index = 0; index < hintsLength; index++) {\n const hint = hints[index];\n\n if (!(Number.isInteger(hint) && hint > 0)) {\n throw new Error(`Hint (${index}) in the linearization dictionary is invalid.`);\n }\n }\n\n return hints;\n }\n\n throw new Error(\"Hint array in the linearization dictionary is invalid.\");\n }\n\n const parser = new Parser({\n lexer: new Lexer(stream),\n xref: null\n });\n const obj1 = parser.getObj();\n const obj2 = parser.getObj();\n const obj3 = parser.getObj();\n const linDict = parser.getObj();\n let obj, length;\n\n if (!(Number.isInteger(obj1) && Number.isInteger(obj2) && (0, _primitives.isCmd)(obj3, \"obj\") && (0, _primitives.isDict)(linDict) && (0, _util.isNum)(obj = linDict.get(\"Linearized\")) && obj > 0)) {\n return null;\n } else if ((length = getInt(linDict, \"L\")) !== stream.length) {\n throw new Error('The \"L\" parameter in the linearization dictionary ' + \"does not equal the stream length.\");\n }\n\n return {\n length,\n hints: getHints(linDict),\n objectNumberFirst: getInt(linDict, \"O\"),\n endFirst: getInt(linDict, \"E\"),\n numPages: getInt(linDict, \"N\"),\n mainXRefEntriesOffset: getInt(linDict, \"T\"),\n pageFirst: linDict.has(\"P\") ? getInt(linDict, \"P\", true) : 0\n };\n }\n\n}\n\nexports.Linearization = Linearization;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LZWStream = exports.StringStream = exports.StreamsSequenceStream = exports.Stream = exports.RunLengthStream = exports.PredictorStream = exports.NullStream = exports.FlateStream = exports.DecodeStream = exports.DecryptStream = exports.AsciiHexStream = exports.Ascii85Stream = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _primitives = __w_pdfjs_require__(5);\n\nvar _core_utils = __w_pdfjs_require__(8);\n\nvar Stream = function StreamClosure() {\n function Stream(arrayBuffer, start, length, dict) {\n this.bytes = arrayBuffer instanceof Uint8Array ? arrayBuffer : new Uint8Array(arrayBuffer);\n this.start = start || 0;\n this.pos = this.start;\n this.end = start + length || this.bytes.length;\n this.dict = dict;\n }\n\n Stream.prototype = {\n get length() {\n return this.end - this.start;\n },\n\n get isEmpty() {\n return this.length === 0;\n },\n\n getByte: function Stream_getByte() {\n if (this.pos >= this.end) {\n return -1;\n }\n\n return this.bytes[this.pos++];\n },\n getUint16: function Stream_getUint16() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n\n if (b0 === -1 || b1 === -1) {\n return -1;\n }\n\n return (b0 << 8) + b1;\n },\n getInt32: function Stream_getInt32() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n var b2 = this.getByte();\n var b3 = this.getByte();\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n },\n\n getBytes(length, forceClamped = false) {\n var bytes = this.bytes;\n var pos = this.pos;\n var strEnd = this.end;\n\n if (!length) {\n const subarray = bytes.subarray(pos, strEnd);\n return forceClamped ? new Uint8ClampedArray(subarray) : subarray;\n }\n\n var end = pos + length;\n\n if (end > strEnd) {\n end = strEnd;\n }\n\n this.pos = end;\n const subarray = bytes.subarray(pos, end);\n return forceClamped ? new Uint8ClampedArray(subarray) : subarray;\n },\n\n peekByte: function Stream_peekByte() {\n var peekedByte = this.getByte();\n\n if (peekedByte !== -1) {\n this.pos--;\n }\n\n return peekedByte;\n },\n\n peekBytes(length, forceClamped = false) {\n var bytes = this.getBytes(length, forceClamped);\n this.pos -= bytes.length;\n return bytes;\n },\n\n getByteRange(begin, end) {\n if (begin < 0) {\n begin = 0;\n }\n\n if (end > this.end) {\n end = this.end;\n }\n\n return this.bytes.subarray(begin, end);\n },\n\n skip: function Stream_skip(n) {\n if (!n) {\n n = 1;\n }\n\n this.pos += n;\n },\n reset: function Stream_reset() {\n this.pos = this.start;\n },\n moveStart: function Stream_moveStart() {\n this.start = this.pos;\n },\n makeSubStream: function Stream_makeSubStream(start, length, dict) {\n return new Stream(this.bytes.buffer, start, length, dict);\n }\n };\n return Stream;\n}();\n\nexports.Stream = Stream;\n\nvar StringStream = function StringStreamClosure() {\n function StringStream(str) {\n const bytes = (0, _util.stringToBytes)(str);\n Stream.call(this, bytes);\n }\n\n StringStream.prototype = Stream.prototype;\n return StringStream;\n}();\n\nexports.StringStream = StringStream;\n\nvar DecodeStream = function DecodeStreamClosure() {\n var emptyBuffer = new Uint8Array(0);\n\n function DecodeStream(maybeMinBufferLength) {\n this._rawMinBufferLength = maybeMinBufferLength || 0;\n this.pos = 0;\n this.bufferLength = 0;\n this.eof = false;\n this.buffer = emptyBuffer;\n this.minBufferLength = 512;\n\n if (maybeMinBufferLength) {\n while (this.minBufferLength < maybeMinBufferLength) {\n this.minBufferLength *= 2;\n }\n }\n }\n\n DecodeStream.prototype = {\n get isEmpty() {\n while (!this.eof && this.bufferLength === 0) {\n this.readBlock();\n }\n\n return this.bufferLength === 0;\n },\n\n ensureBuffer: function DecodeStream_ensureBuffer(requested) {\n var buffer = this.buffer;\n\n if (requested <= buffer.byteLength) {\n return buffer;\n }\n\n var size = this.minBufferLength;\n\n while (size < requested) {\n size *= 2;\n }\n\n var buffer2 = new Uint8Array(size);\n buffer2.set(buffer);\n return this.buffer = buffer2;\n },\n getByte: function DecodeStream_getByte() {\n var pos = this.pos;\n\n while (this.bufferLength <= pos) {\n if (this.eof) {\n return -1;\n }\n\n this.readBlock();\n }\n\n return this.buffer[this.pos++];\n },\n getUint16: function DecodeStream_getUint16() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n\n if (b0 === -1 || b1 === -1) {\n return -1;\n }\n\n return (b0 << 8) + b1;\n },\n getInt32: function DecodeStream_getInt32() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n var b2 = this.getByte();\n var b3 = this.getByte();\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n },\n\n getBytes(length, forceClamped = false) {\n var end,\n pos = this.pos;\n\n if (length) {\n this.ensureBuffer(pos + length);\n end = pos + length;\n\n while (!this.eof && this.bufferLength < end) {\n this.readBlock();\n }\n\n var bufEnd = this.bufferLength;\n\n if (end > bufEnd) {\n end = bufEnd;\n }\n } else {\n while (!this.eof) {\n this.readBlock();\n }\n\n end = this.bufferLength;\n }\n\n this.pos = end;\n const subarray = this.buffer.subarray(pos, end);\n return forceClamped && !(subarray instanceof Uint8ClampedArray) ? new Uint8ClampedArray(subarray) : subarray;\n },\n\n peekByte: function DecodeStream_peekByte() {\n var peekedByte = this.getByte();\n\n if (peekedByte !== -1) {\n this.pos--;\n }\n\n return peekedByte;\n },\n\n peekBytes(length, forceClamped = false) {\n var bytes = this.getBytes(length, forceClamped);\n this.pos -= bytes.length;\n return bytes;\n },\n\n makeSubStream: function DecodeStream_makeSubStream(start, length, dict) {\n var end = start + length;\n\n while (this.bufferLength <= end && !this.eof) {\n this.readBlock();\n }\n\n return new Stream(this.buffer, start, length, dict);\n },\n\n getByteRange(begin, end) {\n (0, _util.unreachable)(\"Should not call DecodeStream.getByteRange\");\n },\n\n skip: function DecodeStream_skip(n) {\n if (!n) {\n n = 1;\n }\n\n this.pos += n;\n },\n reset: function DecodeStream_reset() {\n this.pos = 0;\n },\n getBaseStreams: function DecodeStream_getBaseStreams() {\n if (this.str && this.str.getBaseStreams) {\n return this.str.getBaseStreams();\n }\n\n return [];\n }\n };\n return DecodeStream;\n}();\n\nexports.DecodeStream = DecodeStream;\n\nvar StreamsSequenceStream = function StreamsSequenceStreamClosure() {\n function StreamsSequenceStream(streams) {\n this.streams = streams;\n let maybeLength = 0;\n\n for (let i = 0, ii = streams.length; i < ii; i++) {\n const stream = streams[i];\n\n if (stream instanceof DecodeStream) {\n maybeLength += stream._rawMinBufferLength;\n } else {\n maybeLength += stream.length;\n }\n }\n\n DecodeStream.call(this, maybeLength);\n }\n\n StreamsSequenceStream.prototype = Object.create(DecodeStream.prototype);\n\n StreamsSequenceStream.prototype.readBlock = function streamSequenceStreamReadBlock() {\n var streams = this.streams;\n\n if (streams.length === 0) {\n this.eof = true;\n return;\n }\n\n var stream = streams.shift();\n var chunk = stream.getBytes();\n var bufferLength = this.bufferLength;\n var newLength = bufferLength + chunk.length;\n var buffer = this.ensureBuffer(newLength);\n buffer.set(chunk, bufferLength);\n this.bufferLength = newLength;\n };\n\n StreamsSequenceStream.prototype.getBaseStreams = function StreamsSequenceStream_getBaseStreams() {\n var baseStreams = [];\n\n for (var i = 0, ii = this.streams.length; i < ii; i++) {\n var stream = this.streams[i];\n\n if (stream.getBaseStreams) {\n baseStreams.push(...stream.getBaseStreams());\n }\n }\n\n return baseStreams;\n };\n\n return StreamsSequenceStream;\n}();\n\nexports.StreamsSequenceStream = StreamsSequenceStream;\n\nvar FlateStream = function FlateStreamClosure() {\n var codeLenCodeMap = new Int32Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);\n var lengthDecode = new Int32Array([0x00003, 0x00004, 0x00005, 0x00006, 0x00007, 0x00008, 0x00009, 0x0000a, 0x1000b, 0x1000d, 0x1000f, 0x10011, 0x20013, 0x20017, 0x2001b, 0x2001f, 0x30023, 0x3002b, 0x30033, 0x3003b, 0x40043, 0x40053, 0x40063, 0x40073, 0x50083, 0x500a3, 0x500c3, 0x500e3, 0x00102, 0x00102, 0x00102]);\n var distDecode = new Int32Array([0x00001, 0x00002, 0x00003, 0x00004, 0x10005, 0x10007, 0x20009, 0x2000d, 0x30011, 0x30019, 0x40021, 0x40031, 0x50041, 0x50061, 0x60081, 0x600c1, 0x70101, 0x70181, 0x80201, 0x80301, 0x90401, 0x90601, 0xa0801, 0xa0c01, 0xb1001, 0xb1801, 0xc2001, 0xc3001, 0xd4001, 0xd6001]);\n var fixedLitCodeTab = [new Int32Array([0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c0, 0x70108, 0x80060, 0x80020, 0x900a0, 0x80000, 0x80080, 0x80040, 0x900e0, 0x70104, 0x80058, 0x80018, 0x90090, 0x70114, 0x80078, 0x80038, 0x900d0, 0x7010c, 0x80068, 0x80028, 0x900b0, 0x80008, 0x80088, 0x80048, 0x900f0, 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c8, 0x7010a, 0x80064, 0x80024, 0x900a8, 0x80004, 0x80084, 0x80044, 0x900e8, 0x70106, 0x8005c, 0x8001c, 0x90098, 0x70116, 0x8007c, 0x8003c, 0x900d8, 0x7010e, 0x8006c, 0x8002c, 0x900b8, 0x8000c, 0x8008c, 0x8004c, 0x900f8, 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c4, 0x70109, 0x80062, 0x80022, 0x900a4, 0x80002, 0x80082, 0x80042, 0x900e4, 0x70105, 0x8005a, 0x8001a, 0x90094, 0x70115, 0x8007a, 0x8003a, 0x900d4, 0x7010d, 0x8006a, 0x8002a, 0x900b4, 0x8000a, 0x8008a, 0x8004a, 0x900f4, 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cc, 0x7010b, 0x80066, 0x80026, 0x900ac, 0x80006, 0x80086, 0x80046, 0x900ec, 0x70107, 0x8005e, 0x8001e, 0x9009c, 0x70117, 0x8007e, 0x8003e, 0x900dc, 0x7010f, 0x8006e, 0x8002e, 0x900bc, 0x8000e, 0x8008e, 0x8004e, 0x900fc, 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c2, 0x70108, 0x80061, 0x80021, 0x900a2, 0x80001, 0x80081, 0x80041, 0x900e2, 0x70104, 0x80059, 0x80019, 0x90092, 0x70114, 0x80079, 0x80039, 0x900d2, 0x7010c, 0x80069, 0x80029, 0x900b2, 0x80009, 0x80089, 0x80049, 0x900f2, 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900ca, 0x7010a, 0x80065, 0x80025, 0x900aa, 0x80005, 0x80085, 0x80045, 0x900ea, 0x70106, 0x8005d, 0x8001d, 0x9009a, 0x70116, 0x8007d, 0x8003d, 0x900da, 0x7010e, 0x8006d, 0x8002d, 0x900ba, 0x8000d, 0x8008d, 0x8004d, 0x900fa, 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c6, 0x70109, 0x80063, 0x80023, 0x900a6, 0x80003, 0x80083, 0x80043, 0x900e6, 0x70105, 0x8005b, 0x8001b, 0x90096, 0x70115, 0x8007b, 0x8003b, 0x900d6, 0x7010d, 0x8006b, 0x8002b, 0x900b6, 0x8000b, 0x8008b, 0x8004b, 0x900f6, 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900ce, 0x7010b, 0x80067, 0x80027, 0x900ae, 0x80007, 0x80087, 0x80047, 0x900ee, 0x70107, 0x8005f, 0x8001f, 0x9009e, 0x70117, 0x8007f, 0x8003f, 0x900de, 0x7010f, 0x8006f, 0x8002f, 0x900be, 0x8000f, 0x8008f, 0x8004f, 0x900fe, 0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c1, 0x70108, 0x80060, 0x80020, 0x900a1, 0x80000, 0x80080, 0x80040, 0x900e1, 0x70104, 0x80058, 0x80018, 0x90091, 0x70114, 0x80078, 0x80038, 0x900d1, 0x7010c, 0x80068, 0x80028, 0x900b1, 0x80008, 0x80088, 0x80048, 0x900f1, 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c9, 0x7010a, 0x80064, 0x80024, 0x900a9, 0x80004, 0x80084, 0x80044, 0x900e9, 0x70106, 0x8005c, 0x8001c, 0x90099, 0x70116, 0x8007c, 0x8003c, 0x900d9, 0x7010e, 0x8006c, 0x8002c, 0x900b9, 0x8000c, 0x8008c, 0x8004c, 0x900f9, 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c5, 0x70109, 0x80062, 0x80022, 0x900a5, 0x80002, 0x80082, 0x80042, 0x900e5, 0x70105, 0x8005a, 0x8001a, 0x90095, 0x70115, 0x8007a, 0x8003a, 0x900d5, 0x7010d, 0x8006a, 0x8002a, 0x900b5, 0x8000a, 0x8008a, 0x8004a, 0x900f5, 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cd, 0x7010b, 0x80066, 0x80026, 0x900ad, 0x80006, 0x80086, 0x80046, 0x900ed, 0x70107, 0x8005e, 0x8001e, 0x9009d, 0x70117, 0x8007e, 0x8003e, 0x900dd, 0x7010f, 0x8006e, 0x8002e, 0x900bd, 0x8000e, 0x8008e, 0x8004e, 0x900fd, 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c3, 0x70108, 0x80061, 0x80021, 0x900a3, 0x80001, 0x80081, 0x80041, 0x900e3, 0x70104, 0x80059, 0x80019, 0x90093, 0x70114, 0x80079, 0x80039, 0x900d3, 0x7010c, 0x80069, 0x80029, 0x900b3, 0x80009, 0x80089, 0x80049, 0x900f3, 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900cb, 0x7010a, 0x80065, 0x80025, 0x900ab, 0x80005, 0x80085, 0x80045, 0x900eb, 0x70106, 0x8005d, 0x8001d, 0x9009b, 0x70116, 0x8007d, 0x8003d, 0x900db, 0x7010e, 0x8006d, 0x8002d, 0x900bb, 0x8000d, 0x8008d, 0x8004d, 0x900fb, 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c7, 0x70109, 0x80063, 0x80023, 0x900a7, 0x80003, 0x80083, 0x80043, 0x900e7, 0x70105, 0x8005b, 0x8001b, 0x90097, 0x70115, 0x8007b, 0x8003b, 0x900d7, 0x7010d, 0x8006b, 0x8002b, 0x900b7, 0x8000b, 0x8008b, 0x8004b, 0x900f7, 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900cf, 0x7010b, 0x80067, 0x80027, 0x900af, 0x80007, 0x80087, 0x80047, 0x900ef, 0x70107, 0x8005f, 0x8001f, 0x9009f, 0x70117, 0x8007f, 0x8003f, 0x900df, 0x7010f, 0x8006f, 0x8002f, 0x900bf, 0x8000f, 0x8008f, 0x8004f, 0x900ff]), 9];\n var fixedDistCodeTab = [new Int32Array([0x50000, 0x50010, 0x50008, 0x50018, 0x50004, 0x50014, 0x5000c, 0x5001c, 0x50002, 0x50012, 0x5000a, 0x5001a, 0x50006, 0x50016, 0x5000e, 0x00000, 0x50001, 0x50011, 0x50009, 0x50019, 0x50005, 0x50015, 0x5000d, 0x5001d, 0x50003, 0x50013, 0x5000b, 0x5001b, 0x50007, 0x50017, 0x5000f, 0x00000]), 5];\n\n function FlateStream(str, maybeLength) {\n this.str = str;\n this.dict = str.dict;\n var cmf = str.getByte();\n var flg = str.getByte();\n\n if (cmf === -1 || flg === -1) {\n throw new _util.FormatError(`Invalid header in flate stream: ${cmf}, ${flg}`);\n }\n\n if ((cmf & 0x0f) !== 0x08) {\n throw new _util.FormatError(`Unknown compression method in flate stream: ${cmf}, ${flg}`);\n }\n\n if (((cmf << 8) + flg) % 31 !== 0) {\n throw new _util.FormatError(`Bad FCHECK in flate stream: ${cmf}, ${flg}`);\n }\n\n if (flg & 0x20) {\n throw new _util.FormatError(`FDICT bit set in flate stream: ${cmf}, ${flg}`);\n }\n\n this.codeSize = 0;\n this.codeBuf = 0;\n DecodeStream.call(this, maybeLength);\n }\n\n FlateStream.prototype = Object.create(DecodeStream.prototype);\n\n FlateStream.prototype.getBits = function FlateStream_getBits(bits) {\n var str = this.str;\n var codeSize = this.codeSize;\n var codeBuf = this.codeBuf;\n var b;\n\n while (codeSize < bits) {\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError(\"Bad encoding in flate stream\");\n }\n\n codeBuf |= b << codeSize;\n codeSize += 8;\n }\n\n b = codeBuf & (1 << bits) - 1;\n this.codeBuf = codeBuf >> bits;\n this.codeSize = codeSize -= bits;\n return b;\n };\n\n FlateStream.prototype.getCode = function FlateStream_getCode(table) {\n var str = this.str;\n var codes = table[0];\n var maxLen = table[1];\n var codeSize = this.codeSize;\n var codeBuf = this.codeBuf;\n var b;\n\n while (codeSize < maxLen) {\n if ((b = str.getByte()) === -1) {\n break;\n }\n\n codeBuf |= b << codeSize;\n codeSize += 8;\n }\n\n var code = codes[codeBuf & (1 << maxLen) - 1];\n var codeLen = code >> 16;\n var codeVal = code & 0xffff;\n\n if (codeLen < 1 || codeSize < codeLen) {\n throw new _util.FormatError(\"Bad encoding in flate stream\");\n }\n\n this.codeBuf = codeBuf >> codeLen;\n this.codeSize = codeSize - codeLen;\n return codeVal;\n };\n\n FlateStream.prototype.generateHuffmanTable = function flateStreamGenerateHuffmanTable(lengths) {\n var n = lengths.length;\n var maxLen = 0;\n var i;\n\n for (i = 0; i < n; ++i) {\n if (lengths[i] > maxLen) {\n maxLen = lengths[i];\n }\n }\n\n var size = 1 << maxLen;\n var codes = new Int32Array(size);\n\n for (var len = 1, code = 0, skip = 2; len <= maxLen; ++len, code <<= 1, skip <<= 1) {\n for (var val = 0; val < n; ++val) {\n if (lengths[val] === len) {\n var code2 = 0;\n var t = code;\n\n for (i = 0; i < len; ++i) {\n code2 = code2 << 1 | t & 1;\n t >>= 1;\n }\n\n for (i = code2; i < size; i += skip) {\n codes[i] = len << 16 | val;\n }\n\n ++code;\n }\n }\n }\n\n return [codes, maxLen];\n };\n\n FlateStream.prototype.readBlock = function FlateStream_readBlock() {\n var buffer, len;\n var str = this.str;\n var hdr = this.getBits(3);\n\n if (hdr & 1) {\n this.eof = true;\n }\n\n hdr >>= 1;\n\n if (hdr === 0) {\n var b;\n\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError(\"Bad block header in flate stream\");\n }\n\n var blockLen = b;\n\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError(\"Bad block header in flate stream\");\n }\n\n blockLen |= b << 8;\n\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError(\"Bad block header in flate stream\");\n }\n\n var check = b;\n\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError(\"Bad block header in flate stream\");\n }\n\n check |= b << 8;\n\n if (check !== (~blockLen & 0xffff) && (blockLen !== 0 || check !== 0)) {\n throw new _util.FormatError(\"Bad uncompressed block length in flate stream\");\n }\n\n this.codeBuf = 0;\n this.codeSize = 0;\n const bufferLength = this.bufferLength,\n end = bufferLength + blockLen;\n buffer = this.ensureBuffer(end);\n this.bufferLength = end;\n\n if (blockLen === 0) {\n if (str.peekByte() === -1) {\n this.eof = true;\n }\n } else {\n const block = str.getBytes(blockLen);\n buffer.set(block, bufferLength);\n\n if (block.length < blockLen) {\n this.eof = true;\n }\n }\n\n return;\n }\n\n var litCodeTable;\n var distCodeTable;\n\n if (hdr === 1) {\n litCodeTable = fixedLitCodeTab;\n distCodeTable = fixedDistCodeTab;\n } else if (hdr === 2) {\n var numLitCodes = this.getBits(5) + 257;\n var numDistCodes = this.getBits(5) + 1;\n var numCodeLenCodes = this.getBits(4) + 4;\n var codeLenCodeLengths = new Uint8Array(codeLenCodeMap.length);\n var i;\n\n for (i = 0; i < numCodeLenCodes; ++i) {\n codeLenCodeLengths[codeLenCodeMap[i]] = this.getBits(3);\n }\n\n var codeLenCodeTab = this.generateHuffmanTable(codeLenCodeLengths);\n len = 0;\n i = 0;\n var codes = numLitCodes + numDistCodes;\n var codeLengths = new Uint8Array(codes);\n var bitsLength, bitsOffset, what;\n\n while (i < codes) {\n var code = this.getCode(codeLenCodeTab);\n\n if (code === 16) {\n bitsLength = 2;\n bitsOffset = 3;\n what = len;\n } else if (code === 17) {\n bitsLength = 3;\n bitsOffset = 3;\n what = len = 0;\n } else if (code === 18) {\n bitsLength = 7;\n bitsOffset = 11;\n what = len = 0;\n } else {\n codeLengths[i++] = len = code;\n continue;\n }\n\n var repeatLength = this.getBits(bitsLength) + bitsOffset;\n\n while (repeatLength-- > 0) {\n codeLengths[i++] = what;\n }\n }\n\n litCodeTable = this.generateHuffmanTable(codeLengths.subarray(0, numLitCodes));\n distCodeTable = this.generateHuffmanTable(codeLengths.subarray(numLitCodes, codes));\n } else {\n throw new _util.FormatError(\"Unknown block type in flate stream\");\n }\n\n buffer = this.buffer;\n var limit = buffer ? buffer.length : 0;\n var pos = this.bufferLength;\n\n while (true) {\n var code1 = this.getCode(litCodeTable);\n\n if (code1 < 256) {\n if (pos + 1 >= limit) {\n buffer = this.ensureBuffer(pos + 1);\n limit = buffer.length;\n }\n\n buffer[pos++] = code1;\n continue;\n }\n\n if (code1 === 256) {\n this.bufferLength = pos;\n return;\n }\n\n code1 -= 257;\n code1 = lengthDecode[code1];\n var code2 = code1 >> 16;\n\n if (code2 > 0) {\n code2 = this.getBits(code2);\n }\n\n len = (code1 & 0xffff) + code2;\n code1 = this.getCode(distCodeTable);\n code1 = distDecode[code1];\n code2 = code1 >> 16;\n\n if (code2 > 0) {\n code2 = this.getBits(code2);\n }\n\n var dist = (code1 & 0xffff) + code2;\n\n if (pos + len >= limit) {\n buffer = this.ensureBuffer(pos + len);\n limit = buffer.length;\n }\n\n for (var k = 0; k < len; ++k, ++pos) {\n buffer[pos] = buffer[pos - dist];\n }\n }\n };\n\n return FlateStream;\n}();\n\nexports.FlateStream = FlateStream;\n\nvar PredictorStream = function PredictorStreamClosure() {\n function PredictorStream(str, maybeLength, params) {\n if (!(0, _primitives.isDict)(params)) {\n return str;\n }\n\n var predictor = this.predictor = params.get(\"Predictor\") || 1;\n\n if (predictor <= 1) {\n return str;\n }\n\n if (predictor !== 2 && (predictor < 10 || predictor > 15)) {\n throw new _util.FormatError(`Unsupported predictor: ${predictor}`);\n }\n\n if (predictor === 2) {\n this.readBlock = this.readBlockTiff;\n } else {\n this.readBlock = this.readBlockPng;\n }\n\n this.str = str;\n this.dict = str.dict;\n var colors = this.colors = params.get(\"Colors\") || 1;\n var bits = this.bits = params.get(\"BitsPerComponent\") || 8;\n var columns = this.columns = params.get(\"Columns\") || 1;\n this.pixBytes = colors * bits + 7 >> 3;\n this.rowBytes = columns * colors * bits + 7 >> 3;\n DecodeStream.call(this, maybeLength);\n return this;\n }\n\n PredictorStream.prototype = Object.create(DecodeStream.prototype);\n\n PredictorStream.prototype.readBlockTiff = function predictorStreamReadBlockTiff() {\n var rowBytes = this.rowBytes;\n var bufferLength = this.bufferLength;\n var buffer = this.ensureBuffer(bufferLength + rowBytes);\n var bits = this.bits;\n var colors = this.colors;\n var rawBytes = this.str.getBytes(rowBytes);\n this.eof = !rawBytes.length;\n\n if (this.eof) {\n return;\n }\n\n var inbuf = 0,\n outbuf = 0;\n var inbits = 0,\n outbits = 0;\n var pos = bufferLength;\n var i;\n\n if (bits === 1 && colors === 1) {\n for (i = 0; i < rowBytes; ++i) {\n var c = rawBytes[i] ^ inbuf;\n c ^= c >> 1;\n c ^= c >> 2;\n c ^= c >> 4;\n inbuf = (c & 1) << 7;\n buffer[pos++] = c;\n }\n } else if (bits === 8) {\n for (i = 0; i < colors; ++i) {\n buffer[pos++] = rawBytes[i];\n }\n\n for (; i < rowBytes; ++i) {\n buffer[pos] = buffer[pos - colors] + rawBytes[i];\n pos++;\n }\n } else if (bits === 16) {\n var bytesPerPixel = colors * 2;\n\n for (i = 0; i < bytesPerPixel; ++i) {\n buffer[pos++] = rawBytes[i];\n }\n\n for (; i < rowBytes; i += 2) {\n var sum = ((rawBytes[i] & 0xff) << 8) + (rawBytes[i + 1] & 0xff) + ((buffer[pos - bytesPerPixel] & 0xff) << 8) + (buffer[pos - bytesPerPixel + 1] & 0xff);\n buffer[pos++] = sum >> 8 & 0xff;\n buffer[pos++] = sum & 0xff;\n }\n } else {\n var compArray = new Uint8Array(colors + 1);\n var bitMask = (1 << bits) - 1;\n var j = 0,\n k = bufferLength;\n var columns = this.columns;\n\n for (i = 0; i < columns; ++i) {\n for (var kk = 0; kk < colors; ++kk) {\n if (inbits < bits) {\n inbuf = inbuf << 8 | rawBytes[j++] & 0xff;\n inbits += 8;\n }\n\n compArray[kk] = compArray[kk] + (inbuf >> inbits - bits) & bitMask;\n inbits -= bits;\n outbuf = outbuf << bits | compArray[kk];\n outbits += bits;\n\n if (outbits >= 8) {\n buffer[k++] = outbuf >> outbits - 8 & 0xff;\n outbits -= 8;\n }\n }\n }\n\n if (outbits > 0) {\n buffer[k++] = (outbuf << 8 - outbits) + (inbuf & (1 << 8 - outbits) - 1);\n }\n }\n\n this.bufferLength += rowBytes;\n };\n\n PredictorStream.prototype.readBlockPng = function predictorStreamReadBlockPng() {\n var rowBytes = this.rowBytes;\n var pixBytes = this.pixBytes;\n var predictor = this.str.getByte();\n var rawBytes = this.str.getBytes(rowBytes);\n this.eof = !rawBytes.length;\n\n if (this.eof) {\n return;\n }\n\n var bufferLength = this.bufferLength;\n var buffer = this.ensureBuffer(bufferLength + rowBytes);\n var prevRow = buffer.subarray(bufferLength - rowBytes, bufferLength);\n\n if (prevRow.length === 0) {\n prevRow = new Uint8Array(rowBytes);\n }\n\n var i,\n j = bufferLength,\n up,\n c;\n\n switch (predictor) {\n case 0:\n for (i = 0; i < rowBytes; ++i) {\n buffer[j++] = rawBytes[i];\n }\n\n break;\n\n case 1:\n for (i = 0; i < pixBytes; ++i) {\n buffer[j++] = rawBytes[i];\n }\n\n for (; i < rowBytes; ++i) {\n buffer[j] = buffer[j - pixBytes] + rawBytes[i] & 0xff;\n j++;\n }\n\n break;\n\n case 2:\n for (i = 0; i < rowBytes; ++i) {\n buffer[j++] = prevRow[i] + rawBytes[i] & 0xff;\n }\n\n break;\n\n case 3:\n for (i = 0; i < pixBytes; ++i) {\n buffer[j++] = (prevRow[i] >> 1) + rawBytes[i];\n }\n\n for (; i < rowBytes; ++i) {\n buffer[j] = (prevRow[i] + buffer[j - pixBytes] >> 1) + rawBytes[i] & 0xff;\n j++;\n }\n\n break;\n\n case 4:\n for (i = 0; i < pixBytes; ++i) {\n up = prevRow[i];\n c = rawBytes[i];\n buffer[j++] = up + c;\n }\n\n for (; i < rowBytes; ++i) {\n up = prevRow[i];\n var upLeft = prevRow[i - pixBytes];\n var left = buffer[j - pixBytes];\n var p = left + up - upLeft;\n var pa = p - left;\n\n if (pa < 0) {\n pa = -pa;\n }\n\n var pb = p - up;\n\n if (pb < 0) {\n pb = -pb;\n }\n\n var pc = p - upLeft;\n\n if (pc < 0) {\n pc = -pc;\n }\n\n c = rawBytes[i];\n\n if (pa <= pb && pa <= pc) {\n buffer[j++] = left + c;\n } else if (pb <= pc) {\n buffer[j++] = up + c;\n } else {\n buffer[j++] = upLeft + c;\n }\n }\n\n break;\n\n default:\n throw new _util.FormatError(`Unsupported predictor: ${predictor}`);\n }\n\n this.bufferLength += rowBytes;\n };\n\n return PredictorStream;\n}();\n\nexports.PredictorStream = PredictorStream;\n\nvar DecryptStream = function DecryptStreamClosure() {\n function DecryptStream(str, maybeLength, decrypt) {\n this.str = str;\n this.dict = str.dict;\n this.decrypt = decrypt;\n this.nextChunk = null;\n this.initialized = false;\n DecodeStream.call(this, maybeLength);\n }\n\n var chunkSize = 512;\n DecryptStream.prototype = Object.create(DecodeStream.prototype);\n\n DecryptStream.prototype.readBlock = function DecryptStream_readBlock() {\n var chunk;\n\n if (this.initialized) {\n chunk = this.nextChunk;\n } else {\n chunk = this.str.getBytes(chunkSize);\n this.initialized = true;\n }\n\n if (!chunk || chunk.length === 0) {\n this.eof = true;\n return;\n }\n\n this.nextChunk = this.str.getBytes(chunkSize);\n var hasMoreData = this.nextChunk && this.nextChunk.length > 0;\n var decrypt = this.decrypt;\n chunk = decrypt(chunk, !hasMoreData);\n var bufferLength = this.bufferLength;\n var i,\n n = chunk.length;\n var buffer = this.ensureBuffer(bufferLength + n);\n\n for (i = 0; i < n; i++) {\n buffer[bufferLength++] = chunk[i];\n }\n\n this.bufferLength = bufferLength;\n };\n\n return DecryptStream;\n}();\n\nexports.DecryptStream = DecryptStream;\n\nvar Ascii85Stream = function Ascii85StreamClosure() {\n function Ascii85Stream(str, maybeLength) {\n this.str = str;\n this.dict = str.dict;\n this.input = new Uint8Array(5);\n\n if (maybeLength) {\n maybeLength = 0.8 * maybeLength;\n }\n\n DecodeStream.call(this, maybeLength);\n }\n\n Ascii85Stream.prototype = Object.create(DecodeStream.prototype);\n\n Ascii85Stream.prototype.readBlock = function Ascii85Stream_readBlock() {\n var TILDA_CHAR = 0x7e;\n var Z_LOWER_CHAR = 0x7a;\n var EOF = -1;\n var str = this.str;\n var c = str.getByte();\n\n while ((0, _core_utils.isWhiteSpace)(c)) {\n c = str.getByte();\n }\n\n if (c === EOF || c === TILDA_CHAR) {\n this.eof = true;\n return;\n }\n\n var bufferLength = this.bufferLength,\n buffer;\n var i;\n\n if (c === Z_LOWER_CHAR) {\n buffer = this.ensureBuffer(bufferLength + 4);\n\n for (i = 0; i < 4; ++i) {\n buffer[bufferLength + i] = 0;\n }\n\n this.bufferLength += 4;\n } else {\n var input = this.input;\n input[0] = c;\n\n for (i = 1; i < 5; ++i) {\n c = str.getByte();\n\n while ((0, _core_utils.isWhiteSpace)(c)) {\n c = str.getByte();\n }\n\n input[i] = c;\n\n if (c === EOF || c === TILDA_CHAR) {\n break;\n }\n }\n\n buffer = this.ensureBuffer(bufferLength + i - 1);\n this.bufferLength += i - 1;\n\n if (i < 5) {\n for (; i < 5; ++i) {\n input[i] = 0x21 + 84;\n }\n\n this.eof = true;\n }\n\n var t = 0;\n\n for (i = 0; i < 5; ++i) {\n t = t * 85 + (input[i] - 0x21);\n }\n\n for (i = 3; i >= 0; --i) {\n buffer[bufferLength + i] = t & 0xff;\n t >>= 8;\n }\n }\n };\n\n return Ascii85Stream;\n}();\n\nexports.Ascii85Stream = Ascii85Stream;\n\nvar AsciiHexStream = function AsciiHexStreamClosure() {\n function AsciiHexStream(str, maybeLength) {\n this.str = str;\n this.dict = str.dict;\n this.firstDigit = -1;\n\n if (maybeLength) {\n maybeLength = 0.5 * maybeLength;\n }\n\n DecodeStream.call(this, maybeLength);\n }\n\n AsciiHexStream.prototype = Object.create(DecodeStream.prototype);\n\n AsciiHexStream.prototype.readBlock = function AsciiHexStream_readBlock() {\n var UPSTREAM_BLOCK_SIZE = 8000;\n var bytes = this.str.getBytes(UPSTREAM_BLOCK_SIZE);\n\n if (!bytes.length) {\n this.eof = true;\n return;\n }\n\n var maxDecodeLength = bytes.length + 1 >> 1;\n var buffer = this.ensureBuffer(this.bufferLength + maxDecodeLength);\n var bufferLength = this.bufferLength;\n var firstDigit = this.firstDigit;\n\n for (var i = 0, ii = bytes.length; i < ii; i++) {\n var ch = bytes[i],\n digit;\n\n if (ch >= 0x30 && ch <= 0x39) {\n digit = ch & 0x0f;\n } else if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {\n digit = (ch & 0x0f) + 9;\n } else if (ch === 0x3e) {\n this.eof = true;\n break;\n } else {\n continue;\n }\n\n if (firstDigit < 0) {\n firstDigit = digit;\n } else {\n buffer[bufferLength++] = firstDigit << 4 | digit;\n firstDigit = -1;\n }\n }\n\n if (firstDigit >= 0 && this.eof) {\n buffer[bufferLength++] = firstDigit << 4;\n firstDigit = -1;\n }\n\n this.firstDigit = firstDigit;\n this.bufferLength = bufferLength;\n };\n\n return AsciiHexStream;\n}();\n\nexports.AsciiHexStream = AsciiHexStream;\n\nvar RunLengthStream = function RunLengthStreamClosure() {\n function RunLengthStream(str, maybeLength) {\n this.str = str;\n this.dict = str.dict;\n DecodeStream.call(this, maybeLength);\n }\n\n RunLengthStream.prototype = Object.create(DecodeStream.prototype);\n\n RunLengthStream.prototype.readBlock = function RunLengthStream_readBlock() {\n var repeatHeader = this.str.getBytes(2);\n\n if (!repeatHeader || repeatHeader.length < 2 || repeatHeader[0] === 128) {\n this.eof = true;\n return;\n }\n\n var buffer;\n var bufferLength = this.bufferLength;\n var n = repeatHeader[0];\n\n if (n < 128) {\n buffer = this.ensureBuffer(bufferLength + n + 1);\n buffer[bufferLength++] = repeatHeader[1];\n\n if (n > 0) {\n var source = this.str.getBytes(n);\n buffer.set(source, bufferLength);\n bufferLength += n;\n }\n } else {\n n = 257 - n;\n var b = repeatHeader[1];\n buffer = this.ensureBuffer(bufferLength + n + 1);\n\n for (var i = 0; i < n; i++) {\n buffer[bufferLength++] = b;\n }\n }\n\n this.bufferLength = bufferLength;\n };\n\n return RunLengthStream;\n}();\n\nexports.RunLengthStream = RunLengthStream;\n\nvar LZWStream = function LZWStreamClosure() {\n function LZWStream(str, maybeLength, earlyChange) {\n this.str = str;\n this.dict = str.dict;\n this.cachedData = 0;\n this.bitsCached = 0;\n var maxLzwDictionarySize = 4096;\n var lzwState = {\n earlyChange,\n codeLength: 9,\n nextCode: 258,\n dictionaryValues: new Uint8Array(maxLzwDictionarySize),\n dictionaryLengths: new Uint16Array(maxLzwDictionarySize),\n dictionaryPrevCodes: new Uint16Array(maxLzwDictionarySize),\n currentSequence: new Uint8Array(maxLzwDictionarySize),\n currentSequenceLength: 0\n };\n\n for (var i = 0; i < 256; ++i) {\n lzwState.dictionaryValues[i] = i;\n lzwState.dictionaryLengths[i] = 1;\n }\n\n this.lzwState = lzwState;\n DecodeStream.call(this, maybeLength);\n }\n\n LZWStream.prototype = Object.create(DecodeStream.prototype);\n\n LZWStream.prototype.readBits = function LZWStream_readBits(n) {\n var bitsCached = this.bitsCached;\n var cachedData = this.cachedData;\n\n while (bitsCached < n) {\n var c = this.str.getByte();\n\n if (c === -1) {\n this.eof = true;\n return null;\n }\n\n cachedData = cachedData << 8 | c;\n bitsCached += 8;\n }\n\n this.bitsCached = bitsCached -= n;\n this.cachedData = cachedData;\n this.lastCode = null;\n return cachedData >>> bitsCached & (1 << n) - 1;\n };\n\n LZWStream.prototype.readBlock = function LZWStream_readBlock() {\n var blockSize = 512;\n var estimatedDecodedSize = blockSize * 2,\n decodedSizeDelta = blockSize;\n var i, j, q;\n var lzwState = this.lzwState;\n\n if (!lzwState) {\n return;\n }\n\n var earlyChange = lzwState.earlyChange;\n var nextCode = lzwState.nextCode;\n var dictionaryValues = lzwState.dictionaryValues;\n var dictionaryLengths = lzwState.dictionaryLengths;\n var dictionaryPrevCodes = lzwState.dictionaryPrevCodes;\n var codeLength = lzwState.codeLength;\n var prevCode = lzwState.prevCode;\n var currentSequence = lzwState.currentSequence;\n var currentSequenceLength = lzwState.currentSequenceLength;\n var decodedLength = 0;\n var currentBufferLength = this.bufferLength;\n var buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);\n\n for (i = 0; i < blockSize; i++) {\n var code = this.readBits(codeLength);\n var hasPrev = currentSequenceLength > 0;\n\n if (code < 256) {\n currentSequence[0] = code;\n currentSequenceLength = 1;\n } else if (code >= 258) {\n if (code < nextCode) {\n currentSequenceLength = dictionaryLengths[code];\n\n for (j = currentSequenceLength - 1, q = code; j >= 0; j--) {\n currentSequence[j] = dictionaryValues[q];\n q = dictionaryPrevCodes[q];\n }\n } else {\n currentSequence[currentSequenceLength++] = currentSequence[0];\n }\n } else if (code === 256) {\n codeLength = 9;\n nextCode = 258;\n currentSequenceLength = 0;\n continue;\n } else {\n this.eof = true;\n delete this.lzwState;\n break;\n }\n\n if (hasPrev) {\n dictionaryPrevCodes[nextCode] = prevCode;\n dictionaryLengths[nextCode] = dictionaryLengths[prevCode] + 1;\n dictionaryValues[nextCode] = currentSequence[0];\n nextCode++;\n codeLength = nextCode + earlyChange & nextCode + earlyChange - 1 ? codeLength : Math.min(Math.log(nextCode + earlyChange) / 0.6931471805599453 + 1, 12) | 0;\n }\n\n prevCode = code;\n decodedLength += currentSequenceLength;\n\n if (estimatedDecodedSize < decodedLength) {\n do {\n estimatedDecodedSize += decodedSizeDelta;\n } while (estimatedDecodedSize < decodedLength);\n\n buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);\n }\n\n for (j = 0; j < currentSequenceLength; j++) {\n buffer[currentBufferLength++] = currentSequence[j];\n }\n }\n\n lzwState.nextCode = nextCode;\n lzwState.codeLength = codeLength;\n lzwState.prevCode = prevCode;\n lzwState.currentSequenceLength = currentSequenceLength;\n this.bufferLength = currentBufferLength;\n };\n\n return LZWStream;\n}();\n\nexports.LZWStream = LZWStream;\n\nvar NullStream = function NullStreamClosure() {\n function NullStream() {\n Stream.call(this, new Uint8Array(0));\n }\n\n NullStream.prototype = Stream.prototype;\n return NullStream;\n}();\n\nexports.NullStream = NullStream;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CCITTFaxStream = void 0;\n\nvar _primitives = __w_pdfjs_require__(5);\n\nvar _ccitt = __w_pdfjs_require__(14);\n\nvar _stream = __w_pdfjs_require__(12);\n\nvar CCITTFaxStream = function CCITTFaxStreamClosure() {\n function CCITTFaxStream(str, maybeLength, params) {\n this.str = str;\n this.dict = str.dict;\n\n if (!(0, _primitives.isDict)(params)) {\n params = _primitives.Dict.empty;\n }\n\n const source = {\n next() {\n return str.getByte();\n }\n\n };\n this.ccittFaxDecoder = new _ccitt.CCITTFaxDecoder(source, {\n K: params.get(\"K\"),\n EndOfLine: params.get(\"EndOfLine\"),\n EncodedByteAlign: params.get(\"EncodedByteAlign\"),\n Columns: params.get(\"Columns\"),\n Rows: params.get(\"Rows\"),\n EndOfBlock: params.get(\"EndOfBlock\"),\n BlackIs1: params.get(\"BlackIs1\")\n });\n\n _stream.DecodeStream.call(this, maybeLength);\n }\n\n CCITTFaxStream.prototype = Object.create(_stream.DecodeStream.prototype);\n\n CCITTFaxStream.prototype.readBlock = function () {\n while (!this.eof) {\n const c = this.ccittFaxDecoder.readNextChar();\n\n if (c === -1) {\n this.eof = true;\n return;\n }\n\n this.ensureBuffer(this.bufferLength + 1);\n this.buffer[this.bufferLength++] = c;\n }\n };\n\n return CCITTFaxStream;\n}();\n\nexports.CCITTFaxStream = CCITTFaxStream;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CCITTFaxDecoder = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nconst CCITTFaxDecoder = function CCITTFaxDecoder() {\n const ccittEOL = -2;\n const ccittEOF = -1;\n const twoDimPass = 0;\n const twoDimHoriz = 1;\n const twoDimVert0 = 2;\n const twoDimVertR1 = 3;\n const twoDimVertL1 = 4;\n const twoDimVertR2 = 5;\n const twoDimVertL2 = 6;\n const twoDimVertR3 = 7;\n const twoDimVertL3 = 8;\n const twoDimTable = [[-1, -1], [-1, -1], [7, twoDimVertL3], [7, twoDimVertR3], [6, twoDimVertL2], [6, twoDimVertL2], [6, twoDimVertR2], [6, twoDimVertR2], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0]];\n const whiteTable1 = [[-1, -1], [12, ccittEOL], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [11, 1792], [11, 1792], [12, 1984], [12, 2048], [12, 2112], [12, 2176], [12, 2240], [12, 2304], [11, 1856], [11, 1856], [11, 1920], [11, 1920], [12, 2368], [12, 2432], [12, 2496], [12, 2560]];\n const whiteTable2 = [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [8, 29], [8, 29], [8, 30], [8, 30], [8, 45], [8, 45], [8, 46], [8, 46], [7, 22], [7, 22], [7, 22], [7, 22], [7, 23], [7, 23], [7, 23], [7, 23], [8, 47], [8, 47], [8, 48], [8, 48], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [7, 20], [7, 20], [7, 20], [7, 20], [8, 33], [8, 33], [8, 34], [8, 34], [8, 35], [8, 35], [8, 36], [8, 36], [8, 37], [8, 37], [8, 38], [8, 38], [7, 19], [7, 19], [7, 19], [7, 19], [8, 31], [8, 31], [8, 32], [8, 32], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [8, 53], [8, 53], [8, 54], [8, 54], [7, 26], [7, 26], [7, 26], [7, 26], [8, 39], [8, 39], [8, 40], [8, 40], [8, 41], [8, 41], [8, 42], [8, 42], [8, 43], [8, 43], [8, 44], [8, 44], [7, 21], [7, 21], [7, 21], [7, 21], [7, 28], [7, 28], [7, 28], [7, 28], [8, 61], [8, 61], [8, 62], [8, 62], [8, 63], [8, 63], [8, 0], [8, 0], [8, 320], [8, 320], [8, 384], [8, 384], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [7, 27], [7, 27], [7, 27], [7, 27], [8, 59], [8, 59], [8, 60], [8, 60], [9, 1472], [9, 1536], [9, 1600], [9, 1728], [7, 18], [7, 18], [7, 18], [7, 18], [7, 24], [7, 24], [7, 24], [7, 24], [8, 49], [8, 49], [8, 50], [8, 50], [8, 51], [8, 51], [8, 52], [8, 52], [7, 25], [7, 25], [7, 25], [7, 25], [8, 55], [8, 55], [8, 56], [8, 56], [8, 57], [8, 57], [8, 58], [8, 58], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [8, 448], [8, 448], [8, 512], [8, 512], [9, 704], [9, 768], [8, 640], [8, 640], [8, 576], [8, 576], [9, 832], [9, 896], [9, 960], [9, 1024], [9, 1088], [9, 1152], [9, 1216], [9, 1280], [9, 1344], [9, 1408], [7, 256], [7, 256], [7, 256], [7, 256], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7]];\n const blackTable1 = [[-1, -1], [-1, -1], [12, ccittEOL], [12, ccittEOL], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [11, 1792], [11, 1792], [11, 1792], [11, 1792], [12, 1984], [12, 1984], [12, 2048], [12, 2048], [12, 2112], [12, 2112], [12, 2176], [12, 2176], [12, 2240], [12, 2240], [12, 2304], [12, 2304], [11, 1856], [11, 1856], [11, 1856], [11, 1856], [11, 1920], [11, 1920], [11, 1920], [11, 1920], [12, 2368], [12, 2368], [12, 2432], [12, 2432], [12, 2496], [12, 2496], [12, 2560], [12, 2560], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [12, 52], [12, 52], [13, 640], [13, 704], [13, 768], [13, 832], [12, 55], [12, 55], [12, 56], [12, 56], [13, 1280], [13, 1344], [13, 1408], [13, 1472], [12, 59], [12, 59], [12, 60], [12, 60], [13, 1536], [13, 1600], [11, 24], [11, 24], [11, 24], [11, 24], [11, 25], [11, 25], [11, 25], [11, 25], [13, 1664], [13, 1728], [12, 320], [12, 320], [12, 384], [12, 384], [12, 448], [12, 448], [13, 512], [13, 576], [12, 53], [12, 53], [12, 54], [12, 54], [13, 896], [13, 960], [13, 1024], [13, 1088], [13, 1152], [13, 1216], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64]];\n const blackTable2 = [[8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [11, 23], [11, 23], [12, 50], [12, 51], [12, 44], [12, 45], [12, 46], [12, 47], [12, 57], [12, 58], [12, 61], [12, 256], [10, 16], [10, 16], [10, 16], [10, 16], [10, 17], [10, 17], [10, 17], [10, 17], [12, 48], [12, 49], [12, 62], [12, 63], [12, 30], [12, 31], [12, 32], [12, 33], [12, 40], [12, 41], [11, 22], [11, 22], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [12, 128], [12, 192], [12, 26], [12, 27], [12, 28], [12, 29], [11, 19], [11, 19], [11, 20], [11, 20], [12, 34], [12, 35], [12, 36], [12, 37], [12, 38], [12, 39], [11, 21], [11, 21], [12, 42], [12, 43], [10, 0], [10, 0], [10, 0], [10, 0], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12]];\n const blackTable3 = [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [6, 9], [6, 8], [5, 7], [5, 7], [4, 6], [4, 6], [4, 6], [4, 6], [4, 5], [4, 5], [4, 5], [4, 5], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2]];\n\n function CCITTFaxDecoder(source, options = {}) {\n if (!source || typeof source.next !== \"function\") {\n throw new Error('CCITTFaxDecoder - invalid \"source\" parameter.');\n }\n\n this.source = source;\n this.eof = false;\n this.encoding = options.K || 0;\n this.eoline = options.EndOfLine || false;\n this.byteAlign = options.EncodedByteAlign || false;\n this.columns = options.Columns || 1728;\n this.rows = options.Rows || 0;\n let eoblock = options.EndOfBlock;\n\n if (eoblock === null || eoblock === undefined) {\n eoblock = true;\n }\n\n this.eoblock = eoblock;\n this.black = options.BlackIs1 || false;\n this.codingLine = new Uint32Array(this.columns + 1);\n this.refLine = new Uint32Array(this.columns + 2);\n this.codingLine[0] = this.columns;\n this.codingPos = 0;\n this.row = 0;\n this.nextLine2D = this.encoding < 0;\n this.inputBits = 0;\n this.inputBuf = 0;\n this.outputBits = 0;\n this.rowsDone = false;\n let code1;\n\n while ((code1 = this._lookBits(12)) === 0) {\n this._eatBits(1);\n }\n\n if (code1 === 1) {\n this._eatBits(12);\n }\n\n if (this.encoding > 0) {\n this.nextLine2D = !this._lookBits(1);\n\n this._eatBits(1);\n }\n }\n\n CCITTFaxDecoder.prototype = {\n readNextChar() {\n if (this.eof) {\n return -1;\n }\n\n const refLine = this.refLine;\n const codingLine = this.codingLine;\n const columns = this.columns;\n let refPos, blackPixels, bits, i;\n\n if (this.outputBits === 0) {\n if (this.rowsDone) {\n this.eof = true;\n }\n\n if (this.eof) {\n return -1;\n }\n\n this.err = false;\n let code1, code2, code3;\n\n if (this.nextLine2D) {\n for (i = 0; codingLine[i] < columns; ++i) {\n refLine[i] = codingLine[i];\n }\n\n refLine[i++] = columns;\n refLine[i] = columns;\n codingLine[0] = 0;\n this.codingPos = 0;\n refPos = 0;\n blackPixels = 0;\n\n while (codingLine[this.codingPos] < columns) {\n code1 = this._getTwoDimCode();\n\n switch (code1) {\n case twoDimPass:\n this._addPixels(refLine[refPos + 1], blackPixels);\n\n if (refLine[refPos + 1] < columns) {\n refPos += 2;\n }\n\n break;\n\n case twoDimHoriz:\n code1 = code2 = 0;\n\n if (blackPixels) {\n do {\n code1 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n\n do {\n code2 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n } else {\n do {\n code1 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n\n do {\n code2 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n }\n\n this._addPixels(codingLine[this.codingPos] + code1, blackPixels);\n\n if (codingLine[this.codingPos] < columns) {\n this._addPixels(codingLine[this.codingPos] + code2, blackPixels ^ 1);\n }\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n\n break;\n\n case twoDimVertR3:\n this._addPixels(refLine[refPos] + 3, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertR2:\n this._addPixels(refLine[refPos] + 2, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertR1:\n this._addPixels(refLine[refPos] + 1, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVert0:\n this._addPixels(refLine[refPos], blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertL3:\n this._addPixelsNeg(refLine[refPos] - 3, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertL2:\n this._addPixelsNeg(refLine[refPos] - 2, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertL1:\n this._addPixelsNeg(refLine[refPos] - 1, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case ccittEOF:\n this._addPixels(columns, 0);\n\n this.eof = true;\n break;\n\n default:\n (0, _util.info)(\"bad 2d code\");\n\n this._addPixels(columns, 0);\n\n this.err = true;\n }\n }\n } else {\n codingLine[0] = 0;\n this.codingPos = 0;\n blackPixels = 0;\n\n while (codingLine[this.codingPos] < columns) {\n code1 = 0;\n\n if (blackPixels) {\n do {\n code1 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n } else {\n do {\n code1 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n }\n\n this._addPixels(codingLine[this.codingPos] + code1, blackPixels);\n\n blackPixels ^= 1;\n }\n }\n\n let gotEOL = false;\n\n if (this.byteAlign) {\n this.inputBits &= ~7;\n }\n\n if (!this.eoblock && this.row === this.rows - 1) {\n this.rowsDone = true;\n } else {\n code1 = this._lookBits(12);\n\n if (this.eoline) {\n while (code1 !== ccittEOF && code1 !== 1) {\n this._eatBits(1);\n\n code1 = this._lookBits(12);\n }\n } else {\n while (code1 === 0) {\n this._eatBits(1);\n\n code1 = this._lookBits(12);\n }\n }\n\n if (code1 === 1) {\n this._eatBits(12);\n\n gotEOL = true;\n } else if (code1 === ccittEOF) {\n this.eof = true;\n }\n }\n\n if (!this.eof && this.encoding > 0 && !this.rowsDone) {\n this.nextLine2D = !this._lookBits(1);\n\n this._eatBits(1);\n }\n\n if (this.eoblock && gotEOL && this.byteAlign) {\n code1 = this._lookBits(12);\n\n if (code1 === 1) {\n this._eatBits(12);\n\n if (this.encoding > 0) {\n this._lookBits(1);\n\n this._eatBits(1);\n }\n\n if (this.encoding >= 0) {\n for (i = 0; i < 4; ++i) {\n code1 = this._lookBits(12);\n\n if (code1 !== 1) {\n (0, _util.info)(\"bad rtc code: \" + code1);\n }\n\n this._eatBits(12);\n\n if (this.encoding > 0) {\n this._lookBits(1);\n\n this._eatBits(1);\n }\n }\n }\n\n this.eof = true;\n }\n } else if (this.err && this.eoline) {\n while (true) {\n code1 = this._lookBits(13);\n\n if (code1 === ccittEOF) {\n this.eof = true;\n return -1;\n }\n\n if (code1 >> 1 === 1) {\n break;\n }\n\n this._eatBits(1);\n }\n\n this._eatBits(12);\n\n if (this.encoding > 0) {\n this._eatBits(1);\n\n this.nextLine2D = !(code1 & 1);\n }\n }\n\n if (codingLine[0] > 0) {\n this.outputBits = codingLine[this.codingPos = 0];\n } else {\n this.outputBits = codingLine[this.codingPos = 1];\n }\n\n this.row++;\n }\n\n let c;\n\n if (this.outputBits >= 8) {\n c = this.codingPos & 1 ? 0 : 0xff;\n this.outputBits -= 8;\n\n if (this.outputBits === 0 && codingLine[this.codingPos] < columns) {\n this.codingPos++;\n this.outputBits = codingLine[this.codingPos] - codingLine[this.codingPos - 1];\n }\n } else {\n bits = 8;\n c = 0;\n\n do {\n if (this.outputBits > bits) {\n c <<= bits;\n\n if (!(this.codingPos & 1)) {\n c |= 0xff >> 8 - bits;\n }\n\n this.outputBits -= bits;\n bits = 0;\n } else {\n c <<= this.outputBits;\n\n if (!(this.codingPos & 1)) {\n c |= 0xff >> 8 - this.outputBits;\n }\n\n bits -= this.outputBits;\n this.outputBits = 0;\n\n if (codingLine[this.codingPos] < columns) {\n this.codingPos++;\n this.outputBits = codingLine[this.codingPos] - codingLine[this.codingPos - 1];\n } else if (bits > 0) {\n c <<= bits;\n bits = 0;\n }\n }\n } while (bits);\n }\n\n if (this.black) {\n c ^= 0xff;\n }\n\n return c;\n },\n\n _addPixels(a1, blackPixels) {\n const codingLine = this.codingLine;\n let codingPos = this.codingPos;\n\n if (a1 > codingLine[codingPos]) {\n if (a1 > this.columns) {\n (0, _util.info)(\"row is wrong length\");\n this.err = true;\n a1 = this.columns;\n }\n\n if (codingPos & 1 ^ blackPixels) {\n ++codingPos;\n }\n\n codingLine[codingPos] = a1;\n }\n\n this.codingPos = codingPos;\n },\n\n _addPixelsNeg(a1, blackPixels) {\n const codingLine = this.codingLine;\n let codingPos = this.codingPos;\n\n if (a1 > codingLine[codingPos]) {\n if (a1 > this.columns) {\n (0, _util.info)(\"row is wrong length\");\n this.err = true;\n a1 = this.columns;\n }\n\n if (codingPos & 1 ^ blackPixels) {\n ++codingPos;\n }\n\n codingLine[codingPos] = a1;\n } else if (a1 < codingLine[codingPos]) {\n if (a1 < 0) {\n (0, _util.info)(\"invalid code\");\n this.err = true;\n a1 = 0;\n }\n\n while (codingPos > 0 && a1 < codingLine[codingPos - 1]) {\n --codingPos;\n }\n\n codingLine[codingPos] = a1;\n }\n\n this.codingPos = codingPos;\n },\n\n _findTableCode(start, end, table, limit) {\n const limitValue = limit || 0;\n\n for (let i = start; i <= end; ++i) {\n let code = this._lookBits(i);\n\n if (code === ccittEOF) {\n return [true, 1, false];\n }\n\n if (i < end) {\n code <<= end - i;\n }\n\n if (!limitValue || code >= limitValue) {\n const p = table[code - limitValue];\n\n if (p[0] === i) {\n this._eatBits(i);\n\n return [true, p[1], true];\n }\n }\n }\n\n return [false, 0, false];\n },\n\n _getTwoDimCode() {\n let code = 0;\n let p;\n\n if (this.eoblock) {\n code = this._lookBits(7);\n p = twoDimTable[code];\n\n if (p && p[0] > 0) {\n this._eatBits(p[0]);\n\n return p[1];\n }\n } else {\n const result = this._findTableCode(1, 7, twoDimTable);\n\n if (result[0] && result[2]) {\n return result[1];\n }\n }\n\n (0, _util.info)(\"Bad two dim code\");\n return ccittEOF;\n },\n\n _getWhiteCode() {\n let code = 0;\n let p;\n\n if (this.eoblock) {\n code = this._lookBits(12);\n\n if (code === ccittEOF) {\n return 1;\n }\n\n if (code >> 5 === 0) {\n p = whiteTable1[code];\n } else {\n p = whiteTable2[code >> 3];\n }\n\n if (p[0] > 0) {\n this._eatBits(p[0]);\n\n return p[1];\n }\n } else {\n let result = this._findTableCode(1, 9, whiteTable2);\n\n if (result[0]) {\n return result[1];\n }\n\n result = this._findTableCode(11, 12, whiteTable1);\n\n if (result[0]) {\n return result[1];\n }\n }\n\n (0, _util.info)(\"bad white code\");\n\n this._eatBits(1);\n\n return 1;\n },\n\n _getBlackCode() {\n let code, p;\n\n if (this.eoblock) {\n code = this._lookBits(13);\n\n if (code === ccittEOF) {\n return 1;\n }\n\n if (code >> 7 === 0) {\n p = blackTable1[code];\n } else if (code >> 9 === 0 && code >> 7 !== 0) {\n p = blackTable2[(code >> 1) - 64];\n } else {\n p = blackTable3[code >> 7];\n }\n\n if (p[0] > 0) {\n this._eatBits(p[0]);\n\n return p[1];\n }\n } else {\n let result = this._findTableCode(2, 6, blackTable3);\n\n if (result[0]) {\n return result[1];\n }\n\n result = this._findTableCode(7, 12, blackTable2, 64);\n\n if (result[0]) {\n return result[1];\n }\n\n result = this._findTableCode(10, 13, blackTable1);\n\n if (result[0]) {\n return result[1];\n }\n }\n\n (0, _util.info)(\"bad black code\");\n\n this._eatBits(1);\n\n return 1;\n },\n\n _lookBits(n) {\n let c;\n\n while (this.inputBits < n) {\n if ((c = this.source.next()) === -1) {\n if (this.inputBits === 0) {\n return ccittEOF;\n }\n\n return this.inputBuf << n - this.inputBits & 0xffff >> 16 - n;\n }\n\n this.inputBuf = this.inputBuf << 8 | c;\n this.inputBits += 8;\n }\n\n return this.inputBuf >> this.inputBits - n & 0xffff >> 16 - n;\n },\n\n _eatBits(n) {\n if ((this.inputBits -= n) < 0) {\n this.inputBits = 0;\n }\n }\n\n };\n return CCITTFaxDecoder;\n}();\n\nexports.CCITTFaxDecoder = CCITTFaxDecoder;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Jbig2Stream = void 0;\n\nvar _primitives = __w_pdfjs_require__(5);\n\nvar _stream = __w_pdfjs_require__(12);\n\nvar _jbig = __w_pdfjs_require__(16);\n\nvar _util = __w_pdfjs_require__(2);\n\nconst Jbig2Stream = function Jbig2StreamClosure() {\n function Jbig2Stream(stream, maybeLength, dict, params) {\n this.stream = stream;\n this.maybeLength = maybeLength;\n this.dict = dict;\n this.params = params;\n\n _stream.DecodeStream.call(this, maybeLength);\n }\n\n Jbig2Stream.prototype = Object.create(_stream.DecodeStream.prototype);\n Object.defineProperty(Jbig2Stream.prototype, \"bytes\", {\n get() {\n return (0, _util.shadow)(this, \"bytes\", this.stream.getBytes(this.maybeLength));\n },\n\n configurable: true\n });\n\n Jbig2Stream.prototype.ensureBuffer = function (requested) {};\n\n Jbig2Stream.prototype.readBlock = function () {\n if (this.eof) {\n return;\n }\n\n const jbig2Image = new _jbig.Jbig2Image();\n const chunks = [];\n\n if ((0, _primitives.isDict)(this.params)) {\n const globalsStream = this.params.get(\"JBIG2Globals\");\n\n if ((0, _primitives.isStream)(globalsStream)) {\n const globals = globalsStream.getBytes();\n chunks.push({\n data: globals,\n start: 0,\n end: globals.length\n });\n }\n }\n\n chunks.push({\n data: this.bytes,\n start: 0,\n end: this.bytes.length\n });\n const data = jbig2Image.parseChunks(chunks);\n const dataLength = data.length;\n\n for (let i = 0; i < dataLength; i++) {\n data[i] ^= 0xff;\n }\n\n this.buffer = data;\n this.bufferLength = dataLength;\n this.eof = true;\n };\n\n return Jbig2Stream;\n}();\n\nexports.Jbig2Stream = Jbig2Stream;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Jbig2Image = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _core_utils = __w_pdfjs_require__(8);\n\nvar _arithmetic_decoder = __w_pdfjs_require__(17);\n\nvar _ccitt = __w_pdfjs_require__(14);\n\nclass Jbig2Error extends _util.BaseException {\n constructor(msg) {\n super(`JBIG2 error: ${msg}`);\n }\n\n}\n\nvar Jbig2Image = function Jbig2ImageClosure() {\n function ContextCache() {}\n\n ContextCache.prototype = {\n getContexts(id) {\n if (id in this) {\n return this[id];\n }\n\n return this[id] = new Int8Array(1 << 16);\n }\n\n };\n\n function DecodingContext(data, start, end) {\n this.data = data;\n this.start = start;\n this.end = end;\n }\n\n DecodingContext.prototype = {\n get decoder() {\n var decoder = new _arithmetic_decoder.ArithmeticDecoder(this.data, this.start, this.end);\n return (0, _util.shadow)(this, \"decoder\", decoder);\n },\n\n get contextCache() {\n var cache = new ContextCache();\n return (0, _util.shadow)(this, \"contextCache\", cache);\n }\n\n };\n\n function decodeInteger(contextCache, procedure, decoder) {\n var contexts = contextCache.getContexts(procedure);\n var prev = 1;\n\n function readBits(length) {\n var v = 0;\n\n for (var i = 0; i < length; i++) {\n var bit = decoder.readBit(contexts, prev);\n prev = prev < 256 ? prev << 1 | bit : (prev << 1 | bit) & 511 | 256;\n v = v << 1 | bit;\n }\n\n return v >>> 0;\n }\n\n var sign = readBits(1);\n var value = readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(32) + 4436 : readBits(12) + 340 : readBits(8) + 84 : readBits(6) + 20 : readBits(4) + 4 : readBits(2);\n\n if (sign === 0) {\n return value;\n } else if (value > 0) {\n return -value;\n }\n\n return null;\n }\n\n function decodeIAID(contextCache, decoder, codeLength) {\n var contexts = contextCache.getContexts(\"IAID\");\n var prev = 1;\n\n for (var i = 0; i < codeLength; i++) {\n var bit = decoder.readBit(contexts, prev);\n prev = prev << 1 | bit;\n }\n\n if (codeLength < 31) {\n return prev & (1 << codeLength) - 1;\n }\n\n return prev & 0x7fffffff;\n }\n\n var SegmentTypes = [\"SymbolDictionary\", null, null, null, \"IntermediateTextRegion\", null, \"ImmediateTextRegion\", \"ImmediateLosslessTextRegion\", null, null, null, null, null, null, null, null, \"PatternDictionary\", null, null, null, \"IntermediateHalftoneRegion\", null, \"ImmediateHalftoneRegion\", \"ImmediateLosslessHalftoneRegion\", null, null, null, null, null, null, null, null, null, null, null, null, \"IntermediateGenericRegion\", null, \"ImmediateGenericRegion\", \"ImmediateLosslessGenericRegion\", \"IntermediateGenericRefinementRegion\", null, \"ImmediateGenericRefinementRegion\", \"ImmediateLosslessGenericRefinementRegion\", null, null, null, null, \"PageInformation\", \"EndOfPage\", \"EndOfStripe\", \"EndOfFile\", \"Profiles\", \"Tables\", null, null, null, null, null, null, null, null, \"Extension\"];\n var CodingTemplates = [[{\n x: -1,\n y: -2\n }, {\n x: 0,\n y: -2\n }, {\n x: 1,\n y: -2\n }, {\n x: -2,\n y: -1\n }, {\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: 2,\n y: -1\n }, {\n x: -4,\n y: 0\n }, {\n x: -3,\n y: 0\n }, {\n x: -2,\n y: 0\n }, {\n x: -1,\n y: 0\n }], [{\n x: -1,\n y: -2\n }, {\n x: 0,\n y: -2\n }, {\n x: 1,\n y: -2\n }, {\n x: 2,\n y: -2\n }, {\n x: -2,\n y: -1\n }, {\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: 2,\n y: -1\n }, {\n x: -3,\n y: 0\n }, {\n x: -2,\n y: 0\n }, {\n x: -1,\n y: 0\n }], [{\n x: -1,\n y: -2\n }, {\n x: 0,\n y: -2\n }, {\n x: 1,\n y: -2\n }, {\n x: -2,\n y: -1\n }, {\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -2,\n y: 0\n }, {\n x: -1,\n y: 0\n }], [{\n x: -3,\n y: -1\n }, {\n x: -2,\n y: -1\n }, {\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -4,\n y: 0\n }, {\n x: -3,\n y: 0\n }, {\n x: -2,\n y: 0\n }, {\n x: -1,\n y: 0\n }]];\n var RefinementTemplates = [{\n coding: [{\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -1,\n y: 0\n }],\n reference: [{\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -1,\n y: 0\n }, {\n x: 0,\n y: 0\n }, {\n x: 1,\n y: 0\n }, {\n x: -1,\n y: 1\n }, {\n x: 0,\n y: 1\n }, {\n x: 1,\n y: 1\n }]\n }, {\n coding: [{\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -1,\n y: 0\n }],\n reference: [{\n x: 0,\n y: -1\n }, {\n x: -1,\n y: 0\n }, {\n x: 0,\n y: 0\n }, {\n x: 1,\n y: 0\n }, {\n x: 0,\n y: 1\n }, {\n x: 1,\n y: 1\n }]\n }];\n var ReusedContexts = [0x9b25, 0x0795, 0x00e5, 0x0195];\n var RefinementReusedContexts = [0x0020, 0x0008];\n\n function decodeBitmapTemplate0(width, height, decodingContext) {\n var decoder = decodingContext.decoder;\n var contexts = decodingContext.contextCache.getContexts(\"GB\");\n var contextLabel,\n i,\n j,\n pixel,\n row,\n row1,\n row2,\n bitmap = [];\n var OLD_PIXEL_MASK = 0x7bf7;\n\n for (i = 0; i < height; i++) {\n row = bitmap[i] = new Uint8Array(width);\n row1 = i < 1 ? row : bitmap[i - 1];\n row2 = i < 2 ? row : bitmap[i - 2];\n contextLabel = row2[0] << 13 | row2[1] << 12 | row2[2] << 11 | row1[0] << 7 | row1[1] << 6 | row1[2] << 5 | row1[3] << 4;\n\n for (j = 0; j < width; j++) {\n row[j] = pixel = decoder.readBit(contexts, contextLabel);\n contextLabel = (contextLabel & OLD_PIXEL_MASK) << 1 | (j + 3 < width ? row2[j + 3] << 11 : 0) | (j + 4 < width ? row1[j + 4] << 4 : 0) | pixel;\n }\n }\n\n return bitmap;\n }\n\n function decodeBitmap(mmr, width, height, templateIndex, prediction, skip, at, decodingContext) {\n if (mmr) {\n const input = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);\n return decodeMMRBitmap(input, width, height, false);\n }\n\n if (templateIndex === 0 && !skip && !prediction && at.length === 4 && at[0].x === 3 && at[0].y === -1 && at[1].x === -3 && at[1].y === -1 && at[2].x === 2 && at[2].y === -2 && at[3].x === -2 && at[3].y === -2) {\n return decodeBitmapTemplate0(width, height, decodingContext);\n }\n\n var useskip = !!skip;\n var template = CodingTemplates[templateIndex].concat(at);\n template.sort(function (a, b) {\n return a.y - b.y || a.x - b.x;\n });\n var templateLength = template.length;\n var templateX = new Int8Array(templateLength);\n var templateY = new Int8Array(templateLength);\n var changingTemplateEntries = [];\n var reuseMask = 0,\n minX = 0,\n maxX = 0,\n minY = 0;\n var c, k;\n\n for (k = 0; k < templateLength; k++) {\n templateX[k] = template[k].x;\n templateY[k] = template[k].y;\n minX = Math.min(minX, template[k].x);\n maxX = Math.max(maxX, template[k].x);\n minY = Math.min(minY, template[k].y);\n\n if (k < templateLength - 1 && template[k].y === template[k + 1].y && template[k].x === template[k + 1].x - 1) {\n reuseMask |= 1 << templateLength - 1 - k;\n } else {\n changingTemplateEntries.push(k);\n }\n }\n\n var changingEntriesLength = changingTemplateEntries.length;\n var changingTemplateX = new Int8Array(changingEntriesLength);\n var changingTemplateY = new Int8Array(changingEntriesLength);\n var changingTemplateBit = new Uint16Array(changingEntriesLength);\n\n for (c = 0; c < changingEntriesLength; c++) {\n k = changingTemplateEntries[c];\n changingTemplateX[c] = template[k].x;\n changingTemplateY[c] = template[k].y;\n changingTemplateBit[c] = 1 << templateLength - 1 - k;\n }\n\n var sbb_left = -minX;\n var sbb_top = -minY;\n var sbb_right = width - maxX;\n var pseudoPixelContext = ReusedContexts[templateIndex];\n var row = new Uint8Array(width);\n var bitmap = [];\n var decoder = decodingContext.decoder;\n var contexts = decodingContext.contextCache.getContexts(\"GB\");\n var ltp = 0,\n j,\n i0,\n j0,\n contextLabel = 0,\n bit,\n shift;\n\n for (var i = 0; i < height; i++) {\n if (prediction) {\n var sltp = decoder.readBit(contexts, pseudoPixelContext);\n ltp ^= sltp;\n\n if (ltp) {\n bitmap.push(row);\n continue;\n }\n }\n\n row = new Uint8Array(row);\n bitmap.push(row);\n\n for (j = 0; j < width; j++) {\n if (useskip && skip[i][j]) {\n row[j] = 0;\n continue;\n }\n\n if (j >= sbb_left && j < sbb_right && i >= sbb_top) {\n contextLabel = contextLabel << 1 & reuseMask;\n\n for (k = 0; k < changingEntriesLength; k++) {\n i0 = i + changingTemplateY[k];\n j0 = j + changingTemplateX[k];\n bit = bitmap[i0][j0];\n\n if (bit) {\n bit = changingTemplateBit[k];\n contextLabel |= bit;\n }\n }\n } else {\n contextLabel = 0;\n shift = templateLength - 1;\n\n for (k = 0; k < templateLength; k++, shift--) {\n j0 = j + templateX[k];\n\n if (j0 >= 0 && j0 < width) {\n i0 = i + templateY[k];\n\n if (i0 >= 0) {\n bit = bitmap[i0][j0];\n\n if (bit) {\n contextLabel |= bit << shift;\n }\n }\n }\n }\n }\n\n var pixel = decoder.readBit(contexts, contextLabel);\n row[j] = pixel;\n }\n }\n\n return bitmap;\n }\n\n function decodeRefinement(width, height, templateIndex, referenceBitmap, offsetX, offsetY, prediction, at, decodingContext) {\n var codingTemplate = RefinementTemplates[templateIndex].coding;\n\n if (templateIndex === 0) {\n codingTemplate = codingTemplate.concat([at[0]]);\n }\n\n var codingTemplateLength = codingTemplate.length;\n var codingTemplateX = new Int32Array(codingTemplateLength);\n var codingTemplateY = new Int32Array(codingTemplateLength);\n var k;\n\n for (k = 0; k < codingTemplateLength; k++) {\n codingTemplateX[k] = codingTemplate[k].x;\n codingTemplateY[k] = codingTemplate[k].y;\n }\n\n var referenceTemplate = RefinementTemplates[templateIndex].reference;\n\n if (templateIndex === 0) {\n referenceTemplate = referenceTemplate.concat([at[1]]);\n }\n\n var referenceTemplateLength = referenceTemplate.length;\n var referenceTemplateX = new Int32Array(referenceTemplateLength);\n var referenceTemplateY = new Int32Array(referenceTemplateLength);\n\n for (k = 0; k < referenceTemplateLength; k++) {\n referenceTemplateX[k] = referenceTemplate[k].x;\n referenceTemplateY[k] = referenceTemplate[k].y;\n }\n\n var referenceWidth = referenceBitmap[0].length;\n var referenceHeight = referenceBitmap.length;\n var pseudoPixelContext = RefinementReusedContexts[templateIndex];\n var bitmap = [];\n var decoder = decodingContext.decoder;\n var contexts = decodingContext.contextCache.getContexts(\"GR\");\n var ltp = 0;\n\n for (var i = 0; i < height; i++) {\n if (prediction) {\n var sltp = decoder.readBit(contexts, pseudoPixelContext);\n ltp ^= sltp;\n\n if (ltp) {\n throw new Jbig2Error(\"prediction is not supported\");\n }\n }\n\n var row = new Uint8Array(width);\n bitmap.push(row);\n\n for (var j = 0; j < width; j++) {\n var i0, j0;\n var contextLabel = 0;\n\n for (k = 0; k < codingTemplateLength; k++) {\n i0 = i + codingTemplateY[k];\n j0 = j + codingTemplateX[k];\n\n if (i0 < 0 || j0 < 0 || j0 >= width) {\n contextLabel <<= 1;\n } else {\n contextLabel = contextLabel << 1 | bitmap[i0][j0];\n }\n }\n\n for (k = 0; k < referenceTemplateLength; k++) {\n i0 = i + referenceTemplateY[k] - offsetY;\n j0 = j + referenceTemplateX[k] - offsetX;\n\n if (i0 < 0 || i0 >= referenceHeight || j0 < 0 || j0 >= referenceWidth) {\n contextLabel <<= 1;\n } else {\n contextLabel = contextLabel << 1 | referenceBitmap[i0][j0];\n }\n }\n\n var pixel = decoder.readBit(contexts, contextLabel);\n row[j] = pixel;\n }\n }\n\n return bitmap;\n }\n\n function decodeSymbolDictionary(huffman, refinement, symbols, numberOfNewSymbols, numberOfExportedSymbols, huffmanTables, templateIndex, at, refinementTemplateIndex, refinementAt, decodingContext, huffmanInput) {\n if (huffman && refinement) {\n throw new Jbig2Error(\"symbol refinement with Huffman is not supported\");\n }\n\n var newSymbols = [];\n var currentHeight = 0;\n var symbolCodeLength = (0, _core_utils.log2)(symbols.length + numberOfNewSymbols);\n var decoder = decodingContext.decoder;\n var contextCache = decodingContext.contextCache;\n let tableB1, symbolWidths;\n\n if (huffman) {\n tableB1 = getStandardTable(1);\n symbolWidths = [];\n symbolCodeLength = Math.max(symbolCodeLength, 1);\n }\n\n while (newSymbols.length < numberOfNewSymbols) {\n var deltaHeight = huffman ? huffmanTables.tableDeltaHeight.decode(huffmanInput) : decodeInteger(contextCache, \"IADH\", decoder);\n currentHeight += deltaHeight;\n let currentWidth = 0,\n totalWidth = 0;\n const firstSymbol = huffman ? symbolWidths.length : 0;\n\n while (true) {\n var deltaWidth = huffman ? huffmanTables.tableDeltaWidth.decode(huffmanInput) : decodeInteger(contextCache, \"IADW\", decoder);\n\n if (deltaWidth === null) {\n break;\n }\n\n currentWidth += deltaWidth;\n totalWidth += currentWidth;\n var bitmap;\n\n if (refinement) {\n var numberOfInstances = decodeInteger(contextCache, \"IAAI\", decoder);\n\n if (numberOfInstances > 1) {\n bitmap = decodeTextRegion(huffman, refinement, currentWidth, currentHeight, 0, numberOfInstances, 1, symbols.concat(newSymbols), symbolCodeLength, 0, 0, 1, 0, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext, 0, huffmanInput);\n } else {\n var symbolId = decodeIAID(contextCache, decoder, symbolCodeLength);\n var rdx = decodeInteger(contextCache, \"IARDX\", decoder);\n var rdy = decodeInteger(contextCache, \"IARDY\", decoder);\n var symbol = symbolId < symbols.length ? symbols[symbolId] : newSymbols[symbolId - symbols.length];\n bitmap = decodeRefinement(currentWidth, currentHeight, refinementTemplateIndex, symbol, rdx, rdy, false, refinementAt, decodingContext);\n }\n\n newSymbols.push(bitmap);\n } else if (huffman) {\n symbolWidths.push(currentWidth);\n } else {\n bitmap = decodeBitmap(false, currentWidth, currentHeight, templateIndex, false, null, at, decodingContext);\n newSymbols.push(bitmap);\n }\n }\n\n if (huffman && !refinement) {\n const bitmapSize = huffmanTables.tableBitmapSize.decode(huffmanInput);\n huffmanInput.byteAlign();\n let collectiveBitmap;\n\n if (bitmapSize === 0) {\n collectiveBitmap = readUncompressedBitmap(huffmanInput, totalWidth, currentHeight);\n } else {\n const originalEnd = huffmanInput.end;\n const bitmapEnd = huffmanInput.position + bitmapSize;\n huffmanInput.end = bitmapEnd;\n collectiveBitmap = decodeMMRBitmap(huffmanInput, totalWidth, currentHeight, false);\n huffmanInput.end = originalEnd;\n huffmanInput.position = bitmapEnd;\n }\n\n const numberOfSymbolsDecoded = symbolWidths.length;\n\n if (firstSymbol === numberOfSymbolsDecoded - 1) {\n newSymbols.push(collectiveBitmap);\n } else {\n let i,\n y,\n xMin = 0,\n xMax,\n bitmapWidth,\n symbolBitmap;\n\n for (i = firstSymbol; i < numberOfSymbolsDecoded; i++) {\n bitmapWidth = symbolWidths[i];\n xMax = xMin + bitmapWidth;\n symbolBitmap = [];\n\n for (y = 0; y < currentHeight; y++) {\n symbolBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));\n }\n\n newSymbols.push(symbolBitmap);\n xMin = xMax;\n }\n }\n }\n }\n\n var exportedSymbols = [];\n var flags = [],\n currentFlag = false;\n var totalSymbolsLength = symbols.length + numberOfNewSymbols;\n\n while (flags.length < totalSymbolsLength) {\n var runLength = huffman ? tableB1.decode(huffmanInput) : decodeInteger(contextCache, \"IAEX\", decoder);\n\n while (runLength--) {\n flags.push(currentFlag);\n }\n\n currentFlag = !currentFlag;\n }\n\n for (var i = 0, ii = symbols.length; i < ii; i++) {\n if (flags[i]) {\n exportedSymbols.push(symbols[i]);\n }\n }\n\n for (var j = 0; j < numberOfNewSymbols; i++, j++) {\n if (flags[i]) {\n exportedSymbols.push(newSymbols[j]);\n }\n }\n\n return exportedSymbols;\n }\n\n function decodeTextRegion(huffman, refinement, width, height, defaultPixelValue, numberOfSymbolInstances, stripSize, inputSymbols, symbolCodeLength, transposed, dsOffset, referenceCorner, combinationOperator, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext, logStripSize, huffmanInput) {\n if (huffman && refinement) {\n throw new Jbig2Error(\"refinement with Huffman is not supported\");\n }\n\n var bitmap = [];\n var i, row;\n\n for (i = 0; i < height; i++) {\n row = new Uint8Array(width);\n\n if (defaultPixelValue) {\n for (var j = 0; j < width; j++) {\n row[j] = defaultPixelValue;\n }\n }\n\n bitmap.push(row);\n }\n\n var decoder = decodingContext.decoder;\n var contextCache = decodingContext.contextCache;\n var stripT = huffman ? -huffmanTables.tableDeltaT.decode(huffmanInput) : -decodeInteger(contextCache, \"IADT\", decoder);\n var firstS = 0;\n i = 0;\n\n while (i < numberOfSymbolInstances) {\n var deltaT = huffman ? huffmanTables.tableDeltaT.decode(huffmanInput) : decodeInteger(contextCache, \"IADT\", decoder);\n stripT += deltaT;\n var deltaFirstS = huffman ? huffmanTables.tableFirstS.decode(huffmanInput) : decodeInteger(contextCache, \"IAFS\", decoder);\n firstS += deltaFirstS;\n var currentS = firstS;\n\n do {\n let currentT = 0;\n\n if (stripSize > 1) {\n currentT = huffman ? huffmanInput.readBits(logStripSize) : decodeInteger(contextCache, \"IAIT\", decoder);\n }\n\n var t = stripSize * stripT + currentT;\n var symbolId = huffman ? huffmanTables.symbolIDTable.decode(huffmanInput) : decodeIAID(contextCache, decoder, symbolCodeLength);\n var applyRefinement = refinement && (huffman ? huffmanInput.readBit() : decodeInteger(contextCache, \"IARI\", decoder));\n var symbolBitmap = inputSymbols[symbolId];\n var symbolWidth = symbolBitmap[0].length;\n var symbolHeight = symbolBitmap.length;\n\n if (applyRefinement) {\n var rdw = decodeInteger(contextCache, \"IARDW\", decoder);\n var rdh = decodeInteger(contextCache, \"IARDH\", decoder);\n var rdx = decodeInteger(contextCache, \"IARDX\", decoder);\n var rdy = decodeInteger(contextCache, \"IARDY\", decoder);\n symbolWidth += rdw;\n symbolHeight += rdh;\n symbolBitmap = decodeRefinement(symbolWidth, symbolHeight, refinementTemplateIndex, symbolBitmap, (rdw >> 1) + rdx, (rdh >> 1) + rdy, false, refinementAt, decodingContext);\n }\n\n var offsetT = t - (referenceCorner & 1 ? 0 : symbolHeight - 1);\n var offsetS = currentS - (referenceCorner & 2 ? symbolWidth - 1 : 0);\n var s2, t2, symbolRow;\n\n if (transposed) {\n for (s2 = 0; s2 < symbolHeight; s2++) {\n row = bitmap[offsetS + s2];\n\n if (!row) {\n continue;\n }\n\n symbolRow = symbolBitmap[s2];\n var maxWidth = Math.min(width - offsetT, symbolWidth);\n\n switch (combinationOperator) {\n case 0:\n for (t2 = 0; t2 < maxWidth; t2++) {\n row[offsetT + t2] |= symbolRow[t2];\n }\n\n break;\n\n case 2:\n for (t2 = 0; t2 < maxWidth; t2++) {\n row[offsetT + t2] ^= symbolRow[t2];\n }\n\n break;\n\n default:\n throw new Jbig2Error(`operator ${combinationOperator} is not supported`);\n }\n }\n\n currentS += symbolHeight - 1;\n } else {\n for (t2 = 0; t2 < symbolHeight; t2++) {\n row = bitmap[offsetT + t2];\n\n if (!row) {\n continue;\n }\n\n symbolRow = symbolBitmap[t2];\n\n switch (combinationOperator) {\n case 0:\n for (s2 = 0; s2 < symbolWidth; s2++) {\n row[offsetS + s2] |= symbolRow[s2];\n }\n\n break;\n\n case 2:\n for (s2 = 0; s2 < symbolWidth; s2++) {\n row[offsetS + s2] ^= symbolRow[s2];\n }\n\n break;\n\n default:\n throw new Jbig2Error(`operator ${combinationOperator} is not supported`);\n }\n }\n\n currentS += symbolWidth - 1;\n }\n\n i++;\n var deltaS = huffman ? huffmanTables.tableDeltaS.decode(huffmanInput) : decodeInteger(contextCache, \"IADS\", decoder);\n\n if (deltaS === null) {\n break;\n }\n\n currentS += deltaS + dsOffset;\n } while (true);\n }\n\n return bitmap;\n }\n\n function decodePatternDictionary(mmr, patternWidth, patternHeight, maxPatternIndex, template, decodingContext) {\n const at = [];\n\n if (!mmr) {\n at.push({\n x: -patternWidth,\n y: 0\n });\n\n if (template === 0) {\n at.push({\n x: -3,\n y: -1\n });\n at.push({\n x: 2,\n y: -2\n });\n at.push({\n x: -2,\n y: -2\n });\n }\n }\n\n const collectiveWidth = (maxPatternIndex + 1) * patternWidth;\n const collectiveBitmap = decodeBitmap(mmr, collectiveWidth, patternHeight, template, false, null, at, decodingContext);\n const patterns = [];\n\n for (let i = 0; i <= maxPatternIndex; i++) {\n const patternBitmap = [];\n const xMin = patternWidth * i;\n const xMax = xMin + patternWidth;\n\n for (let y = 0; y < patternHeight; y++) {\n patternBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));\n }\n\n patterns.push(patternBitmap);\n }\n\n return patterns;\n }\n\n function decodeHalftoneRegion(mmr, patterns, template, regionWidth, regionHeight, defaultPixelValue, enableSkip, combinationOperator, gridWidth, gridHeight, gridOffsetX, gridOffsetY, gridVectorX, gridVectorY, decodingContext) {\n const skip = null;\n\n if (enableSkip) {\n throw new Jbig2Error(\"skip is not supported\");\n }\n\n if (combinationOperator !== 0) {\n throw new Jbig2Error(\"operator \" + combinationOperator + \" is not supported in halftone region\");\n }\n\n const regionBitmap = [];\n let i, j, row;\n\n for (i = 0; i < regionHeight; i++) {\n row = new Uint8Array(regionWidth);\n\n if (defaultPixelValue) {\n for (j = 0; j < regionWidth; j++) {\n row[j] = defaultPixelValue;\n }\n }\n\n regionBitmap.push(row);\n }\n\n const numberOfPatterns = patterns.length;\n const pattern0 = patterns[0];\n const patternWidth = pattern0[0].length,\n patternHeight = pattern0.length;\n const bitsPerValue = (0, _core_utils.log2)(numberOfPatterns);\n const at = [];\n\n if (!mmr) {\n at.push({\n x: template <= 1 ? 3 : 2,\n y: -1\n });\n\n if (template === 0) {\n at.push({\n x: -3,\n y: -1\n });\n at.push({\n x: 2,\n y: -2\n });\n at.push({\n x: -2,\n y: -2\n });\n }\n }\n\n const grayScaleBitPlanes = [];\n let mmrInput, bitmap;\n\n if (mmr) {\n mmrInput = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);\n }\n\n for (i = bitsPerValue - 1; i >= 0; i--) {\n if (mmr) {\n bitmap = decodeMMRBitmap(mmrInput, gridWidth, gridHeight, true);\n } else {\n bitmap = decodeBitmap(false, gridWidth, gridHeight, template, false, skip, at, decodingContext);\n }\n\n grayScaleBitPlanes[i] = bitmap;\n }\n\n let mg, ng, bit, patternIndex, patternBitmap, x, y, patternRow, regionRow;\n\n for (mg = 0; mg < gridHeight; mg++) {\n for (ng = 0; ng < gridWidth; ng++) {\n bit = 0;\n patternIndex = 0;\n\n for (j = bitsPerValue - 1; j >= 0; j--) {\n bit = grayScaleBitPlanes[j][mg][ng] ^ bit;\n patternIndex |= bit << j;\n }\n\n patternBitmap = patterns[patternIndex];\n x = gridOffsetX + mg * gridVectorY + ng * gridVectorX >> 8;\n y = gridOffsetY + mg * gridVectorX - ng * gridVectorY >> 8;\n\n if (x >= 0 && x + patternWidth <= regionWidth && y >= 0 && y + patternHeight <= regionHeight) {\n for (i = 0; i < patternHeight; i++) {\n regionRow = regionBitmap[y + i];\n patternRow = patternBitmap[i];\n\n for (j = 0; j < patternWidth; j++) {\n regionRow[x + j] |= patternRow[j];\n }\n }\n } else {\n let regionX, regionY;\n\n for (i = 0; i < patternHeight; i++) {\n regionY = y + i;\n\n if (regionY < 0 || regionY >= regionHeight) {\n continue;\n }\n\n regionRow = regionBitmap[regionY];\n patternRow = patternBitmap[i];\n\n for (j = 0; j < patternWidth; j++) {\n regionX = x + j;\n\n if (regionX >= 0 && regionX < regionWidth) {\n regionRow[regionX] |= patternRow[j];\n }\n }\n }\n }\n }\n }\n\n return regionBitmap;\n }\n\n function readSegmentHeader(data, start) {\n var segmentHeader = {};\n segmentHeader.number = (0, _core_utils.readUint32)(data, start);\n var flags = data[start + 4];\n var segmentType = flags & 0x3f;\n\n if (!SegmentTypes[segmentType]) {\n throw new Jbig2Error(\"invalid segment type: \" + segmentType);\n }\n\n segmentHeader.type = segmentType;\n segmentHeader.typeName = SegmentTypes[segmentType];\n segmentHeader.deferredNonRetain = !!(flags & 0x80);\n var pageAssociationFieldSize = !!(flags & 0x40);\n var referredFlags = data[start + 5];\n var referredToCount = referredFlags >> 5 & 7;\n var retainBits = [referredFlags & 31];\n var position = start + 6;\n\n if (referredFlags === 7) {\n referredToCount = (0, _core_utils.readUint32)(data, position - 1) & 0x1fffffff;\n position += 3;\n var bytes = referredToCount + 7 >> 3;\n retainBits[0] = data[position++];\n\n while (--bytes > 0) {\n retainBits.push(data[position++]);\n }\n } else if (referredFlags === 5 || referredFlags === 6) {\n throw new Jbig2Error(\"invalid referred-to flags\");\n }\n\n segmentHeader.retainBits = retainBits;\n let referredToSegmentNumberSize = 4;\n\n if (segmentHeader.number <= 256) {\n referredToSegmentNumberSize = 1;\n } else if (segmentHeader.number <= 65536) {\n referredToSegmentNumberSize = 2;\n }\n\n var referredTo = [];\n var i, ii;\n\n for (i = 0; i < referredToCount; i++) {\n let number;\n\n if (referredToSegmentNumberSize === 1) {\n number = data[position];\n } else if (referredToSegmentNumberSize === 2) {\n number = (0, _core_utils.readUint16)(data, position);\n } else {\n number = (0, _core_utils.readUint32)(data, position);\n }\n\n referredTo.push(number);\n position += referredToSegmentNumberSize;\n }\n\n segmentHeader.referredTo = referredTo;\n\n if (!pageAssociationFieldSize) {\n segmentHeader.pageAssociation = data[position++];\n } else {\n segmentHeader.pageAssociation = (0, _core_utils.readUint32)(data, position);\n position += 4;\n }\n\n segmentHeader.length = (0, _core_utils.readUint32)(data, position);\n position += 4;\n\n if (segmentHeader.length === 0xffffffff) {\n if (segmentType === 38) {\n var genericRegionInfo = readRegionSegmentInformation(data, position);\n var genericRegionSegmentFlags = data[position + RegionSegmentInformationFieldLength];\n var genericRegionMmr = !!(genericRegionSegmentFlags & 1);\n var searchPatternLength = 6;\n var searchPattern = new Uint8Array(searchPatternLength);\n\n if (!genericRegionMmr) {\n searchPattern[0] = 0xff;\n searchPattern[1] = 0xac;\n }\n\n searchPattern[2] = genericRegionInfo.height >>> 24 & 0xff;\n searchPattern[3] = genericRegionInfo.height >> 16 & 0xff;\n searchPattern[4] = genericRegionInfo.height >> 8 & 0xff;\n searchPattern[5] = genericRegionInfo.height & 0xff;\n\n for (i = position, ii = data.length; i < ii; i++) {\n var j = 0;\n\n while (j < searchPatternLength && searchPattern[j] === data[i + j]) {\n j++;\n }\n\n if (j === searchPatternLength) {\n segmentHeader.length = i + searchPatternLength;\n break;\n }\n }\n\n if (segmentHeader.length === 0xffffffff) {\n throw new Jbig2Error(\"segment end was not found\");\n }\n } else {\n throw new Jbig2Error(\"invalid unknown segment length\");\n }\n }\n\n segmentHeader.headerEnd = position;\n return segmentHeader;\n }\n\n function readSegments(header, data, start, end) {\n var segments = [];\n var position = start;\n\n while (position < end) {\n var segmentHeader = readSegmentHeader(data, position);\n position = segmentHeader.headerEnd;\n var segment = {\n header: segmentHeader,\n data\n };\n\n if (!header.randomAccess) {\n segment.start = position;\n position += segmentHeader.length;\n segment.end = position;\n }\n\n segments.push(segment);\n\n if (segmentHeader.type === 51) {\n break;\n }\n }\n\n if (header.randomAccess) {\n for (var i = 0, ii = segments.length; i < ii; i++) {\n segments[i].start = position;\n position += segments[i].header.length;\n segments[i].end = position;\n }\n }\n\n return segments;\n }\n\n function readRegionSegmentInformation(data, start) {\n return {\n width: (0, _core_utils.readUint32)(data, start),\n height: (0, _core_utils.readUint32)(data, start + 4),\n x: (0, _core_utils.readUint32)(data, start + 8),\n y: (0, _core_utils.readUint32)(data, start + 12),\n combinationOperator: data[start + 16] & 7\n };\n }\n\n var RegionSegmentInformationFieldLength = 17;\n\n function processSegment(segment, visitor) {\n var header = segment.header;\n var data = segment.data,\n position = segment.start,\n end = segment.end;\n var args, at, i, atLength;\n\n switch (header.type) {\n case 0:\n var dictionary = {};\n var dictionaryFlags = (0, _core_utils.readUint16)(data, position);\n dictionary.huffman = !!(dictionaryFlags & 1);\n dictionary.refinement = !!(dictionaryFlags & 2);\n dictionary.huffmanDHSelector = dictionaryFlags >> 2 & 3;\n dictionary.huffmanDWSelector = dictionaryFlags >> 4 & 3;\n dictionary.bitmapSizeSelector = dictionaryFlags >> 6 & 1;\n dictionary.aggregationInstancesSelector = dictionaryFlags >> 7 & 1;\n dictionary.bitmapCodingContextUsed = !!(dictionaryFlags & 256);\n dictionary.bitmapCodingContextRetained = !!(dictionaryFlags & 512);\n dictionary.template = dictionaryFlags >> 10 & 3;\n dictionary.refinementTemplate = dictionaryFlags >> 12 & 1;\n position += 2;\n\n if (!dictionary.huffman) {\n atLength = dictionary.template === 0 ? 4 : 1;\n at = [];\n\n for (i = 0; i < atLength; i++) {\n at.push({\n x: (0, _core_utils.readInt8)(data, position),\n y: (0, _core_utils.readInt8)(data, position + 1)\n });\n position += 2;\n }\n\n dictionary.at = at;\n }\n\n if (dictionary.refinement && !dictionary.refinementTemplate) {\n at = [];\n\n for (i = 0; i < 2; i++) {\n at.push({\n x: (0, _core_utils.readInt8)(data, position),\n y: (0, _core_utils.readInt8)(data, position + 1)\n });\n position += 2;\n }\n\n dictionary.refinementAt = at;\n }\n\n dictionary.numberOfExportedSymbols = (0, _core_utils.readUint32)(data, position);\n position += 4;\n dictionary.numberOfNewSymbols = (0, _core_utils.readUint32)(data, position);\n position += 4;\n args = [dictionary, header.number, header.referredTo, data, position, end];\n break;\n\n case 6:\n case 7:\n var textRegion = {};\n textRegion.info = readRegionSegmentInformation(data, position);\n position += RegionSegmentInformationFieldLength;\n var textRegionSegmentFlags = (0, _core_utils.readUint16)(data, position);\n position += 2;\n textRegion.huffman = !!(textRegionSegmentFlags & 1);\n textRegion.refinement = !!(textRegionSegmentFlags & 2);\n textRegion.logStripSize = textRegionSegmentFlags >> 2 & 3;\n textRegion.stripSize = 1 << textRegion.logStripSize;\n textRegion.referenceCorner = textRegionSegmentFlags >> 4 & 3;\n textRegion.transposed = !!(textRegionSegmentFlags & 64);\n textRegion.combinationOperator = textRegionSegmentFlags >> 7 & 3;\n textRegion.defaultPixelValue = textRegionSegmentFlags >> 9 & 1;\n textRegion.dsOffset = textRegionSegmentFlags << 17 >> 27;\n textRegion.refinementTemplate = textRegionSegmentFlags >> 15 & 1;\n\n if (textRegion.huffman) {\n var textRegionHuffmanFlags = (0, _core_utils.readUint16)(data, position);\n position += 2;\n textRegion.huffmanFS = textRegionHuffmanFlags & 3;\n textRegion.huffmanDS = textRegionHuffmanFlags >> 2 & 3;\n textRegion.huffmanDT = textRegionHuffmanFlags >> 4 & 3;\n textRegion.huffmanRefinementDW = textRegionHuffmanFlags >> 6 & 3;\n textRegion.huffmanRefinementDH = textRegionHuffmanFlags >> 8 & 3;\n textRegion.huffmanRefinementDX = textRegionHuffmanFlags >> 10 & 3;\n textRegion.huffmanRefinementDY = textRegionHuffmanFlags >> 12 & 3;\n textRegion.huffmanRefinementSizeSelector = !!(textRegionHuffmanFlags & 0x4000);\n }\n\n if (textRegion.refinement && !textRegion.refinementTemplate) {\n at = [];\n\n for (i = 0; i < 2; i++) {\n at.push({\n x: (0, _core_utils.readInt8)(data, position),\n y: (0, _core_utils.readInt8)(data, position + 1)\n });\n position += 2;\n }\n\n textRegion.refinementAt = at;\n }\n\n textRegion.numberOfSymbolInstances = (0, _core_utils.readUint32)(data, position);\n position += 4;\n args = [textRegion, header.referredTo, data, position, end];\n break;\n\n case 16:\n const patternDictionary = {};\n const patternDictionaryFlags = data[position++];\n patternDictionary.mmr = !!(patternDictionaryFlags & 1);\n patternDictionary.template = patternDictionaryFlags >> 1 & 3;\n patternDictionary.patternWidth = data[position++];\n patternDictionary.patternHeight = data[position++];\n patternDictionary.maxPatternIndex = (0, _core_utils.readUint32)(data, position);\n position += 4;\n args = [patternDictionary, header.number, data, position, end];\n break;\n\n case 22:\n case 23:\n const halftoneRegion = {};\n halftoneRegion.info = readRegionSegmentInformation(data, position);\n position += RegionSegmentInformationFieldLength;\n const halftoneRegionFlags = data[position++];\n halftoneRegion.mmr = !!(halftoneRegionFlags & 1);\n halftoneRegion.template = halftoneRegionFlags >> 1 & 3;\n halftoneRegion.enableSkip = !!(halftoneRegionFlags & 8);\n halftoneRegion.combinationOperator = halftoneRegionFlags >> 4 & 7;\n halftoneRegion.defaultPixelValue = halftoneRegionFlags >> 7 & 1;\n halftoneRegion.gridWidth = (0, _core_utils.readUint32)(data, position);\n position += 4;\n halftoneRegion.gridHeight = (0, _core_utils.readUint32)(data, position);\n position += 4;\n halftoneRegion.gridOffsetX = (0, _core_utils.readUint32)(data, position) & 0xffffffff;\n position += 4;\n halftoneRegion.gridOffsetY = (0, _core_utils.readUint32)(data, position) & 0xffffffff;\n position += 4;\n halftoneRegion.gridVectorX = (0, _core_utils.readUint16)(data, position);\n position += 2;\n halftoneRegion.gridVectorY = (0, _core_utils.readUint16)(data, position);\n position += 2;\n args = [halftoneRegion, header.referredTo, data, position, end];\n break;\n\n case 38:\n case 39:\n var genericRegion = {};\n genericRegion.info = readRegionSegmentInformation(data, position);\n position += RegionSegmentInformationFieldLength;\n var genericRegionSegmentFlags = data[position++];\n genericRegion.mmr = !!(genericRegionSegmentFlags & 1);\n genericRegion.template = genericRegionSegmentFlags >> 1 & 3;\n genericRegion.prediction = !!(genericRegionSegmentFlags & 8);\n\n if (!genericRegion.mmr) {\n atLength = genericRegion.template === 0 ? 4 : 1;\n at = [];\n\n for (i = 0; i < atLength; i++) {\n at.push({\n x: (0, _core_utils.readInt8)(data, position),\n y: (0, _core_utils.readInt8)(data, position + 1)\n });\n position += 2;\n }\n\n genericRegion.at = at;\n }\n\n args = [genericRegion, data, position, end];\n break;\n\n case 48:\n var pageInfo = {\n width: (0, _core_utils.readUint32)(data, position),\n height: (0, _core_utils.readUint32)(data, position + 4),\n resolutionX: (0, _core_utils.readUint32)(data, position + 8),\n resolutionY: (0, _core_utils.readUint32)(data, position + 12)\n };\n\n if (pageInfo.height === 0xffffffff) {\n delete pageInfo.height;\n }\n\n var pageSegmentFlags = data[position + 16];\n (0, _core_utils.readUint16)(data, position + 17);\n pageInfo.lossless = !!(pageSegmentFlags & 1);\n pageInfo.refinement = !!(pageSegmentFlags & 2);\n pageInfo.defaultPixelValue = pageSegmentFlags >> 2 & 1;\n pageInfo.combinationOperator = pageSegmentFlags >> 3 & 3;\n pageInfo.requiresBuffer = !!(pageSegmentFlags & 32);\n pageInfo.combinationOperatorOverride = !!(pageSegmentFlags & 64);\n args = [pageInfo];\n break;\n\n case 49:\n break;\n\n case 50:\n break;\n\n case 51:\n break;\n\n case 53:\n args = [header.number, data, position, end];\n break;\n\n case 62:\n break;\n\n default:\n throw new Jbig2Error(`segment type ${header.typeName}(${header.type})` + \" is not implemented\");\n }\n\n var callbackName = \"on\" + header.typeName;\n\n if (callbackName in visitor) {\n visitor[callbackName].apply(visitor, args);\n }\n }\n\n function processSegments(segments, visitor) {\n for (var i = 0, ii = segments.length; i < ii; i++) {\n processSegment(segments[i], visitor);\n }\n }\n\n function parseJbig2Chunks(chunks) {\n var visitor = new SimpleSegmentVisitor();\n\n for (var i = 0, ii = chunks.length; i < ii; i++) {\n var chunk = chunks[i];\n var segments = readSegments({}, chunk.data, chunk.start, chunk.end);\n processSegments(segments, visitor);\n }\n\n return visitor.buffer;\n }\n\n function parseJbig2(data) {\n const end = data.length;\n let position = 0;\n\n if (data[position] !== 0x97 || data[position + 1] !== 0x4a || data[position + 2] !== 0x42 || data[position + 3] !== 0x32 || data[position + 4] !== 0x0d || data[position + 5] !== 0x0a || data[position + 6] !== 0x1a || data[position + 7] !== 0x0a) {\n throw new Jbig2Error(\"parseJbig2 - invalid header.\");\n }\n\n const header = Object.create(null);\n position += 8;\n const flags = data[position++];\n header.randomAccess = !(flags & 1);\n\n if (!(flags & 2)) {\n header.numberOfPages = (0, _core_utils.readUint32)(data, position);\n position += 4;\n }\n\n const segments = readSegments(header, data, position, end);\n const visitor = new SimpleSegmentVisitor();\n processSegments(segments, visitor);\n const {\n width,\n height\n } = visitor.currentPageInfo;\n const bitPacked = visitor.buffer;\n const imgData = new Uint8ClampedArray(width * height);\n let q = 0,\n k = 0;\n\n for (let i = 0; i < height; i++) {\n let mask = 0,\n buffer;\n\n for (let j = 0; j < width; j++) {\n if (!mask) {\n mask = 128;\n buffer = bitPacked[k++];\n }\n\n imgData[q++] = buffer & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n return {\n imgData,\n width,\n height\n };\n }\n\n function SimpleSegmentVisitor() {}\n\n SimpleSegmentVisitor.prototype = {\n onPageInformation: function SimpleSegmentVisitor_onPageInformation(info) {\n this.currentPageInfo = info;\n var rowSize = info.width + 7 >> 3;\n var buffer = new Uint8ClampedArray(rowSize * info.height);\n\n if (info.defaultPixelValue) {\n for (var i = 0, ii = buffer.length; i < ii; i++) {\n buffer[i] = 0xff;\n }\n }\n\n this.buffer = buffer;\n },\n drawBitmap: function SimpleSegmentVisitor_drawBitmap(regionInfo, bitmap) {\n var pageInfo = this.currentPageInfo;\n var width = regionInfo.width,\n height = regionInfo.height;\n var rowSize = pageInfo.width + 7 >> 3;\n var combinationOperator = pageInfo.combinationOperatorOverride ? regionInfo.combinationOperator : pageInfo.combinationOperator;\n var buffer = this.buffer;\n var mask0 = 128 >> (regionInfo.x & 7);\n var offset0 = regionInfo.y * rowSize + (regionInfo.x >> 3);\n var i, j, mask, offset;\n\n switch (combinationOperator) {\n case 0:\n for (i = 0; i < height; i++) {\n mask = mask0;\n offset = offset0;\n\n for (j = 0; j < width; j++) {\n if (bitmap[i][j]) {\n buffer[offset] |= mask;\n }\n\n mask >>= 1;\n\n if (!mask) {\n mask = 128;\n offset++;\n }\n }\n\n offset0 += rowSize;\n }\n\n break;\n\n case 2:\n for (i = 0; i < height; i++) {\n mask = mask0;\n offset = offset0;\n\n for (j = 0; j < width; j++) {\n if (bitmap[i][j]) {\n buffer[offset] ^= mask;\n }\n\n mask >>= 1;\n\n if (!mask) {\n mask = 128;\n offset++;\n }\n }\n\n offset0 += rowSize;\n }\n\n break;\n\n default:\n throw new Jbig2Error(`operator ${combinationOperator} is not supported`);\n }\n },\n onImmediateGenericRegion: function SimpleSegmentVisitor_onImmediateGenericRegion(region, data, start, end) {\n var regionInfo = region.info;\n var decodingContext = new DecodingContext(data, start, end);\n var bitmap = decodeBitmap(region.mmr, regionInfo.width, regionInfo.height, region.template, region.prediction, null, region.at, decodingContext);\n this.drawBitmap(regionInfo, bitmap);\n },\n onImmediateLosslessGenericRegion: function SimpleSegmentVisitor_onImmediateLosslessGenericRegion() {\n this.onImmediateGenericRegion.apply(this, arguments);\n },\n onSymbolDictionary: function SimpleSegmentVisitor_onSymbolDictionary(dictionary, currentSegment, referredSegments, data, start, end) {\n let huffmanTables, huffmanInput;\n\n if (dictionary.huffman) {\n huffmanTables = getSymbolDictionaryHuffmanTables(dictionary, referredSegments, this.customTables);\n huffmanInput = new Reader(data, start, end);\n }\n\n var symbols = this.symbols;\n\n if (!symbols) {\n this.symbols = symbols = {};\n }\n\n var inputSymbols = [];\n\n for (var i = 0, ii = referredSegments.length; i < ii; i++) {\n const referredSymbols = symbols[referredSegments[i]];\n\n if (referredSymbols) {\n inputSymbols = inputSymbols.concat(referredSymbols);\n }\n }\n\n var decodingContext = new DecodingContext(data, start, end);\n symbols[currentSegment] = decodeSymbolDictionary(dictionary.huffman, dictionary.refinement, inputSymbols, dictionary.numberOfNewSymbols, dictionary.numberOfExportedSymbols, huffmanTables, dictionary.template, dictionary.at, dictionary.refinementTemplate, dictionary.refinementAt, decodingContext, huffmanInput);\n },\n onImmediateTextRegion: function SimpleSegmentVisitor_onImmediateTextRegion(region, referredSegments, data, start, end) {\n var regionInfo = region.info;\n let huffmanTables, huffmanInput;\n var symbols = this.symbols;\n var inputSymbols = [];\n\n for (var i = 0, ii = referredSegments.length; i < ii; i++) {\n const referredSymbols = symbols[referredSegments[i]];\n\n if (referredSymbols) {\n inputSymbols = inputSymbols.concat(referredSymbols);\n }\n }\n\n var symbolCodeLength = (0, _core_utils.log2)(inputSymbols.length);\n\n if (region.huffman) {\n huffmanInput = new Reader(data, start, end);\n huffmanTables = getTextRegionHuffmanTables(region, referredSegments, this.customTables, inputSymbols.length, huffmanInput);\n }\n\n var decodingContext = new DecodingContext(data, start, end);\n var bitmap = decodeTextRegion(region.huffman, region.refinement, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.numberOfSymbolInstances, region.stripSize, inputSymbols, symbolCodeLength, region.transposed, region.dsOffset, region.referenceCorner, region.combinationOperator, huffmanTables, region.refinementTemplate, region.refinementAt, decodingContext, region.logStripSize, huffmanInput);\n this.drawBitmap(regionInfo, bitmap);\n },\n onImmediateLosslessTextRegion: function SimpleSegmentVisitor_onImmediateLosslessTextRegion() {\n this.onImmediateTextRegion.apply(this, arguments);\n },\n\n onPatternDictionary(dictionary, currentSegment, data, start, end) {\n let patterns = this.patterns;\n\n if (!patterns) {\n this.patterns = patterns = {};\n }\n\n const decodingContext = new DecodingContext(data, start, end);\n patterns[currentSegment] = decodePatternDictionary(dictionary.mmr, dictionary.patternWidth, dictionary.patternHeight, dictionary.maxPatternIndex, dictionary.template, decodingContext);\n },\n\n onImmediateHalftoneRegion(region, referredSegments, data, start, end) {\n const patterns = this.patterns[referredSegments[0]];\n const regionInfo = region.info;\n const decodingContext = new DecodingContext(data, start, end);\n const bitmap = decodeHalftoneRegion(region.mmr, patterns, region.template, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.enableSkip, region.combinationOperator, region.gridWidth, region.gridHeight, region.gridOffsetX, region.gridOffsetY, region.gridVectorX, region.gridVectorY, decodingContext);\n this.drawBitmap(regionInfo, bitmap);\n },\n\n onImmediateLosslessHalftoneRegion() {\n this.onImmediateHalftoneRegion.apply(this, arguments);\n },\n\n onTables(currentSegment, data, start, end) {\n let customTables = this.customTables;\n\n if (!customTables) {\n this.customTables = customTables = {};\n }\n\n customTables[currentSegment] = decodeTablesSegment(data, start, end);\n }\n\n };\n\n function HuffmanLine(lineData) {\n if (lineData.length === 2) {\n this.isOOB = true;\n this.rangeLow = 0;\n this.prefixLength = lineData[0];\n this.rangeLength = 0;\n this.prefixCode = lineData[1];\n this.isLowerRange = false;\n } else {\n this.isOOB = false;\n this.rangeLow = lineData[0];\n this.prefixLength = lineData[1];\n this.rangeLength = lineData[2];\n this.prefixCode = lineData[3];\n this.isLowerRange = lineData[4] === \"lower\";\n }\n }\n\n function HuffmanTreeNode(line) {\n this.children = [];\n\n if (line) {\n this.isLeaf = true;\n this.rangeLength = line.rangeLength;\n this.rangeLow = line.rangeLow;\n this.isLowerRange = line.isLowerRange;\n this.isOOB = line.isOOB;\n } else {\n this.isLeaf = false;\n }\n }\n\n HuffmanTreeNode.prototype = {\n buildTree(line, shift) {\n const bit = line.prefixCode >> shift & 1;\n\n if (shift <= 0) {\n this.children[bit] = new HuffmanTreeNode(line);\n } else {\n let node = this.children[bit];\n\n if (!node) {\n this.children[bit] = node = new HuffmanTreeNode(null);\n }\n\n node.buildTree(line, shift - 1);\n }\n },\n\n decodeNode(reader) {\n if (this.isLeaf) {\n if (this.isOOB) {\n return null;\n }\n\n const htOffset = reader.readBits(this.rangeLength);\n return this.rangeLow + (this.isLowerRange ? -htOffset : htOffset);\n }\n\n const node = this.children[reader.readBit()];\n\n if (!node) {\n throw new Jbig2Error(\"invalid Huffman data\");\n }\n\n return node.decodeNode(reader);\n }\n\n };\n\n function HuffmanTable(lines, prefixCodesDone) {\n if (!prefixCodesDone) {\n this.assignPrefixCodes(lines);\n }\n\n this.rootNode = new HuffmanTreeNode(null);\n\n for (let i = 0, ii = lines.length; i < ii; i++) {\n const line = lines[i];\n\n if (line.prefixLength > 0) {\n this.rootNode.buildTree(line, line.prefixLength - 1);\n }\n }\n }\n\n HuffmanTable.prototype = {\n decode(reader) {\n return this.rootNode.decodeNode(reader);\n },\n\n assignPrefixCodes(lines) {\n const linesLength = lines.length;\n let prefixLengthMax = 0;\n\n for (let i = 0; i < linesLength; i++) {\n prefixLengthMax = Math.max(prefixLengthMax, lines[i].prefixLength);\n }\n\n const histogram = new Uint32Array(prefixLengthMax + 1);\n\n for (let i = 0; i < linesLength; i++) {\n histogram[lines[i].prefixLength]++;\n }\n\n let currentLength = 1,\n firstCode = 0,\n currentCode,\n currentTemp,\n line;\n histogram[0] = 0;\n\n while (currentLength <= prefixLengthMax) {\n firstCode = firstCode + histogram[currentLength - 1] << 1;\n currentCode = firstCode;\n currentTemp = 0;\n\n while (currentTemp < linesLength) {\n line = lines[currentTemp];\n\n if (line.prefixLength === currentLength) {\n line.prefixCode = currentCode;\n currentCode++;\n }\n\n currentTemp++;\n }\n\n currentLength++;\n }\n }\n\n };\n\n function decodeTablesSegment(data, start, end) {\n const flags = data[start];\n const lowestValue = (0, _core_utils.readUint32)(data, start + 1) & 0xffffffff;\n const highestValue = (0, _core_utils.readUint32)(data, start + 5) & 0xffffffff;\n const reader = new Reader(data, start + 9, end);\n const prefixSizeBits = (flags >> 1 & 7) + 1;\n const rangeSizeBits = (flags >> 4 & 7) + 1;\n const lines = [];\n let prefixLength,\n rangeLength,\n currentRangeLow = lowestValue;\n\n do {\n prefixLength = reader.readBits(prefixSizeBits);\n rangeLength = reader.readBits(rangeSizeBits);\n lines.push(new HuffmanLine([currentRangeLow, prefixLength, rangeLength, 0]));\n currentRangeLow += 1 << rangeLength;\n } while (currentRangeLow < highestValue);\n\n prefixLength = reader.readBits(prefixSizeBits);\n lines.push(new HuffmanLine([lowestValue - 1, prefixLength, 32, 0, \"lower\"]));\n prefixLength = reader.readBits(prefixSizeBits);\n lines.push(new HuffmanLine([highestValue, prefixLength, 32, 0]));\n\n if (flags & 1) {\n prefixLength = reader.readBits(prefixSizeBits);\n lines.push(new HuffmanLine([prefixLength, 0]));\n }\n\n return new HuffmanTable(lines, false);\n }\n\n const standardTablesCache = {};\n\n function getStandardTable(number) {\n let table = standardTablesCache[number];\n\n if (table) {\n return table;\n }\n\n let lines;\n\n switch (number) {\n case 1:\n lines = [[0, 1, 4, 0x0], [16, 2, 8, 0x2], [272, 3, 16, 0x6], [65808, 3, 32, 0x7]];\n break;\n\n case 2:\n lines = [[0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xe], [11, 5, 6, 0x1e], [75, 6, 32, 0x3e], [6, 0x3f]];\n break;\n\n case 3:\n lines = [[-256, 8, 8, 0xfe], [0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xe], [11, 5, 6, 0x1e], [-257, 8, 32, 0xff, \"lower\"], [75, 7, 32, 0x7e], [6, 0x3e]];\n break;\n\n case 4:\n lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xe], [12, 5, 6, 0x1e], [76, 5, 32, 0x1f]];\n break;\n\n case 5:\n lines = [[-255, 7, 8, 0x7e], [1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xe], [12, 5, 6, 0x1e], [-256, 7, 32, 0x7f, \"lower\"], [76, 6, 32, 0x3e]];\n break;\n\n case 6:\n lines = [[-2048, 5, 10, 0x1c], [-1024, 4, 9, 0x8], [-512, 4, 8, 0x9], [-256, 4, 7, 0xa], [-128, 5, 6, 0x1d], [-64, 5, 5, 0x1e], [-32, 4, 5, 0xb], [0, 2, 7, 0x0], [128, 3, 7, 0x2], [256, 3, 8, 0x3], [512, 4, 9, 0xc], [1024, 4, 10, 0xd], [-2049, 6, 32, 0x3e, \"lower\"], [2048, 6, 32, 0x3f]];\n break;\n\n case 7:\n lines = [[-1024, 4, 9, 0x8], [-512, 3, 8, 0x0], [-256, 4, 7, 0x9], [-128, 5, 6, 0x1a], [-64, 5, 5, 0x1b], [-32, 4, 5, 0xa], [0, 4, 5, 0xb], [32, 5, 5, 0x1c], [64, 5, 6, 0x1d], [128, 4, 7, 0xc], [256, 3, 8, 0x1], [512, 3, 9, 0x2], [1024, 3, 10, 0x3], [-1025, 5, 32, 0x1e, \"lower\"], [2048, 5, 32, 0x1f]];\n break;\n\n case 8:\n lines = [[-15, 8, 3, 0xfc], [-7, 9, 1, 0x1fc], [-5, 8, 1, 0xfd], [-3, 9, 0, 0x1fd], [-2, 7, 0, 0x7c], [-1, 4, 0, 0xa], [0, 2, 1, 0x0], [2, 5, 0, 0x1a], [3, 6, 0, 0x3a], [4, 3, 4, 0x4], [20, 6, 1, 0x3b], [22, 4, 4, 0xb], [38, 4, 5, 0xc], [70, 5, 6, 0x1b], [134, 5, 7, 0x1c], [262, 6, 7, 0x3c], [390, 7, 8, 0x7d], [646, 6, 10, 0x3d], [-16, 9, 32, 0x1fe, \"lower\"], [1670, 9, 32, 0x1ff], [2, 0x1]];\n break;\n\n case 9:\n lines = [[-31, 8, 4, 0xfc], [-15, 9, 2, 0x1fc], [-11, 8, 2, 0xfd], [-7, 9, 1, 0x1fd], [-5, 7, 1, 0x7c], [-3, 4, 1, 0xa], [-1, 3, 1, 0x2], [1, 3, 1, 0x3], [3, 5, 1, 0x1a], [5, 6, 1, 0x3a], [7, 3, 5, 0x4], [39, 6, 2, 0x3b], [43, 4, 5, 0xb], [75, 4, 6, 0xc], [139, 5, 7, 0x1b], [267, 5, 8, 0x1c], [523, 6, 8, 0x3c], [779, 7, 9, 0x7d], [1291, 6, 11, 0x3d], [-32, 9, 32, 0x1fe, \"lower\"], [3339, 9, 32, 0x1ff], [2, 0x0]];\n break;\n\n case 10:\n lines = [[-21, 7, 4, 0x7a], [-5, 8, 0, 0xfc], [-4, 7, 0, 0x7b], [-3, 5, 0, 0x18], [-2, 2, 2, 0x0], [2, 5, 0, 0x19], [3, 6, 0, 0x36], [4, 7, 0, 0x7c], [5, 8, 0, 0xfd], [6, 2, 6, 0x1], [70, 5, 5, 0x1a], [102, 6, 5, 0x37], [134, 6, 6, 0x38], [198, 6, 7, 0x39], [326, 6, 8, 0x3a], [582, 6, 9, 0x3b], [1094, 6, 10, 0x3c], [2118, 7, 11, 0x7d], [-22, 8, 32, 0xfe, \"lower\"], [4166, 8, 32, 0xff], [2, 0x2]];\n break;\n\n case 11:\n lines = [[1, 1, 0, 0x0], [2, 2, 1, 0x2], [4, 4, 0, 0xc], [5, 4, 1, 0xd], [7, 5, 1, 0x1c], [9, 5, 2, 0x1d], [13, 6, 2, 0x3c], [17, 7, 2, 0x7a], [21, 7, 3, 0x7b], [29, 7, 4, 0x7c], [45, 7, 5, 0x7d], [77, 7, 6, 0x7e], [141, 7, 32, 0x7f]];\n break;\n\n case 12:\n lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 1, 0x6], [5, 5, 0, 0x1c], [6, 5, 1, 0x1d], [8, 6, 1, 0x3c], [10, 7, 0, 0x7a], [11, 7, 1, 0x7b], [13, 7, 2, 0x7c], [17, 7, 3, 0x7d], [25, 7, 4, 0x7e], [41, 8, 5, 0xfe], [73, 8, 32, 0xff]];\n break;\n\n case 13:\n lines = [[1, 1, 0, 0x0], [2, 3, 0, 0x4], [3, 4, 0, 0xc], [4, 5, 0, 0x1c], [5, 4, 1, 0xd], [7, 3, 3, 0x5], [15, 6, 1, 0x3a], [17, 6, 2, 0x3b], [21, 6, 3, 0x3c], [29, 6, 4, 0x3d], [45, 6, 5, 0x3e], [77, 7, 6, 0x7e], [141, 7, 32, 0x7f]];\n break;\n\n case 14:\n lines = [[-2, 3, 0, 0x4], [-1, 3, 0, 0x5], [0, 1, 0, 0x0], [1, 3, 0, 0x6], [2, 3, 0, 0x7]];\n break;\n\n case 15:\n lines = [[-24, 7, 4, 0x7c], [-8, 6, 2, 0x3c], [-4, 5, 1, 0x1c], [-2, 4, 0, 0xc], [-1, 3, 0, 0x4], [0, 1, 0, 0x0], [1, 3, 0, 0x5], [2, 4, 0, 0xd], [3, 5, 1, 0x1d], [5, 6, 2, 0x3d], [9, 7, 4, 0x7d], [-25, 7, 32, 0x7e, \"lower\"], [25, 7, 32, 0x7f]];\n break;\n\n default:\n throw new Jbig2Error(`standard table B.${number} does not exist`);\n }\n\n for (let i = 0, ii = lines.length; i < ii; i++) {\n lines[i] = new HuffmanLine(lines[i]);\n }\n\n table = new HuffmanTable(lines, true);\n standardTablesCache[number] = table;\n return table;\n }\n\n function Reader(data, start, end) {\n this.data = data;\n this.start = start;\n this.end = end;\n this.position = start;\n this.shift = -1;\n this.currentByte = 0;\n }\n\n Reader.prototype = {\n readBit() {\n if (this.shift < 0) {\n if (this.position >= this.end) {\n throw new Jbig2Error(\"end of data while reading bit\");\n }\n\n this.currentByte = this.data[this.position++];\n this.shift = 7;\n }\n\n const bit = this.currentByte >> this.shift & 1;\n this.shift--;\n return bit;\n },\n\n readBits(numBits) {\n let result = 0,\n i;\n\n for (i = numBits - 1; i >= 0; i--) {\n result |= this.readBit() << i;\n }\n\n return result;\n },\n\n byteAlign() {\n this.shift = -1;\n },\n\n next() {\n if (this.position >= this.end) {\n return -1;\n }\n\n return this.data[this.position++];\n }\n\n };\n\n function getCustomHuffmanTable(index, referredTo, customTables) {\n let currentIndex = 0;\n\n for (let i = 0, ii = referredTo.length; i < ii; i++) {\n const table = customTables[referredTo[i]];\n\n if (table) {\n if (index === currentIndex) {\n return table;\n }\n\n currentIndex++;\n }\n }\n\n throw new Jbig2Error(\"can't find custom Huffman table\");\n }\n\n function getTextRegionHuffmanTables(textRegion, referredTo, customTables, numberOfSymbols, reader) {\n const codes = [];\n\n for (let i = 0; i <= 34; i++) {\n const codeLength = reader.readBits(4);\n codes.push(new HuffmanLine([i, codeLength, 0, 0]));\n }\n\n const runCodesTable = new HuffmanTable(codes, false);\n codes.length = 0;\n\n for (let i = 0; i < numberOfSymbols;) {\n const codeLength = runCodesTable.decode(reader);\n\n if (codeLength >= 32) {\n let repeatedLength, numberOfRepeats, j;\n\n switch (codeLength) {\n case 32:\n if (i === 0) {\n throw new Jbig2Error(\"no previous value in symbol ID table\");\n }\n\n numberOfRepeats = reader.readBits(2) + 3;\n repeatedLength = codes[i - 1].prefixLength;\n break;\n\n case 33:\n numberOfRepeats = reader.readBits(3) + 3;\n repeatedLength = 0;\n break;\n\n case 34:\n numberOfRepeats = reader.readBits(7) + 11;\n repeatedLength = 0;\n break;\n\n default:\n throw new Jbig2Error(\"invalid code length in symbol ID table\");\n }\n\n for (j = 0; j < numberOfRepeats; j++) {\n codes.push(new HuffmanLine([i, repeatedLength, 0, 0]));\n i++;\n }\n } else {\n codes.push(new HuffmanLine([i, codeLength, 0, 0]));\n i++;\n }\n }\n\n reader.byteAlign();\n const symbolIDTable = new HuffmanTable(codes, false);\n let customIndex = 0,\n tableFirstS,\n tableDeltaS,\n tableDeltaT;\n\n switch (textRegion.huffmanFS) {\n case 0:\n case 1:\n tableFirstS = getStandardTable(textRegion.huffmanFS + 6);\n break;\n\n case 3:\n tableFirstS = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error(\"invalid Huffman FS selector\");\n }\n\n switch (textRegion.huffmanDS) {\n case 0:\n case 1:\n case 2:\n tableDeltaS = getStandardTable(textRegion.huffmanDS + 8);\n break;\n\n case 3:\n tableDeltaS = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error(\"invalid Huffman DS selector\");\n }\n\n switch (textRegion.huffmanDT) {\n case 0:\n case 1:\n case 2:\n tableDeltaT = getStandardTable(textRegion.huffmanDT + 11);\n break;\n\n case 3:\n tableDeltaT = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error(\"invalid Huffman DT selector\");\n }\n\n if (textRegion.refinement) {\n throw new Jbig2Error(\"refinement with Huffman is not supported\");\n }\n\n return {\n symbolIDTable,\n tableFirstS,\n tableDeltaS,\n tableDeltaT\n };\n }\n\n function getSymbolDictionaryHuffmanTables(dictionary, referredTo, customTables) {\n let customIndex = 0,\n tableDeltaHeight,\n tableDeltaWidth;\n\n switch (dictionary.huffmanDHSelector) {\n case 0:\n case 1:\n tableDeltaHeight = getStandardTable(dictionary.huffmanDHSelector + 4);\n break;\n\n case 3:\n tableDeltaHeight = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error(\"invalid Huffman DH selector\");\n }\n\n switch (dictionary.huffmanDWSelector) {\n case 0:\n case 1:\n tableDeltaWidth = getStandardTable(dictionary.huffmanDWSelector + 2);\n break;\n\n case 3:\n tableDeltaWidth = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error(\"invalid Huffman DW selector\");\n }\n\n let tableBitmapSize, tableAggregateInstances;\n\n if (dictionary.bitmapSizeSelector) {\n tableBitmapSize = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n } else {\n tableBitmapSize = getStandardTable(1);\n }\n\n if (dictionary.aggregationInstancesSelector) {\n tableAggregateInstances = getCustomHuffmanTable(customIndex, referredTo, customTables);\n } else {\n tableAggregateInstances = getStandardTable(1);\n }\n\n return {\n tableDeltaHeight,\n tableDeltaWidth,\n tableBitmapSize,\n tableAggregateInstances\n };\n }\n\n function readUncompressedBitmap(reader, width, height) {\n const bitmap = [];\n\n for (let y = 0; y < height; y++) {\n const row = new Uint8Array(width);\n bitmap.push(row);\n\n for (let x = 0; x < width; x++) {\n row[x] = reader.readBit();\n }\n\n reader.byteAlign();\n }\n\n return bitmap;\n }\n\n function decodeMMRBitmap(input, width, height, endOfBlock) {\n const params = {\n K: -1,\n Columns: width,\n Rows: height,\n BlackIs1: true,\n EndOfBlock: endOfBlock\n };\n const decoder = new _ccitt.CCITTFaxDecoder(input, params);\n const bitmap = [];\n let currentByte,\n eof = false;\n\n for (let y = 0; y < height; y++) {\n const row = new Uint8Array(width);\n bitmap.push(row);\n let shift = -1;\n\n for (let x = 0; x < width; x++) {\n if (shift < 0) {\n currentByte = decoder.readNextChar();\n\n if (currentByte === -1) {\n currentByte = 0;\n eof = true;\n }\n\n shift = 7;\n }\n\n row[x] = currentByte >> shift & 1;\n shift--;\n }\n }\n\n if (endOfBlock && !eof) {\n const lookForEOFLimit = 5;\n\n for (let i = 0; i < lookForEOFLimit; i++) {\n if (decoder.readNextChar() === -1) {\n break;\n }\n }\n }\n\n return bitmap;\n }\n\n function Jbig2Image() {}\n\n Jbig2Image.prototype = {\n parseChunks(chunks) {\n return parseJbig2Chunks(chunks);\n },\n\n parse(data) {\n const {\n imgData,\n width,\n height\n } = parseJbig2(data);\n this.width = width;\n this.height = height;\n return imgData;\n }\n\n };\n return Jbig2Image;\n}();\n\nexports.Jbig2Image = Jbig2Image;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ArithmeticDecoder = void 0;\nconst QeTable = [{\n qe: 0x5601,\n nmps: 1,\n nlps: 1,\n switchFlag: 1\n}, {\n qe: 0x3401,\n nmps: 2,\n nlps: 6,\n switchFlag: 0\n}, {\n qe: 0x1801,\n nmps: 3,\n nlps: 9,\n switchFlag: 0\n}, {\n qe: 0x0ac1,\n nmps: 4,\n nlps: 12,\n switchFlag: 0\n}, {\n qe: 0x0521,\n nmps: 5,\n nlps: 29,\n switchFlag: 0\n}, {\n qe: 0x0221,\n nmps: 38,\n nlps: 33,\n switchFlag: 0\n}, {\n qe: 0x5601,\n nmps: 7,\n nlps: 6,\n switchFlag: 1\n}, {\n qe: 0x5401,\n nmps: 8,\n nlps: 14,\n switchFlag: 0\n}, {\n qe: 0x4801,\n nmps: 9,\n nlps: 14,\n switchFlag: 0\n}, {\n qe: 0x3801,\n nmps: 10,\n nlps: 14,\n switchFlag: 0\n}, {\n qe: 0x3001,\n nmps: 11,\n nlps: 17,\n switchFlag: 0\n}, {\n qe: 0x2401,\n nmps: 12,\n nlps: 18,\n switchFlag: 0\n}, {\n qe: 0x1c01,\n nmps: 13,\n nlps: 20,\n switchFlag: 0\n}, {\n qe: 0x1601,\n nmps: 29,\n nlps: 21,\n switchFlag: 0\n}, {\n qe: 0x5601,\n nmps: 15,\n nlps: 14,\n switchFlag: 1\n}, {\n qe: 0x5401,\n nmps: 16,\n nlps: 14,\n switchFlag: 0\n}, {\n qe: 0x5101,\n nmps: 17,\n nlps: 15,\n switchFlag: 0\n}, {\n qe: 0x4801,\n nmps: 18,\n nlps: 16,\n switchFlag: 0\n}, {\n qe: 0x3801,\n nmps: 19,\n nlps: 17,\n switchFlag: 0\n}, {\n qe: 0x3401,\n nmps: 20,\n nlps: 18,\n switchFlag: 0\n}, {\n qe: 0x3001,\n nmps: 21,\n nlps: 19,\n switchFlag: 0\n}, {\n qe: 0x2801,\n nmps: 22,\n nlps: 19,\n switchFlag: 0\n}, {\n qe: 0x2401,\n nmps: 23,\n nlps: 20,\n switchFlag: 0\n}, {\n qe: 0x2201,\n nmps: 24,\n nlps: 21,\n switchFlag: 0\n}, {\n qe: 0x1c01,\n nmps: 25,\n nlps: 22,\n switchFlag: 0\n}, {\n qe: 0x1801,\n nmps: 26,\n nlps: 23,\n switchFlag: 0\n}, {\n qe: 0x1601,\n nmps: 27,\n nlps: 24,\n switchFlag: 0\n}, {\n qe: 0x1401,\n nmps: 28,\n nlps: 25,\n switchFlag: 0\n}, {\n qe: 0x1201,\n nmps: 29,\n nlps: 26,\n switchFlag: 0\n}, {\n qe: 0x1101,\n nmps: 30,\n nlps: 27,\n switchFlag: 0\n}, {\n qe: 0x0ac1,\n nmps: 31,\n nlps: 28,\n switchFlag: 0\n}, {\n qe: 0x09c1,\n nmps: 32,\n nlps: 29,\n switchFlag: 0\n}, {\n qe: 0x08a1,\n nmps: 33,\n nlps: 30,\n switchFlag: 0\n}, {\n qe: 0x0521,\n nmps: 34,\n nlps: 31,\n switchFlag: 0\n}, {\n qe: 0x0441,\n nmps: 35,\n nlps: 32,\n switchFlag: 0\n}, {\n qe: 0x02a1,\n nmps: 36,\n nlps: 33,\n switchFlag: 0\n}, {\n qe: 0x0221,\n nmps: 37,\n nlps: 34,\n switchFlag: 0\n}, {\n qe: 0x0141,\n nmps: 38,\n nlps: 35,\n switchFlag: 0\n}, {\n qe: 0x0111,\n nmps: 39,\n nlps: 36,\n switchFlag: 0\n}, {\n qe: 0x0085,\n nmps: 40,\n nlps: 37,\n switchFlag: 0\n}, {\n qe: 0x0049,\n nmps: 41,\n nlps: 38,\n switchFlag: 0\n}, {\n qe: 0x0025,\n nmps: 42,\n nlps: 39,\n switchFlag: 0\n}, {\n qe: 0x0015,\n nmps: 43,\n nlps: 40,\n switchFlag: 0\n}, {\n qe: 0x0009,\n nmps: 44,\n nlps: 41,\n switchFlag: 0\n}, {\n qe: 0x0005,\n nmps: 45,\n nlps: 42,\n switchFlag: 0\n}, {\n qe: 0x0001,\n nmps: 45,\n nlps: 43,\n switchFlag: 0\n}, {\n qe: 0x5601,\n nmps: 46,\n nlps: 46,\n switchFlag: 0\n}];\n\nclass ArithmeticDecoder {\n constructor(data, start, end) {\n this.data = data;\n this.bp = start;\n this.dataEnd = end;\n this.chigh = data[start];\n this.clow = 0;\n this.byteIn();\n this.chigh = this.chigh << 7 & 0xffff | this.clow >> 9 & 0x7f;\n this.clow = this.clow << 7 & 0xffff;\n this.ct -= 7;\n this.a = 0x8000;\n }\n\n byteIn() {\n const data = this.data;\n let bp = this.bp;\n\n if (data[bp] === 0xff) {\n if (data[bp + 1] > 0x8f) {\n this.clow += 0xff00;\n this.ct = 8;\n } else {\n bp++;\n this.clow += data[bp] << 9;\n this.ct = 7;\n this.bp = bp;\n }\n } else {\n bp++;\n this.clow += bp < this.dataEnd ? data[bp] << 8 : 0xff00;\n this.ct = 8;\n this.bp = bp;\n }\n\n if (this.clow > 0xffff) {\n this.chigh += this.clow >> 16;\n this.clow &= 0xffff;\n }\n }\n\n readBit(contexts, pos) {\n let cx_index = contexts[pos] >> 1,\n cx_mps = contexts[pos] & 1;\n const qeTableIcx = QeTable[cx_index];\n const qeIcx = qeTableIcx.qe;\n let d;\n let a = this.a - qeIcx;\n\n if (this.chigh < qeIcx) {\n if (a < qeIcx) {\n a = qeIcx;\n d = cx_mps;\n cx_index = qeTableIcx.nmps;\n } else {\n a = qeIcx;\n d = 1 ^ cx_mps;\n\n if (qeTableIcx.switchFlag === 1) {\n cx_mps = d;\n }\n\n cx_index = qeTableIcx.nlps;\n }\n } else {\n this.chigh -= qeIcx;\n\n if ((a & 0x8000) !== 0) {\n this.a = a;\n return cx_mps;\n }\n\n if (a < qeIcx) {\n d = 1 ^ cx_mps;\n\n if (qeTableIcx.switchFlag === 1) {\n cx_mps = d;\n }\n\n cx_index = qeTableIcx.nlps;\n } else {\n d = cx_mps;\n cx_index = qeTableIcx.nmps;\n }\n }\n\n do {\n if (this.ct === 0) {\n this.byteIn();\n }\n\n a <<= 1;\n this.chigh = this.chigh << 1 & 0xffff | this.clow >> 15 & 1;\n this.clow = this.clow << 1 & 0xffff;\n this.ct--;\n } while ((a & 0x8000) === 0);\n\n this.a = a;\n contexts[pos] = cx_index << 1 | cx_mps;\n return d;\n }\n\n}\n\nexports.ArithmeticDecoder = ArithmeticDecoder;\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.JpegStream = void 0;\n\nvar _stream = __w_pdfjs_require__(12);\n\nvar _primitives = __w_pdfjs_require__(5);\n\nvar _jpg = __w_pdfjs_require__(19);\n\nvar _util = __w_pdfjs_require__(2);\n\nconst JpegStream = function JpegStreamClosure() {\n function JpegStream(stream, maybeLength, dict, params) {\n let ch;\n\n while ((ch = stream.getByte()) !== -1) {\n if (ch === 0xff) {\n stream.skip(-1);\n break;\n }\n }\n\n this.stream = stream;\n this.maybeLength = maybeLength;\n this.dict = dict;\n this.params = params;\n\n _stream.DecodeStream.call(this, maybeLength);\n }\n\n JpegStream.prototype = Object.create(_stream.DecodeStream.prototype);\n Object.defineProperty(JpegStream.prototype, \"bytes\", {\n get: function JpegStream_bytes() {\n return (0, _util.shadow)(this, \"bytes\", this.stream.getBytes(this.maybeLength));\n },\n configurable: true\n });\n\n JpegStream.prototype.ensureBuffer = function (requested) {};\n\n JpegStream.prototype.readBlock = function () {\n if (this.eof) {\n return;\n }\n\n const jpegOptions = {\n decodeTransform: undefined,\n colorTransform: undefined\n };\n const decodeArr = this.dict.getArray(\"Decode\", \"D\");\n\n if (this.forceRGB && Array.isArray(decodeArr)) {\n const bitsPerComponent = this.dict.get(\"BitsPerComponent\") || 8;\n const decodeArrLength = decodeArr.length;\n const transform = new Int32Array(decodeArrLength);\n let transformNeeded = false;\n const maxValue = (1 << bitsPerComponent) - 1;\n\n for (let i = 0; i < decodeArrLength; i += 2) {\n transform[i] = (decodeArr[i + 1] - decodeArr[i]) * 256 | 0;\n transform[i + 1] = decodeArr[i] * maxValue | 0;\n\n if (transform[i] !== 256 || transform[i + 1] !== 0) {\n transformNeeded = true;\n }\n }\n\n if (transformNeeded) {\n jpegOptions.decodeTransform = transform;\n }\n }\n\n if ((0, _primitives.isDict)(this.params)) {\n const colorTransform = this.params.get(\"ColorTransform\");\n\n if (Number.isInteger(colorTransform)) {\n jpegOptions.colorTransform = colorTransform;\n }\n }\n\n const jpegImage = new _jpg.JpegImage(jpegOptions);\n jpegImage.parse(this.bytes);\n const data = jpegImage.getData({\n width: this.drawWidth,\n height: this.drawHeight,\n forceRGB: this.forceRGB,\n isSourcePDF: true\n });\n this.buffer = data;\n this.bufferLength = data.length;\n this.eof = true;\n };\n\n return JpegStream;\n}();\n\nexports.JpegStream = JpegStream;\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.JpegImage = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _core_utils = __w_pdfjs_require__(8);\n\nclass JpegError extends _util.BaseException {\n constructor(msg) {\n super(`JPEG error: ${msg}`);\n }\n\n}\n\nclass DNLMarkerError extends _util.BaseException {\n constructor(message, scanLines) {\n super(message);\n this.scanLines = scanLines;\n }\n\n}\n\nclass EOIMarkerError extends _util.BaseException {}\n\nvar JpegImage = function JpegImageClosure() {\n var dctZigZag = new Uint8Array([0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, 12, 19, 26, 33, 40, 48, 41, 34, 27, 20, 13, 6, 7, 14, 21, 28, 35, 42, 49, 56, 57, 50, 43, 36, 29, 22, 15, 23, 30, 37, 44, 51, 58, 59, 52, 45, 38, 31, 39, 46, 53, 60, 61, 54, 47, 55, 62, 63]);\n var dctCos1 = 4017;\n var dctSin1 = 799;\n var dctCos3 = 3406;\n var dctSin3 = 2276;\n var dctCos6 = 1567;\n var dctSin6 = 3784;\n var dctSqrt2 = 5793;\n var dctSqrt1d2 = 2896;\n\n function JpegImage({\n decodeTransform = null,\n colorTransform = -1\n } = {}) {\n this._decodeTransform = decodeTransform;\n this._colorTransform = colorTransform;\n }\n\n function buildHuffmanTable(codeLengths, values) {\n var k = 0,\n code = [],\n i,\n j,\n length = 16;\n\n while (length > 0 && !codeLengths[length - 1]) {\n length--;\n }\n\n code.push({\n children: [],\n index: 0\n });\n var p = code[0],\n q;\n\n for (i = 0; i < length; i++) {\n for (j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n\n while (p.index > 0) {\n p = code.pop();\n }\n\n p.index++;\n code.push(p);\n\n while (code.length <= i) {\n code.push(q = {\n children: [],\n index: 0\n });\n p.children[p.index] = q.children;\n p = q;\n }\n\n k++;\n }\n\n if (i + 1 < length) {\n code.push(q = {\n children: [],\n index: 0\n });\n p.children[p.index] = q.children;\n p = q;\n }\n }\n\n return code[0].children;\n }\n\n function getBlockBufferOffset(component, row, col) {\n return 64 * ((component.blocksPerLine + 1) * row + col);\n }\n\n function decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successivePrev, successive, parseDNLMarker = false) {\n var mcusPerLine = frame.mcusPerLine;\n var progressive = frame.progressive;\n const startOffset = offset;\n let bitsData = 0,\n bitsCount = 0;\n\n function readBit() {\n if (bitsCount > 0) {\n bitsCount--;\n return bitsData >> bitsCount & 1;\n }\n\n bitsData = data[offset++];\n\n if (bitsData === 0xff) {\n var nextByte = data[offset++];\n\n if (nextByte) {\n if (nextByte === 0xdc && parseDNLMarker) {\n offset += 2;\n const scanLines = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n\n if (scanLines > 0 && scanLines !== frame.scanLines) {\n throw new DNLMarkerError(\"Found DNL marker (0xFFDC) while parsing scan data\", scanLines);\n }\n } else if (nextByte === 0xd9) {\n if (parseDNLMarker) {\n const maybeScanLines = blockRow * 8;\n\n if (maybeScanLines > 0 && maybeScanLines < frame.scanLines / 10) {\n throw new DNLMarkerError(\"Found EOI marker (0xFFD9) while parsing scan data, \" + \"possibly caused by incorrect `scanLines` parameter\", maybeScanLines);\n }\n }\n\n throw new EOIMarkerError(\"Found EOI marker (0xFFD9) while parsing scan data\");\n }\n\n throw new JpegError(`unexpected marker ${(bitsData << 8 | nextByte).toString(16)}`);\n }\n }\n\n bitsCount = 7;\n return bitsData >>> 7;\n }\n\n function decodeHuffman(tree) {\n var node = tree;\n\n while (true) {\n node = node[readBit()];\n\n switch (typeof node) {\n case \"number\":\n return node;\n\n case \"object\":\n continue;\n }\n\n throw new JpegError(\"invalid huffman sequence\");\n }\n }\n\n function receive(length) {\n var n = 0;\n\n while (length > 0) {\n n = n << 1 | readBit();\n length--;\n }\n\n return n;\n }\n\n function receiveAndExtend(length) {\n if (length === 1) {\n return readBit() === 1 ? 1 : -1;\n }\n\n var n = receive(length);\n\n if (n >= 1 << length - 1) {\n return n;\n }\n\n return n + (-1 << length) + 1;\n }\n\n function decodeBaseline(component, blockOffset) {\n var t = decodeHuffman(component.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t);\n component.blockData[blockOffset] = component.pred += diff;\n var k = 1;\n\n while (k < 64) {\n var rs = decodeHuffman(component.huffmanTableAC);\n var s = rs & 15,\n r = rs >> 4;\n\n if (s === 0) {\n if (r < 15) {\n break;\n }\n\n k += 16;\n continue;\n }\n\n k += r;\n var z = dctZigZag[k];\n component.blockData[blockOffset + z] = receiveAndExtend(s);\n k++;\n }\n }\n\n function decodeDCFirst(component, blockOffset) {\n var t = decodeHuffman(component.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t) << successive;\n component.blockData[blockOffset] = component.pred += diff;\n }\n\n function decodeDCSuccessive(component, blockOffset) {\n component.blockData[blockOffset] |= readBit() << successive;\n }\n\n var eobrun = 0;\n\n function decodeACFirst(component, blockOffset) {\n if (eobrun > 0) {\n eobrun--;\n return;\n }\n\n var k = spectralStart,\n e = spectralEnd;\n\n while (k <= e) {\n var rs = decodeHuffman(component.huffmanTableAC);\n var s = rs & 15,\n r = rs >> 4;\n\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r) - 1;\n break;\n }\n\n k += 16;\n continue;\n }\n\n k += r;\n var z = dctZigZag[k];\n component.blockData[blockOffset + z] = receiveAndExtend(s) * (1 << successive);\n k++;\n }\n }\n\n var successiveACState = 0,\n successiveACNextValue;\n\n function decodeACSuccessive(component, blockOffset) {\n var k = spectralStart;\n var e = spectralEnd;\n var r = 0;\n var s;\n var rs;\n\n while (k <= e) {\n const offsetZ = blockOffset + dctZigZag[k];\n const sign = component.blockData[offsetZ] < 0 ? -1 : 1;\n\n switch (successiveACState) {\n case 0:\n rs = decodeHuffman(component.huffmanTableAC);\n s = rs & 15;\n r = rs >> 4;\n\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r);\n successiveACState = 4;\n } else {\n r = 16;\n successiveACState = 1;\n }\n } else {\n if (s !== 1) {\n throw new JpegError(\"invalid ACn encoding\");\n }\n\n successiveACNextValue = receiveAndExtend(s);\n successiveACState = r ? 2 : 3;\n }\n\n continue;\n\n case 1:\n case 2:\n if (component.blockData[offsetZ]) {\n component.blockData[offsetZ] += sign * (readBit() << successive);\n } else {\n r--;\n\n if (r === 0) {\n successiveACState = successiveACState === 2 ? 3 : 0;\n }\n }\n\n break;\n\n case 3:\n if (component.blockData[offsetZ]) {\n component.blockData[offsetZ] += sign * (readBit() << successive);\n } else {\n component.blockData[offsetZ] = successiveACNextValue << successive;\n successiveACState = 0;\n }\n\n break;\n\n case 4:\n if (component.blockData[offsetZ]) {\n component.blockData[offsetZ] += sign * (readBit() << successive);\n }\n\n break;\n }\n\n k++;\n }\n\n if (successiveACState === 4) {\n eobrun--;\n\n if (eobrun === 0) {\n successiveACState = 0;\n }\n }\n }\n\n let blockRow = 0;\n\n function decodeMcu(component, decode, mcu, row, col) {\n var mcuRow = mcu / mcusPerLine | 0;\n var mcuCol = mcu % mcusPerLine;\n blockRow = mcuRow * component.v + row;\n var blockCol = mcuCol * component.h + col;\n const blockOffset = getBlockBufferOffset(component, blockRow, blockCol);\n decode(component, blockOffset);\n }\n\n function decodeBlock(component, decode, mcu) {\n blockRow = mcu / component.blocksPerLine | 0;\n var blockCol = mcu % component.blocksPerLine;\n const blockOffset = getBlockBufferOffset(component, blockRow, blockCol);\n decode(component, blockOffset);\n }\n\n var componentsLength = components.length;\n var component, i, j, k, n;\n var decodeFn;\n\n if (progressive) {\n if (spectralStart === 0) {\n decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n } else {\n decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n }\n } else {\n decodeFn = decodeBaseline;\n }\n\n var mcu = 0,\n fileMarker;\n var mcuExpected;\n\n if (componentsLength === 1) {\n mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn;\n } else {\n mcuExpected = mcusPerLine * frame.mcusPerColumn;\n }\n\n var h, v;\n\n while (mcu <= mcuExpected) {\n var mcuToRead = resetInterval ? Math.min(mcuExpected - mcu, resetInterval) : mcuExpected;\n\n if (mcuToRead > 0) {\n for (i = 0; i < componentsLength; i++) {\n components[i].pred = 0;\n }\n\n eobrun = 0;\n\n if (componentsLength === 1) {\n component = components[0];\n\n for (n = 0; n < mcuToRead; n++) {\n decodeBlock(component, decodeFn, mcu);\n mcu++;\n }\n } else {\n for (n = 0; n < mcuToRead; n++) {\n for (i = 0; i < componentsLength; i++) {\n component = components[i];\n h = component.h;\n v = component.v;\n\n for (j = 0; j < v; j++) {\n for (k = 0; k < h; k++) {\n decodeMcu(component, decodeFn, mcu, j, k);\n }\n }\n }\n\n mcu++;\n }\n }\n }\n\n bitsCount = 0;\n fileMarker = findNextFileMarker(data, offset);\n\n if (!fileMarker) {\n break;\n }\n\n if (fileMarker.invalid) {\n const partialMsg = mcuToRead > 0 ? \"unexpected\" : \"excessive\";\n (0, _util.warn)(`decodeScan - ${partialMsg} MCU data, current marker is: ${fileMarker.invalid}`);\n offset = fileMarker.offset;\n }\n\n if (fileMarker.marker >= 0xffd0 && fileMarker.marker <= 0xffd7) {\n offset += 2;\n } else {\n break;\n }\n }\n\n return offset - startOffset;\n }\n\n function quantizeAndInverse(component, blockBufferOffset, p) {\n var qt = component.quantizationTable,\n blockData = component.blockData;\n var v0, v1, v2, v3, v4, v5, v6, v7;\n var p0, p1, p2, p3, p4, p5, p6, p7;\n var t;\n\n if (!qt) {\n throw new JpegError(\"missing required Quantization Table.\");\n }\n\n for (var row = 0; row < 64; row += 8) {\n p0 = blockData[blockBufferOffset + row];\n p1 = blockData[blockBufferOffset + row + 1];\n p2 = blockData[blockBufferOffset + row + 2];\n p3 = blockData[blockBufferOffset + row + 3];\n p4 = blockData[blockBufferOffset + row + 4];\n p5 = blockData[blockBufferOffset + row + 5];\n p6 = blockData[blockBufferOffset + row + 6];\n p7 = blockData[blockBufferOffset + row + 7];\n p0 *= qt[row];\n\n if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {\n t = dctSqrt2 * p0 + 512 >> 10;\n p[row] = t;\n p[row + 1] = t;\n p[row + 2] = t;\n p[row + 3] = t;\n p[row + 4] = t;\n p[row + 5] = t;\n p[row + 6] = t;\n p[row + 7] = t;\n continue;\n }\n\n p1 *= qt[row + 1];\n p2 *= qt[row + 2];\n p3 *= qt[row + 3];\n p4 *= qt[row + 4];\n p5 *= qt[row + 5];\n p6 *= qt[row + 6];\n p7 *= qt[row + 7];\n v0 = dctSqrt2 * p0 + 128 >> 8;\n v1 = dctSqrt2 * p4 + 128 >> 8;\n v2 = p2;\n v3 = p6;\n v4 = dctSqrt1d2 * (p1 - p7) + 128 >> 8;\n v7 = dctSqrt1d2 * (p1 + p7) + 128 >> 8;\n v5 = p3 << 4;\n v6 = p5 << 4;\n v0 = v0 + v1 + 1 >> 1;\n v1 = v0 - v1;\n t = v2 * dctSin6 + v3 * dctCos6 + 128 >> 8;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 128 >> 8;\n v3 = t;\n v4 = v4 + v6 + 1 >> 1;\n v6 = v4 - v6;\n v7 = v7 + v5 + 1 >> 1;\n v5 = v7 - v5;\n v0 = v0 + v3 + 1 >> 1;\n v3 = v0 - v3;\n v1 = v1 + v2 + 1 >> 1;\n v2 = v1 - v2;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p[row] = v0 + v7;\n p[row + 7] = v0 - v7;\n p[row + 1] = v1 + v6;\n p[row + 6] = v1 - v6;\n p[row + 2] = v2 + v5;\n p[row + 5] = v2 - v5;\n p[row + 3] = v3 + v4;\n p[row + 4] = v3 - v4;\n }\n\n for (var col = 0; col < 8; ++col) {\n p0 = p[col];\n p1 = p[col + 8];\n p2 = p[col + 16];\n p3 = p[col + 24];\n p4 = p[col + 32];\n p5 = p[col + 40];\n p6 = p[col + 48];\n p7 = p[col + 56];\n\n if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {\n t = dctSqrt2 * p0 + 8192 >> 14;\n\n if (t < -2040) {\n t = 0;\n } else if (t >= 2024) {\n t = 255;\n } else {\n t = t + 2056 >> 4;\n }\n\n blockData[blockBufferOffset + col] = t;\n blockData[blockBufferOffset + col + 8] = t;\n blockData[blockBufferOffset + col + 16] = t;\n blockData[blockBufferOffset + col + 24] = t;\n blockData[blockBufferOffset + col + 32] = t;\n blockData[blockBufferOffset + col + 40] = t;\n blockData[blockBufferOffset + col + 48] = t;\n blockData[blockBufferOffset + col + 56] = t;\n continue;\n }\n\n v0 = dctSqrt2 * p0 + 2048 >> 12;\n v1 = dctSqrt2 * p4 + 2048 >> 12;\n v2 = p2;\n v3 = p6;\n v4 = dctSqrt1d2 * (p1 - p7) + 2048 >> 12;\n v7 = dctSqrt1d2 * (p1 + p7) + 2048 >> 12;\n v5 = p3;\n v6 = p5;\n v0 = (v0 + v1 + 1 >> 1) + 4112;\n v1 = v0 - v1;\n t = v2 * dctSin6 + v3 * dctCos6 + 2048 >> 12;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 2048 >> 12;\n v3 = t;\n v4 = v4 + v6 + 1 >> 1;\n v6 = v4 - v6;\n v7 = v7 + v5 + 1 >> 1;\n v5 = v7 - v5;\n v0 = v0 + v3 + 1 >> 1;\n v3 = v0 - v3;\n v1 = v1 + v2 + 1 >> 1;\n v2 = v1 - v2;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p0 = v0 + v7;\n p7 = v0 - v7;\n p1 = v1 + v6;\n p6 = v1 - v6;\n p2 = v2 + v5;\n p5 = v2 - v5;\n p3 = v3 + v4;\n p4 = v3 - v4;\n\n if (p0 < 16) {\n p0 = 0;\n } else if (p0 >= 4080) {\n p0 = 255;\n } else {\n p0 >>= 4;\n }\n\n if (p1 < 16) {\n p1 = 0;\n } else if (p1 >= 4080) {\n p1 = 255;\n } else {\n p1 >>= 4;\n }\n\n if (p2 < 16) {\n p2 = 0;\n } else if (p2 >= 4080) {\n p2 = 255;\n } else {\n p2 >>= 4;\n }\n\n if (p3 < 16) {\n p3 = 0;\n } else if (p3 >= 4080) {\n p3 = 255;\n } else {\n p3 >>= 4;\n }\n\n if (p4 < 16) {\n p4 = 0;\n } else if (p4 >= 4080) {\n p4 = 255;\n } else {\n p4 >>= 4;\n }\n\n if (p5 < 16) {\n p5 = 0;\n } else if (p5 >= 4080) {\n p5 = 255;\n } else {\n p5 >>= 4;\n }\n\n if (p6 < 16) {\n p6 = 0;\n } else if (p6 >= 4080) {\n p6 = 255;\n } else {\n p6 >>= 4;\n }\n\n if (p7 < 16) {\n p7 = 0;\n } else if (p7 >= 4080) {\n p7 = 255;\n } else {\n p7 >>= 4;\n }\n\n blockData[blockBufferOffset + col] = p0;\n blockData[blockBufferOffset + col + 8] = p1;\n blockData[blockBufferOffset + col + 16] = p2;\n blockData[blockBufferOffset + col + 24] = p3;\n blockData[blockBufferOffset + col + 32] = p4;\n blockData[blockBufferOffset + col + 40] = p5;\n blockData[blockBufferOffset + col + 48] = p6;\n blockData[blockBufferOffset + col + 56] = p7;\n }\n }\n\n function buildComponentData(frame, component) {\n var blocksPerLine = component.blocksPerLine;\n var blocksPerColumn = component.blocksPerColumn;\n var computationBuffer = new Int16Array(64);\n\n for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {\n for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {\n var offset = getBlockBufferOffset(component, blockRow, blockCol);\n quantizeAndInverse(component, offset, computationBuffer);\n }\n }\n\n return component.blockData;\n }\n\n function findNextFileMarker(data, currentPos, startPos = currentPos) {\n const maxPos = data.length - 1;\n var newPos = startPos < currentPos ? startPos : currentPos;\n\n if (currentPos >= maxPos) {\n return null;\n }\n\n var currentMarker = (0, _core_utils.readUint16)(data, currentPos);\n\n if (currentMarker >= 0xffc0 && currentMarker <= 0xfffe) {\n return {\n invalid: null,\n marker: currentMarker,\n offset: currentPos\n };\n }\n\n var newMarker = (0, _core_utils.readUint16)(data, newPos);\n\n while (!(newMarker >= 0xffc0 && newMarker <= 0xfffe)) {\n if (++newPos >= maxPos) {\n return null;\n }\n\n newMarker = (0, _core_utils.readUint16)(data, newPos);\n }\n\n return {\n invalid: currentMarker.toString(16),\n marker: newMarker,\n offset: newPos\n };\n }\n\n JpegImage.prototype = {\n parse(data, {\n dnlScanLines = null\n } = {}) {\n function readDataBlock() {\n const length = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n let endOffset = offset + length - 2;\n var fileMarker = findNextFileMarker(data, endOffset, offset);\n\n if (fileMarker && fileMarker.invalid) {\n (0, _util.warn)(\"readDataBlock - incorrect length, current marker is: \" + fileMarker.invalid);\n endOffset = fileMarker.offset;\n }\n\n var array = data.subarray(offset, endOffset);\n offset += array.length;\n return array;\n }\n\n function prepareComponents(frame) {\n var mcusPerLine = Math.ceil(frame.samplesPerLine / 8 / frame.maxH);\n var mcusPerColumn = Math.ceil(frame.scanLines / 8 / frame.maxV);\n\n for (var i = 0; i < frame.components.length; i++) {\n component = frame.components[i];\n var blocksPerLine = Math.ceil(Math.ceil(frame.samplesPerLine / 8) * component.h / frame.maxH);\n var blocksPerColumn = Math.ceil(Math.ceil(frame.scanLines / 8) * component.v / frame.maxV);\n var blocksPerLineForMcu = mcusPerLine * component.h;\n var blocksPerColumnForMcu = mcusPerColumn * component.v;\n var blocksBufferSize = 64 * blocksPerColumnForMcu * (blocksPerLineForMcu + 1);\n component.blockData = new Int16Array(blocksBufferSize);\n component.blocksPerLine = blocksPerLine;\n component.blocksPerColumn = blocksPerColumn;\n }\n\n frame.mcusPerLine = mcusPerLine;\n frame.mcusPerColumn = mcusPerColumn;\n }\n\n var offset = 0;\n var jfif = null;\n var adobe = null;\n var frame, resetInterval;\n let numSOSMarkers = 0;\n var quantizationTables = [];\n var huffmanTablesAC = [],\n huffmanTablesDC = [];\n let fileMarker = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n\n if (fileMarker !== 0xffd8) {\n throw new JpegError(\"SOI not found\");\n }\n\n fileMarker = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n\n markerLoop: while (fileMarker !== 0xffd9) {\n var i, j, l;\n\n switch (fileMarker) {\n case 0xffe0:\n case 0xffe1:\n case 0xffe2:\n case 0xffe3:\n case 0xffe4:\n case 0xffe5:\n case 0xffe6:\n case 0xffe7:\n case 0xffe8:\n case 0xffe9:\n case 0xffea:\n case 0xffeb:\n case 0xffec:\n case 0xffed:\n case 0xffee:\n case 0xffef:\n case 0xfffe:\n var appData = readDataBlock();\n\n if (fileMarker === 0xffe0) {\n if (appData[0] === 0x4a && appData[1] === 0x46 && appData[2] === 0x49 && appData[3] === 0x46 && appData[4] === 0) {\n jfif = {\n version: {\n major: appData[5],\n minor: appData[6]\n },\n densityUnits: appData[7],\n xDensity: appData[8] << 8 | appData[9],\n yDensity: appData[10] << 8 | appData[11],\n thumbWidth: appData[12],\n thumbHeight: appData[13],\n thumbData: appData.subarray(14, 14 + 3 * appData[12] * appData[13])\n };\n }\n }\n\n if (fileMarker === 0xffee) {\n if (appData[0] === 0x41 && appData[1] === 0x64 && appData[2] === 0x6f && appData[3] === 0x62 && appData[4] === 0x65) {\n adobe = {\n version: appData[5] << 8 | appData[6],\n flags0: appData[7] << 8 | appData[8],\n flags1: appData[9] << 8 | appData[10],\n transformCode: appData[11]\n };\n }\n }\n\n break;\n\n case 0xffdb:\n const quantizationTablesLength = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n var quantizationTablesEnd = quantizationTablesLength + offset - 2;\n var z;\n\n while (offset < quantizationTablesEnd) {\n var quantizationTableSpec = data[offset++];\n var tableData = new Uint16Array(64);\n\n if (quantizationTableSpec >> 4 === 0) {\n for (j = 0; j < 64; j++) {\n z = dctZigZag[j];\n tableData[z] = data[offset++];\n }\n } else if (quantizationTableSpec >> 4 === 1) {\n for (j = 0; j < 64; j++) {\n z = dctZigZag[j];\n tableData[z] = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n }\n } else {\n throw new JpegError(\"DQT - invalid table spec\");\n }\n\n quantizationTables[quantizationTableSpec & 15] = tableData;\n }\n\n break;\n\n case 0xffc0:\n case 0xffc1:\n case 0xffc2:\n if (frame) {\n throw new JpegError(\"Only single frame JPEGs supported\");\n }\n\n offset += 2;\n frame = {};\n frame.extended = fileMarker === 0xffc1;\n frame.progressive = fileMarker === 0xffc2;\n frame.precision = data[offset++];\n const sofScanLines = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n frame.scanLines = dnlScanLines || sofScanLines;\n frame.samplesPerLine = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n frame.components = [];\n frame.componentIds = {};\n var componentsCount = data[offset++],\n componentId;\n var maxH = 0,\n maxV = 0;\n\n for (i = 0; i < componentsCount; i++) {\n componentId = data[offset];\n var h = data[offset + 1] >> 4;\n var v = data[offset + 1] & 15;\n\n if (maxH < h) {\n maxH = h;\n }\n\n if (maxV < v) {\n maxV = v;\n }\n\n var qId = data[offset + 2];\n l = frame.components.push({\n h,\n v,\n quantizationId: qId,\n quantizationTable: null\n });\n frame.componentIds[componentId] = l - 1;\n offset += 3;\n }\n\n frame.maxH = maxH;\n frame.maxV = maxV;\n prepareComponents(frame);\n break;\n\n case 0xffc4:\n const huffmanLength = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n\n for (i = 2; i < huffmanLength;) {\n var huffmanTableSpec = data[offset++];\n var codeLengths = new Uint8Array(16);\n var codeLengthSum = 0;\n\n for (j = 0; j < 16; j++, offset++) {\n codeLengthSum += codeLengths[j] = data[offset];\n }\n\n var huffmanValues = new Uint8Array(codeLengthSum);\n\n for (j = 0; j < codeLengthSum; j++, offset++) {\n huffmanValues[j] = data[offset];\n }\n\n i += 17 + codeLengthSum;\n (huffmanTableSpec >> 4 === 0 ? huffmanTablesDC : huffmanTablesAC)[huffmanTableSpec & 15] = buildHuffmanTable(codeLengths, huffmanValues);\n }\n\n break;\n\n case 0xffdd:\n offset += 2;\n resetInterval = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n break;\n\n case 0xffda:\n const parseDNLMarker = ++numSOSMarkers === 1 && !dnlScanLines;\n offset += 2;\n var selectorsCount = data[offset++];\n var components = [],\n component;\n\n for (i = 0; i < selectorsCount; i++) {\n var componentIndex = frame.componentIds[data[offset++]];\n component = frame.components[componentIndex];\n var tableSpec = data[offset++];\n component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n components.push(component);\n }\n\n var spectralStart = data[offset++];\n var spectralEnd = data[offset++];\n var successiveApproximation = data[offset++];\n\n try {\n var processed = decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15, parseDNLMarker);\n offset += processed;\n } catch (ex) {\n if (ex instanceof DNLMarkerError) {\n (0, _util.warn)(`${ex.message} -- attempting to re-parse the JPEG image.`);\n return this.parse(data, {\n dnlScanLines: ex.scanLines\n });\n } else if (ex instanceof EOIMarkerError) {\n (0, _util.warn)(`${ex.message} -- ignoring the rest of the image data.`);\n break markerLoop;\n }\n\n throw ex;\n }\n\n break;\n\n case 0xffdc:\n offset += 4;\n break;\n\n case 0xffff:\n if (data[offset] !== 0xff) {\n offset--;\n }\n\n break;\n\n default:\n const nextFileMarker = findNextFileMarker(data, offset - 2, offset - 3);\n\n if (nextFileMarker && nextFileMarker.invalid) {\n (0, _util.warn)(\"JpegImage.parse - unexpected data, current marker is: \" + nextFileMarker.invalid);\n offset = nextFileMarker.offset;\n break;\n }\n\n if (offset >= data.length - 1) {\n (0, _util.warn)(\"JpegImage.parse - reached the end of the image data \" + \"without finding an EOI marker (0xFFD9).\");\n break markerLoop;\n }\n\n throw new JpegError(\"JpegImage.parse - unknown marker: \" + fileMarker.toString(16));\n }\n\n fileMarker = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n }\n\n this.width = frame.samplesPerLine;\n this.height = frame.scanLines;\n this.jfif = jfif;\n this.adobe = adobe;\n this.components = [];\n\n for (i = 0; i < frame.components.length; i++) {\n component = frame.components[i];\n var quantizationTable = quantizationTables[component.quantizationId];\n\n if (quantizationTable) {\n component.quantizationTable = quantizationTable;\n }\n\n this.components.push({\n output: buildComponentData(frame, component),\n scaleX: component.h / frame.maxH,\n scaleY: component.v / frame.maxV,\n blocksPerLine: component.blocksPerLine,\n blocksPerColumn: component.blocksPerColumn\n });\n }\n\n this.numComponents = this.components.length;\n return undefined;\n },\n\n _getLinearizedBlockData(width, height, isSourcePDF = false) {\n var scaleX = this.width / width,\n scaleY = this.height / height;\n var component, componentScaleX, componentScaleY, blocksPerScanline;\n var x, y, i, j, k;\n var index;\n var offset = 0;\n var output;\n var numComponents = this.components.length;\n var dataLength = width * height * numComponents;\n var data = new Uint8ClampedArray(dataLength);\n var xScaleBlockOffset = new Uint32Array(width);\n var mask3LSB = 0xfffffff8;\n let lastComponentScaleX;\n\n for (i = 0; i < numComponents; i++) {\n component = this.components[i];\n componentScaleX = component.scaleX * scaleX;\n componentScaleY = component.scaleY * scaleY;\n offset = i;\n output = component.output;\n blocksPerScanline = component.blocksPerLine + 1 << 3;\n\n if (componentScaleX !== lastComponentScaleX) {\n for (x = 0; x < width; x++) {\n j = 0 | x * componentScaleX;\n xScaleBlockOffset[x] = (j & mask3LSB) << 3 | j & 7;\n }\n\n lastComponentScaleX = componentScaleX;\n }\n\n for (y = 0; y < height; y++) {\n j = 0 | y * componentScaleY;\n index = blocksPerScanline * (j & mask3LSB) | (j & 7) << 3;\n\n for (x = 0; x < width; x++) {\n data[offset] = output[index + xScaleBlockOffset[x]];\n offset += numComponents;\n }\n }\n }\n\n let transform = this._decodeTransform;\n\n if (!isSourcePDF && numComponents === 4 && !transform) {\n transform = new Int32Array([-256, 255, -256, 255, -256, 255, -256, 255]);\n }\n\n if (transform) {\n for (i = 0; i < dataLength;) {\n for (j = 0, k = 0; j < numComponents; j++, i++, k += 2) {\n data[i] = (data[i] * transform[k] >> 8) + transform[k + 1];\n }\n }\n }\n\n return data;\n },\n\n get _isColorConversionNeeded() {\n if (this.adobe) {\n return !!this.adobe.transformCode;\n }\n\n if (this.numComponents === 3) {\n if (this._colorTransform === 0) {\n return false;\n }\n\n return true;\n }\n\n if (this._colorTransform === 1) {\n return true;\n }\n\n return false;\n },\n\n _convertYccToRgb: function convertYccToRgb(data) {\n var Y, Cb, Cr;\n\n for (var i = 0, length = data.length; i < length; i += 3) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n data[i] = Y - 179.456 + 1.402 * Cr;\n data[i + 1] = Y + 135.459 - 0.344 * Cb - 0.714 * Cr;\n data[i + 2] = Y - 226.816 + 1.772 * Cb;\n }\n\n return data;\n },\n _convertYcckToRgb: function convertYcckToRgb(data) {\n var Y, Cb, Cr, k;\n var offset = 0;\n\n for (var i = 0, length = data.length; i < length; i += 4) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n k = data[i + 3];\n data[offset++] = -122.67195406894 + Cb * (-6.60635669420364e-5 * Cb + 0.000437130475926232 * Cr - 5.4080610064599e-5 * Y + 0.00048449797120281 * k - 0.154362151871126) + Cr * (-0.000957964378445773 * Cr + 0.000817076911346625 * Y - 0.00477271405408747 * k + 1.53380253221734) + Y * (0.000961250184130688 * Y - 0.00266257332283933 * k + 0.48357088451265) + k * (-0.000336197177618394 * k + 0.484791561490776);\n data[offset++] = 107.268039397724 + Cb * (2.19927104525741e-5 * Cb - 0.000640992018297945 * Cr + 0.000659397001245577 * Y + 0.000426105652938837 * k - 0.176491792462875) + Cr * (-0.000778269941513683 * Cr + 0.00130872261408275 * Y + 0.000770482631801132 * k - 0.151051492775562) + Y * (0.00126935368114843 * Y - 0.00265090189010898 * k + 0.25802910206845) + k * (-0.000318913117588328 * k - 0.213742400323665);\n data[offset++] = -20.810012546947 + Cb * (-0.000570115196973677 * Cb - 2.63409051004589e-5 * Cr + 0.0020741088115012 * Y - 0.00288260236853442 * k + 0.814272968359295) + Cr * (-1.53496057440975e-5 * Cr - 0.000132689043961446 * Y + 0.000560833691242812 * k - 0.195152027534049) + Y * (0.00174418132927582 * Y - 0.00255243321439347 * k + 0.116935020465145) + k * (-0.000343531996510555 * k + 0.24165260232407);\n }\n\n return data.subarray(0, offset);\n },\n _convertYcckToCmyk: function convertYcckToCmyk(data) {\n var Y, Cb, Cr;\n\n for (var i = 0, length = data.length; i < length; i += 4) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n data[i] = 434.456 - Y - 1.402 * Cr;\n data[i + 1] = 119.541 - Y + 0.344 * Cb + 0.714 * Cr;\n data[i + 2] = 481.816 - Y - 1.772 * Cb;\n }\n\n return data;\n },\n _convertCmykToRgb: function convertCmykToRgb(data) {\n var c, m, y, k;\n var offset = 0;\n\n for (var i = 0, length = data.length; i < length; i += 4) {\n c = data[i];\n m = data[i + 1];\n y = data[i + 2];\n k = data[i + 3];\n data[offset++] = 255 + c * (-0.00006747147073602441 * c + 0.0008379262121013727 * m + 0.0002894718188643294 * y + 0.003264231057537806 * k - 1.1185611867203937) + m * (0.000026374107616089405 * m - 0.00008626949158638572 * y - 0.0002748769067499491 * k - 0.02155688794978967) + y * (-0.00003878099212869363 * y - 0.0003267808279485286 * k + 0.0686742238595345) - k * (0.0003361971776183937 * k + 0.7430659151342254);\n data[offset++] = 255 + c * (0.00013596372813588848 * c + 0.000924537132573585 * m + 0.00010567359618683593 * y + 0.0004791864687436512 * k - 0.3109689587515875) + m * (-0.00023545346108370344 * m + 0.0002702845253534714 * y + 0.0020200308977307156 * k - 0.7488052167015494) + y * (0.00006834815998235662 * y + 0.00015168452363460973 * k - 0.09751927774728933) - k * (0.00031891311758832814 * k + 0.7364883807733168);\n data[offset++] = 255 + c * (0.000013598650411385307 * c + 0.00012423956175490851 * m + 0.0004751985097583589 * y - 0.0000036729317476630422 * k - 0.05562186980264034) + m * (0.00016141380598724676 * m + 0.0009692239130725186 * y + 0.0007782692450036253 * k - 0.44015232367526463) + y * (5.068882914068769e-7 * y + 0.0017778369011375071 * k - 0.7591454649749609) - k * (0.0003435319965105553 * k + 0.7063770186160144);\n }\n\n return data.subarray(0, offset);\n },\n\n getData({\n width,\n height,\n forceRGB = false,\n isSourcePDF = false\n }) {\n if (this.numComponents > 4) {\n throw new JpegError(\"Unsupported color mode\");\n }\n\n var data = this._getLinearizedBlockData(width, height, isSourcePDF);\n\n if (this.numComponents === 1 && forceRGB) {\n var dataLength = data.length;\n var rgbData = new Uint8ClampedArray(dataLength * 3);\n var offset = 0;\n\n for (var i = 0; i < dataLength; i++) {\n var grayColor = data[i];\n rgbData[offset++] = grayColor;\n rgbData[offset++] = grayColor;\n rgbData[offset++] = grayColor;\n }\n\n return rgbData;\n } else if (this.numComponents === 3 && this._isColorConversionNeeded) {\n return this._convertYccToRgb(data);\n } else if (this.numComponents === 4) {\n if (this._isColorConversionNeeded) {\n if (forceRGB) {\n return this._convertYcckToRgb(data);\n }\n\n return this._convertYcckToCmyk(data);\n } else if (forceRGB) {\n return this._convertCmykToRgb(data);\n }\n }\n\n return data;\n }\n\n };\n return JpegImage;\n}();\n\nexports.JpegImage = JpegImage;\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.JpxStream = void 0;\n\nvar _stream = __w_pdfjs_require__(12);\n\nvar _jpx = __w_pdfjs_require__(21);\n\nvar _util = __w_pdfjs_require__(2);\n\nconst JpxStream = function JpxStreamClosure() {\n function JpxStream(stream, maybeLength, dict, params) {\n this.stream = stream;\n this.maybeLength = maybeLength;\n this.dict = dict;\n this.params = params;\n\n _stream.DecodeStream.call(this, maybeLength);\n }\n\n JpxStream.prototype = Object.create(_stream.DecodeStream.prototype);\n Object.defineProperty(JpxStream.prototype, \"bytes\", {\n get: function JpxStream_bytes() {\n return (0, _util.shadow)(this, \"bytes\", this.stream.getBytes(this.maybeLength));\n },\n configurable: true\n });\n\n JpxStream.prototype.ensureBuffer = function (requested) {};\n\n JpxStream.prototype.readBlock = function () {\n if (this.eof) {\n return;\n }\n\n const jpxImage = new _jpx.JpxImage();\n jpxImage.parse(this.bytes);\n const width = jpxImage.width;\n const height = jpxImage.height;\n const componentsCount = jpxImage.componentsCount;\n const tileCount = jpxImage.tiles.length;\n\n if (tileCount === 1) {\n this.buffer = jpxImage.tiles[0].items;\n } else {\n const data = new Uint8ClampedArray(width * height * componentsCount);\n\n for (let k = 0; k < tileCount; k++) {\n const tileComponents = jpxImage.tiles[k];\n const tileWidth = tileComponents.width;\n const tileHeight = tileComponents.height;\n const tileLeft = tileComponents.left;\n const tileTop = tileComponents.top;\n const src = tileComponents.items;\n let srcPosition = 0;\n let dataPosition = (width * tileTop + tileLeft) * componentsCount;\n const imgRowSize = width * componentsCount;\n const tileRowSize = tileWidth * componentsCount;\n\n for (let j = 0; j < tileHeight; j++) {\n const rowBytes = src.subarray(srcPosition, srcPosition + tileRowSize);\n data.set(rowBytes, dataPosition);\n srcPosition += tileRowSize;\n dataPosition += imgRowSize;\n }\n }\n\n this.buffer = data;\n }\n\n this.bufferLength = this.buffer.length;\n this.eof = true;\n };\n\n return JpxStream;\n}();\n\nexports.JpxStream = JpxStream;\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.JpxImage = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _core_utils = __w_pdfjs_require__(8);\n\nvar _arithmetic_decoder = __w_pdfjs_require__(17);\n\nclass JpxError extends _util.BaseException {\n constructor(msg) {\n super(`JPX error: ${msg}`);\n }\n\n}\n\nvar JpxImage = function JpxImageClosure() {\n var SubbandsGainLog2 = {\n LL: 0,\n LH: 1,\n HL: 1,\n HH: 2\n };\n\n function JpxImage() {\n this.failOnCorruptedImage = false;\n }\n\n JpxImage.prototype = {\n parse: function JpxImage_parse(data) {\n var head = (0, _core_utils.readUint16)(data, 0);\n\n if (head === 0xff4f) {\n this.parseCodestream(data, 0, data.length);\n return;\n }\n\n var position = 0,\n length = data.length;\n\n while (position < length) {\n var headerSize = 8;\n var lbox = (0, _core_utils.readUint32)(data, position);\n var tbox = (0, _core_utils.readUint32)(data, position + 4);\n position += headerSize;\n\n if (lbox === 1) {\n lbox = (0, _core_utils.readUint32)(data, position) * 4294967296 + (0, _core_utils.readUint32)(data, position + 4);\n position += 8;\n headerSize += 8;\n }\n\n if (lbox === 0) {\n lbox = length - position + headerSize;\n }\n\n if (lbox < headerSize) {\n throw new JpxError(\"Invalid box field size\");\n }\n\n var dataLength = lbox - headerSize;\n var jumpDataLength = true;\n\n switch (tbox) {\n case 0x6a703268:\n jumpDataLength = false;\n break;\n\n case 0x636f6c72:\n var method = data[position];\n\n if (method === 1) {\n var colorspace = (0, _core_utils.readUint32)(data, position + 3);\n\n switch (colorspace) {\n case 16:\n case 17:\n case 18:\n break;\n\n default:\n (0, _util.warn)(\"Unknown colorspace \" + colorspace);\n break;\n }\n } else if (method === 2) {\n (0, _util.info)(\"ICC profile not supported\");\n }\n\n break;\n\n case 0x6a703263:\n this.parseCodestream(data, position, position + dataLength);\n break;\n\n case 0x6a502020:\n if ((0, _core_utils.readUint32)(data, position) !== 0x0d0a870a) {\n (0, _util.warn)(\"Invalid JP2 signature\");\n }\n\n break;\n\n case 0x6a501a1a:\n case 0x66747970:\n case 0x72726571:\n case 0x72657320:\n case 0x69686472:\n break;\n\n default:\n var headerType = String.fromCharCode(tbox >> 24 & 0xff, tbox >> 16 & 0xff, tbox >> 8 & 0xff, tbox & 0xff);\n (0, _util.warn)(\"Unsupported header type \" + tbox + \" (\" + headerType + \")\");\n break;\n }\n\n if (jumpDataLength) {\n position += dataLength;\n }\n }\n },\n parseImageProperties: function JpxImage_parseImageProperties(stream) {\n var newByte = stream.getByte();\n\n while (newByte >= 0) {\n var oldByte = newByte;\n newByte = stream.getByte();\n var code = oldByte << 8 | newByte;\n\n if (code === 0xff51) {\n stream.skip(4);\n var Xsiz = stream.getInt32() >>> 0;\n var Ysiz = stream.getInt32() >>> 0;\n var XOsiz = stream.getInt32() >>> 0;\n var YOsiz = stream.getInt32() >>> 0;\n stream.skip(16);\n var Csiz = stream.getUint16();\n this.width = Xsiz - XOsiz;\n this.height = Ysiz - YOsiz;\n this.componentsCount = Csiz;\n this.bitsPerComponent = 8;\n return;\n }\n }\n\n throw new JpxError(\"No size marker found in JPX stream\");\n },\n parseCodestream: function JpxImage_parseCodestream(data, start, end) {\n var context = {};\n var doNotRecover = false;\n\n try {\n var position = start;\n\n while (position + 1 < end) {\n var code = (0, _core_utils.readUint16)(data, position);\n position += 2;\n var length = 0,\n j,\n sqcd,\n spqcds,\n spqcdSize,\n scalarExpounded,\n tile;\n\n switch (code) {\n case 0xff4f:\n context.mainHeader = true;\n break;\n\n case 0xffd9:\n break;\n\n case 0xff51:\n length = (0, _core_utils.readUint16)(data, position);\n var siz = {};\n siz.Xsiz = (0, _core_utils.readUint32)(data, position + 4);\n siz.Ysiz = (0, _core_utils.readUint32)(data, position + 8);\n siz.XOsiz = (0, _core_utils.readUint32)(data, position + 12);\n siz.YOsiz = (0, _core_utils.readUint32)(data, position + 16);\n siz.XTsiz = (0, _core_utils.readUint32)(data, position + 20);\n siz.YTsiz = (0, _core_utils.readUint32)(data, position + 24);\n siz.XTOsiz = (0, _core_utils.readUint32)(data, position + 28);\n siz.YTOsiz = (0, _core_utils.readUint32)(data, position + 32);\n var componentsCount = (0, _core_utils.readUint16)(data, position + 36);\n siz.Csiz = componentsCount;\n var components = [];\n j = position + 38;\n\n for (var i = 0; i < componentsCount; i++) {\n var component = {\n precision: (data[j] & 0x7f) + 1,\n isSigned: !!(data[j] & 0x80),\n XRsiz: data[j + 1],\n YRsiz: data[j + 2]\n };\n j += 3;\n calculateComponentDimensions(component, siz);\n components.push(component);\n }\n\n context.SIZ = siz;\n context.components = components;\n calculateTileGrids(context, components);\n context.QCC = [];\n context.COC = [];\n break;\n\n case 0xff5c:\n length = (0, _core_utils.readUint16)(data, position);\n var qcd = {};\n j = position + 2;\n sqcd = data[j++];\n\n switch (sqcd & 0x1f) {\n case 0:\n spqcdSize = 8;\n scalarExpounded = true;\n break;\n\n case 1:\n spqcdSize = 16;\n scalarExpounded = false;\n break;\n\n case 2:\n spqcdSize = 16;\n scalarExpounded = true;\n break;\n\n default:\n throw new Error(\"Invalid SQcd value \" + sqcd);\n }\n\n qcd.noQuantization = spqcdSize === 8;\n qcd.scalarExpounded = scalarExpounded;\n qcd.guardBits = sqcd >> 5;\n spqcds = [];\n\n while (j < length + position) {\n var spqcd = {};\n\n if (spqcdSize === 8) {\n spqcd.epsilon = data[j++] >> 3;\n spqcd.mu = 0;\n } else {\n spqcd.epsilon = data[j] >> 3;\n spqcd.mu = (data[j] & 0x7) << 8 | data[j + 1];\n j += 2;\n }\n\n spqcds.push(spqcd);\n }\n\n qcd.SPqcds = spqcds;\n\n if (context.mainHeader) {\n context.QCD = qcd;\n } else {\n context.currentTile.QCD = qcd;\n context.currentTile.QCC = [];\n }\n\n break;\n\n case 0xff5d:\n length = (0, _core_utils.readUint16)(data, position);\n var qcc = {};\n j = position + 2;\n var cqcc;\n\n if (context.SIZ.Csiz < 257) {\n cqcc = data[j++];\n } else {\n cqcc = (0, _core_utils.readUint16)(data, j);\n j += 2;\n }\n\n sqcd = data[j++];\n\n switch (sqcd & 0x1f) {\n case 0:\n spqcdSize = 8;\n scalarExpounded = true;\n break;\n\n case 1:\n spqcdSize = 16;\n scalarExpounded = false;\n break;\n\n case 2:\n spqcdSize = 16;\n scalarExpounded = true;\n break;\n\n default:\n throw new Error(\"Invalid SQcd value \" + sqcd);\n }\n\n qcc.noQuantization = spqcdSize === 8;\n qcc.scalarExpounded = scalarExpounded;\n qcc.guardBits = sqcd >> 5;\n spqcds = [];\n\n while (j < length + position) {\n spqcd = {};\n\n if (spqcdSize === 8) {\n spqcd.epsilon = data[j++] >> 3;\n spqcd.mu = 0;\n } else {\n spqcd.epsilon = data[j] >> 3;\n spqcd.mu = (data[j] & 0x7) << 8 | data[j + 1];\n j += 2;\n }\n\n spqcds.push(spqcd);\n }\n\n qcc.SPqcds = spqcds;\n\n if (context.mainHeader) {\n context.QCC[cqcc] = qcc;\n } else {\n context.currentTile.QCC[cqcc] = qcc;\n }\n\n break;\n\n case 0xff52:\n length = (0, _core_utils.readUint16)(data, position);\n var cod = {};\n j = position + 2;\n var scod = data[j++];\n cod.entropyCoderWithCustomPrecincts = !!(scod & 1);\n cod.sopMarkerUsed = !!(scod & 2);\n cod.ephMarkerUsed = !!(scod & 4);\n cod.progressionOrder = data[j++];\n cod.layersCount = (0, _core_utils.readUint16)(data, j);\n j += 2;\n cod.multipleComponentTransform = data[j++];\n cod.decompositionLevelsCount = data[j++];\n cod.xcb = (data[j++] & 0xf) + 2;\n cod.ycb = (data[j++] & 0xf) + 2;\n var blockStyle = data[j++];\n cod.selectiveArithmeticCodingBypass = !!(blockStyle & 1);\n cod.resetContextProbabilities = !!(blockStyle & 2);\n cod.terminationOnEachCodingPass = !!(blockStyle & 4);\n cod.verticallyStripe = !!(blockStyle & 8);\n cod.predictableTermination = !!(blockStyle & 16);\n cod.segmentationSymbolUsed = !!(blockStyle & 32);\n cod.reversibleTransformation = data[j++];\n\n if (cod.entropyCoderWithCustomPrecincts) {\n var precinctsSizes = [];\n\n while (j < length + position) {\n var precinctsSize = data[j++];\n precinctsSizes.push({\n PPx: precinctsSize & 0xf,\n PPy: precinctsSize >> 4\n });\n }\n\n cod.precinctsSizes = precinctsSizes;\n }\n\n var unsupported = [];\n\n if (cod.selectiveArithmeticCodingBypass) {\n unsupported.push(\"selectiveArithmeticCodingBypass\");\n }\n\n if (cod.resetContextProbabilities) {\n unsupported.push(\"resetContextProbabilities\");\n }\n\n if (cod.terminationOnEachCodingPass) {\n unsupported.push(\"terminationOnEachCodingPass\");\n }\n\n if (cod.verticallyStripe) {\n unsupported.push(\"verticallyStripe\");\n }\n\n if (cod.predictableTermination) {\n unsupported.push(\"predictableTermination\");\n }\n\n if (unsupported.length > 0) {\n doNotRecover = true;\n throw new Error(\"Unsupported COD options (\" + unsupported.join(\", \") + \")\");\n }\n\n if (context.mainHeader) {\n context.COD = cod;\n } else {\n context.currentTile.COD = cod;\n context.currentTile.COC = [];\n }\n\n break;\n\n case 0xff90:\n length = (0, _core_utils.readUint16)(data, position);\n tile = {};\n tile.index = (0, _core_utils.readUint16)(data, position + 2);\n tile.length = (0, _core_utils.readUint32)(data, position + 4);\n tile.dataEnd = tile.length + position - 2;\n tile.partIndex = data[position + 8];\n tile.partsCount = data[position + 9];\n context.mainHeader = false;\n\n if (tile.partIndex === 0) {\n tile.COD = context.COD;\n tile.COC = context.COC.slice(0);\n tile.QCD = context.QCD;\n tile.QCC = context.QCC.slice(0);\n }\n\n context.currentTile = tile;\n break;\n\n case 0xff93:\n tile = context.currentTile;\n\n if (tile.partIndex === 0) {\n initializeTile(context, tile.index);\n buildPackets(context);\n }\n\n length = tile.dataEnd - position;\n parseTilePackets(context, data, position, length);\n break;\n\n case 0xff55:\n case 0xff57:\n case 0xff58:\n case 0xff64:\n length = (0, _core_utils.readUint16)(data, position);\n break;\n\n case 0xff53:\n throw new Error(\"Codestream code 0xFF53 (COC) is not implemented\");\n\n default:\n throw new Error(\"Unknown codestream code: \" + code.toString(16));\n }\n\n position += length;\n }\n } catch (e) {\n if (doNotRecover || this.failOnCorruptedImage) {\n throw new JpxError(e.message);\n } else {\n (0, _util.warn)(\"JPX: Trying to recover from: \" + e.message);\n }\n }\n\n this.tiles = transformComponents(context);\n this.width = context.SIZ.Xsiz - context.SIZ.XOsiz;\n this.height = context.SIZ.Ysiz - context.SIZ.YOsiz;\n this.componentsCount = context.SIZ.Csiz;\n }\n };\n\n function calculateComponentDimensions(component, siz) {\n component.x0 = Math.ceil(siz.XOsiz / component.XRsiz);\n component.x1 = Math.ceil(siz.Xsiz / component.XRsiz);\n component.y0 = Math.ceil(siz.YOsiz / component.YRsiz);\n component.y1 = Math.ceil(siz.Ysiz / component.YRsiz);\n component.width = component.x1 - component.x0;\n component.height = component.y1 - component.y0;\n }\n\n function calculateTileGrids(context, components) {\n var siz = context.SIZ;\n var tile,\n tiles = [];\n var numXtiles = Math.ceil((siz.Xsiz - siz.XTOsiz) / siz.XTsiz);\n var numYtiles = Math.ceil((siz.Ysiz - siz.YTOsiz) / siz.YTsiz);\n\n for (var q = 0; q < numYtiles; q++) {\n for (var p = 0; p < numXtiles; p++) {\n tile = {};\n tile.tx0 = Math.max(siz.XTOsiz + p * siz.XTsiz, siz.XOsiz);\n tile.ty0 = Math.max(siz.YTOsiz + q * siz.YTsiz, siz.YOsiz);\n tile.tx1 = Math.min(siz.XTOsiz + (p + 1) * siz.XTsiz, siz.Xsiz);\n tile.ty1 = Math.min(siz.YTOsiz + (q + 1) * siz.YTsiz, siz.Ysiz);\n tile.width = tile.tx1 - tile.tx0;\n tile.height = tile.ty1 - tile.ty0;\n tile.components = [];\n tiles.push(tile);\n }\n }\n\n context.tiles = tiles;\n var componentsCount = siz.Csiz;\n\n for (var i = 0, ii = componentsCount; i < ii; i++) {\n var component = components[i];\n\n for (var j = 0, jj = tiles.length; j < jj; j++) {\n var tileComponent = {};\n tile = tiles[j];\n tileComponent.tcx0 = Math.ceil(tile.tx0 / component.XRsiz);\n tileComponent.tcy0 = Math.ceil(tile.ty0 / component.YRsiz);\n tileComponent.tcx1 = Math.ceil(tile.tx1 / component.XRsiz);\n tileComponent.tcy1 = Math.ceil(tile.ty1 / component.YRsiz);\n tileComponent.width = tileComponent.tcx1 - tileComponent.tcx0;\n tileComponent.height = tileComponent.tcy1 - tileComponent.tcy0;\n tile.components[i] = tileComponent;\n }\n }\n }\n\n function getBlocksDimensions(context, component, r) {\n var codOrCoc = component.codingStyleParameters;\n var result = {};\n\n if (!codOrCoc.entropyCoderWithCustomPrecincts) {\n result.PPx = 15;\n result.PPy = 15;\n } else {\n result.PPx = codOrCoc.precinctsSizes[r].PPx;\n result.PPy = codOrCoc.precinctsSizes[r].PPy;\n }\n\n result.xcb_ = r > 0 ? Math.min(codOrCoc.xcb, result.PPx - 1) : Math.min(codOrCoc.xcb, result.PPx);\n result.ycb_ = r > 0 ? Math.min(codOrCoc.ycb, result.PPy - 1) : Math.min(codOrCoc.ycb, result.PPy);\n return result;\n }\n\n function buildPrecincts(context, resolution, dimensions) {\n var precinctWidth = 1 << dimensions.PPx;\n var precinctHeight = 1 << dimensions.PPy;\n var isZeroRes = resolution.resLevel === 0;\n var precinctWidthInSubband = 1 << dimensions.PPx + (isZeroRes ? 0 : -1);\n var precinctHeightInSubband = 1 << dimensions.PPy + (isZeroRes ? 0 : -1);\n var numprecinctswide = resolution.trx1 > resolution.trx0 ? Math.ceil(resolution.trx1 / precinctWidth) - Math.floor(resolution.trx0 / precinctWidth) : 0;\n var numprecinctshigh = resolution.try1 > resolution.try0 ? Math.ceil(resolution.try1 / precinctHeight) - Math.floor(resolution.try0 / precinctHeight) : 0;\n var numprecincts = numprecinctswide * numprecinctshigh;\n resolution.precinctParameters = {\n precinctWidth,\n precinctHeight,\n numprecinctswide,\n numprecinctshigh,\n numprecincts,\n precinctWidthInSubband,\n precinctHeightInSubband\n };\n }\n\n function buildCodeblocks(context, subband, dimensions) {\n var xcb_ = dimensions.xcb_;\n var ycb_ = dimensions.ycb_;\n var codeblockWidth = 1 << xcb_;\n var codeblockHeight = 1 << ycb_;\n var cbx0 = subband.tbx0 >> xcb_;\n var cby0 = subband.tby0 >> ycb_;\n var cbx1 = subband.tbx1 + codeblockWidth - 1 >> xcb_;\n var cby1 = subband.tby1 + codeblockHeight - 1 >> ycb_;\n var precinctParameters = subband.resolution.precinctParameters;\n var codeblocks = [];\n var precincts = [];\n var i, j, codeblock, precinctNumber;\n\n for (j = cby0; j < cby1; j++) {\n for (i = cbx0; i < cbx1; i++) {\n codeblock = {\n cbx: i,\n cby: j,\n tbx0: codeblockWidth * i,\n tby0: codeblockHeight * j,\n tbx1: codeblockWidth * (i + 1),\n tby1: codeblockHeight * (j + 1)\n };\n codeblock.tbx0_ = Math.max(subband.tbx0, codeblock.tbx0);\n codeblock.tby0_ = Math.max(subband.tby0, codeblock.tby0);\n codeblock.tbx1_ = Math.min(subband.tbx1, codeblock.tbx1);\n codeblock.tby1_ = Math.min(subband.tby1, codeblock.tby1);\n var pi = Math.floor((codeblock.tbx0_ - subband.tbx0) / precinctParameters.precinctWidthInSubband);\n var pj = Math.floor((codeblock.tby0_ - subband.tby0) / precinctParameters.precinctHeightInSubband);\n precinctNumber = pi + pj * precinctParameters.numprecinctswide;\n codeblock.precinctNumber = precinctNumber;\n codeblock.subbandType = subband.type;\n codeblock.Lblock = 3;\n\n if (codeblock.tbx1_ <= codeblock.tbx0_ || codeblock.tby1_ <= codeblock.tby0_) {\n continue;\n }\n\n codeblocks.push(codeblock);\n var precinct = precincts[precinctNumber];\n\n if (precinct !== undefined) {\n if (i < precinct.cbxMin) {\n precinct.cbxMin = i;\n } else if (i > precinct.cbxMax) {\n precinct.cbxMax = i;\n }\n\n if (j < precinct.cbyMin) {\n precinct.cbxMin = j;\n } else if (j > precinct.cbyMax) {\n precinct.cbyMax = j;\n }\n } else {\n precincts[precinctNumber] = precinct = {\n cbxMin: i,\n cbyMin: j,\n cbxMax: i,\n cbyMax: j\n };\n }\n\n codeblock.precinct = precinct;\n }\n }\n\n subband.codeblockParameters = {\n codeblockWidth: xcb_,\n codeblockHeight: ycb_,\n numcodeblockwide: cbx1 - cbx0 + 1,\n numcodeblockhigh: cby1 - cby0 + 1\n };\n subband.codeblocks = codeblocks;\n subband.precincts = precincts;\n }\n\n function createPacket(resolution, precinctNumber, layerNumber) {\n var precinctCodeblocks = [];\n var subbands = resolution.subbands;\n\n for (var i = 0, ii = subbands.length; i < ii; i++) {\n var subband = subbands[i];\n var codeblocks = subband.codeblocks;\n\n for (var j = 0, jj = codeblocks.length; j < jj; j++) {\n var codeblock = codeblocks[j];\n\n if (codeblock.precinctNumber !== precinctNumber) {\n continue;\n }\n\n precinctCodeblocks.push(codeblock);\n }\n }\n\n return {\n layerNumber,\n codeblocks: precinctCodeblocks\n };\n }\n\n function LayerResolutionComponentPositionIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var maxDecompositionLevelsCount = 0;\n\n for (var q = 0; q < componentsCount; q++) {\n maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, tile.components[q].codingStyleParameters.decompositionLevelsCount);\n }\n\n var l = 0,\n r = 0,\n i = 0,\n k = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; l < layersCount; l++) {\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; i < componentsCount; i++) {\n var component = tile.components[i];\n\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n\n var resolution = component.resolutions[r];\n var numprecincts = resolution.precinctParameters.numprecincts;\n\n for (; k < numprecincts;) {\n var packet = createPacket(resolution, k, l);\n k++;\n return packet;\n }\n\n k = 0;\n }\n\n i = 0;\n }\n\n r = 0;\n }\n\n throw new JpxError(\"Out of packets\");\n };\n }\n\n function ResolutionLayerComponentPositionIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var maxDecompositionLevelsCount = 0;\n\n for (var q = 0; q < componentsCount; q++) {\n maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, tile.components[q].codingStyleParameters.decompositionLevelsCount);\n }\n\n var r = 0,\n l = 0,\n i = 0,\n k = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; l < layersCount; l++) {\n for (; i < componentsCount; i++) {\n var component = tile.components[i];\n\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n\n var resolution = component.resolutions[r];\n var numprecincts = resolution.precinctParameters.numprecincts;\n\n for (; k < numprecincts;) {\n var packet = createPacket(resolution, k, l);\n k++;\n return packet;\n }\n\n k = 0;\n }\n\n i = 0;\n }\n\n l = 0;\n }\n\n throw new JpxError(\"Out of packets\");\n };\n }\n\n function ResolutionPositionComponentLayerIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var l, r, c, p;\n var maxDecompositionLevelsCount = 0;\n\n for (c = 0; c < componentsCount; c++) {\n const component = tile.components[c];\n maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, component.codingStyleParameters.decompositionLevelsCount);\n }\n\n var maxNumPrecinctsInLevel = new Int32Array(maxDecompositionLevelsCount + 1);\n\n for (r = 0; r <= maxDecompositionLevelsCount; ++r) {\n var maxNumPrecincts = 0;\n\n for (c = 0; c < componentsCount; ++c) {\n var resolutions = tile.components[c].resolutions;\n\n if (r < resolutions.length) {\n maxNumPrecincts = Math.max(maxNumPrecincts, resolutions[r].precinctParameters.numprecincts);\n }\n }\n\n maxNumPrecinctsInLevel[r] = maxNumPrecincts;\n }\n\n l = 0;\n r = 0;\n c = 0;\n p = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; p < maxNumPrecinctsInLevel[r]; p++) {\n for (; c < componentsCount; c++) {\n const component = tile.components[c];\n\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n\n var resolution = component.resolutions[r];\n var numprecincts = resolution.precinctParameters.numprecincts;\n\n if (p >= numprecincts) {\n continue;\n }\n\n for (; l < layersCount;) {\n var packet = createPacket(resolution, p, l);\n l++;\n return packet;\n }\n\n l = 0;\n }\n\n c = 0;\n }\n\n p = 0;\n }\n\n throw new JpxError(\"Out of packets\");\n };\n }\n\n function PositionComponentResolutionLayerIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var precinctsSizes = getPrecinctSizesInImageScale(tile);\n var precinctsIterationSizes = precinctsSizes;\n var l = 0,\n r = 0,\n c = 0,\n px = 0,\n py = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; py < precinctsIterationSizes.maxNumHigh; py++) {\n for (; px < precinctsIterationSizes.maxNumWide; px++) {\n for (; c < componentsCount; c++) {\n var component = tile.components[c];\n var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n\n for (; r <= decompositionLevelsCount; r++) {\n var resolution = component.resolutions[r];\n var sizeInImageScale = precinctsSizes.components[c].resolutions[r];\n var k = getPrecinctIndexIfExist(px, py, sizeInImageScale, precinctsIterationSizes, resolution);\n\n if (k === null) {\n continue;\n }\n\n for (; l < layersCount;) {\n var packet = createPacket(resolution, k, l);\n l++;\n return packet;\n }\n\n l = 0;\n }\n\n r = 0;\n }\n\n c = 0;\n }\n\n px = 0;\n }\n\n throw new JpxError(\"Out of packets\");\n };\n }\n\n function ComponentPositionResolutionLayerIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var precinctsSizes = getPrecinctSizesInImageScale(tile);\n var l = 0,\n r = 0,\n c = 0,\n px = 0,\n py = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; c < componentsCount; ++c) {\n var component = tile.components[c];\n var precinctsIterationSizes = precinctsSizes.components[c];\n var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n\n for (; py < precinctsIterationSizes.maxNumHigh; py++) {\n for (; px < precinctsIterationSizes.maxNumWide; px++) {\n for (; r <= decompositionLevelsCount; r++) {\n var resolution = component.resolutions[r];\n var sizeInImageScale = precinctsIterationSizes.resolutions[r];\n var k = getPrecinctIndexIfExist(px, py, sizeInImageScale, precinctsIterationSizes, resolution);\n\n if (k === null) {\n continue;\n }\n\n for (; l < layersCount;) {\n var packet = createPacket(resolution, k, l);\n l++;\n return packet;\n }\n\n l = 0;\n }\n\n r = 0;\n }\n\n px = 0;\n }\n\n py = 0;\n }\n\n throw new JpxError(\"Out of packets\");\n };\n }\n\n function getPrecinctIndexIfExist(pxIndex, pyIndex, sizeInImageScale, precinctIterationSizes, resolution) {\n var posX = pxIndex * precinctIterationSizes.minWidth;\n var posY = pyIndex * precinctIterationSizes.minHeight;\n\n if (posX % sizeInImageScale.width !== 0 || posY % sizeInImageScale.height !== 0) {\n return null;\n }\n\n var startPrecinctRowIndex = posY / sizeInImageScale.width * resolution.precinctParameters.numprecinctswide;\n return posX / sizeInImageScale.height + startPrecinctRowIndex;\n }\n\n function getPrecinctSizesInImageScale(tile) {\n var componentsCount = tile.components.length;\n var minWidth = Number.MAX_VALUE;\n var minHeight = Number.MAX_VALUE;\n var maxNumWide = 0;\n var maxNumHigh = 0;\n var sizePerComponent = new Array(componentsCount);\n\n for (var c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n var sizePerResolution = new Array(decompositionLevelsCount + 1);\n var minWidthCurrentComponent = Number.MAX_VALUE;\n var minHeightCurrentComponent = Number.MAX_VALUE;\n var maxNumWideCurrentComponent = 0;\n var maxNumHighCurrentComponent = 0;\n var scale = 1;\n\n for (var r = decompositionLevelsCount; r >= 0; --r) {\n var resolution = component.resolutions[r];\n var widthCurrentResolution = scale * resolution.precinctParameters.precinctWidth;\n var heightCurrentResolution = scale * resolution.precinctParameters.precinctHeight;\n minWidthCurrentComponent = Math.min(minWidthCurrentComponent, widthCurrentResolution);\n minHeightCurrentComponent = Math.min(minHeightCurrentComponent, heightCurrentResolution);\n maxNumWideCurrentComponent = Math.max(maxNumWideCurrentComponent, resolution.precinctParameters.numprecinctswide);\n maxNumHighCurrentComponent = Math.max(maxNumHighCurrentComponent, resolution.precinctParameters.numprecinctshigh);\n sizePerResolution[r] = {\n width: widthCurrentResolution,\n height: heightCurrentResolution\n };\n scale <<= 1;\n }\n\n minWidth = Math.min(minWidth, minWidthCurrentComponent);\n minHeight = Math.min(minHeight, minHeightCurrentComponent);\n maxNumWide = Math.max(maxNumWide, maxNumWideCurrentComponent);\n maxNumHigh = Math.max(maxNumHigh, maxNumHighCurrentComponent);\n sizePerComponent[c] = {\n resolutions: sizePerResolution,\n minWidth: minWidthCurrentComponent,\n minHeight: minHeightCurrentComponent,\n maxNumWide: maxNumWideCurrentComponent,\n maxNumHigh: maxNumHighCurrentComponent\n };\n }\n\n return {\n components: sizePerComponent,\n minWidth,\n minHeight,\n maxNumWide,\n maxNumHigh\n };\n }\n\n function buildPackets(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var componentsCount = siz.Csiz;\n\n for (var c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n var resolutions = [];\n var subbands = [];\n\n for (var r = 0; r <= decompositionLevelsCount; r++) {\n var blocksDimensions = getBlocksDimensions(context, component, r);\n var resolution = {};\n var scale = 1 << decompositionLevelsCount - r;\n resolution.trx0 = Math.ceil(component.tcx0 / scale);\n resolution.try0 = Math.ceil(component.tcy0 / scale);\n resolution.trx1 = Math.ceil(component.tcx1 / scale);\n resolution.try1 = Math.ceil(component.tcy1 / scale);\n resolution.resLevel = r;\n buildPrecincts(context, resolution, blocksDimensions);\n resolutions.push(resolution);\n var subband;\n\n if (r === 0) {\n subband = {};\n subband.type = \"LL\";\n subband.tbx0 = Math.ceil(component.tcx0 / scale);\n subband.tby0 = Math.ceil(component.tcy0 / scale);\n subband.tbx1 = Math.ceil(component.tcx1 / scale);\n subband.tby1 = Math.ceil(component.tcy1 / scale);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolution.subbands = [subband];\n } else {\n var bscale = 1 << decompositionLevelsCount - r + 1;\n var resolutionSubbands = [];\n subband = {};\n subband.type = \"HL\";\n subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);\n subband.tby0 = Math.ceil(component.tcy0 / bscale);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);\n subband.tby1 = Math.ceil(component.tcy1 / bscale);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n subband = {};\n subband.type = \"LH\";\n subband.tbx0 = Math.ceil(component.tcx0 / bscale);\n subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale);\n subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n subband = {};\n subband.type = \"HH\";\n subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);\n subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);\n subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n resolution.subbands = resolutionSubbands;\n }\n }\n\n component.resolutions = resolutions;\n component.subbands = subbands;\n }\n\n var progressionOrder = tile.codingStyleDefaultParameters.progressionOrder;\n\n switch (progressionOrder) {\n case 0:\n tile.packetsIterator = new LayerResolutionComponentPositionIterator(context);\n break;\n\n case 1:\n tile.packetsIterator = new ResolutionLayerComponentPositionIterator(context);\n break;\n\n case 2:\n tile.packetsIterator = new ResolutionPositionComponentLayerIterator(context);\n break;\n\n case 3:\n tile.packetsIterator = new PositionComponentResolutionLayerIterator(context);\n break;\n\n case 4:\n tile.packetsIterator = new ComponentPositionResolutionLayerIterator(context);\n break;\n\n default:\n throw new JpxError(`Unsupported progression order ${progressionOrder}`);\n }\n }\n\n function parseTilePackets(context, data, offset, dataLength) {\n var position = 0;\n var buffer,\n bufferSize = 0,\n skipNextBit = false;\n\n function readBits(count) {\n while (bufferSize < count) {\n var b = data[offset + position];\n position++;\n\n if (skipNextBit) {\n buffer = buffer << 7 | b;\n bufferSize += 7;\n skipNextBit = false;\n } else {\n buffer = buffer << 8 | b;\n bufferSize += 8;\n }\n\n if (b === 0xff) {\n skipNextBit = true;\n }\n }\n\n bufferSize -= count;\n return buffer >>> bufferSize & (1 << count) - 1;\n }\n\n function skipMarkerIfEqual(value) {\n if (data[offset + position - 1] === 0xff && data[offset + position] === value) {\n skipBytes(1);\n return true;\n } else if (data[offset + position] === 0xff && data[offset + position + 1] === value) {\n skipBytes(2);\n return true;\n }\n\n return false;\n }\n\n function skipBytes(count) {\n position += count;\n }\n\n function alignToByte() {\n bufferSize = 0;\n\n if (skipNextBit) {\n position++;\n skipNextBit = false;\n }\n }\n\n function readCodingpasses() {\n if (readBits(1) === 0) {\n return 1;\n }\n\n if (readBits(1) === 0) {\n return 2;\n }\n\n var value = readBits(2);\n\n if (value < 3) {\n return value + 3;\n }\n\n value = readBits(5);\n\n if (value < 31) {\n return value + 6;\n }\n\n value = readBits(7);\n return value + 37;\n }\n\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var sopMarkerUsed = context.COD.sopMarkerUsed;\n var ephMarkerUsed = context.COD.ephMarkerUsed;\n var packetsIterator = tile.packetsIterator;\n\n while (position < dataLength) {\n alignToByte();\n\n if (sopMarkerUsed && skipMarkerIfEqual(0x91)) {\n skipBytes(4);\n }\n\n var packet = packetsIterator.nextPacket();\n\n if (!readBits(1)) {\n continue;\n }\n\n var layerNumber = packet.layerNumber;\n var queue = [],\n codeblock;\n\n for (var i = 0, ii = packet.codeblocks.length; i < ii; i++) {\n codeblock = packet.codeblocks[i];\n var precinct = codeblock.precinct;\n var codeblockColumn = codeblock.cbx - precinct.cbxMin;\n var codeblockRow = codeblock.cby - precinct.cbyMin;\n var codeblockIncluded = false;\n var firstTimeInclusion = false;\n var valueReady;\n\n if (codeblock.included !== undefined) {\n codeblockIncluded = !!readBits(1);\n } else {\n precinct = codeblock.precinct;\n var inclusionTree, zeroBitPlanesTree;\n\n if (precinct.inclusionTree !== undefined) {\n inclusionTree = precinct.inclusionTree;\n } else {\n var width = precinct.cbxMax - precinct.cbxMin + 1;\n var height = precinct.cbyMax - precinct.cbyMin + 1;\n inclusionTree = new InclusionTree(width, height, layerNumber);\n zeroBitPlanesTree = new TagTree(width, height);\n precinct.inclusionTree = inclusionTree;\n precinct.zeroBitPlanesTree = zeroBitPlanesTree;\n }\n\n if (inclusionTree.reset(codeblockColumn, codeblockRow, layerNumber)) {\n while (true) {\n if (readBits(1)) {\n valueReady = !inclusionTree.nextLevel();\n\n if (valueReady) {\n codeblock.included = true;\n codeblockIncluded = firstTimeInclusion = true;\n break;\n }\n } else {\n inclusionTree.incrementValue(layerNumber);\n break;\n }\n }\n }\n }\n\n if (!codeblockIncluded) {\n continue;\n }\n\n if (firstTimeInclusion) {\n zeroBitPlanesTree = precinct.zeroBitPlanesTree;\n zeroBitPlanesTree.reset(codeblockColumn, codeblockRow);\n\n while (true) {\n if (readBits(1)) {\n valueReady = !zeroBitPlanesTree.nextLevel();\n\n if (valueReady) {\n break;\n }\n } else {\n zeroBitPlanesTree.incrementValue();\n }\n }\n\n codeblock.zeroBitPlanes = zeroBitPlanesTree.value;\n }\n\n var codingpasses = readCodingpasses();\n\n while (readBits(1)) {\n codeblock.Lblock++;\n }\n\n var codingpassesLog2 = (0, _core_utils.log2)(codingpasses);\n var bits = (codingpasses < 1 << codingpassesLog2 ? codingpassesLog2 - 1 : codingpassesLog2) + codeblock.Lblock;\n var codedDataLength = readBits(bits);\n queue.push({\n codeblock,\n codingpasses,\n dataLength: codedDataLength\n });\n }\n\n alignToByte();\n\n if (ephMarkerUsed) {\n skipMarkerIfEqual(0x92);\n }\n\n while (queue.length > 0) {\n var packetItem = queue.shift();\n codeblock = packetItem.codeblock;\n\n if (codeblock.data === undefined) {\n codeblock.data = [];\n }\n\n codeblock.data.push({\n data,\n start: offset + position,\n end: offset + position + packetItem.dataLength,\n codingpasses: packetItem.codingpasses\n });\n position += packetItem.dataLength;\n }\n }\n\n return position;\n }\n\n function copyCoefficients(coefficients, levelWidth, levelHeight, subband, delta, mb, reversible, segmentationSymbolUsed) {\n var x0 = subband.tbx0;\n var y0 = subband.tby0;\n var width = subband.tbx1 - subband.tbx0;\n var codeblocks = subband.codeblocks;\n var right = subband.type.charAt(0) === \"H\" ? 1 : 0;\n var bottom = subband.type.charAt(1) === \"H\" ? levelWidth : 0;\n\n for (var i = 0, ii = codeblocks.length; i < ii; ++i) {\n var codeblock = codeblocks[i];\n var blockWidth = codeblock.tbx1_ - codeblock.tbx0_;\n var blockHeight = codeblock.tby1_ - codeblock.tby0_;\n\n if (blockWidth === 0 || blockHeight === 0) {\n continue;\n }\n\n if (codeblock.data === undefined) {\n continue;\n }\n\n var bitModel, currentCodingpassType;\n bitModel = new BitModel(blockWidth, blockHeight, codeblock.subbandType, codeblock.zeroBitPlanes, mb);\n currentCodingpassType = 2;\n var data = codeblock.data,\n totalLength = 0,\n codingpasses = 0;\n var j, jj, dataItem;\n\n for (j = 0, jj = data.length; j < jj; j++) {\n dataItem = data[j];\n totalLength += dataItem.end - dataItem.start;\n codingpasses += dataItem.codingpasses;\n }\n\n var encodedData = new Uint8Array(totalLength);\n var position = 0;\n\n for (j = 0, jj = data.length; j < jj; j++) {\n dataItem = data[j];\n var chunk = dataItem.data.subarray(dataItem.start, dataItem.end);\n encodedData.set(chunk, position);\n position += chunk.length;\n }\n\n var decoder = new _arithmetic_decoder.ArithmeticDecoder(encodedData, 0, totalLength);\n bitModel.setDecoder(decoder);\n\n for (j = 0; j < codingpasses; j++) {\n switch (currentCodingpassType) {\n case 0:\n bitModel.runSignificancePropagationPass();\n break;\n\n case 1:\n bitModel.runMagnitudeRefinementPass();\n break;\n\n case 2:\n bitModel.runCleanupPass();\n\n if (segmentationSymbolUsed) {\n bitModel.checkSegmentationSymbol();\n }\n\n break;\n }\n\n currentCodingpassType = (currentCodingpassType + 1) % 3;\n }\n\n var offset = codeblock.tbx0_ - x0 + (codeblock.tby0_ - y0) * width;\n var sign = bitModel.coefficentsSign;\n var magnitude = bitModel.coefficentsMagnitude;\n var bitsDecoded = bitModel.bitsDecoded;\n var magnitudeCorrection = reversible ? 0 : 0.5;\n var k, n, nb;\n position = 0;\n var interleave = subband.type !== \"LL\";\n\n for (j = 0; j < blockHeight; j++) {\n var row = offset / width | 0;\n var levelOffset = 2 * row * (levelWidth - width) + right + bottom;\n\n for (k = 0; k < blockWidth; k++) {\n n = magnitude[position];\n\n if (n !== 0) {\n n = (n + magnitudeCorrection) * delta;\n\n if (sign[position] !== 0) {\n n = -n;\n }\n\n nb = bitsDecoded[position];\n var pos = interleave ? levelOffset + (offset << 1) : offset;\n\n if (reversible && nb >= mb) {\n coefficients[pos] = n;\n } else {\n coefficients[pos] = n * (1 << mb - nb);\n }\n }\n\n offset++;\n position++;\n }\n\n offset += width - blockWidth;\n }\n }\n }\n\n function transformTile(context, tile, c) {\n var component = tile.components[c];\n var codingStyleParameters = component.codingStyleParameters;\n var quantizationParameters = component.quantizationParameters;\n var decompositionLevelsCount = codingStyleParameters.decompositionLevelsCount;\n var spqcds = quantizationParameters.SPqcds;\n var scalarExpounded = quantizationParameters.scalarExpounded;\n var guardBits = quantizationParameters.guardBits;\n var segmentationSymbolUsed = codingStyleParameters.segmentationSymbolUsed;\n var precision = context.components[c].precision;\n var reversible = codingStyleParameters.reversibleTransformation;\n var transform = reversible ? new ReversibleTransform() : new IrreversibleTransform();\n var subbandCoefficients = [];\n var b = 0;\n\n for (var i = 0; i <= decompositionLevelsCount; i++) {\n var resolution = component.resolutions[i];\n var width = resolution.trx1 - resolution.trx0;\n var height = resolution.try1 - resolution.try0;\n var coefficients = new Float32Array(width * height);\n\n for (var j = 0, jj = resolution.subbands.length; j < jj; j++) {\n var mu, epsilon;\n\n if (!scalarExpounded) {\n mu = spqcds[0].mu;\n epsilon = spqcds[0].epsilon + (i > 0 ? 1 - i : 0);\n } else {\n mu = spqcds[b].mu;\n epsilon = spqcds[b].epsilon;\n b++;\n }\n\n var subband = resolution.subbands[j];\n var gainLog2 = SubbandsGainLog2[subband.type];\n var delta = reversible ? 1 : 2 ** (precision + gainLog2 - epsilon) * (1 + mu / 2048);\n var mb = guardBits + epsilon - 1;\n copyCoefficients(coefficients, width, height, subband, delta, mb, reversible, segmentationSymbolUsed);\n }\n\n subbandCoefficients.push({\n width,\n height,\n items: coefficients\n });\n }\n\n var result = transform.calculate(subbandCoefficients, component.tcx0, component.tcy0);\n return {\n left: component.tcx0,\n top: component.tcy0,\n width: result.width,\n height: result.height,\n items: result.items\n };\n }\n\n function transformComponents(context) {\n var siz = context.SIZ;\n var components = context.components;\n var componentsCount = siz.Csiz;\n var resultImages = [];\n\n for (var i = 0, ii = context.tiles.length; i < ii; i++) {\n var tile = context.tiles[i];\n var transformedTiles = [];\n var c;\n\n for (c = 0; c < componentsCount; c++) {\n transformedTiles[c] = transformTile(context, tile, c);\n }\n\n var tile0 = transformedTiles[0];\n var out = new Uint8ClampedArray(tile0.items.length * componentsCount);\n var result = {\n left: tile0.left,\n top: tile0.top,\n width: tile0.width,\n height: tile0.height,\n items: out\n };\n var shift, offset;\n var pos = 0,\n j,\n jj,\n y0,\n y1,\n y2;\n\n if (tile.codingStyleDefaultParameters.multipleComponentTransform) {\n var fourComponents = componentsCount === 4;\n var y0items = transformedTiles[0].items;\n var y1items = transformedTiles[1].items;\n var y2items = transformedTiles[2].items;\n var y3items = fourComponents ? transformedTiles[3].items : null;\n shift = components[0].precision - 8;\n offset = (128 << shift) + 0.5;\n var component0 = tile.components[0];\n var alpha01 = componentsCount - 3;\n jj = y0items.length;\n\n if (!component0.codingStyleParameters.reversibleTransformation) {\n for (j = 0; j < jj; j++, pos += alpha01) {\n y0 = y0items[j] + offset;\n y1 = y1items[j];\n y2 = y2items[j];\n out[pos++] = y0 + 1.402 * y2 >> shift;\n out[pos++] = y0 - 0.34413 * y1 - 0.71414 * y2 >> shift;\n out[pos++] = y0 + 1.772 * y1 >> shift;\n }\n } else {\n for (j = 0; j < jj; j++, pos += alpha01) {\n y0 = y0items[j] + offset;\n y1 = y1items[j];\n y2 = y2items[j];\n const g = y0 - (y2 + y1 >> 2);\n out[pos++] = g + y2 >> shift;\n out[pos++] = g >> shift;\n out[pos++] = g + y1 >> shift;\n }\n }\n\n if (fourComponents) {\n for (j = 0, pos = 3; j < jj; j++, pos += 4) {\n out[pos] = y3items[j] + offset >> shift;\n }\n }\n } else {\n for (c = 0; c < componentsCount; c++) {\n var items = transformedTiles[c].items;\n shift = components[c].precision - 8;\n offset = (128 << shift) + 0.5;\n\n for (pos = c, j = 0, jj = items.length; j < jj; j++) {\n out[pos] = items[j] + offset >> shift;\n pos += componentsCount;\n }\n }\n }\n\n resultImages.push(result);\n }\n\n return resultImages;\n }\n\n function initializeTile(context, tileIndex) {\n var siz = context.SIZ;\n var componentsCount = siz.Csiz;\n var tile = context.tiles[tileIndex];\n\n for (var c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n var qcdOrQcc = context.currentTile.QCC[c] !== undefined ? context.currentTile.QCC[c] : context.currentTile.QCD;\n component.quantizationParameters = qcdOrQcc;\n var codOrCoc = context.currentTile.COC[c] !== undefined ? context.currentTile.COC[c] : context.currentTile.COD;\n component.codingStyleParameters = codOrCoc;\n }\n\n tile.codingStyleDefaultParameters = context.currentTile.COD;\n }\n\n var TagTree = function TagTreeClosure() {\n function TagTree(width, height) {\n var levelsLength = (0, _core_utils.log2)(Math.max(width, height)) + 1;\n this.levels = [];\n\n for (var i = 0; i < levelsLength; i++) {\n var level = {\n width,\n height,\n items: []\n };\n this.levels.push(level);\n width = Math.ceil(width / 2);\n height = Math.ceil(height / 2);\n }\n }\n\n TagTree.prototype = {\n reset: function TagTree_reset(i, j) {\n var currentLevel = 0,\n value = 0,\n level;\n\n while (currentLevel < this.levels.length) {\n level = this.levels[currentLevel];\n var index = i + j * level.width;\n\n if (level.items[index] !== undefined) {\n value = level.items[index];\n break;\n }\n\n level.index = index;\n i >>= 1;\n j >>= 1;\n currentLevel++;\n }\n\n currentLevel--;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n this.currentLevel = currentLevel;\n delete this.value;\n },\n incrementValue: function TagTree_incrementValue() {\n var level = this.levels[this.currentLevel];\n level.items[level.index]++;\n },\n nextLevel: function TagTree_nextLevel() {\n var currentLevel = this.currentLevel;\n var level = this.levels[currentLevel];\n var value = level.items[level.index];\n currentLevel--;\n\n if (currentLevel < 0) {\n this.value = value;\n return false;\n }\n\n this.currentLevel = currentLevel;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n return true;\n }\n };\n return TagTree;\n }();\n\n var InclusionTree = function InclusionTreeClosure() {\n function InclusionTree(width, height, defaultValue) {\n var levelsLength = (0, _core_utils.log2)(Math.max(width, height)) + 1;\n this.levels = [];\n\n for (var i = 0; i < levelsLength; i++) {\n var items = new Uint8Array(width * height);\n\n for (var j = 0, jj = items.length; j < jj; j++) {\n items[j] = defaultValue;\n }\n\n var level = {\n width,\n height,\n items\n };\n this.levels.push(level);\n width = Math.ceil(width / 2);\n height = Math.ceil(height / 2);\n }\n }\n\n InclusionTree.prototype = {\n reset: function InclusionTree_reset(i, j, stopValue) {\n var currentLevel = 0;\n\n while (currentLevel < this.levels.length) {\n var level = this.levels[currentLevel];\n var index = i + j * level.width;\n level.index = index;\n var value = level.items[index];\n\n if (value === 0xff) {\n break;\n }\n\n if (value > stopValue) {\n this.currentLevel = currentLevel;\n this.propagateValues();\n return false;\n }\n\n i >>= 1;\n j >>= 1;\n currentLevel++;\n }\n\n this.currentLevel = currentLevel - 1;\n return true;\n },\n incrementValue: function InclusionTree_incrementValue(stopValue) {\n var level = this.levels[this.currentLevel];\n level.items[level.index] = stopValue + 1;\n this.propagateValues();\n },\n propagateValues: function InclusionTree_propagateValues() {\n var levelIndex = this.currentLevel;\n var level = this.levels[levelIndex];\n var currentValue = level.items[level.index];\n\n while (--levelIndex >= 0) {\n level = this.levels[levelIndex];\n level.items[level.index] = currentValue;\n }\n },\n nextLevel: function InclusionTree_nextLevel() {\n var currentLevel = this.currentLevel;\n var level = this.levels[currentLevel];\n var value = level.items[level.index];\n level.items[level.index] = 0xff;\n currentLevel--;\n\n if (currentLevel < 0) {\n return false;\n }\n\n this.currentLevel = currentLevel;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n return true;\n }\n };\n return InclusionTree;\n }();\n\n var BitModel = function BitModelClosure() {\n var UNIFORM_CONTEXT = 17;\n var RUNLENGTH_CONTEXT = 18;\n var LLAndLHContextsLabel = new Uint8Array([0, 5, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 1, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8]);\n var HLContextLabel = new Uint8Array([0, 3, 4, 0, 5, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 1, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8]);\n var HHContextLabel = new Uint8Array([0, 1, 2, 0, 1, 2, 2, 0, 2, 2, 2, 0, 0, 0, 0, 0, 3, 4, 5, 0, 4, 5, 5, 0, 5, 5, 5, 0, 0, 0, 0, 0, 6, 7, 7, 0, 7, 7, 7, 0, 7, 7, 7, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8]);\n\n function BitModel(width, height, subband, zeroBitPlanes, mb) {\n this.width = width;\n this.height = height;\n let contextLabelTable;\n\n if (subband === \"HH\") {\n contextLabelTable = HHContextLabel;\n } else if (subband === \"HL\") {\n contextLabelTable = HLContextLabel;\n } else {\n contextLabelTable = LLAndLHContextsLabel;\n }\n\n this.contextLabelTable = contextLabelTable;\n var coefficientCount = width * height;\n this.neighborsSignificance = new Uint8Array(coefficientCount);\n this.coefficentsSign = new Uint8Array(coefficientCount);\n let coefficentsMagnitude;\n\n if (mb > 14) {\n coefficentsMagnitude = new Uint32Array(coefficientCount);\n } else if (mb > 6) {\n coefficentsMagnitude = new Uint16Array(coefficientCount);\n } else {\n coefficentsMagnitude = new Uint8Array(coefficientCount);\n }\n\n this.coefficentsMagnitude = coefficentsMagnitude;\n this.processingFlags = new Uint8Array(coefficientCount);\n var bitsDecoded = new Uint8Array(coefficientCount);\n\n if (zeroBitPlanes !== 0) {\n for (var i = 0; i < coefficientCount; i++) {\n bitsDecoded[i] = zeroBitPlanes;\n }\n }\n\n this.bitsDecoded = bitsDecoded;\n this.reset();\n }\n\n BitModel.prototype = {\n setDecoder: function BitModel_setDecoder(decoder) {\n this.decoder = decoder;\n },\n reset: function BitModel_reset() {\n this.contexts = new Int8Array(19);\n this.contexts[0] = 4 << 1 | 0;\n this.contexts[UNIFORM_CONTEXT] = 46 << 1 | 0;\n this.contexts[RUNLENGTH_CONTEXT] = 3 << 1 | 0;\n },\n setNeighborsSignificance: function BitModel_setNeighborsSignificance(row, column, index) {\n var neighborsSignificance = this.neighborsSignificance;\n var width = this.width,\n height = this.height;\n var left = column > 0;\n var right = column + 1 < width;\n var i;\n\n if (row > 0) {\n i = index - width;\n\n if (left) {\n neighborsSignificance[i - 1] += 0x10;\n }\n\n if (right) {\n neighborsSignificance[i + 1] += 0x10;\n }\n\n neighborsSignificance[i] += 0x04;\n }\n\n if (row + 1 < height) {\n i = index + width;\n\n if (left) {\n neighborsSignificance[i - 1] += 0x10;\n }\n\n if (right) {\n neighborsSignificance[i + 1] += 0x10;\n }\n\n neighborsSignificance[i] += 0x04;\n }\n\n if (left) {\n neighborsSignificance[index - 1] += 0x01;\n }\n\n if (right) {\n neighborsSignificance[index + 1] += 0x01;\n }\n\n neighborsSignificance[index] |= 0x80;\n },\n runSignificancePropagationPass: function BitModel_runSignificancePropagationPass() {\n var decoder = this.decoder;\n var width = this.width,\n height = this.height;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var coefficentsSign = this.coefficentsSign;\n var neighborsSignificance = this.neighborsSignificance;\n var processingFlags = this.processingFlags;\n var contexts = this.contexts;\n var labels = this.contextLabelTable;\n var bitsDecoded = this.bitsDecoded;\n var processedInverseMask = ~1;\n var processedMask = 1;\n var firstMagnitudeBitMask = 2;\n\n for (var i0 = 0; i0 < height; i0 += 4) {\n for (var j = 0; j < width; j++) {\n var index = i0 * width + j;\n\n for (var i1 = 0; i1 < 4; i1++, index += width) {\n var i = i0 + i1;\n\n if (i >= height) {\n break;\n }\n\n processingFlags[index] &= processedInverseMask;\n\n if (coefficentsMagnitude[index] || !neighborsSignificance[index]) {\n continue;\n }\n\n var contextLabel = labels[neighborsSignificance[index]];\n var decision = decoder.readBit(contexts, contextLabel);\n\n if (decision) {\n var sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n }\n\n bitsDecoded[index]++;\n processingFlags[index] |= processedMask;\n }\n }\n }\n },\n decodeSignBit: function BitModel_decodeSignBit(row, column, index) {\n var width = this.width,\n height = this.height;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var coefficentsSign = this.coefficentsSign;\n var contribution, sign0, sign1, significance1;\n var contextLabel, decoded;\n significance1 = column > 0 && coefficentsMagnitude[index - 1] !== 0;\n\n if (column + 1 < width && coefficentsMagnitude[index + 1] !== 0) {\n sign1 = coefficentsSign[index + 1];\n\n if (significance1) {\n sign0 = coefficentsSign[index - 1];\n contribution = 1 - sign1 - sign0;\n } else {\n contribution = 1 - sign1 - sign1;\n }\n } else if (significance1) {\n sign0 = coefficentsSign[index - 1];\n contribution = 1 - sign0 - sign0;\n } else {\n contribution = 0;\n }\n\n var horizontalContribution = 3 * contribution;\n significance1 = row > 0 && coefficentsMagnitude[index - width] !== 0;\n\n if (row + 1 < height && coefficentsMagnitude[index + width] !== 0) {\n sign1 = coefficentsSign[index + width];\n\n if (significance1) {\n sign0 = coefficentsSign[index - width];\n contribution = 1 - sign1 - sign0 + horizontalContribution;\n } else {\n contribution = 1 - sign1 - sign1 + horizontalContribution;\n }\n } else if (significance1) {\n sign0 = coefficentsSign[index - width];\n contribution = 1 - sign0 - sign0 + horizontalContribution;\n } else {\n contribution = horizontalContribution;\n }\n\n if (contribution >= 0) {\n contextLabel = 9 + contribution;\n decoded = this.decoder.readBit(this.contexts, contextLabel);\n } else {\n contextLabel = 9 - contribution;\n decoded = this.decoder.readBit(this.contexts, contextLabel) ^ 1;\n }\n\n return decoded;\n },\n runMagnitudeRefinementPass: function BitModel_runMagnitudeRefinementPass() {\n var decoder = this.decoder;\n var width = this.width,\n height = this.height;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var neighborsSignificance = this.neighborsSignificance;\n var contexts = this.contexts;\n var bitsDecoded = this.bitsDecoded;\n var processingFlags = this.processingFlags;\n var processedMask = 1;\n var firstMagnitudeBitMask = 2;\n var length = width * height;\n var width4 = width * 4;\n\n for (var index0 = 0, indexNext; index0 < length; index0 = indexNext) {\n indexNext = Math.min(length, index0 + width4);\n\n for (var j = 0; j < width; j++) {\n for (var index = index0 + j; index < indexNext; index += width) {\n if (!coefficentsMagnitude[index] || (processingFlags[index] & processedMask) !== 0) {\n continue;\n }\n\n var contextLabel = 16;\n\n if ((processingFlags[index] & firstMagnitudeBitMask) !== 0) {\n processingFlags[index] ^= firstMagnitudeBitMask;\n var significance = neighborsSignificance[index] & 127;\n contextLabel = significance === 0 ? 15 : 14;\n }\n\n var bit = decoder.readBit(contexts, contextLabel);\n coefficentsMagnitude[index] = coefficentsMagnitude[index] << 1 | bit;\n bitsDecoded[index]++;\n processingFlags[index] |= processedMask;\n }\n }\n }\n },\n runCleanupPass: function BitModel_runCleanupPass() {\n var decoder = this.decoder;\n var width = this.width,\n height = this.height;\n var neighborsSignificance = this.neighborsSignificance;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var coefficentsSign = this.coefficentsSign;\n var contexts = this.contexts;\n var labels = this.contextLabelTable;\n var bitsDecoded = this.bitsDecoded;\n var processingFlags = this.processingFlags;\n var processedMask = 1;\n var firstMagnitudeBitMask = 2;\n var oneRowDown = width;\n var twoRowsDown = width * 2;\n var threeRowsDown = width * 3;\n var iNext;\n\n for (var i0 = 0; i0 < height; i0 = iNext) {\n iNext = Math.min(i0 + 4, height);\n var indexBase = i0 * width;\n var checkAllEmpty = i0 + 3 < height;\n\n for (var j = 0; j < width; j++) {\n var index0 = indexBase + j;\n var allEmpty = checkAllEmpty && processingFlags[index0] === 0 && processingFlags[index0 + oneRowDown] === 0 && processingFlags[index0 + twoRowsDown] === 0 && processingFlags[index0 + threeRowsDown] === 0 && neighborsSignificance[index0] === 0 && neighborsSignificance[index0 + oneRowDown] === 0 && neighborsSignificance[index0 + twoRowsDown] === 0 && neighborsSignificance[index0 + threeRowsDown] === 0;\n var i1 = 0,\n index = index0;\n var i = i0,\n sign;\n\n if (allEmpty) {\n var hasSignificantCoefficent = decoder.readBit(contexts, RUNLENGTH_CONTEXT);\n\n if (!hasSignificantCoefficent) {\n bitsDecoded[index0]++;\n bitsDecoded[index0 + oneRowDown]++;\n bitsDecoded[index0 + twoRowsDown]++;\n bitsDecoded[index0 + threeRowsDown]++;\n continue;\n }\n\n i1 = decoder.readBit(contexts, UNIFORM_CONTEXT) << 1 | decoder.readBit(contexts, UNIFORM_CONTEXT);\n\n if (i1 !== 0) {\n i = i0 + i1;\n index += i1 * width;\n }\n\n sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n index = index0;\n\n for (var i2 = i0; i2 <= i; i2++, index += width) {\n bitsDecoded[index]++;\n }\n\n i1++;\n }\n\n for (i = i0 + i1; i < iNext; i++, index += width) {\n if (coefficentsMagnitude[index] || (processingFlags[index] & processedMask) !== 0) {\n continue;\n }\n\n var contextLabel = labels[neighborsSignificance[index]];\n var decision = decoder.readBit(contexts, contextLabel);\n\n if (decision === 1) {\n sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n }\n\n bitsDecoded[index]++;\n }\n }\n }\n },\n checkSegmentationSymbol: function BitModel_checkSegmentationSymbol() {\n var decoder = this.decoder;\n var contexts = this.contexts;\n var symbol = decoder.readBit(contexts, UNIFORM_CONTEXT) << 3 | decoder.readBit(contexts, UNIFORM_CONTEXT) << 2 | decoder.readBit(contexts, UNIFORM_CONTEXT) << 1 | decoder.readBit(contexts, UNIFORM_CONTEXT);\n\n if (symbol !== 0xa) {\n throw new JpxError(\"Invalid segmentation symbol\");\n }\n }\n };\n return BitModel;\n }();\n\n var Transform = function TransformClosure() {\n function Transform() {}\n\n Transform.prototype.calculate = function transformCalculate(subbands, u0, v0) {\n var ll = subbands[0];\n\n for (var i = 1, ii = subbands.length; i < ii; i++) {\n ll = this.iterate(ll, subbands[i], u0, v0);\n }\n\n return ll;\n };\n\n Transform.prototype.extend = function extend(buffer, offset, size) {\n var i1 = offset - 1,\n j1 = offset + 1;\n var i2 = offset + size - 2,\n j2 = offset + size;\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1] = buffer[j1];\n buffer[j2] = buffer[i2];\n };\n\n Transform.prototype.iterate = function Transform_iterate(ll, hl_lh_hh, u0, v0) {\n var llWidth = ll.width,\n llHeight = ll.height,\n llItems = ll.items;\n var width = hl_lh_hh.width;\n var height = hl_lh_hh.height;\n var items = hl_lh_hh.items;\n var i, j, k, l, u, v;\n\n for (k = 0, i = 0; i < llHeight; i++) {\n l = i * 2 * width;\n\n for (j = 0; j < llWidth; j++, k++, l += 2) {\n items[l] = llItems[k];\n }\n }\n\n llItems = ll.items = null;\n var bufferPadding = 4;\n var rowBuffer = new Float32Array(width + 2 * bufferPadding);\n\n if (width === 1) {\n if ((u0 & 1) !== 0) {\n for (v = 0, k = 0; v < height; v++, k += width) {\n items[k] *= 0.5;\n }\n }\n } else {\n for (v = 0, k = 0; v < height; v++, k += width) {\n rowBuffer.set(items.subarray(k, k + width), bufferPadding);\n this.extend(rowBuffer, bufferPadding, width);\n this.filter(rowBuffer, bufferPadding, width);\n items.set(rowBuffer.subarray(bufferPadding, bufferPadding + width), k);\n }\n }\n\n var numBuffers = 16;\n var colBuffers = [];\n\n for (i = 0; i < numBuffers; i++) {\n colBuffers.push(new Float32Array(height + 2 * bufferPadding));\n }\n\n var b,\n currentBuffer = 0;\n ll = bufferPadding + height;\n\n if (height === 1) {\n if ((v0 & 1) !== 0) {\n for (u = 0; u < width; u++) {\n items[u] *= 0.5;\n }\n }\n } else {\n for (u = 0; u < width; u++) {\n if (currentBuffer === 0) {\n numBuffers = Math.min(width - u, numBuffers);\n\n for (k = u, l = bufferPadding; l < ll; k += width, l++) {\n for (b = 0; b < numBuffers; b++) {\n colBuffers[b][l] = items[k + b];\n }\n }\n\n currentBuffer = numBuffers;\n }\n\n currentBuffer--;\n var buffer = colBuffers[currentBuffer];\n this.extend(buffer, bufferPadding, height);\n this.filter(buffer, bufferPadding, height);\n\n if (currentBuffer === 0) {\n k = u - numBuffers + 1;\n\n for (l = bufferPadding; l < ll; k += width, l++) {\n for (b = 0; b < numBuffers; b++) {\n items[k + b] = colBuffers[b][l];\n }\n }\n }\n }\n }\n\n return {\n width,\n height,\n items\n };\n };\n\n return Transform;\n }();\n\n var IrreversibleTransform = function IrreversibleTransformClosure() {\n function IrreversibleTransform() {\n Transform.call(this);\n }\n\n IrreversibleTransform.prototype = Object.create(Transform.prototype);\n\n IrreversibleTransform.prototype.filter = function irreversibleTransformFilter(x, offset, length) {\n var len = length >> 1;\n offset = offset | 0;\n var j, n, current, next;\n var alpha = -1.586134342059924;\n var beta = -0.052980118572961;\n var gamma = 0.882911075530934;\n var delta = 0.443506852043971;\n var K = 1.230174104914001;\n var K_ = 1 / K;\n j = offset - 3;\n\n for (n = len + 4; n--; j += 2) {\n x[j] *= K_;\n }\n\n j = offset - 2;\n current = delta * x[j - 1];\n\n for (n = len + 3; n--; j += 2) {\n next = delta * x[j + 1];\n x[j] = K * x[j] - current - next;\n\n if (n--) {\n j += 2;\n current = delta * x[j + 1];\n x[j] = K * x[j] - current - next;\n } else {\n break;\n }\n }\n\n j = offset - 1;\n current = gamma * x[j - 1];\n\n for (n = len + 2; n--; j += 2) {\n next = gamma * x[j + 1];\n x[j] -= current + next;\n\n if (n--) {\n j += 2;\n current = gamma * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n\n j = offset;\n current = beta * x[j - 1];\n\n for (n = len + 1; n--; j += 2) {\n next = beta * x[j + 1];\n x[j] -= current + next;\n\n if (n--) {\n j += 2;\n current = beta * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n\n if (len !== 0) {\n j = offset + 1;\n current = alpha * x[j - 1];\n\n for (n = len; n--; j += 2) {\n next = alpha * x[j + 1];\n x[j] -= current + next;\n\n if (n--) {\n j += 2;\n current = alpha * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n }\n };\n\n return IrreversibleTransform;\n }();\n\n var ReversibleTransform = function ReversibleTransformClosure() {\n function ReversibleTransform() {\n Transform.call(this);\n }\n\n ReversibleTransform.prototype = Object.create(Transform.prototype);\n\n ReversibleTransform.prototype.filter = function reversibleTransformFilter(x, offset, length) {\n var len = length >> 1;\n offset = offset | 0;\n var j, n;\n\n for (j = offset, n = len + 1; n--; j += 2) {\n x[j] -= x[j - 1] + x[j + 1] + 2 >> 2;\n }\n\n for (j = offset + 1, n = len; n--; j += 2) {\n x[j] += x[j - 1] + x[j + 1] >> 1;\n }\n };\n\n return ReversibleTransform;\n }();\n\n return JpxImage;\n}();\n\nexports.JpxImage = JpxImage;\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.calculateSHA512 = exports.calculateSHA384 = exports.calculateSHA256 = exports.calculateMD5 = exports.PDF20 = exports.PDF17 = exports.CipherTransformFactory = exports.ARCFourCipher = exports.AES256Cipher = exports.AES128Cipher = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _primitives = __w_pdfjs_require__(5);\n\nvar _stream = __w_pdfjs_require__(12);\n\nvar ARCFourCipher = function ARCFourCipherClosure() {\n function ARCFourCipher(key) {\n this.a = 0;\n this.b = 0;\n var s = new Uint8Array(256);\n var i,\n j = 0,\n tmp,\n keyLength = key.length;\n\n for (i = 0; i < 256; ++i) {\n s[i] = i;\n }\n\n for (i = 0; i < 256; ++i) {\n tmp = s[i];\n j = j + tmp + key[i % keyLength] & 0xff;\n s[i] = s[j];\n s[j] = tmp;\n }\n\n this.s = s;\n }\n\n ARCFourCipher.prototype = {\n encryptBlock: function ARCFourCipher_encryptBlock(data) {\n var i,\n n = data.length,\n tmp,\n tmp2;\n var a = this.a,\n b = this.b,\n s = this.s;\n var output = new Uint8Array(n);\n\n for (i = 0; i < n; ++i) {\n a = a + 1 & 0xff;\n tmp = s[a];\n b = b + tmp & 0xff;\n tmp2 = s[b];\n s[a] = tmp2;\n s[b] = tmp;\n output[i] = data[i] ^ s[tmp + tmp2 & 0xff];\n }\n\n this.a = a;\n this.b = b;\n return output;\n }\n };\n ARCFourCipher.prototype.decryptBlock = ARCFourCipher.prototype.encryptBlock;\n return ARCFourCipher;\n}();\n\nexports.ARCFourCipher = ARCFourCipher;\n\nvar calculateMD5 = function calculateMD5Closure() {\n var r = new Uint8Array([7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21]);\n var k = new Int32Array([-680876936, -389564586, 606105819, -1044525330, -176418897, 1200080426, -1473231341, -45705983, 1770035416, -1958414417, -42063, -1990404162, 1804603682, -40341101, -1502002290, 1236535329, -165796510, -1069501632, 643717713, -373897302, -701558691, 38016083, -660478335, -405537848, 568446438, -1019803690, -187363961, 1163531501, -1444681467, -51403784, 1735328473, -1926607734, -378558, -2022574463, 1839030562, -35309556, -1530992060, 1272893353, -155497632, -1094730640, 681279174, -358537222, -722521979, 76029189, -640364487, -421815835, 530742520, -995338651, -198630844, 1126891415, -1416354905, -57434055, 1700485571, -1894986606, -1051523, -2054922799, 1873313359, -30611744, -1560198380, 1309151649, -145523070, -1120210379, 718787259, -343485551]);\n\n function hash(data, offset, length) {\n var h0 = 1732584193,\n h1 = -271733879,\n h2 = -1732584194,\n h3 = 271733878;\n var paddedLength = length + 72 & ~63;\n var padded = new Uint8Array(paddedLength);\n var i, j, n;\n\n for (i = 0; i < length; ++i) {\n padded[i] = data[offset++];\n }\n\n padded[i++] = 0x80;\n n = paddedLength - 8;\n\n while (i < n) {\n padded[i++] = 0;\n }\n\n padded[i++] = length << 3 & 0xff;\n padded[i++] = length >> 5 & 0xff;\n padded[i++] = length >> 13 & 0xff;\n padded[i++] = length >> 21 & 0xff;\n padded[i++] = length >>> 29 & 0xff;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n var w = new Int32Array(16);\n\n for (i = 0; i < paddedLength;) {\n for (j = 0; j < 16; ++j, i += 4) {\n w[j] = padded[i] | padded[i + 1] << 8 | padded[i + 2] << 16 | padded[i + 3] << 24;\n }\n\n var a = h0,\n b = h1,\n c = h2,\n d = h3,\n f,\n g;\n\n for (j = 0; j < 64; ++j) {\n if (j < 16) {\n f = b & c | ~b & d;\n g = j;\n } else if (j < 32) {\n f = d & b | ~d & c;\n g = 5 * j + 1 & 15;\n } else if (j < 48) {\n f = b ^ c ^ d;\n g = 3 * j + 5 & 15;\n } else {\n f = c ^ (b | ~d);\n g = 7 * j & 15;\n }\n\n var tmp = d,\n rotateArg = a + f + k[j] + w[g] | 0,\n rotate = r[j];\n d = c;\n c = b;\n b = b + (rotateArg << rotate | rotateArg >>> 32 - rotate) | 0;\n a = tmp;\n }\n\n h0 = h0 + a | 0;\n h1 = h1 + b | 0;\n h2 = h2 + c | 0;\n h3 = h3 + d | 0;\n }\n\n return new Uint8Array([h0 & 0xFF, h0 >> 8 & 0xFF, h0 >> 16 & 0xFF, h0 >>> 24 & 0xFF, h1 & 0xFF, h1 >> 8 & 0xFF, h1 >> 16 & 0xFF, h1 >>> 24 & 0xFF, h2 & 0xFF, h2 >> 8 & 0xFF, h2 >> 16 & 0xFF, h2 >>> 24 & 0xFF, h3 & 0xFF, h3 >> 8 & 0xFF, h3 >> 16 & 0xFF, h3 >>> 24 & 0xFF]);\n }\n\n return hash;\n}();\n\nexports.calculateMD5 = calculateMD5;\n\nvar Word64 = function Word64Closure() {\n function Word64(highInteger, lowInteger) {\n this.high = highInteger | 0;\n this.low = lowInteger | 0;\n }\n\n Word64.prototype = {\n and: function Word64_and(word) {\n this.high &= word.high;\n this.low &= word.low;\n },\n xor: function Word64_xor(word) {\n this.high ^= word.high;\n this.low ^= word.low;\n },\n or: function Word64_or(word) {\n this.high |= word.high;\n this.low |= word.low;\n },\n shiftRight: function Word64_shiftRight(places) {\n if (places >= 32) {\n this.low = this.high >>> places - 32 | 0;\n this.high = 0;\n } else {\n this.low = this.low >>> places | this.high << 32 - places;\n this.high = this.high >>> places | 0;\n }\n },\n shiftLeft: function Word64_shiftLeft(places) {\n if (places >= 32) {\n this.high = this.low << places - 32;\n this.low = 0;\n } else {\n this.high = this.high << places | this.low >>> 32 - places;\n this.low = this.low << places;\n }\n },\n rotateRight: function Word64_rotateRight(places) {\n var low, high;\n\n if (places & 32) {\n high = this.low;\n low = this.high;\n } else {\n low = this.low;\n high = this.high;\n }\n\n places &= 31;\n this.low = low >>> places | high << 32 - places;\n this.high = high >>> places | low << 32 - places;\n },\n not: function Word64_not() {\n this.high = ~this.high;\n this.low = ~this.low;\n },\n add: function Word64_add(word) {\n var lowAdd = (this.low >>> 0) + (word.low >>> 0);\n var highAdd = (this.high >>> 0) + (word.high >>> 0);\n\n if (lowAdd > 0xffffffff) {\n highAdd += 1;\n }\n\n this.low = lowAdd | 0;\n this.high = highAdd | 0;\n },\n copyTo: function Word64_copyTo(bytes, offset) {\n bytes[offset] = this.high >>> 24 & 0xff;\n bytes[offset + 1] = this.high >> 16 & 0xff;\n bytes[offset + 2] = this.high >> 8 & 0xff;\n bytes[offset + 3] = this.high & 0xff;\n bytes[offset + 4] = this.low >>> 24 & 0xff;\n bytes[offset + 5] = this.low >> 16 & 0xff;\n bytes[offset + 6] = this.low >> 8 & 0xff;\n bytes[offset + 7] = this.low & 0xff;\n },\n assign: function Word64_assign(word) {\n this.high = word.high;\n this.low = word.low;\n }\n };\n return Word64;\n}();\n\nvar calculateSHA256 = function calculateSHA256Closure() {\n function rotr(x, n) {\n return x >>> n | x << 32 - n;\n }\n\n function ch(x, y, z) {\n return x & y ^ ~x & z;\n }\n\n function maj(x, y, z) {\n return x & y ^ x & z ^ y & z;\n }\n\n function sigma(x) {\n return rotr(x, 2) ^ rotr(x, 13) ^ rotr(x, 22);\n }\n\n function sigmaPrime(x) {\n return rotr(x, 6) ^ rotr(x, 11) ^ rotr(x, 25);\n }\n\n function littleSigma(x) {\n return rotr(x, 7) ^ rotr(x, 18) ^ x >>> 3;\n }\n\n function littleSigmaPrime(x) {\n return rotr(x, 17) ^ rotr(x, 19) ^ x >>> 10;\n }\n\n var k = [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2];\n\n function hash(data, offset, length) {\n var h0 = 0x6a09e667,\n h1 = 0xbb67ae85,\n h2 = 0x3c6ef372,\n h3 = 0xa54ff53a,\n h4 = 0x510e527f,\n h5 = 0x9b05688c,\n h6 = 0x1f83d9ab,\n h7 = 0x5be0cd19;\n var paddedLength = Math.ceil((length + 9) / 64) * 64;\n var padded = new Uint8Array(paddedLength);\n var i, j, n;\n\n for (i = 0; i < length; ++i) {\n padded[i] = data[offset++];\n }\n\n padded[i++] = 0x80;\n n = paddedLength - 8;\n\n while (i < n) {\n padded[i++] = 0;\n }\n\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = length >>> 29 & 0xff;\n padded[i++] = length >> 21 & 0xff;\n padded[i++] = length >> 13 & 0xff;\n padded[i++] = length >> 5 & 0xff;\n padded[i++] = length << 3 & 0xff;\n var w = new Uint32Array(64);\n\n for (i = 0; i < paddedLength;) {\n for (j = 0; j < 16; ++j) {\n w[j] = padded[i] << 24 | padded[i + 1] << 16 | padded[i + 2] << 8 | padded[i + 3];\n i += 4;\n }\n\n for (j = 16; j < 64; ++j) {\n w[j] = littleSigmaPrime(w[j - 2]) + w[j - 7] + littleSigma(w[j - 15]) + w[j - 16] | 0;\n }\n\n var a = h0,\n b = h1,\n c = h2,\n d = h3,\n e = h4,\n f = h5,\n g = h6,\n h = h7,\n t1,\n t2;\n\n for (j = 0; j < 64; ++j) {\n t1 = h + sigmaPrime(e) + ch(e, f, g) + k[j] + w[j];\n t2 = sigma(a) + maj(a, b, c);\n h = g;\n g = f;\n f = e;\n e = d + t1 | 0;\n d = c;\n c = b;\n b = a;\n a = t1 + t2 | 0;\n }\n\n h0 = h0 + a | 0;\n h1 = h1 + b | 0;\n h2 = h2 + c | 0;\n h3 = h3 + d | 0;\n h4 = h4 + e | 0;\n h5 = h5 + f | 0;\n h6 = h6 + g | 0;\n h7 = h7 + h | 0;\n }\n\n return new Uint8Array([h0 >> 24 & 0xFF, h0 >> 16 & 0xFF, h0 >> 8 & 0xFF, h0 & 0xFF, h1 >> 24 & 0xFF, h1 >> 16 & 0xFF, h1 >> 8 & 0xFF, h1 & 0xFF, h2 >> 24 & 0xFF, h2 >> 16 & 0xFF, h2 >> 8 & 0xFF, h2 & 0xFF, h3 >> 24 & 0xFF, h3 >> 16 & 0xFF, h3 >> 8 & 0xFF, h3 & 0xFF, h4 >> 24 & 0xFF, h4 >> 16 & 0xFF, h4 >> 8 & 0xFF, h4 & 0xFF, h5 >> 24 & 0xFF, h5 >> 16 & 0xFF, h5 >> 8 & 0xFF, h5 & 0xFF, h6 >> 24 & 0xFF, h6 >> 16 & 0xFF, h6 >> 8 & 0xFF, h6 & 0xFF, h7 >> 24 & 0xFF, h7 >> 16 & 0xFF, h7 >> 8 & 0xFF, h7 & 0xFF]);\n }\n\n return hash;\n}();\n\nexports.calculateSHA256 = calculateSHA256;\n\nvar calculateSHA512 = function calculateSHA512Closure() {\n function ch(result, x, y, z, tmp) {\n result.assign(x);\n result.and(y);\n tmp.assign(x);\n tmp.not();\n tmp.and(z);\n result.xor(tmp);\n }\n\n function maj(result, x, y, z, tmp) {\n result.assign(x);\n result.and(y);\n tmp.assign(x);\n tmp.and(z);\n result.xor(tmp);\n tmp.assign(y);\n tmp.and(z);\n result.xor(tmp);\n }\n\n function sigma(result, x, tmp) {\n result.assign(x);\n result.rotateRight(28);\n tmp.assign(x);\n tmp.rotateRight(34);\n result.xor(tmp);\n tmp.assign(x);\n tmp.rotateRight(39);\n result.xor(tmp);\n }\n\n function sigmaPrime(result, x, tmp) {\n result.assign(x);\n result.rotateRight(14);\n tmp.assign(x);\n tmp.rotateRight(18);\n result.xor(tmp);\n tmp.assign(x);\n tmp.rotateRight(41);\n result.xor(tmp);\n }\n\n function littleSigma(result, x, tmp) {\n result.assign(x);\n result.rotateRight(1);\n tmp.assign(x);\n tmp.rotateRight(8);\n result.xor(tmp);\n tmp.assign(x);\n tmp.shiftRight(7);\n result.xor(tmp);\n }\n\n function littleSigmaPrime(result, x, tmp) {\n result.assign(x);\n result.rotateRight(19);\n tmp.assign(x);\n tmp.rotateRight(61);\n result.xor(tmp);\n tmp.assign(x);\n tmp.shiftRight(6);\n result.xor(tmp);\n }\n\n var k = [new Word64(0x428a2f98, 0xd728ae22), new Word64(0x71374491, 0x23ef65cd), new Word64(0xb5c0fbcf, 0xec4d3b2f), new Word64(0xe9b5dba5, 0x8189dbbc), new Word64(0x3956c25b, 0xf348b538), new Word64(0x59f111f1, 0xb605d019), new Word64(0x923f82a4, 0xaf194f9b), new Word64(0xab1c5ed5, 0xda6d8118), new Word64(0xd807aa98, 0xa3030242), new Word64(0x12835b01, 0x45706fbe), new Word64(0x243185be, 0x4ee4b28c), new Word64(0x550c7dc3, 0xd5ffb4e2), new Word64(0x72be5d74, 0xf27b896f), new Word64(0x80deb1fe, 0x3b1696b1), new Word64(0x9bdc06a7, 0x25c71235), new Word64(0xc19bf174, 0xcf692694), new Word64(0xe49b69c1, 0x9ef14ad2), new Word64(0xefbe4786, 0x384f25e3), new Word64(0x0fc19dc6, 0x8b8cd5b5), new Word64(0x240ca1cc, 0x77ac9c65), new Word64(0x2de92c6f, 0x592b0275), new Word64(0x4a7484aa, 0x6ea6e483), new Word64(0x5cb0a9dc, 0xbd41fbd4), new Word64(0x76f988da, 0x831153b5), new Word64(0x983e5152, 0xee66dfab), new Word64(0xa831c66d, 0x2db43210), new Word64(0xb00327c8, 0x98fb213f), new Word64(0xbf597fc7, 0xbeef0ee4), new Word64(0xc6e00bf3, 0x3da88fc2), new Word64(0xd5a79147, 0x930aa725), new Word64(0x06ca6351, 0xe003826f), new Word64(0x14292967, 0x0a0e6e70), new Word64(0x27b70a85, 0x46d22ffc), new Word64(0x2e1b2138, 0x5c26c926), new Word64(0x4d2c6dfc, 0x5ac42aed), new Word64(0x53380d13, 0x9d95b3df), new Word64(0x650a7354, 0x8baf63de), new Word64(0x766a0abb, 0x3c77b2a8), new Word64(0x81c2c92e, 0x47edaee6), new Word64(0x92722c85, 0x1482353b), new Word64(0xa2bfe8a1, 0x4cf10364), new Word64(0xa81a664b, 0xbc423001), new Word64(0xc24b8b70, 0xd0f89791), new Word64(0xc76c51a3, 0x0654be30), new Word64(0xd192e819, 0xd6ef5218), new Word64(0xd6990624, 0x5565a910), new Word64(0xf40e3585, 0x5771202a), new Word64(0x106aa070, 0x32bbd1b8), new Word64(0x19a4c116, 0xb8d2d0c8), new Word64(0x1e376c08, 0x5141ab53), new Word64(0x2748774c, 0xdf8eeb99), new Word64(0x34b0bcb5, 0xe19b48a8), new Word64(0x391c0cb3, 0xc5c95a63), new Word64(0x4ed8aa4a, 0xe3418acb), new Word64(0x5b9cca4f, 0x7763e373), new Word64(0x682e6ff3, 0xd6b2b8a3), new Word64(0x748f82ee, 0x5defb2fc), new Word64(0x78a5636f, 0x43172f60), new Word64(0x84c87814, 0xa1f0ab72), new Word64(0x8cc70208, 0x1a6439ec), new Word64(0x90befffa, 0x23631e28), new Word64(0xa4506ceb, 0xde82bde9), new Word64(0xbef9a3f7, 0xb2c67915), new Word64(0xc67178f2, 0xe372532b), new Word64(0xca273ece, 0xea26619c), new Word64(0xd186b8c7, 0x21c0c207), new Word64(0xeada7dd6, 0xcde0eb1e), new Word64(0xf57d4f7f, 0xee6ed178), new Word64(0x06f067aa, 0x72176fba), new Word64(0x0a637dc5, 0xa2c898a6), new Word64(0x113f9804, 0xbef90dae), new Word64(0x1b710b35, 0x131c471b), new Word64(0x28db77f5, 0x23047d84), new Word64(0x32caab7b, 0x40c72493), new Word64(0x3c9ebe0a, 0x15c9bebc), new Word64(0x431d67c4, 0x9c100d4c), new Word64(0x4cc5d4be, 0xcb3e42b6), new Word64(0x597f299c, 0xfc657e2a), new Word64(0x5fcb6fab, 0x3ad6faec), new Word64(0x6c44198c, 0x4a475817)];\n\n function hash(data, offset, length, mode384) {\n mode384 = !!mode384;\n var h0, h1, h2, h3, h4, h5, h6, h7;\n\n if (!mode384) {\n h0 = new Word64(0x6a09e667, 0xf3bcc908);\n h1 = new Word64(0xbb67ae85, 0x84caa73b);\n h2 = new Word64(0x3c6ef372, 0xfe94f82b);\n h3 = new Word64(0xa54ff53a, 0x5f1d36f1);\n h4 = new Word64(0x510e527f, 0xade682d1);\n h5 = new Word64(0x9b05688c, 0x2b3e6c1f);\n h6 = new Word64(0x1f83d9ab, 0xfb41bd6b);\n h7 = new Word64(0x5be0cd19, 0x137e2179);\n } else {\n h0 = new Word64(0xcbbb9d5d, 0xc1059ed8);\n h1 = new Word64(0x629a292a, 0x367cd507);\n h2 = new Word64(0x9159015a, 0x3070dd17);\n h3 = new Word64(0x152fecd8, 0xf70e5939);\n h4 = new Word64(0x67332667, 0xffc00b31);\n h5 = new Word64(0x8eb44a87, 0x68581511);\n h6 = new Word64(0xdb0c2e0d, 0x64f98fa7);\n h7 = new Word64(0x47b5481d, 0xbefa4fa4);\n }\n\n var paddedLength = Math.ceil((length + 17) / 128) * 128;\n var padded = new Uint8Array(paddedLength);\n var i, j, n;\n\n for (i = 0; i < length; ++i) {\n padded[i] = data[offset++];\n }\n\n padded[i++] = 0x80;\n n = paddedLength - 16;\n\n while (i < n) {\n padded[i++] = 0;\n }\n\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = length >>> 29 & 0xff;\n padded[i++] = length >> 21 & 0xff;\n padded[i++] = length >> 13 & 0xff;\n padded[i++] = length >> 5 & 0xff;\n padded[i++] = length << 3 & 0xff;\n var w = new Array(80);\n\n for (i = 0; i < 80; i++) {\n w[i] = new Word64(0, 0);\n }\n\n var a = new Word64(0, 0),\n b = new Word64(0, 0),\n c = new Word64(0, 0);\n var d = new Word64(0, 0),\n e = new Word64(0, 0),\n f = new Word64(0, 0);\n var g = new Word64(0, 0),\n h = new Word64(0, 0);\n var t1 = new Word64(0, 0),\n t2 = new Word64(0, 0);\n var tmp1 = new Word64(0, 0),\n tmp2 = new Word64(0, 0),\n tmp3;\n\n for (i = 0; i < paddedLength;) {\n for (j = 0; j < 16; ++j) {\n w[j].high = padded[i] << 24 | padded[i + 1] << 16 | padded[i + 2] << 8 | padded[i + 3];\n w[j].low = padded[i + 4] << 24 | padded[i + 5] << 16 | padded[i + 6] << 8 | padded[i + 7];\n i += 8;\n }\n\n for (j = 16; j < 80; ++j) {\n tmp3 = w[j];\n littleSigmaPrime(tmp3, w[j - 2], tmp2);\n tmp3.add(w[j - 7]);\n littleSigma(tmp1, w[j - 15], tmp2);\n tmp3.add(tmp1);\n tmp3.add(w[j - 16]);\n }\n\n a.assign(h0);\n b.assign(h1);\n c.assign(h2);\n d.assign(h3);\n e.assign(h4);\n f.assign(h5);\n g.assign(h6);\n h.assign(h7);\n\n for (j = 0; j < 80; ++j) {\n t1.assign(h);\n sigmaPrime(tmp1, e, tmp2);\n t1.add(tmp1);\n ch(tmp1, e, f, g, tmp2);\n t1.add(tmp1);\n t1.add(k[j]);\n t1.add(w[j]);\n sigma(t2, a, tmp2);\n maj(tmp1, a, b, c, tmp2);\n t2.add(tmp1);\n tmp3 = h;\n h = g;\n g = f;\n f = e;\n d.add(t1);\n e = d;\n d = c;\n c = b;\n b = a;\n tmp3.assign(t1);\n tmp3.add(t2);\n a = tmp3;\n }\n\n h0.add(a);\n h1.add(b);\n h2.add(c);\n h3.add(d);\n h4.add(e);\n h5.add(f);\n h6.add(g);\n h7.add(h);\n }\n\n var result;\n\n if (!mode384) {\n result = new Uint8Array(64);\n h0.copyTo(result, 0);\n h1.copyTo(result, 8);\n h2.copyTo(result, 16);\n h3.copyTo(result, 24);\n h4.copyTo(result, 32);\n h5.copyTo(result, 40);\n h6.copyTo(result, 48);\n h7.copyTo(result, 56);\n } else {\n result = new Uint8Array(48);\n h0.copyTo(result, 0);\n h1.copyTo(result, 8);\n h2.copyTo(result, 16);\n h3.copyTo(result, 24);\n h4.copyTo(result, 32);\n h5.copyTo(result, 40);\n }\n\n return result;\n }\n\n return hash;\n}();\n\nexports.calculateSHA512 = calculateSHA512;\n\nvar calculateSHA384 = function calculateSHA384Closure() {\n function hash(data, offset, length) {\n return calculateSHA512(data, offset, length, true);\n }\n\n return hash;\n}();\n\nexports.calculateSHA384 = calculateSHA384;\n\nvar NullCipher = function NullCipherClosure() {\n function NullCipher() {}\n\n NullCipher.prototype = {\n decryptBlock: function NullCipher_decryptBlock(data) {\n return data;\n }\n };\n return NullCipher;\n}();\n\nclass AESBaseCipher {\n constructor() {\n if (this.constructor === AESBaseCipher) {\n (0, _util.unreachable)(\"Cannot initialize AESBaseCipher.\");\n }\n\n this._s = new Uint8Array([0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16]);\n this._inv_s = new Uint8Array([0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d]);\n this._mix = new Uint32Array([0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927, 0x24362e3a, 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45, 0x486c5c74, 0x4665517f, 0x547e4662, 0x5a774b69, 0xe090d0b0, 0xee99ddbb, 0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c, 0xd6bde997, 0xc4a6fe8a, 0xcaaff381, 0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5, 0xa8fc8cc4, 0xa6f581cf, 0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 0xd532b670, 0xc729a16d, 0xc920ac66, 0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28, 0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012, 0x3bab6bcb, 0x35a266c0, 0x27b971dd, 0x29b07cd6, 0x038f5fe7, 0x0d8652ec, 0x1f9d45f1, 0x119448fa, 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e, 0x73c737bf, 0x7dce3ab4, 0x6fd52da9, 0x61dc20a2, 0xad766df6, 0xa37f60fd, 0xb16477e0, 0xbf6d7aeb, 0x955259da, 0x9b5b54d1, 0x894043cc, 0x87494ec7, 0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182, 0xeb133c89, 0xf9082b94, 0xf701269f, 0x4de6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b, 0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 0x33a7d815, 0x21bccf08, 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f, 0x764dd68d, 0x7844db86, 0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa, 0x527bf8b7, 0x5c72f5bc, 0x0605bed5, 0x080cb3de, 0x1a17a4c3, 0x141ea9c8, 0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4, 0x96dd063d, 0x98d40b36, 0x8acf1c2b, 0x84c61120, 0xaef93211, 0xa0f03f1a, 0xb2eb2807, 0xbce2250c, 0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 0xd0b85742, 0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea, 0x79c8eedb, 0x77c1e3d0, 0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4, 0x2db6a8b9, 0x23bfa5b2, 0x09808683, 0x07898b88, 0x15929c95, 0x1b9b919e, 0xa17c0a47, 0xaf75074c, 0xbd6e1051, 0xb3671d5a, 0x99583e6b, 0x97513360, 0x854a247d, 0x8b432976, 0xd134621f, 0xdf3d6f14, 0xcd267809, 0xc32f7502, 0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c, 0x94de6c87, 0x86c57b9a, 0x88cc7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd, 0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 0xd2bb3df8, 0xdcb230f3, 0xcea927ee, 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621, 0x42638510, 0x4c6a881b, 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f, 0x161dc372, 0x1814ce79, 0x322bed48, 0x3c22e043, 0x2e39f75e, 0x2030fa55, 0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c, 0xd4be832d, 0xdab78e26, 0xc8ac993b, 0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f, 0x8ec9c844, 0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 0x0c0a67b1, 0x02036aba, 0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480, 0x7c420fe9, 0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce, 0x587421d3, 0x567d2cd8, 0x37a10c7a, 0x39a80171, 0x2bb3166c, 0x25ba1b67, 0x0f853856, 0x018c355d, 0x13972240, 0x1d9e2f4b, 0x47e96422, 0x49e06929, 0x5bfb7e34, 0x55f2733f, 0x7fcd500e, 0x71c45d05, 0x63df4a18, 0x6dd64713, 0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 0xef15e8e6, 0xe11ce5ed, 0xf307f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f, 0x9f5d80be, 0x91548db5, 0x834f9aa8, 0x8d4697a3]);\n this._mixCol = new Uint8Array(256);\n\n for (let i = 0; i < 256; i++) {\n if (i < 128) {\n this._mixCol[i] = i << 1;\n } else {\n this._mixCol[i] = i << 1 ^ 0x1b;\n }\n }\n\n this.buffer = new Uint8Array(16);\n this.bufferPosition = 0;\n }\n\n _expandKey(cipherKey) {\n (0, _util.unreachable)(\"Cannot call `_expandKey` on the base class\");\n }\n\n _decrypt(input, key) {\n let t, u, v;\n const state = new Uint8Array(16);\n state.set(input);\n\n for (let j = 0, k = this._keySize; j < 16; ++j, ++k) {\n state[j] ^= key[k];\n }\n\n for (let i = this._cyclesOfRepetition - 1; i >= 1; --i) {\n t = state[13];\n state[13] = state[9];\n state[9] = state[5];\n state[5] = state[1];\n state[1] = t;\n t = state[14];\n u = state[10];\n state[14] = state[6];\n state[10] = state[2];\n state[6] = t;\n state[2] = u;\n t = state[15];\n u = state[11];\n v = state[7];\n state[15] = state[3];\n state[11] = t;\n state[7] = u;\n state[3] = v;\n\n for (let j = 0; j < 16; ++j) {\n state[j] = this._inv_s[state[j]];\n }\n\n for (let j = 0, k = i * 16; j < 16; ++j, ++k) {\n state[j] ^= key[k];\n }\n\n for (let j = 0; j < 16; j += 4) {\n const s0 = this._mix[state[j]];\n const s1 = this._mix[state[j + 1]];\n const s2 = this._mix[state[j + 2]];\n const s3 = this._mix[state[j + 3]];\n t = s0 ^ s1 >>> 8 ^ s1 << 24 ^ s2 >>> 16 ^ s2 << 16 ^ s3 >>> 24 ^ s3 << 8;\n state[j] = t >>> 24 & 0xff;\n state[j + 1] = t >> 16 & 0xff;\n state[j + 2] = t >> 8 & 0xff;\n state[j + 3] = t & 0xff;\n }\n }\n\n t = state[13];\n state[13] = state[9];\n state[9] = state[5];\n state[5] = state[1];\n state[1] = t;\n t = state[14];\n u = state[10];\n state[14] = state[6];\n state[10] = state[2];\n state[6] = t;\n state[2] = u;\n t = state[15];\n u = state[11];\n v = state[7];\n state[15] = state[3];\n state[11] = t;\n state[7] = u;\n state[3] = v;\n\n for (let j = 0; j < 16; ++j) {\n state[j] = this._inv_s[state[j]];\n state[j] ^= key[j];\n }\n\n return state;\n }\n\n _encrypt(input, key) {\n const s = this._s;\n let t, u, v;\n const state = new Uint8Array(16);\n state.set(input);\n\n for (let j = 0; j < 16; ++j) {\n state[j] ^= key[j];\n }\n\n for (let i = 1; i < this._cyclesOfRepetition; i++) {\n for (let j = 0; j < 16; ++j) {\n state[j] = s[state[j]];\n }\n\n v = state[1];\n state[1] = state[5];\n state[5] = state[9];\n state[9] = state[13];\n state[13] = v;\n v = state[2];\n u = state[6];\n state[2] = state[10];\n state[6] = state[14];\n state[10] = v;\n state[14] = u;\n v = state[3];\n u = state[7];\n t = state[11];\n state[3] = state[15];\n state[7] = v;\n state[11] = u;\n state[15] = t;\n\n for (let j = 0; j < 16; j += 4) {\n const s0 = state[j + 0];\n const s1 = state[j + 1];\n const s2 = state[j + 2];\n const s3 = state[j + 3];\n t = s0 ^ s1 ^ s2 ^ s3;\n state[j + 0] ^= t ^ this._mixCol[s0 ^ s1];\n state[j + 1] ^= t ^ this._mixCol[s1 ^ s2];\n state[j + 2] ^= t ^ this._mixCol[s2 ^ s3];\n state[j + 3] ^= t ^ this._mixCol[s3 ^ s0];\n }\n\n for (let j = 0, k = i * 16; j < 16; ++j, ++k) {\n state[j] ^= key[k];\n }\n }\n\n for (let j = 0; j < 16; ++j) {\n state[j] = s[state[j]];\n }\n\n v = state[1];\n state[1] = state[5];\n state[5] = state[9];\n state[9] = state[13];\n state[13] = v;\n v = state[2];\n u = state[6];\n state[2] = state[10];\n state[6] = state[14];\n state[10] = v;\n state[14] = u;\n v = state[3];\n u = state[7];\n t = state[11];\n state[3] = state[15];\n state[7] = v;\n state[11] = u;\n state[15] = t;\n\n for (let j = 0, k = this._keySize; j < 16; ++j, ++k) {\n state[j] ^= key[k];\n }\n\n return state;\n }\n\n _decryptBlock2(data, finalize) {\n const sourceLength = data.length;\n let buffer = this.buffer,\n bufferLength = this.bufferPosition;\n const result = [];\n let iv = this.iv;\n\n for (let i = 0; i < sourceLength; ++i) {\n buffer[bufferLength] = data[i];\n ++bufferLength;\n\n if (bufferLength < 16) {\n continue;\n }\n\n const plain = this._decrypt(buffer, this._key);\n\n for (let j = 0; j < 16; ++j) {\n plain[j] ^= iv[j];\n }\n\n iv = buffer;\n result.push(plain);\n buffer = new Uint8Array(16);\n bufferLength = 0;\n }\n\n this.buffer = buffer;\n this.bufferLength = bufferLength;\n this.iv = iv;\n\n if (result.length === 0) {\n return new Uint8Array(0);\n }\n\n let outputLength = 16 * result.length;\n\n if (finalize) {\n const lastBlock = result[result.length - 1];\n let psLen = lastBlock[15];\n\n if (psLen <= 16) {\n for (let i = 15, ii = 16 - psLen; i >= ii; --i) {\n if (lastBlock[i] !== psLen) {\n psLen = 0;\n break;\n }\n }\n\n outputLength -= psLen;\n result[result.length - 1] = lastBlock.subarray(0, 16 - psLen);\n }\n }\n\n const output = new Uint8Array(outputLength);\n\n for (let i = 0, j = 0, ii = result.length; i < ii; ++i, j += 16) {\n output.set(result[i], j);\n }\n\n return output;\n }\n\n decryptBlock(data, finalize, iv = null) {\n const sourceLength = data.length;\n const buffer = this.buffer;\n let bufferLength = this.bufferPosition;\n\n if (iv) {\n this.iv = iv;\n } else {\n for (let i = 0; bufferLength < 16 && i < sourceLength; ++i, ++bufferLength) {\n buffer[bufferLength] = data[i];\n }\n\n if (bufferLength < 16) {\n this.bufferLength = bufferLength;\n return new Uint8Array(0);\n }\n\n this.iv = buffer;\n data = data.subarray(16);\n }\n\n this.buffer = new Uint8Array(16);\n this.bufferLength = 0;\n this.decryptBlock = this._decryptBlock2;\n return this.decryptBlock(data, finalize);\n }\n\n encrypt(data, iv) {\n const sourceLength = data.length;\n let buffer = this.buffer,\n bufferLength = this.bufferPosition;\n const result = [];\n\n if (!iv) {\n iv = new Uint8Array(16);\n }\n\n for (let i = 0; i < sourceLength; ++i) {\n buffer[bufferLength] = data[i];\n ++bufferLength;\n\n if (bufferLength < 16) {\n continue;\n }\n\n for (let j = 0; j < 16; ++j) {\n buffer[j] ^= iv[j];\n }\n\n const cipher = this._encrypt(buffer, this._key);\n\n iv = cipher;\n result.push(cipher);\n buffer = new Uint8Array(16);\n bufferLength = 0;\n }\n\n this.buffer = buffer;\n this.bufferLength = bufferLength;\n this.iv = iv;\n\n if (result.length === 0) {\n return new Uint8Array(0);\n }\n\n const outputLength = 16 * result.length;\n const output = new Uint8Array(outputLength);\n\n for (let i = 0, j = 0, ii = result.length; i < ii; ++i, j += 16) {\n output.set(result[i], j);\n }\n\n return output;\n }\n\n}\n\nclass AES128Cipher extends AESBaseCipher {\n constructor(key) {\n super();\n this._cyclesOfRepetition = 10;\n this._keySize = 160;\n this._rcon = new Uint8Array([0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d]);\n this._key = this._expandKey(key);\n }\n\n _expandKey(cipherKey) {\n const b = 176;\n const s = this._s;\n const rcon = this._rcon;\n const result = new Uint8Array(b);\n result.set(cipherKey);\n\n for (let j = 16, i = 1; j < b; ++i) {\n let t1 = result[j - 3];\n let t2 = result[j - 2];\n let t3 = result[j - 1];\n let t4 = result[j - 4];\n t1 = s[t1];\n t2 = s[t2];\n t3 = s[t3];\n t4 = s[t4];\n t1 = t1 ^ rcon[i];\n\n for (let n = 0; n < 4; ++n) {\n result[j] = t1 ^= result[j - 16];\n j++;\n result[j] = t2 ^= result[j - 16];\n j++;\n result[j] = t3 ^= result[j - 16];\n j++;\n result[j] = t4 ^= result[j - 16];\n j++;\n }\n }\n\n return result;\n }\n\n}\n\nexports.AES128Cipher = AES128Cipher;\n\nclass AES256Cipher extends AESBaseCipher {\n constructor(key) {\n super();\n this._cyclesOfRepetition = 14;\n this._keySize = 224;\n this._key = this._expandKey(key);\n }\n\n _expandKey(cipherKey) {\n const b = 240;\n const s = this._s;\n const result = new Uint8Array(b);\n result.set(cipherKey);\n let r = 1;\n let t1, t2, t3, t4;\n\n for (let j = 32, i = 1; j < b; ++i) {\n if (j % 32 === 16) {\n t1 = s[t1];\n t2 = s[t2];\n t3 = s[t3];\n t4 = s[t4];\n } else if (j % 32 === 0) {\n t1 = result[j - 3];\n t2 = result[j - 2];\n t3 = result[j - 1];\n t4 = result[j - 4];\n t1 = s[t1];\n t2 = s[t2];\n t3 = s[t3];\n t4 = s[t4];\n t1 = t1 ^ r;\n\n if ((r <<= 1) >= 256) {\n r = (r ^ 0x1b) & 0xff;\n }\n }\n\n for (let n = 0; n < 4; ++n) {\n result[j] = t1 ^= result[j - 32];\n j++;\n result[j] = t2 ^= result[j - 32];\n j++;\n result[j] = t3 ^= result[j - 32];\n j++;\n result[j] = t4 ^= result[j - 32];\n j++;\n }\n }\n\n return result;\n }\n\n}\n\nexports.AES256Cipher = AES256Cipher;\n\nvar PDF17 = function PDF17Closure() {\n function compareByteArrays(array1, array2) {\n if (array1.length !== array2.length) {\n return false;\n }\n\n for (var i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n function PDF17() {}\n\n PDF17.prototype = {\n checkOwnerPassword: function PDF17_checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {\n var hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerValidationSalt, password.length);\n hashData.set(userBytes, password.length + ownerValidationSalt.length);\n var result = calculateSHA256(hashData, 0, hashData.length);\n return compareByteArrays(result, ownerPassword);\n },\n checkUserPassword: function PDF17_checkUserPassword(password, userValidationSalt, userPassword) {\n var hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userValidationSalt, password.length);\n var result = calculateSHA256(hashData, 0, hashData.length);\n return compareByteArrays(result, userPassword);\n },\n getOwnerKey: function PDF17_getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {\n var hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerKeySalt, password.length);\n hashData.set(userBytes, password.length + ownerKeySalt.length);\n var key = calculateSHA256(hashData, 0, hashData.length);\n var cipher = new AES256Cipher(key);\n return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));\n },\n getUserKey: function PDF17_getUserKey(password, userKeySalt, userEncryption) {\n var hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userKeySalt, password.length);\n var key = calculateSHA256(hashData, 0, hashData.length);\n var cipher = new AES256Cipher(key);\n return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));\n }\n };\n return PDF17;\n}();\n\nexports.PDF17 = PDF17;\n\nvar PDF20 = function PDF20Closure() {\n function concatArrays(array1, array2) {\n var t = new Uint8Array(array1.length + array2.length);\n t.set(array1, 0);\n t.set(array2, array1.length);\n return t;\n }\n\n function calculatePDF20Hash(password, input, userBytes) {\n var k = calculateSHA256(input, 0, input.length).subarray(0, 32);\n var e = [0];\n var i = 0;\n\n while (i < 64 || e[e.length - 1] > i - 32) {\n var arrayLength = password.length + k.length + userBytes.length;\n var k1 = new Uint8Array(arrayLength * 64);\n var array = concatArrays(password, k);\n array = concatArrays(array, userBytes);\n\n for (var j = 0, pos = 0; j < 64; j++, pos += arrayLength) {\n k1.set(array, pos);\n }\n\n var cipher = new AES128Cipher(k.subarray(0, 16));\n e = cipher.encrypt(k1, k.subarray(16, 32));\n var remainder = 0;\n\n for (var z = 0; z < 16; z++) {\n remainder *= 256 % 3;\n remainder %= 3;\n remainder += (e[z] >>> 0) % 3;\n remainder %= 3;\n }\n\n if (remainder === 0) {\n k = calculateSHA256(e, 0, e.length);\n } else if (remainder === 1) {\n k = calculateSHA384(e, 0, e.length);\n } else if (remainder === 2) {\n k = calculateSHA512(e, 0, e.length);\n }\n\n i++;\n }\n\n return k.subarray(0, 32);\n }\n\n function PDF20() {}\n\n function compareByteArrays(array1, array2) {\n if (array1.length !== array2.length) {\n return false;\n }\n\n for (var i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n PDF20.prototype = {\n hash: function PDF20_hash(password, concatBytes, userBytes) {\n return calculatePDF20Hash(password, concatBytes, userBytes);\n },\n checkOwnerPassword: function PDF20_checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {\n var hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerValidationSalt, password.length);\n hashData.set(userBytes, password.length + ownerValidationSalt.length);\n var result = calculatePDF20Hash(password, hashData, userBytes);\n return compareByteArrays(result, ownerPassword);\n },\n checkUserPassword: function PDF20_checkUserPassword(password, userValidationSalt, userPassword) {\n var hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userValidationSalt, password.length);\n var result = calculatePDF20Hash(password, hashData, []);\n return compareByteArrays(result, userPassword);\n },\n getOwnerKey: function PDF20_getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {\n var hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerKeySalt, password.length);\n hashData.set(userBytes, password.length + ownerKeySalt.length);\n var key = calculatePDF20Hash(password, hashData, userBytes);\n var cipher = new AES256Cipher(key);\n return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));\n },\n getUserKey: function PDF20_getUserKey(password, userKeySalt, userEncryption) {\n var hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userKeySalt, password.length);\n var key = calculatePDF20Hash(password, hashData, []);\n var cipher = new AES256Cipher(key);\n return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));\n }\n };\n return PDF20;\n}();\n\nexports.PDF20 = PDF20;\n\nvar CipherTransform = function CipherTransformClosure() {\n function CipherTransform(stringCipherConstructor, streamCipherConstructor) {\n this.StringCipherConstructor = stringCipherConstructor;\n this.StreamCipherConstructor = streamCipherConstructor;\n }\n\n CipherTransform.prototype = {\n createStream: function CipherTransform_createStream(stream, length) {\n var cipher = new this.StreamCipherConstructor();\n return new _stream.DecryptStream(stream, length, function cipherTransformDecryptStream(data, finalize) {\n return cipher.decryptBlock(data, finalize);\n });\n },\n decryptString: function CipherTransform_decryptString(s) {\n var cipher = new this.StringCipherConstructor();\n var data = (0, _util.stringToBytes)(s);\n data = cipher.decryptBlock(data, true);\n return (0, _util.bytesToString)(data);\n }\n };\n return CipherTransform;\n}();\n\nvar CipherTransformFactory = function CipherTransformFactoryClosure() {\n var defaultPasswordBytes = new Uint8Array([0x28, 0xBF, 0x4E, 0x5E, 0x4E, 0x75, 0x8A, 0x41, 0x64, 0x00, 0x4E, 0x56, 0xFF, 0xFA, 0x01, 0x08, 0x2E, 0x2E, 0x00, 0xB6, 0xD0, 0x68, 0x3E, 0x80, 0x2F, 0x0C, 0xA9, 0xFE, 0x64, 0x53, 0x69, 0x7A]);\n\n function createEncryptionKey20(revision, password, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms) {\n if (password) {\n var passwordLength = Math.min(127, password.length);\n password = password.subarray(0, passwordLength);\n } else {\n password = [];\n }\n\n var pdfAlgorithm;\n\n if (revision === 6) {\n pdfAlgorithm = new PDF20();\n } else {\n pdfAlgorithm = new PDF17();\n }\n\n if (pdfAlgorithm.checkUserPassword(password, userValidationSalt, userPassword)) {\n return pdfAlgorithm.getUserKey(password, userKeySalt, userEncryption);\n } else if (password.length && pdfAlgorithm.checkOwnerPassword(password, ownerValidationSalt, uBytes, ownerPassword)) {\n return pdfAlgorithm.getOwnerKey(password, ownerKeySalt, uBytes, ownerEncryption);\n }\n\n return null;\n }\n\n function prepareKeyData(fileId, password, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata) {\n var hashDataSize = 40 + ownerPassword.length + fileId.length;\n var hashData = new Uint8Array(hashDataSize),\n i = 0,\n j,\n n;\n\n if (password) {\n n = Math.min(32, password.length);\n\n for (; i < n; ++i) {\n hashData[i] = password[i];\n }\n }\n\n j = 0;\n\n while (i < 32) {\n hashData[i++] = defaultPasswordBytes[j++];\n }\n\n for (j = 0, n = ownerPassword.length; j < n; ++j) {\n hashData[i++] = ownerPassword[j];\n }\n\n hashData[i++] = flags & 0xff;\n hashData[i++] = flags >> 8 & 0xff;\n hashData[i++] = flags >> 16 & 0xff;\n hashData[i++] = flags >>> 24 & 0xff;\n\n for (j = 0, n = fileId.length; j < n; ++j) {\n hashData[i++] = fileId[j];\n }\n\n if (revision >= 4 && !encryptMetadata) {\n hashData[i++] = 0xff;\n hashData[i++] = 0xff;\n hashData[i++] = 0xff;\n hashData[i++] = 0xff;\n }\n\n var hash = calculateMD5(hashData, 0, i);\n var keyLengthInBytes = keyLength >> 3;\n\n if (revision >= 3) {\n for (j = 0; j < 50; ++j) {\n hash = calculateMD5(hash, 0, keyLengthInBytes);\n }\n }\n\n var encryptionKey = hash.subarray(0, keyLengthInBytes);\n var cipher, checkData;\n\n if (revision >= 3) {\n for (i = 0; i < 32; ++i) {\n hashData[i] = defaultPasswordBytes[i];\n }\n\n for (j = 0, n = fileId.length; j < n; ++j) {\n hashData[i++] = fileId[j];\n }\n\n cipher = new ARCFourCipher(encryptionKey);\n checkData = cipher.encryptBlock(calculateMD5(hashData, 0, i));\n n = encryptionKey.length;\n var derivedKey = new Uint8Array(n),\n k;\n\n for (j = 1; j <= 19; ++j) {\n for (k = 0; k < n; ++k) {\n derivedKey[k] = encryptionKey[k] ^ j;\n }\n\n cipher = new ARCFourCipher(derivedKey);\n checkData = cipher.encryptBlock(checkData);\n }\n\n for (j = 0, n = checkData.length; j < n; ++j) {\n if (userPassword[j] !== checkData[j]) {\n return null;\n }\n }\n } else {\n cipher = new ARCFourCipher(encryptionKey);\n checkData = cipher.encryptBlock(defaultPasswordBytes);\n\n for (j = 0, n = checkData.length; j < n; ++j) {\n if (userPassword[j] !== checkData[j]) {\n return null;\n }\n }\n }\n\n return encryptionKey;\n }\n\n function decodeUserPassword(password, ownerPassword, revision, keyLength) {\n var hashData = new Uint8Array(32),\n i = 0,\n j,\n n;\n n = Math.min(32, password.length);\n\n for (; i < n; ++i) {\n hashData[i] = password[i];\n }\n\n j = 0;\n\n while (i < 32) {\n hashData[i++] = defaultPasswordBytes[j++];\n }\n\n var hash = calculateMD5(hashData, 0, i);\n var keyLengthInBytes = keyLength >> 3;\n\n if (revision >= 3) {\n for (j = 0; j < 50; ++j) {\n hash = calculateMD5(hash, 0, hash.length);\n }\n }\n\n var cipher, userPassword;\n\n if (revision >= 3) {\n userPassword = ownerPassword;\n var derivedKey = new Uint8Array(keyLengthInBytes),\n k;\n\n for (j = 19; j >= 0; j--) {\n for (k = 0; k < keyLengthInBytes; ++k) {\n derivedKey[k] = hash[k] ^ j;\n }\n\n cipher = new ARCFourCipher(derivedKey);\n userPassword = cipher.encryptBlock(userPassword);\n }\n } else {\n cipher = new ARCFourCipher(hash.subarray(0, keyLengthInBytes));\n userPassword = cipher.encryptBlock(ownerPassword);\n }\n\n return userPassword;\n }\n\n var identityName = _primitives.Name.get(\"Identity\");\n\n function CipherTransformFactory(dict, fileId, password) {\n var filter = dict.get(\"Filter\");\n\n if (!(0, _primitives.isName)(filter, \"Standard\")) {\n throw new _util.FormatError(\"unknown encryption method\");\n }\n\n this.dict = dict;\n var algorithm = dict.get(\"V\");\n\n if (!Number.isInteger(algorithm) || algorithm !== 1 && algorithm !== 2 && algorithm !== 4 && algorithm !== 5) {\n throw new _util.FormatError(\"unsupported encryption algorithm\");\n }\n\n this.algorithm = algorithm;\n var keyLength = dict.get(\"Length\");\n\n if (!keyLength) {\n if (algorithm <= 3) {\n keyLength = 40;\n } else {\n var cfDict = dict.get(\"CF\");\n var streamCryptoName = dict.get(\"StmF\");\n\n if ((0, _primitives.isDict)(cfDict) && (0, _primitives.isName)(streamCryptoName)) {\n cfDict.suppressEncryption = true;\n var handlerDict = cfDict.get(streamCryptoName.name);\n keyLength = handlerDict && handlerDict.get(\"Length\") || 128;\n\n if (keyLength < 40) {\n keyLength <<= 3;\n }\n }\n }\n }\n\n if (!Number.isInteger(keyLength) || keyLength < 40 || keyLength % 8 !== 0) {\n throw new _util.FormatError(\"invalid key length\");\n }\n\n var ownerPassword = (0, _util.stringToBytes)(dict.get(\"O\")).subarray(0, 32);\n var userPassword = (0, _util.stringToBytes)(dict.get(\"U\")).subarray(0, 32);\n var flags = dict.get(\"P\");\n var revision = dict.get(\"R\");\n var encryptMetadata = (algorithm === 4 || algorithm === 5) && dict.get(\"EncryptMetadata\") !== false;\n this.encryptMetadata = encryptMetadata;\n var fileIdBytes = (0, _util.stringToBytes)(fileId);\n var passwordBytes;\n\n if (password) {\n if (revision === 6) {\n try {\n password = (0, _util.utf8StringToString)(password);\n } catch (ex) {\n (0, _util.warn)(\"CipherTransformFactory: \" + \"Unable to convert UTF8 encoded password.\");\n }\n }\n\n passwordBytes = (0, _util.stringToBytes)(password);\n }\n\n var encryptionKey;\n\n if (algorithm !== 5) {\n encryptionKey = prepareKeyData(fileIdBytes, passwordBytes, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata);\n } else {\n var ownerValidationSalt = (0, _util.stringToBytes)(dict.get(\"O\")).subarray(32, 40);\n var ownerKeySalt = (0, _util.stringToBytes)(dict.get(\"O\")).subarray(40, 48);\n var uBytes = (0, _util.stringToBytes)(dict.get(\"U\")).subarray(0, 48);\n var userValidationSalt = (0, _util.stringToBytes)(dict.get(\"U\")).subarray(32, 40);\n var userKeySalt = (0, _util.stringToBytes)(dict.get(\"U\")).subarray(40, 48);\n var ownerEncryption = (0, _util.stringToBytes)(dict.get(\"OE\"));\n var userEncryption = (0, _util.stringToBytes)(dict.get(\"UE\"));\n var perms = (0, _util.stringToBytes)(dict.get(\"Perms\"));\n encryptionKey = createEncryptionKey20(revision, passwordBytes, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms);\n }\n\n if (!encryptionKey && !password) {\n throw new _util.PasswordException(\"No password given\", _util.PasswordResponses.NEED_PASSWORD);\n } else if (!encryptionKey && password) {\n var decodedPassword = decodeUserPassword(passwordBytes, ownerPassword, revision, keyLength);\n encryptionKey = prepareKeyData(fileIdBytes, decodedPassword, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata);\n }\n\n if (!encryptionKey) {\n throw new _util.PasswordException(\"Incorrect Password\", _util.PasswordResponses.INCORRECT_PASSWORD);\n }\n\n this.encryptionKey = encryptionKey;\n\n if (algorithm >= 4) {\n var cf = dict.get(\"CF\");\n\n if ((0, _primitives.isDict)(cf)) {\n cf.suppressEncryption = true;\n }\n\n this.cf = cf;\n this.stmf = dict.get(\"StmF\") || identityName;\n this.strf = dict.get(\"StrF\") || identityName;\n this.eff = dict.get(\"EFF\") || this.stmf;\n }\n }\n\n function buildObjectKey(num, gen, encryptionKey, isAes) {\n var key = new Uint8Array(encryptionKey.length + 9),\n i,\n n;\n\n for (i = 0, n = encryptionKey.length; i < n; ++i) {\n key[i] = encryptionKey[i];\n }\n\n key[i++] = num & 0xff;\n key[i++] = num >> 8 & 0xff;\n key[i++] = num >> 16 & 0xff;\n key[i++] = gen & 0xff;\n key[i++] = gen >> 8 & 0xff;\n\n if (isAes) {\n key[i++] = 0x73;\n key[i++] = 0x41;\n key[i++] = 0x6c;\n key[i++] = 0x54;\n }\n\n var hash = calculateMD5(key, 0, i);\n return hash.subarray(0, Math.min(encryptionKey.length + 5, 16));\n }\n\n function buildCipherConstructor(cf, name, num, gen, key) {\n if (!(0, _primitives.isName)(name)) {\n throw new _util.FormatError(\"Invalid crypt filter name.\");\n }\n\n var cryptFilter = cf.get(name.name);\n var cfm;\n\n if (cryptFilter !== null && cryptFilter !== undefined) {\n cfm = cryptFilter.get(\"CFM\");\n }\n\n if (!cfm || cfm.name === \"None\") {\n return function cipherTransformFactoryBuildCipherConstructorNone() {\n return new NullCipher();\n };\n }\n\n if (cfm.name === \"V2\") {\n return function cipherTransformFactoryBuildCipherConstructorV2() {\n return new ARCFourCipher(buildObjectKey(num, gen, key, false));\n };\n }\n\n if (cfm.name === \"AESV2\") {\n return function cipherTransformFactoryBuildCipherConstructorAESV2() {\n return new AES128Cipher(buildObjectKey(num, gen, key, true));\n };\n }\n\n if (cfm.name === \"AESV3\") {\n return function cipherTransformFactoryBuildCipherConstructorAESV3() {\n return new AES256Cipher(key);\n };\n }\n\n throw new _util.FormatError(\"Unknown crypto method\");\n }\n\n CipherTransformFactory.prototype = {\n createCipherTransform: function CipherTransformFactory_createCipherTransform(num, gen) {\n if (this.algorithm === 4 || this.algorithm === 5) {\n return new CipherTransform(buildCipherConstructor(this.cf, this.stmf, num, gen, this.encryptionKey), buildCipherConstructor(this.cf, this.strf, num, gen, this.encryptionKey));\n }\n\n var key = buildObjectKey(num, gen, this.encryptionKey, false);\n\n var cipherConstructor = function buildCipherCipherConstructor() {\n return new ARCFourCipher(key);\n };\n\n return new CipherTransform(cipherConstructor, cipherConstructor);\n }\n };\n return CipherTransformFactory;\n}();\n\nexports.CipherTransformFactory = CipherTransformFactory;\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ColorSpace = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _primitives = __w_pdfjs_require__(5);\n\nfunction resizeRgbImage(src, dest, w1, h1, w2, h2, alpha01) {\n const COMPONENTS = 3;\n alpha01 = alpha01 !== 1 ? 0 : alpha01;\n const xRatio = w1 / w2;\n const yRatio = h1 / h2;\n let newIndex = 0,\n oldIndex;\n const xScaled = new Uint16Array(w2);\n const w1Scanline = w1 * COMPONENTS;\n\n for (let i = 0; i < w2; i++) {\n xScaled[i] = Math.floor(i * xRatio) * COMPONENTS;\n }\n\n for (let i = 0; i < h2; i++) {\n const py = Math.floor(i * yRatio) * w1Scanline;\n\n for (let j = 0; j < w2; j++) {\n oldIndex = py + xScaled[j];\n dest[newIndex++] = src[oldIndex++];\n dest[newIndex++] = src[oldIndex++];\n dest[newIndex++] = src[oldIndex++];\n newIndex += alpha01;\n }\n }\n}\n\nclass ColorSpace {\n constructor(name, numComps) {\n if (this.constructor === ColorSpace) {\n (0, _util.unreachable)(\"Cannot initialize ColorSpace.\");\n }\n\n this.name = name;\n this.numComps = numComps;\n }\n\n getRgb(src, srcOffset) {\n const rgb = new Uint8ClampedArray(3);\n this.getRgbItem(src, srcOffset, rgb, 0);\n return rgb;\n }\n\n getRgbItem(src, srcOffset, dest, destOffset) {\n (0, _util.unreachable)(\"Should not call ColorSpace.getRgbItem\");\n }\n\n getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n (0, _util.unreachable)(\"Should not call ColorSpace.getRgbBuffer\");\n }\n\n getOutputLength(inputLength, alpha01) {\n (0, _util.unreachable)(\"Should not call ColorSpace.getOutputLength\");\n }\n\n isPassthrough(bits) {\n return false;\n }\n\n isDefaultDecode(decodeMap, bpc) {\n return ColorSpace.isDefaultDecode(decodeMap, this.numComps);\n }\n\n fillRgb(dest, originalWidth, originalHeight, width, height, actualHeight, bpc, comps, alpha01) {\n const count = originalWidth * originalHeight;\n let rgbBuf = null;\n const numComponentColors = 1 << bpc;\n const needsResizing = originalHeight !== height || originalWidth !== width;\n\n if (this.isPassthrough(bpc)) {\n rgbBuf = comps;\n } else if (this.numComps === 1 && count > numComponentColors && this.name !== \"DeviceGray\" && this.name !== \"DeviceRGB\") {\n const allColors = bpc <= 8 ? new Uint8Array(numComponentColors) : new Uint16Array(numComponentColors);\n\n for (let i = 0; i < numComponentColors; i++) {\n allColors[i] = i;\n }\n\n const colorMap = new Uint8ClampedArray(numComponentColors * 3);\n this.getRgbBuffer(allColors, 0, numComponentColors, colorMap, 0, bpc, 0);\n\n if (!needsResizing) {\n let destPos = 0;\n\n for (let i = 0; i < count; ++i) {\n const key = comps[i] * 3;\n dest[destPos++] = colorMap[key];\n dest[destPos++] = colorMap[key + 1];\n dest[destPos++] = colorMap[key + 2];\n destPos += alpha01;\n }\n } else {\n rgbBuf = new Uint8Array(count * 3);\n let rgbPos = 0;\n\n for (let i = 0; i < count; ++i) {\n const key = comps[i] * 3;\n rgbBuf[rgbPos++] = colorMap[key];\n rgbBuf[rgbPos++] = colorMap[key + 1];\n rgbBuf[rgbPos++] = colorMap[key + 2];\n }\n }\n } else {\n if (!needsResizing) {\n this.getRgbBuffer(comps, 0, width * actualHeight, dest, 0, bpc, alpha01);\n } else {\n rgbBuf = new Uint8ClampedArray(count * 3);\n this.getRgbBuffer(comps, 0, count, rgbBuf, 0, bpc, 0);\n }\n }\n\n if (rgbBuf) {\n if (needsResizing) {\n resizeRgbImage(rgbBuf, dest, originalWidth, originalHeight, width, height, alpha01);\n } else {\n let destPos = 0,\n rgbPos = 0;\n\n for (let i = 0, ii = width * actualHeight; i < ii; i++) {\n dest[destPos++] = rgbBuf[rgbPos++];\n dest[destPos++] = rgbBuf[rgbPos++];\n dest[destPos++] = rgbBuf[rgbPos++];\n destPos += alpha01;\n }\n }\n }\n }\n\n get usesZeroToOneRange() {\n return (0, _util.shadow)(this, \"usesZeroToOneRange\", true);\n }\n\n static parse(cs, xref, res, pdfFunctionFactory) {\n const IR = this.parseToIR(cs, xref, res, pdfFunctionFactory);\n return this.fromIR(IR);\n }\n\n static fromIR(IR) {\n const name = Array.isArray(IR) ? IR[0] : IR;\n let whitePoint, blackPoint, gamma;\n\n switch (name) {\n case \"DeviceGrayCS\":\n return this.singletons.gray;\n\n case \"DeviceRgbCS\":\n return this.singletons.rgb;\n\n case \"DeviceCmykCS\":\n return this.singletons.cmyk;\n\n case \"CalGrayCS\":\n whitePoint = IR[1];\n blackPoint = IR[2];\n gamma = IR[3];\n return new CalGrayCS(whitePoint, blackPoint, gamma);\n\n case \"CalRGBCS\":\n whitePoint = IR[1];\n blackPoint = IR[2];\n gamma = IR[3];\n const matrix = IR[4];\n return new CalRGBCS(whitePoint, blackPoint, gamma, matrix);\n\n case \"PatternCS\":\n let basePatternCS = IR[1];\n\n if (basePatternCS) {\n basePatternCS = this.fromIR(basePatternCS);\n }\n\n return new PatternCS(basePatternCS);\n\n case \"IndexedCS\":\n const baseIndexedCS = IR[1];\n const hiVal = IR[2];\n const lookup = IR[3];\n return new IndexedCS(this.fromIR(baseIndexedCS), hiVal, lookup);\n\n case \"AlternateCS\":\n const numComps = IR[1];\n const alt = IR[2];\n const tintFn = IR[3];\n return new AlternateCS(numComps, this.fromIR(alt), tintFn);\n\n case \"LabCS\":\n whitePoint = IR[1];\n blackPoint = IR[2];\n const range = IR[3];\n return new LabCS(whitePoint, blackPoint, range);\n\n default:\n throw new _util.FormatError(`Unknown colorspace name: ${name}`);\n }\n }\n\n static parseToIR(cs, xref, res = null, pdfFunctionFactory) {\n cs = xref.fetchIfRef(cs);\n\n if ((0, _primitives.isName)(cs)) {\n switch (cs.name) {\n case \"DeviceGray\":\n case \"G\":\n return \"DeviceGrayCS\";\n\n case \"DeviceRGB\":\n case \"RGB\":\n return \"DeviceRgbCS\";\n\n case \"DeviceCMYK\":\n case \"CMYK\":\n return \"DeviceCmykCS\";\n\n case \"Pattern\":\n return [\"PatternCS\", null];\n\n default:\n if ((0, _primitives.isDict)(res)) {\n const colorSpaces = res.get(\"ColorSpace\");\n\n if ((0, _primitives.isDict)(colorSpaces)) {\n const resCS = colorSpaces.get(cs.name);\n\n if (resCS) {\n if ((0, _primitives.isName)(resCS)) {\n return this.parseToIR(resCS, xref, res, pdfFunctionFactory);\n }\n\n cs = resCS;\n break;\n }\n }\n }\n\n throw new _util.FormatError(`unrecognized colorspace ${cs.name}`);\n }\n }\n\n if (Array.isArray(cs)) {\n const mode = xref.fetchIfRef(cs[0]).name;\n let numComps, params, alt, whitePoint, blackPoint, gamma;\n\n switch (mode) {\n case \"DeviceGray\":\n case \"G\":\n return \"DeviceGrayCS\";\n\n case \"DeviceRGB\":\n case \"RGB\":\n return \"DeviceRgbCS\";\n\n case \"DeviceCMYK\":\n case \"CMYK\":\n return \"DeviceCmykCS\";\n\n case \"CalGray\":\n params = xref.fetchIfRef(cs[1]);\n whitePoint = params.getArray(\"WhitePoint\");\n blackPoint = params.getArray(\"BlackPoint\");\n gamma = params.get(\"Gamma\");\n return [\"CalGrayCS\", whitePoint, blackPoint, gamma];\n\n case \"CalRGB\":\n params = xref.fetchIfRef(cs[1]);\n whitePoint = params.getArray(\"WhitePoint\");\n blackPoint = params.getArray(\"BlackPoint\");\n gamma = params.getArray(\"Gamma\");\n const matrix = params.getArray(\"Matrix\");\n return [\"CalRGBCS\", whitePoint, blackPoint, gamma, matrix];\n\n case \"ICCBased\":\n const stream = xref.fetchIfRef(cs[1]);\n const dict = stream.dict;\n numComps = dict.get(\"N\");\n alt = dict.get(\"Alternate\");\n\n if (alt) {\n const altIR = this.parseToIR(alt, xref, res, pdfFunctionFactory);\n const altCS = this.fromIR(altIR, pdfFunctionFactory);\n\n if (altCS.numComps === numComps) {\n return altIR;\n }\n\n (0, _util.warn)(\"ICCBased color space: Ignoring incorrect /Alternate entry.\");\n }\n\n if (numComps === 1) {\n return \"DeviceGrayCS\";\n } else if (numComps === 3) {\n return \"DeviceRgbCS\";\n } else if (numComps === 4) {\n return \"DeviceCmykCS\";\n }\n\n break;\n\n case \"Pattern\":\n let basePatternCS = cs[1] || null;\n\n if (basePatternCS) {\n basePatternCS = this.parseToIR(basePatternCS, xref, res, pdfFunctionFactory);\n }\n\n return [\"PatternCS\", basePatternCS];\n\n case \"Indexed\":\n case \"I\":\n const baseIndexedCS = this.parseToIR(cs[1], xref, res, pdfFunctionFactory);\n const hiVal = xref.fetchIfRef(cs[2]) + 1;\n let lookup = xref.fetchIfRef(cs[3]);\n\n if ((0, _primitives.isStream)(lookup)) {\n lookup = lookup.getBytes();\n }\n\n return [\"IndexedCS\", baseIndexedCS, hiVal, lookup];\n\n case \"Separation\":\n case \"DeviceN\":\n const name = xref.fetchIfRef(cs[1]);\n numComps = Array.isArray(name) ? name.length : 1;\n alt = this.parseToIR(cs[2], xref, res, pdfFunctionFactory);\n const tintFn = pdfFunctionFactory.create(xref.fetchIfRef(cs[3]));\n return [\"AlternateCS\", numComps, alt, tintFn];\n\n case \"Lab\":\n params = xref.fetchIfRef(cs[1]);\n whitePoint = params.getArray(\"WhitePoint\");\n blackPoint = params.getArray(\"BlackPoint\");\n const range = params.getArray(\"Range\");\n return [\"LabCS\", whitePoint, blackPoint, range];\n\n default:\n throw new _util.FormatError(`unimplemented color space object \"${mode}\"`);\n }\n }\n\n throw new _util.FormatError(`unrecognized color space object: \"${cs}\"`);\n }\n\n static isDefaultDecode(decode, numComps) {\n if (!Array.isArray(decode)) {\n return true;\n }\n\n if (numComps * 2 !== decode.length) {\n (0, _util.warn)(\"The decode map is not the correct length\");\n return true;\n }\n\n for (let i = 0, ii = decode.length; i < ii; i += 2) {\n if (decode[i] !== 0 || decode[i + 1] !== 1) {\n return false;\n }\n }\n\n return true;\n }\n\n static get singletons() {\n return (0, _util.shadow)(this, \"singletons\", {\n get gray() {\n return (0, _util.shadow)(this, \"gray\", new DeviceGrayCS());\n },\n\n get rgb() {\n return (0, _util.shadow)(this, \"rgb\", new DeviceRgbCS());\n },\n\n get cmyk() {\n return (0, _util.shadow)(this, \"cmyk\", new DeviceCmykCS());\n }\n\n });\n }\n\n}\n\nexports.ColorSpace = ColorSpace;\n\nclass AlternateCS extends ColorSpace {\n constructor(numComps, base, tintFn) {\n super(\"Alternate\", numComps);\n this.base = base;\n this.tintFn = tintFn;\n this.tmpBuf = new Float32Array(base.numComps);\n }\n\n getRgbItem(src, srcOffset, dest, destOffset) {\n const tmpBuf = this.tmpBuf;\n this.tintFn(src, srcOffset, tmpBuf, 0);\n this.base.getRgbItem(tmpBuf, 0, dest, destOffset);\n }\n\n getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n const tintFn = this.tintFn;\n const base = this.base;\n const scale = 1 / ((1 << bits) - 1);\n const baseNumComps = base.numComps;\n const usesZeroToOneRange = base.usesZeroToOneRange;\n const isPassthrough = (base.isPassthrough(8) || !usesZeroToOneRange) && alpha01 === 0;\n let pos = isPassthrough ? destOffset : 0;\n const baseBuf = isPassthrough ? dest : new Uint8ClampedArray(baseNumComps * count);\n const numComps = this.numComps;\n const scaled = new Float32Array(numComps);\n const tinted = new Float32Array(baseNumComps);\n let i, j;\n\n for (i = 0; i < count; i++) {\n for (j = 0; j < numComps; j++) {\n scaled[j] = src[srcOffset++] * scale;\n }\n\n tintFn(scaled, 0, tinted, 0);\n\n if (usesZeroToOneRange) {\n for (j = 0; j < baseNumComps; j++) {\n baseBuf[pos++] = tinted[j] * 255;\n }\n } else {\n base.getRgbItem(tinted, 0, baseBuf, pos);\n pos += baseNumComps;\n }\n }\n\n if (!isPassthrough) {\n base.getRgbBuffer(baseBuf, 0, count, dest, destOffset, 8, alpha01);\n }\n }\n\n getOutputLength(inputLength, alpha01) {\n return this.base.getOutputLength(inputLength * this.base.numComps / this.numComps, alpha01);\n }\n\n}\n\nclass PatternCS extends ColorSpace {\n constructor(baseCS) {\n super(\"Pattern\", null);\n this.base = baseCS;\n }\n\n isDefaultDecode(decodeMap, bpc) {\n (0, _util.unreachable)(\"Should not call PatternCS.isDefaultDecode\");\n }\n\n}\n\nclass IndexedCS extends ColorSpace {\n constructor(base, highVal, lookup) {\n super(\"Indexed\", 1);\n this.base = base;\n this.highVal = highVal;\n const baseNumComps = base.numComps;\n const length = baseNumComps * highVal;\n\n if ((0, _primitives.isStream)(lookup)) {\n this.lookup = new Uint8Array(length);\n const bytes = lookup.getBytes(length);\n this.lookup.set(bytes);\n } else if ((0, _util.isString)(lookup)) {\n this.lookup = new Uint8Array(length);\n\n for (let i = 0; i < length; ++i) {\n this.lookup[i] = lookup.charCodeAt(i);\n }\n } else if (lookup instanceof Uint8Array) {\n this.lookup = lookup;\n } else {\n throw new _util.FormatError(`Unrecognized lookup table: ${lookup}`);\n }\n }\n\n getRgbItem(src, srcOffset, dest, destOffset) {\n const numComps = this.base.numComps;\n const start = src[srcOffset] * numComps;\n this.base.getRgbBuffer(this.lookup, start, 1, dest, destOffset, 8, 0);\n }\n\n getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n const base = this.base;\n const numComps = base.numComps;\n const outputDelta = base.getOutputLength(numComps, alpha01);\n const lookup = this.lookup;\n\n for (let i = 0; i < count; ++i) {\n const lookupPos = src[srcOffset++] * numComps;\n base.getRgbBuffer(lookup, lookupPos, 1, dest, destOffset, 8, alpha01);\n destOffset += outputDelta;\n }\n }\n\n getOutputLength(inputLength, alpha01) {\n return this.base.getOutputLength(inputLength * this.base.numComps, alpha01);\n }\n\n isDefaultDecode(decodeMap, bpc) {\n if (!Array.isArray(decodeMap)) {\n return true;\n }\n\n if (decodeMap.length !== 2) {\n (0, _util.warn)(\"Decode map length is not correct\");\n return true;\n }\n\n if (!Number.isInteger(bpc) || bpc < 1) {\n (0, _util.warn)(\"Bits per component is not correct\");\n return true;\n }\n\n return decodeMap[0] === 0 && decodeMap[1] === (1 << bpc) - 1;\n }\n\n}\n\nclass DeviceGrayCS extends ColorSpace {\n constructor() {\n super(\"DeviceGray\", 1);\n }\n\n getRgbItem(src, srcOffset, dest, destOffset) {\n const c = src[srcOffset] * 255;\n dest[destOffset] = dest[destOffset + 1] = dest[destOffset + 2] = c;\n }\n\n getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n const scale = 255 / ((1 << bits) - 1);\n let j = srcOffset,\n q = destOffset;\n\n for (let i = 0; i < count; ++i) {\n const c = scale * src[j++];\n dest[q++] = c;\n dest[q++] = c;\n dest[q++] = c;\n q += alpha01;\n }\n }\n\n getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01);\n }\n\n}\n\nclass DeviceRgbCS extends ColorSpace {\n constructor() {\n super(\"DeviceRGB\", 3);\n }\n\n getRgbItem(src, srcOffset, dest, destOffset) {\n dest[destOffset] = src[srcOffset] * 255;\n dest[destOffset + 1] = src[srcOffset + 1] * 255;\n dest[destOffset + 2] = src[srcOffset + 2] * 255;\n }\n\n getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n if (bits === 8 && alpha01 === 0) {\n dest.set(src.subarray(srcOffset, srcOffset + count * 3), destOffset);\n return;\n }\n\n const scale = 255 / ((1 << bits) - 1);\n let j = srcOffset,\n q = destOffset;\n\n for (let i = 0; i < count; ++i) {\n dest[q++] = scale * src[j++];\n dest[q++] = scale * src[j++];\n dest[q++] = scale * src[j++];\n q += alpha01;\n }\n }\n\n getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01) / 3 | 0;\n }\n\n isPassthrough(bits) {\n return bits === 8;\n }\n\n}\n\nconst DeviceCmykCS = function DeviceCmykCSClosure() {\n function convertToRgb(src, srcOffset, srcScale, dest, destOffset) {\n const c = src[srcOffset] * srcScale;\n const m = src[srcOffset + 1] * srcScale;\n const y = src[srcOffset + 2] * srcScale;\n const k = src[srcOffset + 3] * srcScale;\n dest[destOffset] = 255 + c * (-4.387332384609988 * c + 54.48615194189176 * m + 18.82290502165302 * y + 212.25662451639585 * k + -285.2331026137004) + m * (1.7149763477362134 * m - 5.6096736904047315 * y + -17.873870861415444 * k - 5.497006427196366) + y * (-2.5217340131683033 * y - 21.248923337353073 * k + 17.5119270841813) + k * (-21.86122147463605 * k - 189.48180835922747);\n dest[destOffset + 1] = 255 + c * (8.841041422036149 * c + 60.118027045597366 * m + 6.871425592049007 * y + 31.159100130055922 * k + -79.2970844816548) + m * (-15.310361306967817 * m + 17.575251261109482 * y + 131.35250912493976 * k - 190.9453302588951) + y * (4.444339102852739 * y + 9.8632861493405 * k - 24.86741582555878) + k * (-20.737325471181034 * k - 187.80453709719578);\n dest[destOffset + 2] = 255 + c * (0.8842522430003296 * c + 8.078677503112928 * m + 30.89978309703729 * y - 0.23883238689178934 * k + -14.183576799673286) + m * (10.49593273432072 * m + 63.02378494754052 * y + 50.606957656360734 * k - 112.23884253719248) + y * (0.03296041114873217 * y + 115.60384449646641 * k + -193.58209356861505) + k * (-22.33816807309886 * k - 180.12613974708367);\n }\n\n class DeviceCmykCS extends ColorSpace {\n constructor() {\n super(\"DeviceCMYK\", 4);\n }\n\n getRgbItem(src, srcOffset, dest, destOffset) {\n convertToRgb(src, srcOffset, 1, dest, destOffset);\n }\n\n getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n const scale = 1 / ((1 << bits) - 1);\n\n for (let i = 0; i < count; i++) {\n convertToRgb(src, srcOffset, scale, dest, destOffset);\n srcOffset += 4;\n destOffset += 3 + alpha01;\n }\n }\n\n getOutputLength(inputLength, alpha01) {\n return inputLength / 4 * (3 + alpha01) | 0;\n }\n\n }\n\n return DeviceCmykCS;\n}();\n\nconst CalGrayCS = function CalGrayCSClosure() {\n function convertToRgb(cs, src, srcOffset, dest, destOffset, scale) {\n const A = src[srcOffset] * scale;\n const AG = A ** cs.G;\n const L = cs.YW * AG;\n const val = Math.max(295.8 * L ** 0.333333333333333333 - 40.8, 0);\n dest[destOffset] = val;\n dest[destOffset + 1] = val;\n dest[destOffset + 2] = val;\n }\n\n class CalGrayCS extends ColorSpace {\n constructor(whitePoint, blackPoint, gamma) {\n super(\"CalGray\", 1);\n\n if (!whitePoint) {\n throw new _util.FormatError(\"WhitePoint missing - required for color space CalGray\");\n }\n\n blackPoint = blackPoint || [0, 0, 0];\n gamma = gamma || 1;\n this.XW = whitePoint[0];\n this.YW = whitePoint[1];\n this.ZW = whitePoint[2];\n this.XB = blackPoint[0];\n this.YB = blackPoint[1];\n this.ZB = blackPoint[2];\n this.G = gamma;\n\n if (this.XW < 0 || this.ZW < 0 || this.YW !== 1) {\n throw new _util.FormatError(`Invalid WhitePoint components for ${this.name}` + \", no fallback available\");\n }\n\n if (this.XB < 0 || this.YB < 0 || this.ZB < 0) {\n (0, _util.info)(`Invalid BlackPoint for ${this.name}, falling back to default.`);\n this.XB = this.YB = this.ZB = 0;\n }\n\n if (this.XB !== 0 || this.YB !== 0 || this.ZB !== 0) {\n (0, _util.warn)(`${this.name}, BlackPoint: XB: ${this.XB}, YB: ${this.YB}, ` + `ZB: ${this.ZB}, only default values are supported.`);\n }\n\n if (this.G < 1) {\n (0, _util.info)(`Invalid Gamma: ${this.G} for ${this.name}, ` + \"falling back to default.\");\n this.G = 1;\n }\n }\n\n getRgbItem(src, srcOffset, dest, destOffset) {\n convertToRgb(this, src, srcOffset, dest, destOffset, 1);\n }\n\n getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n const scale = 1 / ((1 << bits) - 1);\n\n for (let i = 0; i < count; ++i) {\n convertToRgb(this, src, srcOffset, dest, destOffset, scale);\n srcOffset += 1;\n destOffset += 3 + alpha01;\n }\n }\n\n getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01);\n }\n\n }\n\n return CalGrayCS;\n}();\n\nconst CalRGBCS = function CalRGBCSClosure() {\n const BRADFORD_SCALE_MATRIX = new Float32Array([0.8951, 0.2664, -0.1614, -0.7502, 1.7135, 0.0367, 0.0389, -0.0685, 1.0296]);\n const BRADFORD_SCALE_INVERSE_MATRIX = new Float32Array([0.9869929, -0.1470543, 0.1599627, 0.4323053, 0.5183603, 0.0492912, -0.0085287, 0.0400428, 0.9684867]);\n const SRGB_D65_XYZ_TO_RGB_MATRIX = new Float32Array([3.2404542, -1.5371385, -0.4985314, -0.9692660, 1.8760108, 0.0415560, 0.0556434, -0.2040259, 1.0572252]);\n const FLAT_WHITEPOINT_MATRIX = new Float32Array([1, 1, 1]);\n const tempNormalizeMatrix = new Float32Array(3);\n const tempConvertMatrix1 = new Float32Array(3);\n const tempConvertMatrix2 = new Float32Array(3);\n const DECODE_L_CONSTANT = ((8 + 16) / 116) ** 3 / 8.0;\n\n function matrixProduct(a, b, result) {\n result[0] = a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n result[1] = a[3] * b[0] + a[4] * b[1] + a[5] * b[2];\n result[2] = a[6] * b[0] + a[7] * b[1] + a[8] * b[2];\n }\n\n function convertToFlat(sourceWhitePoint, LMS, result) {\n result[0] = LMS[0] * 1 / sourceWhitePoint[0];\n result[1] = LMS[1] * 1 / sourceWhitePoint[1];\n result[2] = LMS[2] * 1 / sourceWhitePoint[2];\n }\n\n function convertToD65(sourceWhitePoint, LMS, result) {\n const D65X = 0.95047;\n const D65Y = 1;\n const D65Z = 1.08883;\n result[0] = LMS[0] * D65X / sourceWhitePoint[0];\n result[1] = LMS[1] * D65Y / sourceWhitePoint[1];\n result[2] = LMS[2] * D65Z / sourceWhitePoint[2];\n }\n\n function sRGBTransferFunction(color) {\n if (color <= 0.0031308) {\n return adjustToRange(0, 1, 12.92 * color);\n }\n\n return adjustToRange(0, 1, (1 + 0.055) * color ** (1 / 2.4) - 0.055);\n }\n\n function adjustToRange(min, max, value) {\n return Math.max(min, Math.min(max, value));\n }\n\n function decodeL(L) {\n if (L < 0) {\n return -decodeL(-L);\n }\n\n if (L > 8.0) {\n return ((L + 16) / 116) ** 3;\n }\n\n return L * DECODE_L_CONSTANT;\n }\n\n function compensateBlackPoint(sourceBlackPoint, XYZ_Flat, result) {\n if (sourceBlackPoint[0] === 0 && sourceBlackPoint[1] === 0 && sourceBlackPoint[2] === 0) {\n result[0] = XYZ_Flat[0];\n result[1] = XYZ_Flat[1];\n result[2] = XYZ_Flat[2];\n return;\n }\n\n const zeroDecodeL = decodeL(0);\n const X_DST = zeroDecodeL;\n const X_SRC = decodeL(sourceBlackPoint[0]);\n const Y_DST = zeroDecodeL;\n const Y_SRC = decodeL(sourceBlackPoint[1]);\n const Z_DST = zeroDecodeL;\n const Z_SRC = decodeL(sourceBlackPoint[2]);\n const X_Scale = (1 - X_DST) / (1 - X_SRC);\n const X_Offset = 1 - X_Scale;\n const Y_Scale = (1 - Y_DST) / (1 - Y_SRC);\n const Y_Offset = 1 - Y_Scale;\n const Z_Scale = (1 - Z_DST) / (1 - Z_SRC);\n const Z_Offset = 1 - Z_Scale;\n result[0] = XYZ_Flat[0] * X_Scale + X_Offset;\n result[1] = XYZ_Flat[1] * Y_Scale + Y_Offset;\n result[2] = XYZ_Flat[2] * Z_Scale + Z_Offset;\n }\n\n function normalizeWhitePointToFlat(sourceWhitePoint, XYZ_In, result) {\n if (sourceWhitePoint[0] === 1 && sourceWhitePoint[2] === 1) {\n result[0] = XYZ_In[0];\n result[1] = XYZ_In[1];\n result[2] = XYZ_In[2];\n return;\n }\n\n const LMS = result;\n matrixProduct(BRADFORD_SCALE_MATRIX, XYZ_In, LMS);\n const LMS_Flat = tempNormalizeMatrix;\n convertToFlat(sourceWhitePoint, LMS, LMS_Flat);\n matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX, LMS_Flat, result);\n }\n\n function normalizeWhitePointToD65(sourceWhitePoint, XYZ_In, result) {\n const LMS = result;\n matrixProduct(BRADFORD_SCALE_MATRIX, XYZ_In, LMS);\n const LMS_D65 = tempNormalizeMatrix;\n convertToD65(sourceWhitePoint, LMS, LMS_D65);\n matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX, LMS_D65, result);\n }\n\n function convertToRgb(cs, src, srcOffset, dest, destOffset, scale) {\n const A = adjustToRange(0, 1, src[srcOffset] * scale);\n const B = adjustToRange(0, 1, src[srcOffset + 1] * scale);\n const C = adjustToRange(0, 1, src[srcOffset + 2] * scale);\n const AGR = A ** cs.GR;\n const BGG = B ** cs.GG;\n const CGB = C ** cs.GB;\n const X = cs.MXA * AGR + cs.MXB * BGG + cs.MXC * CGB;\n const Y = cs.MYA * AGR + cs.MYB * BGG + cs.MYC * CGB;\n const Z = cs.MZA * AGR + cs.MZB * BGG + cs.MZC * CGB;\n const XYZ = tempConvertMatrix1;\n XYZ[0] = X;\n XYZ[1] = Y;\n XYZ[2] = Z;\n const XYZ_Flat = tempConvertMatrix2;\n normalizeWhitePointToFlat(cs.whitePoint, XYZ, XYZ_Flat);\n const XYZ_Black = tempConvertMatrix1;\n compensateBlackPoint(cs.blackPoint, XYZ_Flat, XYZ_Black);\n const XYZ_D65 = tempConvertMatrix2;\n normalizeWhitePointToD65(FLAT_WHITEPOINT_MATRIX, XYZ_Black, XYZ_D65);\n const SRGB = tempConvertMatrix1;\n matrixProduct(SRGB_D65_XYZ_TO_RGB_MATRIX, XYZ_D65, SRGB);\n dest[destOffset] = sRGBTransferFunction(SRGB[0]) * 255;\n dest[destOffset + 1] = sRGBTransferFunction(SRGB[1]) * 255;\n dest[destOffset + 2] = sRGBTransferFunction(SRGB[2]) * 255;\n }\n\n class CalRGBCS extends ColorSpace {\n constructor(whitePoint, blackPoint, gamma, matrix) {\n super(\"CalRGB\", 3);\n\n if (!whitePoint) {\n throw new _util.FormatError(\"WhitePoint missing - required for color space CalRGB\");\n }\n\n blackPoint = blackPoint || new Float32Array(3);\n gamma = gamma || new Float32Array([1, 1, 1]);\n matrix = matrix || new Float32Array([1, 0, 0, 0, 1, 0, 0, 0, 1]);\n const XW = whitePoint[0];\n const YW = whitePoint[1];\n const ZW = whitePoint[2];\n this.whitePoint = whitePoint;\n const XB = blackPoint[0];\n const YB = blackPoint[1];\n const ZB = blackPoint[2];\n this.blackPoint = blackPoint;\n this.GR = gamma[0];\n this.GG = gamma[1];\n this.GB = gamma[2];\n this.MXA = matrix[0];\n this.MYA = matrix[1];\n this.MZA = matrix[2];\n this.MXB = matrix[3];\n this.MYB = matrix[4];\n this.MZB = matrix[5];\n this.MXC = matrix[6];\n this.MYC = matrix[7];\n this.MZC = matrix[8];\n\n if (XW < 0 || ZW < 0 || YW !== 1) {\n throw new _util.FormatError(`Invalid WhitePoint components for ${this.name}` + \", no fallback available\");\n }\n\n if (XB < 0 || YB < 0 || ZB < 0) {\n (0, _util.info)(`Invalid BlackPoint for ${this.name} [${XB}, ${YB}, ${ZB}], ` + \"falling back to default.\");\n this.blackPoint = new Float32Array(3);\n }\n\n if (this.GR < 0 || this.GG < 0 || this.GB < 0) {\n (0, _util.info)(`Invalid Gamma [${this.GR}, ${this.GG}, ${this.GB}] for ` + `${this.name}, falling back to default.`);\n this.GR = this.GG = this.GB = 1;\n }\n }\n\n getRgbItem(src, srcOffset, dest, destOffset) {\n convertToRgb(this, src, srcOffset, dest, destOffset, 1);\n }\n\n getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n const scale = 1 / ((1 << bits) - 1);\n\n for (let i = 0; i < count; ++i) {\n convertToRgb(this, src, srcOffset, dest, destOffset, scale);\n srcOffset += 3;\n destOffset += 3 + alpha01;\n }\n }\n\n getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01) / 3 | 0;\n }\n\n }\n\n return CalRGBCS;\n}();\n\nconst LabCS = function LabCSClosure() {\n function fn_g(x) {\n let result;\n\n if (x >= 6 / 29) {\n result = x * x * x;\n } else {\n result = 108 / 841 * (x - 4 / 29);\n }\n\n return result;\n }\n\n function decode(value, high1, low2, high2) {\n return low2 + value * (high2 - low2) / high1;\n }\n\n function convertToRgb(cs, src, srcOffset, maxVal, dest, destOffset) {\n let Ls = src[srcOffset];\n let as = src[srcOffset + 1];\n let bs = src[srcOffset + 2];\n\n if (maxVal !== false) {\n Ls = decode(Ls, maxVal, 0, 100);\n as = decode(as, maxVal, cs.amin, cs.amax);\n bs = decode(bs, maxVal, cs.bmin, cs.bmax);\n }\n\n if (as > cs.amax) {\n as = cs.amax;\n } else if (as < cs.amin) {\n as = cs.amin;\n }\n\n if (bs > cs.bmax) {\n bs = cs.bmax;\n } else if (bs < cs.bmin) {\n bs = cs.bmin;\n }\n\n const M = (Ls + 16) / 116;\n const L = M + as / 500;\n const N = M - bs / 200;\n const X = cs.XW * fn_g(L);\n const Y = cs.YW * fn_g(M);\n const Z = cs.ZW * fn_g(N);\n let r, g, b;\n\n if (cs.ZW < 1) {\n r = X * 3.1339 + Y * -1.617 + Z * -0.4906;\n g = X * -0.9785 + Y * 1.916 + Z * 0.0333;\n b = X * 0.072 + Y * -0.229 + Z * 1.4057;\n } else {\n r = X * 3.2406 + Y * -1.5372 + Z * -0.4986;\n g = X * -0.9689 + Y * 1.8758 + Z * 0.0415;\n b = X * 0.0557 + Y * -0.204 + Z * 1.057;\n }\n\n dest[destOffset] = Math.sqrt(r) * 255;\n dest[destOffset + 1] = Math.sqrt(g) * 255;\n dest[destOffset + 2] = Math.sqrt(b) * 255;\n }\n\n class LabCS extends ColorSpace {\n constructor(whitePoint, blackPoint, range) {\n super(\"Lab\", 3);\n\n if (!whitePoint) {\n throw new _util.FormatError(\"WhitePoint missing - required for color space Lab\");\n }\n\n blackPoint = blackPoint || [0, 0, 0];\n range = range || [-100, 100, -100, 100];\n this.XW = whitePoint[0];\n this.YW = whitePoint[1];\n this.ZW = whitePoint[2];\n this.amin = range[0];\n this.amax = range[1];\n this.bmin = range[2];\n this.bmax = range[3];\n this.XB = blackPoint[0];\n this.YB = blackPoint[1];\n this.ZB = blackPoint[2];\n\n if (this.XW < 0 || this.ZW < 0 || this.YW !== 1) {\n throw new _util.FormatError(\"Invalid WhitePoint components, no fallback available\");\n }\n\n if (this.XB < 0 || this.YB < 0 || this.ZB < 0) {\n (0, _util.info)(\"Invalid BlackPoint, falling back to default\");\n this.XB = this.YB = this.ZB = 0;\n }\n\n if (this.amin > this.amax || this.bmin > this.bmax) {\n (0, _util.info)(\"Invalid Range, falling back to defaults\");\n this.amin = -100;\n this.amax = 100;\n this.bmin = -100;\n this.bmax = 100;\n }\n }\n\n getRgbItem(src, srcOffset, dest, destOffset) {\n convertToRgb(this, src, srcOffset, false, dest, destOffset);\n }\n\n getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n const maxVal = (1 << bits) - 1;\n\n for (let i = 0; i < count; i++) {\n convertToRgb(this, src, srcOffset, maxVal, dest, destOffset);\n srcOffset += 3;\n destOffset += 3 + alpha01;\n }\n }\n\n getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01) / 3 | 0;\n }\n\n isDefaultDecode(decodeMap, bpc) {\n return true;\n }\n\n get usesZeroToOneRange() {\n return (0, _util.shadow)(this, \"usesZeroToOneRange\", false);\n }\n\n }\n\n return LabCS;\n}();\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GlobalImageCache = exports.LocalImageCache = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _primitives = __w_pdfjs_require__(5);\n\nclass LocalImageCache {\n constructor() {\n this._nameRefMap = new Map();\n this._imageMap = new Map();\n this._imageCache = new _primitives.RefSetCache();\n }\n\n getByName(name) {\n const ref = this._nameRefMap.get(name);\n\n if (ref) {\n return this.getByRef(ref);\n }\n\n return this._imageMap.get(name) || null;\n }\n\n getByRef(ref) {\n return this._imageCache.get(ref) || null;\n }\n\n set(name, ref = null, data) {\n if (!name) {\n throw new Error('LocalImageCache.set - expected \"name\" argument.');\n }\n\n if (ref) {\n if (this._imageCache.has(ref)) {\n return;\n }\n\n this._nameRefMap.set(name, ref);\n\n this._imageCache.put(ref, data);\n\n return;\n }\n\n if (this._imageMap.has(name)) {\n return;\n }\n\n this._imageMap.set(name, data);\n }\n\n}\n\nexports.LocalImageCache = LocalImageCache;\n\nclass GlobalImageCache {\n static get NUM_PAGES_THRESHOLD() {\n return (0, _util.shadow)(this, \"NUM_PAGES_THRESHOLD\", 2);\n }\n\n static get MAX_IMAGES_TO_CACHE() {\n return (0, _util.shadow)(this, \"MAX_IMAGES_TO_CACHE\", 10);\n }\n\n constructor() {\n this._refCache = new _primitives.RefSetCache();\n this._imageCache = new _primitives.RefSetCache();\n }\n\n shouldCache(ref, pageIndex) {\n const pageIndexSet = this._refCache.get(ref);\n\n const numPages = pageIndexSet ? pageIndexSet.size + (pageIndexSet.has(pageIndex) ? 0 : 1) : 1;\n\n if (numPages < GlobalImageCache.NUM_PAGES_THRESHOLD) {\n return false;\n }\n\n if (!this._imageCache.has(ref) && this._imageCache.size >= GlobalImageCache.MAX_IMAGES_TO_CACHE) {\n return false;\n }\n\n return true;\n }\n\n addPageIndex(ref, pageIndex) {\n let pageIndexSet = this._refCache.get(ref);\n\n if (!pageIndexSet) {\n pageIndexSet = new Set();\n\n this._refCache.put(ref, pageIndexSet);\n }\n\n pageIndexSet.add(pageIndex);\n }\n\n getData(ref, pageIndex) {\n if (!this._refCache.has(ref)) {\n return null;\n }\n\n const pageIndexSet = this._refCache.get(ref);\n\n if (pageIndexSet.size < GlobalImageCache.NUM_PAGES_THRESHOLD) {\n return null;\n }\n\n if (!this._imageCache.has(ref)) {\n return null;\n }\n\n pageIndexSet.add(pageIndex);\n return this._imageCache.get(ref);\n }\n\n setData(ref, data) {\n if (!this._refCache.has(ref)) {\n throw new Error('GlobalImageCache.setData - expected \"addPageIndex\" to have been called.');\n }\n\n if (this._imageCache.has(ref)) {\n return;\n }\n\n if (this._imageCache.size >= GlobalImageCache.MAX_IMAGES_TO_CACHE) {\n (0, _util.info)(\"GlobalImageCache.setData - ignoring image above MAX_IMAGES_TO_CACHE.\");\n return;\n }\n\n this._imageCache.put(ref, data);\n }\n\n clear(onlyData = false) {\n if (!onlyData) {\n this._refCache.clear();\n }\n\n this._imageCache.clear();\n }\n\n}\n\nexports.GlobalImageCache = GlobalImageCache;\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getQuadPoints = getQuadPoints;\nexports.MarkupAnnotation = exports.AnnotationFactory = exports.AnnotationBorderStyle = exports.Annotation = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _obj = __w_pdfjs_require__(10);\n\nvar _primitives = __w_pdfjs_require__(5);\n\nvar _colorspace = __w_pdfjs_require__(23);\n\nvar _core_utils = __w_pdfjs_require__(8);\n\nvar _operator_list = __w_pdfjs_require__(26);\n\nvar _stream = __w_pdfjs_require__(12);\n\nclass AnnotationFactory {\n static create(xref, ref, pdfManager, idFactory) {\n return pdfManager.ensure(this, \"_create\", [xref, ref, pdfManager, idFactory]);\n }\n\n static _create(xref, ref, pdfManager, idFactory) {\n const dict = xref.fetchIfRef(ref);\n\n if (!(0, _primitives.isDict)(dict)) {\n return undefined;\n }\n\n const id = (0, _primitives.isRef)(ref) ? ref.toString() : `annot_${idFactory.createObjId()}`;\n let subtype = dict.get(\"Subtype\");\n subtype = (0, _primitives.isName)(subtype) ? subtype.name : null;\n const parameters = {\n xref,\n dict,\n subtype,\n id,\n pdfManager\n };\n\n switch (subtype) {\n case \"Link\":\n return new LinkAnnotation(parameters);\n\n case \"Text\":\n return new TextAnnotation(parameters);\n\n case \"Widget\":\n let fieldType = (0, _core_utils.getInheritableProperty)({\n dict,\n key: \"FT\"\n });\n fieldType = (0, _primitives.isName)(fieldType) ? fieldType.name : null;\n\n switch (fieldType) {\n case \"Tx\":\n return new TextWidgetAnnotation(parameters);\n\n case \"Btn\":\n return new ButtonWidgetAnnotation(parameters);\n\n case \"Ch\":\n return new ChoiceWidgetAnnotation(parameters);\n }\n\n (0, _util.warn)('Unimplemented widget field type \"' + fieldType + '\", ' + \"falling back to base field type.\");\n return new WidgetAnnotation(parameters);\n\n case \"Popup\":\n return new PopupAnnotation(parameters);\n\n case \"FreeText\":\n return new FreeTextAnnotation(parameters);\n\n case \"Line\":\n return new LineAnnotation(parameters);\n\n case \"Square\":\n return new SquareAnnotation(parameters);\n\n case \"Circle\":\n return new CircleAnnotation(parameters);\n\n case \"PolyLine\":\n return new PolylineAnnotation(parameters);\n\n case \"Polygon\":\n return new PolygonAnnotation(parameters);\n\n case \"Caret\":\n return new CaretAnnotation(parameters);\n\n case \"Ink\":\n return new InkAnnotation(parameters);\n\n case \"Highlight\":\n return new HighlightAnnotation(parameters);\n\n case \"Underline\":\n return new UnderlineAnnotation(parameters);\n\n case \"Squiggly\":\n return new SquigglyAnnotation(parameters);\n\n case \"StrikeOut\":\n return new StrikeOutAnnotation(parameters);\n\n case \"Stamp\":\n return new StampAnnotation(parameters);\n\n case \"FileAttachment\":\n return new FileAttachmentAnnotation(parameters);\n\n default:\n if (!subtype) {\n (0, _util.warn)(\"Annotation is missing the required /Subtype.\");\n } else {\n (0, _util.warn)('Unimplemented annotation type \"' + subtype + '\", ' + \"falling back to base annotation.\");\n }\n\n return new Annotation(parameters);\n }\n }\n\n}\n\nexports.AnnotationFactory = AnnotationFactory;\n\nfunction getQuadPoints(dict, rect) {\n if (!dict.has(\"QuadPoints\")) {\n return null;\n }\n\n const quadPoints = dict.getArray(\"QuadPoints\");\n\n if (!Array.isArray(quadPoints) || quadPoints.length % 8 > 0) {\n return null;\n }\n\n const quadPointsLists = [];\n\n for (let i = 0, ii = quadPoints.length / 8; i < ii; i++) {\n quadPointsLists.push([]);\n\n for (let j = i * 8, jj = i * 8 + 8; j < jj; j += 2) {\n const x = quadPoints[j];\n const y = quadPoints[j + 1];\n\n if (x < rect[0] || x > rect[2] || y < rect[1] || y > rect[3]) {\n return null;\n }\n\n quadPointsLists[i].push({\n x,\n y\n });\n }\n }\n\n return quadPointsLists;\n}\n\nfunction getTransformMatrix(rect, bbox, matrix) {\n const [minX, minY, maxX, maxY] = _util.Util.getAxialAlignedBoundingBox(bbox, matrix);\n\n if (minX === maxX || minY === maxY) {\n return [1, 0, 0, 1, rect[0], rect[1]];\n }\n\n const xRatio = (rect[2] - rect[0]) / (maxX - minX);\n const yRatio = (rect[3] - rect[1]) / (maxY - minY);\n return [xRatio, 0, 0, yRatio, rect[0] - minX * xRatio, rect[1] - minY * yRatio];\n}\n\nclass Annotation {\n constructor(params) {\n const dict = params.dict;\n this.setContents(dict.get(\"Contents\"));\n this.setModificationDate(dict.get(\"M\"));\n this.setFlags(dict.get(\"F\"));\n this.setRectangle(dict.getArray(\"Rect\"));\n this.setColor(dict.getArray(\"C\"));\n this.setBorderStyle(dict);\n this.setAppearance(dict);\n this.data = {\n annotationFlags: this.flags,\n borderStyle: this.borderStyle,\n color: this.color,\n contents: this.contents,\n hasAppearance: !!this.appearance,\n id: params.id,\n modificationDate: this.modificationDate,\n rect: this.rectangle,\n subtype: params.subtype\n };\n }\n\n _hasFlag(flags, flag) {\n return !!(flags & flag);\n }\n\n _isViewable(flags) {\n return !this._hasFlag(flags, _util.AnnotationFlag.INVISIBLE) && !this._hasFlag(flags, _util.AnnotationFlag.HIDDEN) && !this._hasFlag(flags, _util.AnnotationFlag.NOVIEW);\n }\n\n _isPrintable(flags) {\n return this._hasFlag(flags, _util.AnnotationFlag.PRINT) && !this._hasFlag(flags, _util.AnnotationFlag.INVISIBLE) && !this._hasFlag(flags, _util.AnnotationFlag.HIDDEN);\n }\n\n get viewable() {\n if (this.flags === 0) {\n return true;\n }\n\n return this._isViewable(this.flags);\n }\n\n get printable() {\n if (this.flags === 0) {\n return false;\n }\n\n return this._isPrintable(this.flags);\n }\n\n setContents(contents) {\n this.contents = (0, _util.stringToPDFString)(contents || \"\");\n }\n\n setModificationDate(modificationDate) {\n this.modificationDate = (0, _util.isString)(modificationDate) ? modificationDate : null;\n }\n\n setFlags(flags) {\n this.flags = Number.isInteger(flags) && flags > 0 ? flags : 0;\n }\n\n hasFlag(flag) {\n return this._hasFlag(this.flags, flag);\n }\n\n setRectangle(rectangle) {\n if (Array.isArray(rectangle) && rectangle.length === 4) {\n this.rectangle = _util.Util.normalizeRect(rectangle);\n } else {\n this.rectangle = [0, 0, 0, 0];\n }\n }\n\n setColor(color) {\n const rgbColor = new Uint8ClampedArray(3);\n\n if (!Array.isArray(color)) {\n this.color = rgbColor;\n return;\n }\n\n switch (color.length) {\n case 0:\n this.color = null;\n break;\n\n case 1:\n _colorspace.ColorSpace.singletons.gray.getRgbItem(color, 0, rgbColor, 0);\n\n this.color = rgbColor;\n break;\n\n case 3:\n _colorspace.ColorSpace.singletons.rgb.getRgbItem(color, 0, rgbColor, 0);\n\n this.color = rgbColor;\n break;\n\n case 4:\n _colorspace.ColorSpace.singletons.cmyk.getRgbItem(color, 0, rgbColor, 0);\n\n this.color = rgbColor;\n break;\n\n default:\n this.color = rgbColor;\n break;\n }\n }\n\n setBorderStyle(borderStyle) {\n this.borderStyle = new AnnotationBorderStyle();\n\n if (!(0, _primitives.isDict)(borderStyle)) {\n return;\n }\n\n if (borderStyle.has(\"BS\")) {\n const dict = borderStyle.get(\"BS\");\n const dictType = dict.get(\"Type\");\n\n if (!dictType || (0, _primitives.isName)(dictType, \"Border\")) {\n this.borderStyle.setWidth(dict.get(\"W\"), this.rectangle);\n this.borderStyle.setStyle(dict.get(\"S\"));\n this.borderStyle.setDashArray(dict.getArray(\"D\"));\n }\n } else if (borderStyle.has(\"Border\")) {\n const array = borderStyle.getArray(\"Border\");\n\n if (Array.isArray(array) && array.length >= 3) {\n this.borderStyle.setHorizontalCornerRadius(array[0]);\n this.borderStyle.setVerticalCornerRadius(array[1]);\n this.borderStyle.setWidth(array[2], this.rectangle);\n\n if (array.length === 4) {\n this.borderStyle.setDashArray(array[3]);\n }\n }\n } else {\n this.borderStyle.setWidth(0);\n }\n }\n\n setAppearance(dict) {\n this.appearance = null;\n const appearanceStates = dict.get(\"AP\");\n\n if (!(0, _primitives.isDict)(appearanceStates)) {\n return;\n }\n\n const normalAppearanceState = appearanceStates.get(\"N\");\n\n if ((0, _primitives.isStream)(normalAppearanceState)) {\n this.appearance = normalAppearanceState;\n return;\n }\n\n if (!(0, _primitives.isDict)(normalAppearanceState)) {\n return;\n }\n\n const as = dict.get(\"AS\");\n\n if (!(0, _primitives.isName)(as) || !normalAppearanceState.has(as.name)) {\n return;\n }\n\n this.appearance = normalAppearanceState.get(as.name);\n }\n\n loadResources(keys) {\n return this.appearance.dict.getAsync(\"Resources\").then(resources => {\n if (!resources) {\n return undefined;\n }\n\n const objectLoader = new _obj.ObjectLoader(resources, keys, resources.xref);\n return objectLoader.load().then(function () {\n return resources;\n });\n });\n }\n\n getOperatorList(evaluator, task, renderForms) {\n if (!this.appearance) {\n return Promise.resolve(new _operator_list.OperatorList());\n }\n\n const data = this.data;\n const appearanceDict = this.appearance.dict;\n const resourcesPromise = this.loadResources([\"ExtGState\", \"ColorSpace\", \"Pattern\", \"Shading\", \"XObject\", \"Font\"]);\n const bbox = appearanceDict.getArray(\"BBox\") || [0, 0, 1, 1];\n const matrix = appearanceDict.getArray(\"Matrix\") || [1, 0, 0, 1, 0, 0];\n const transform = getTransformMatrix(data.rect, bbox, matrix);\n return resourcesPromise.then(resources => {\n const opList = new _operator_list.OperatorList();\n opList.addOp(_util.OPS.beginAnnotation, [data.rect, transform, matrix]);\n return evaluator.getOperatorList({\n stream: this.appearance,\n task,\n resources,\n operatorList: opList\n }).then(() => {\n opList.addOp(_util.OPS.endAnnotation, []);\n this.appearance.reset();\n return opList;\n });\n });\n }\n\n}\n\nexports.Annotation = Annotation;\n\nclass AnnotationBorderStyle {\n constructor() {\n this.width = 1;\n this.style = _util.AnnotationBorderStyleType.SOLID;\n this.dashArray = [3];\n this.horizontalCornerRadius = 0;\n this.verticalCornerRadius = 0;\n }\n\n setWidth(width, rect = [0, 0, 0, 0]) {\n if ((0, _primitives.isName)(width)) {\n this.width = 0;\n return;\n }\n\n if (Number.isInteger(width)) {\n if (width > 0) {\n const maxWidth = (rect[2] - rect[0]) / 2;\n const maxHeight = (rect[3] - rect[1]) / 2;\n\n if (maxWidth > 0 && maxHeight > 0 && (width > maxWidth || width > maxHeight)) {\n (0, _util.warn)(`AnnotationBorderStyle.setWidth - ignoring width: ${width}`);\n width = 1;\n }\n }\n\n this.width = width;\n }\n }\n\n setStyle(style) {\n if (!(0, _primitives.isName)(style)) {\n return;\n }\n\n switch (style.name) {\n case \"S\":\n this.style = _util.AnnotationBorderStyleType.SOLID;\n break;\n\n case \"D\":\n this.style = _util.AnnotationBorderStyleType.DASHED;\n break;\n\n case \"B\":\n this.style = _util.AnnotationBorderStyleType.BEVELED;\n break;\n\n case \"I\":\n this.style = _util.AnnotationBorderStyleType.INSET;\n break;\n\n case \"U\":\n this.style = _util.AnnotationBorderStyleType.UNDERLINE;\n break;\n\n default:\n break;\n }\n }\n\n setDashArray(dashArray) {\n if (Array.isArray(dashArray) && dashArray.length > 0) {\n let isValid = true;\n let allZeros = true;\n\n for (const element of dashArray) {\n const validNumber = +element >= 0;\n\n if (!validNumber) {\n isValid = false;\n break;\n } else if (element > 0) {\n allZeros = false;\n }\n }\n\n if (isValid && !allZeros) {\n this.dashArray = dashArray;\n } else {\n this.width = 0;\n }\n } else if (dashArray) {\n this.width = 0;\n }\n }\n\n setHorizontalCornerRadius(radius) {\n if (Number.isInteger(radius)) {\n this.horizontalCornerRadius = radius;\n }\n }\n\n setVerticalCornerRadius(radius) {\n if (Number.isInteger(radius)) {\n this.verticalCornerRadius = radius;\n }\n }\n\n}\n\nexports.AnnotationBorderStyle = AnnotationBorderStyle;\n\nclass MarkupAnnotation extends Annotation {\n constructor(parameters) {\n super(parameters);\n const dict = parameters.dict;\n\n if (dict.has(\"IRT\")) {\n const rawIRT = dict.getRaw(\"IRT\");\n this.data.inReplyTo = (0, _primitives.isRef)(rawIRT) ? rawIRT.toString() : null;\n const rt = dict.get(\"RT\");\n this.data.replyType = (0, _primitives.isName)(rt) ? rt.name : _util.AnnotationReplyType.REPLY;\n }\n\n if (this.data.replyType === _util.AnnotationReplyType.GROUP) {\n const parent = dict.get(\"IRT\");\n this.data.title = (0, _util.stringToPDFString)(parent.get(\"T\") || \"\");\n this.setContents(parent.get(\"Contents\"));\n this.data.contents = this.contents;\n\n if (!parent.has(\"CreationDate\")) {\n this.data.creationDate = null;\n } else {\n this.setCreationDate(parent.get(\"CreationDate\"));\n this.data.creationDate = this.creationDate;\n }\n\n if (!parent.has(\"M\")) {\n this.data.modificationDate = null;\n } else {\n this.setModificationDate(parent.get(\"M\"));\n this.data.modificationDate = this.modificationDate;\n }\n\n this.data.hasPopup = parent.has(\"Popup\");\n\n if (!parent.has(\"C\")) {\n this.data.color = null;\n } else {\n this.setColor(parent.getArray(\"C\"));\n this.data.color = this.color;\n }\n } else {\n this.data.title = (0, _util.stringToPDFString)(dict.get(\"T\") || \"\");\n this.setCreationDate(dict.get(\"CreationDate\"));\n this.data.creationDate = this.creationDate;\n this.data.hasPopup = dict.has(\"Popup\");\n\n if (!dict.has(\"C\")) {\n this.data.color = null;\n }\n }\n }\n\n setCreationDate(creationDate) {\n this.creationDate = (0, _util.isString)(creationDate) ? creationDate : null;\n }\n\n}\n\nexports.MarkupAnnotation = MarkupAnnotation;\n\nclass WidgetAnnotation extends Annotation {\n constructor(params) {\n super(params);\n const dict = params.dict;\n const data = this.data;\n data.annotationType = _util.AnnotationType.WIDGET;\n data.fieldName = this._constructFieldName(dict);\n data.fieldValue = (0, _core_utils.getInheritableProperty)({\n dict,\n key: \"V\",\n getArray: true\n });\n data.alternativeText = (0, _util.stringToPDFString)(dict.get(\"TU\") || \"\");\n data.defaultAppearance = (0, _core_utils.getInheritableProperty)({\n dict,\n key: \"DA\"\n }) || \"\";\n const fieldType = (0, _core_utils.getInheritableProperty)({\n dict,\n key: \"FT\"\n });\n data.fieldType = (0, _primitives.isName)(fieldType) ? fieldType.name : null;\n this.fieldResources = (0, _core_utils.getInheritableProperty)({\n dict,\n key: \"DR\"\n }) || _primitives.Dict.empty;\n data.fieldFlags = (0, _core_utils.getInheritableProperty)({\n dict,\n key: \"Ff\"\n });\n\n if (!Number.isInteger(data.fieldFlags) || data.fieldFlags < 0) {\n data.fieldFlags = 0;\n }\n\n data.readOnly = this.hasFieldFlag(_util.AnnotationFieldFlag.READONLY);\n\n if (data.fieldType === \"Sig\") {\n data.fieldValue = null;\n this.setFlags(_util.AnnotationFlag.HIDDEN);\n }\n }\n\n _constructFieldName(dict) {\n if (!dict.has(\"T\") && !dict.has(\"Parent\")) {\n (0, _util.warn)(\"Unknown field name, falling back to empty field name.\");\n return \"\";\n }\n\n if (!dict.has(\"Parent\")) {\n return (0, _util.stringToPDFString)(dict.get(\"T\"));\n }\n\n const fieldName = [];\n\n if (dict.has(\"T\")) {\n fieldName.unshift((0, _util.stringToPDFString)(dict.get(\"T\")));\n }\n\n let loopDict = dict;\n\n while (loopDict.has(\"Parent\")) {\n loopDict = loopDict.get(\"Parent\");\n\n if (!(0, _primitives.isDict)(loopDict)) {\n break;\n }\n\n if (loopDict.has(\"T\")) {\n fieldName.unshift((0, _util.stringToPDFString)(loopDict.get(\"T\")));\n }\n }\n\n return fieldName.join(\".\");\n }\n\n hasFieldFlag(flag) {\n return !!(this.data.fieldFlags & flag);\n }\n\n getOperatorList(evaluator, task, renderForms) {\n if (renderForms) {\n return Promise.resolve(new _operator_list.OperatorList());\n }\n\n return super.getOperatorList(evaluator, task, renderForms);\n }\n\n}\n\nclass TextWidgetAnnotation extends WidgetAnnotation {\n constructor(params) {\n super(params);\n const dict = params.dict;\n this.data.fieldValue = (0, _util.stringToPDFString)(this.data.fieldValue || \"\");\n let alignment = (0, _core_utils.getInheritableProperty)({\n dict,\n key: \"Q\"\n });\n\n if (!Number.isInteger(alignment) || alignment < 0 || alignment > 2) {\n alignment = null;\n }\n\n this.data.textAlignment = alignment;\n let maximumLength = (0, _core_utils.getInheritableProperty)({\n dict,\n key: \"MaxLen\"\n });\n\n if (!Number.isInteger(maximumLength) || maximumLength < 0) {\n maximumLength = null;\n }\n\n this.data.maxLen = maximumLength;\n this.data.multiLine = this.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE);\n this.data.comb = this.hasFieldFlag(_util.AnnotationFieldFlag.COMB) && !this.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE) && !this.hasFieldFlag(_util.AnnotationFieldFlag.PASSWORD) && !this.hasFieldFlag(_util.AnnotationFieldFlag.FILESELECT) && this.data.maxLen !== null;\n }\n\n getOperatorList(evaluator, task, renderForms) {\n if (renderForms || this.appearance) {\n return super.getOperatorList(evaluator, task, renderForms);\n }\n\n const operatorList = new _operator_list.OperatorList();\n\n if (!this.data.defaultAppearance) {\n return Promise.resolve(operatorList);\n }\n\n const stream = new _stream.Stream((0, _util.stringToBytes)(this.data.defaultAppearance));\n return evaluator.getOperatorList({\n stream,\n task,\n resources: this.fieldResources,\n operatorList\n }).then(function () {\n return operatorList;\n });\n }\n\n}\n\nclass ButtonWidgetAnnotation extends WidgetAnnotation {\n constructor(params) {\n super(params);\n this.data.checkBox = !this.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && !this.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n this.data.radioButton = this.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && !this.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n this.data.pushButton = this.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n\n if (this.data.checkBox) {\n this._processCheckBox(params);\n } else if (this.data.radioButton) {\n this._processRadioButton(params);\n } else if (this.data.pushButton) {\n this._processPushButton(params);\n } else {\n (0, _util.warn)(\"Invalid field flags for button widget annotation\");\n }\n }\n\n _processCheckBox(params) {\n if ((0, _primitives.isName)(this.data.fieldValue)) {\n this.data.fieldValue = this.data.fieldValue.name;\n }\n\n const customAppearance = params.dict.get(\"AP\");\n\n if (!(0, _primitives.isDict)(customAppearance)) {\n return;\n }\n\n const exportValueOptionsDict = customAppearance.get(\"D\");\n\n if (!(0, _primitives.isDict)(exportValueOptionsDict)) {\n return;\n }\n\n const exportValues = exportValueOptionsDict.getKeys();\n const hasCorrectOptionCount = exportValues.length === 2;\n\n if (!hasCorrectOptionCount) {\n return;\n }\n\n this.data.exportValue = exportValues[0] === \"Off\" ? exportValues[1] : exportValues[0];\n }\n\n _processRadioButton(params) {\n this.data.fieldValue = this.data.buttonValue = null;\n const fieldParent = params.dict.get(\"Parent\");\n\n if ((0, _primitives.isDict)(fieldParent) && fieldParent.has(\"V\")) {\n const fieldParentValue = fieldParent.get(\"V\");\n\n if ((0, _primitives.isName)(fieldParentValue)) {\n this.data.fieldValue = fieldParentValue.name;\n }\n }\n\n const appearanceStates = params.dict.get(\"AP\");\n\n if (!(0, _primitives.isDict)(appearanceStates)) {\n return;\n }\n\n const normalAppearanceState = appearanceStates.get(\"N\");\n\n if (!(0, _primitives.isDict)(normalAppearanceState)) {\n return;\n }\n\n for (const key of normalAppearanceState.getKeys()) {\n if (key !== \"Off\") {\n this.data.buttonValue = key;\n break;\n }\n }\n }\n\n _processPushButton(params) {\n if (!params.dict.has(\"A\")) {\n (0, _util.warn)(\"Push buttons without action dictionaries are not supported\");\n return;\n }\n\n _obj.Catalog.parseDestDictionary({\n destDict: params.dict,\n resultObj: this.data,\n docBaseUrl: params.pdfManager.docBaseUrl\n });\n }\n\n}\n\nclass ChoiceWidgetAnnotation extends WidgetAnnotation {\n constructor(params) {\n super(params);\n this.data.options = [];\n const options = (0, _core_utils.getInheritableProperty)({\n dict: params.dict,\n key: \"Opt\"\n });\n\n if (Array.isArray(options)) {\n const xref = params.xref;\n\n for (let i = 0, ii = options.length; i < ii; i++) {\n const option = xref.fetchIfRef(options[i]);\n const isOptionArray = Array.isArray(option);\n this.data.options[i] = {\n exportValue: isOptionArray ? xref.fetchIfRef(option[0]) : option,\n displayValue: (0, _util.stringToPDFString)(isOptionArray ? xref.fetchIfRef(option[1]) : option)\n };\n }\n }\n\n if (!Array.isArray(this.data.fieldValue)) {\n this.data.fieldValue = [this.data.fieldValue];\n }\n\n this.data.combo = this.hasFieldFlag(_util.AnnotationFieldFlag.COMBO);\n this.data.multiSelect = this.hasFieldFlag(_util.AnnotationFieldFlag.MULTISELECT);\n }\n\n}\n\nclass TextAnnotation extends MarkupAnnotation {\n constructor(parameters) {\n const DEFAULT_ICON_SIZE = 22;\n super(parameters);\n const dict = parameters.dict;\n this.data.annotationType = _util.AnnotationType.TEXT;\n\n if (this.data.hasAppearance) {\n this.data.name = \"NoIcon\";\n } else {\n this.data.rect[1] = this.data.rect[3] - DEFAULT_ICON_SIZE;\n this.data.rect[2] = this.data.rect[0] + DEFAULT_ICON_SIZE;\n this.data.name = dict.has(\"Name\") ? dict.get(\"Name\").name : \"Note\";\n }\n\n if (dict.has(\"State\")) {\n this.data.state = dict.get(\"State\") || null;\n this.data.stateModel = dict.get(\"StateModel\") || null;\n } else {\n this.data.state = null;\n this.data.stateModel = null;\n }\n }\n\n}\n\nclass LinkAnnotation extends Annotation {\n constructor(params) {\n super(params);\n this.data.annotationType = _util.AnnotationType.LINK;\n const quadPoints = getQuadPoints(params.dict, this.rectangle);\n\n if (quadPoints) {\n this.data.quadPoints = quadPoints;\n }\n\n _obj.Catalog.parseDestDictionary({\n destDict: params.dict,\n resultObj: this.data,\n docBaseUrl: params.pdfManager.docBaseUrl\n });\n }\n\n}\n\nclass PopupAnnotation extends Annotation {\n constructor(parameters) {\n super(parameters);\n this.data.annotationType = _util.AnnotationType.POPUP;\n let parentItem = parameters.dict.get(\"Parent\");\n\n if (!parentItem) {\n (0, _util.warn)(\"Popup annotation has a missing or invalid parent annotation.\");\n return;\n }\n\n const parentSubtype = parentItem.get(\"Subtype\");\n this.data.parentType = (0, _primitives.isName)(parentSubtype) ? parentSubtype.name : null;\n const rawParent = parameters.dict.getRaw(\"Parent\");\n this.data.parentId = (0, _primitives.isRef)(rawParent) ? rawParent.toString() : null;\n const rt = parentItem.get(\"RT\");\n\n if ((0, _primitives.isName)(rt, _util.AnnotationReplyType.GROUP)) {\n parentItem = parentItem.get(\"IRT\");\n }\n\n if (!parentItem.has(\"M\")) {\n this.data.modificationDate = null;\n } else {\n this.setModificationDate(parentItem.get(\"M\"));\n this.data.modificationDate = this.modificationDate;\n }\n\n if (!parentItem.has(\"C\")) {\n this.data.color = null;\n } else {\n this.setColor(parentItem.getArray(\"C\"));\n this.data.color = this.color;\n }\n\n if (!this.viewable) {\n const parentFlags = parentItem.get(\"F\");\n\n if (this._isViewable(parentFlags)) {\n this.setFlags(parentFlags);\n }\n }\n\n this.data.title = (0, _util.stringToPDFString)(parentItem.get(\"T\") || \"\");\n this.data.contents = (0, _util.stringToPDFString)(parentItem.get(\"Contents\") || \"\");\n }\n\n}\n\nclass FreeTextAnnotation extends MarkupAnnotation {\n constructor(parameters) {\n super(parameters);\n this.data.annotationType = _util.AnnotationType.FREETEXT;\n }\n\n}\n\nclass LineAnnotation extends MarkupAnnotation {\n constructor(parameters) {\n super(parameters);\n this.data.annotationType = _util.AnnotationType.LINE;\n this.data.lineCoordinates = _util.Util.normalizeRect(parameters.dict.getArray(\"L\"));\n }\n\n}\n\nclass SquareAnnotation extends MarkupAnnotation {\n constructor(parameters) {\n super(parameters);\n this.data.annotationType = _util.AnnotationType.SQUARE;\n }\n\n}\n\nclass CircleAnnotation extends MarkupAnnotation {\n constructor(parameters) {\n super(parameters);\n this.data.annotationType = _util.AnnotationType.CIRCLE;\n }\n\n}\n\nclass PolylineAnnotation extends MarkupAnnotation {\n constructor(parameters) {\n super(parameters);\n this.data.annotationType = _util.AnnotationType.POLYLINE;\n const rawVertices = parameters.dict.getArray(\"Vertices\");\n this.data.vertices = [];\n\n for (let i = 0, ii = rawVertices.length; i < ii; i += 2) {\n this.data.vertices.push({\n x: rawVertices[i],\n y: rawVertices[i + 1]\n });\n }\n }\n\n}\n\nclass PolygonAnnotation extends PolylineAnnotation {\n constructor(parameters) {\n super(parameters);\n this.data.annotationType = _util.AnnotationType.POLYGON;\n }\n\n}\n\nclass CaretAnnotation extends MarkupAnnotation {\n constructor(parameters) {\n super(parameters);\n this.data.annotationType = _util.AnnotationType.CARET;\n }\n\n}\n\nclass InkAnnotation extends MarkupAnnotation {\n constructor(parameters) {\n super(parameters);\n this.data.annotationType = _util.AnnotationType.INK;\n const xref = parameters.xref;\n const originalInkLists = parameters.dict.getArray(\"InkList\");\n this.data.inkLists = [];\n\n for (let i = 0, ii = originalInkLists.length; i < ii; ++i) {\n this.data.inkLists.push([]);\n\n for (let j = 0, jj = originalInkLists[i].length; j < jj; j += 2) {\n this.data.inkLists[i].push({\n x: xref.fetchIfRef(originalInkLists[i][j]),\n y: xref.fetchIfRef(originalInkLists[i][j + 1])\n });\n }\n }\n }\n\n}\n\nclass HighlightAnnotation extends MarkupAnnotation {\n constructor(parameters) {\n super(parameters);\n this.data.annotationType = _util.AnnotationType.HIGHLIGHT;\n const quadPoints = getQuadPoints(parameters.dict, this.rectangle);\n\n if (quadPoints) {\n this.data.quadPoints = quadPoints;\n }\n }\n\n}\n\nclass UnderlineAnnotation extends MarkupAnnotation {\n constructor(parameters) {\n super(parameters);\n this.data.annotationType = _util.AnnotationType.UNDERLINE;\n const quadPoints = getQuadPoints(parameters.dict, this.rectangle);\n\n if (quadPoints) {\n this.data.quadPoints = quadPoints;\n }\n }\n\n}\n\nclass SquigglyAnnotation extends MarkupAnnotation {\n constructor(parameters) {\n super(parameters);\n this.data.annotationType = _util.AnnotationType.SQUIGGLY;\n const quadPoints = getQuadPoints(parameters.dict, this.rectangle);\n\n if (quadPoints) {\n this.data.quadPoints = quadPoints;\n }\n }\n\n}\n\nclass StrikeOutAnnotation extends MarkupAnnotation {\n constructor(parameters) {\n super(parameters);\n this.data.annotationType = _util.AnnotationType.STRIKEOUT;\n const quadPoints = getQuadPoints(parameters.dict, this.rectangle);\n\n if (quadPoints) {\n this.data.quadPoints = quadPoints;\n }\n }\n\n}\n\nclass StampAnnotation extends MarkupAnnotation {\n constructor(parameters) {\n super(parameters);\n this.data.annotationType = _util.AnnotationType.STAMP;\n }\n\n}\n\nclass FileAttachmentAnnotation extends MarkupAnnotation {\n constructor(parameters) {\n super(parameters);\n const file = new _obj.FileSpec(parameters.dict.get(\"FS\"), parameters.xref);\n this.data.annotationType = _util.AnnotationType.FILEATTACHMENT;\n this.data.file = file.serializable;\n }\n\n}\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.OperatorList = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar QueueOptimizer = function QueueOptimizerClosure() {\n function addState(parentState, pattern, checkFn, iterateFn, processFn) {\n var state = parentState;\n\n for (var i = 0, ii = pattern.length - 1; i < ii; i++) {\n var item = pattern[i];\n state = state[item] || (state[item] = []);\n }\n\n state[pattern[pattern.length - 1]] = {\n checkFn,\n iterateFn,\n processFn\n };\n }\n\n function handlePaintSolidColorImageMask(iFirstSave, count, fnArray, argsArray) {\n var iFirstPIMXO = iFirstSave + 2;\n\n for (var i = 0; i < count; i++) {\n var arg = argsArray[iFirstPIMXO + 4 * i];\n var imageMask = arg.length === 1 && arg[0];\n\n if (imageMask && imageMask.width === 1 && imageMask.height === 1 && (!imageMask.data.length || imageMask.data.length === 1 && imageMask.data[0] === 0)) {\n fnArray[iFirstPIMXO + 4 * i] = _util.OPS.paintSolidColorImageMask;\n continue;\n }\n\n break;\n }\n\n return count - i;\n }\n\n var InitialState = [];\n addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintInlineImageXObject, _util.OPS.restore], null, function iterateInlineImageGroup(context, i) {\n var fnArray = context.fnArray;\n var iFirstSave = context.iCurr - 3;\n var pos = (i - iFirstSave) % 4;\n\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.save;\n\n case 1:\n return fnArray[i] === _util.OPS.transform;\n\n case 2:\n return fnArray[i] === _util.OPS.paintInlineImageXObject;\n\n case 3:\n return fnArray[i] === _util.OPS.restore;\n }\n\n throw new Error(`iterateInlineImageGroup - invalid pos: ${pos}`);\n }, function foundInlineImageGroup(context, i) {\n var MIN_IMAGES_IN_INLINE_IMAGES_BLOCK = 10;\n var MAX_IMAGES_IN_INLINE_IMAGES_BLOCK = 200;\n var MAX_WIDTH = 1000;\n var IMAGE_PADDING = 1;\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var curr = context.iCurr;\n var iFirstSave = curr - 3;\n var iFirstTransform = curr - 2;\n var iFirstPIIXO = curr - 1;\n var count = Math.min(Math.floor((i - iFirstSave) / 4), MAX_IMAGES_IN_INLINE_IMAGES_BLOCK);\n\n if (count < MIN_IMAGES_IN_INLINE_IMAGES_BLOCK) {\n return i - (i - iFirstSave) % 4;\n }\n\n var maxX = 0;\n var map = [],\n maxLineHeight = 0;\n var currentX = IMAGE_PADDING,\n currentY = IMAGE_PADDING;\n var q;\n\n for (q = 0; q < count; q++) {\n var transform = argsArray[iFirstTransform + (q << 2)];\n var img = argsArray[iFirstPIIXO + (q << 2)][0];\n\n if (currentX + img.width > MAX_WIDTH) {\n maxX = Math.max(maxX, currentX);\n currentY += maxLineHeight + 2 * IMAGE_PADDING;\n currentX = 0;\n maxLineHeight = 0;\n }\n\n map.push({\n transform,\n x: currentX,\n y: currentY,\n w: img.width,\n h: img.height\n });\n currentX += img.width + 2 * IMAGE_PADDING;\n maxLineHeight = Math.max(maxLineHeight, img.height);\n }\n\n var imgWidth = Math.max(maxX, currentX) + IMAGE_PADDING;\n var imgHeight = currentY + maxLineHeight + IMAGE_PADDING;\n var imgData = new Uint8ClampedArray(imgWidth * imgHeight * 4);\n var imgRowSize = imgWidth << 2;\n\n for (q = 0; q < count; q++) {\n var data = argsArray[iFirstPIIXO + (q << 2)][0].data;\n var rowSize = map[q].w << 2;\n var dataOffset = 0;\n var offset = map[q].x + map[q].y * imgWidth << 2;\n imgData.set(data.subarray(0, rowSize), offset - imgRowSize);\n\n for (var k = 0, kk = map[q].h; k < kk; k++) {\n imgData.set(data.subarray(dataOffset, dataOffset + rowSize), offset);\n dataOffset += rowSize;\n offset += imgRowSize;\n }\n\n imgData.set(data.subarray(dataOffset - rowSize, dataOffset), offset);\n\n while (offset >= 0) {\n data[offset - 4] = data[offset];\n data[offset - 3] = data[offset + 1];\n data[offset - 2] = data[offset + 2];\n data[offset - 1] = data[offset + 3];\n data[offset + rowSize] = data[offset + rowSize - 4];\n data[offset + rowSize + 1] = data[offset + rowSize - 3];\n data[offset + rowSize + 2] = data[offset + rowSize - 2];\n data[offset + rowSize + 3] = data[offset + rowSize - 1];\n offset -= imgRowSize;\n }\n }\n\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintInlineImageXObjectGroup);\n argsArray.splice(iFirstSave, count * 4, [{\n width: imgWidth,\n height: imgHeight,\n kind: _util.ImageKind.RGBA_32BPP,\n data: imgData\n }, map]);\n return iFirstSave + 1;\n });\n addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintImageMaskXObject, _util.OPS.restore], null, function iterateImageMaskGroup(context, i) {\n var fnArray = context.fnArray;\n var iFirstSave = context.iCurr - 3;\n var pos = (i - iFirstSave) % 4;\n\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.save;\n\n case 1:\n return fnArray[i] === _util.OPS.transform;\n\n case 2:\n return fnArray[i] === _util.OPS.paintImageMaskXObject;\n\n case 3:\n return fnArray[i] === _util.OPS.restore;\n }\n\n throw new Error(`iterateImageMaskGroup - invalid pos: ${pos}`);\n }, function foundImageMaskGroup(context, i) {\n var MIN_IMAGES_IN_MASKS_BLOCK = 10;\n var MAX_IMAGES_IN_MASKS_BLOCK = 100;\n var MAX_SAME_IMAGES_IN_MASKS_BLOCK = 1000;\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var curr = context.iCurr;\n var iFirstSave = curr - 3;\n var iFirstTransform = curr - 2;\n var iFirstPIMXO = curr - 1;\n var count = Math.floor((i - iFirstSave) / 4);\n count = handlePaintSolidColorImageMask(iFirstSave, count, fnArray, argsArray);\n\n if (count < MIN_IMAGES_IN_MASKS_BLOCK) {\n return i - (i - iFirstSave) % 4;\n }\n\n var q;\n var isSameImage = false;\n var iTransform, transformArgs;\n var firstPIMXOArg0 = argsArray[iFirstPIMXO][0];\n\n if (argsArray[iFirstTransform][1] === 0 && argsArray[iFirstTransform][2] === 0) {\n isSameImage = true;\n var firstTransformArg0 = argsArray[iFirstTransform][0];\n var firstTransformArg3 = argsArray[iFirstTransform][3];\n iTransform = iFirstTransform + 4;\n var iPIMXO = iFirstPIMXO + 4;\n\n for (q = 1; q < count; q++, iTransform += 4, iPIMXO += 4) {\n transformArgs = argsArray[iTransform];\n\n if (argsArray[iPIMXO][0] !== firstPIMXOArg0 || transformArgs[0] !== firstTransformArg0 || transformArgs[1] !== 0 || transformArgs[2] !== 0 || transformArgs[3] !== firstTransformArg3) {\n if (q < MIN_IMAGES_IN_MASKS_BLOCK) {\n isSameImage = false;\n } else {\n count = q;\n }\n\n break;\n }\n }\n }\n\n if (isSameImage) {\n count = Math.min(count, MAX_SAME_IMAGES_IN_MASKS_BLOCK);\n var positions = new Float32Array(count * 2);\n iTransform = iFirstTransform;\n\n for (q = 0; q < count; q++, iTransform += 4) {\n transformArgs = argsArray[iTransform];\n positions[q << 1] = transformArgs[4];\n positions[(q << 1) + 1] = transformArgs[5];\n }\n\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageMaskXObjectRepeat);\n argsArray.splice(iFirstSave, count * 4, [firstPIMXOArg0, firstTransformArg0, firstTransformArg3, positions]);\n } else {\n count = Math.min(count, MAX_IMAGES_IN_MASKS_BLOCK);\n var images = [];\n\n for (q = 0; q < count; q++) {\n transformArgs = argsArray[iFirstTransform + (q << 2)];\n var maskParams = argsArray[iFirstPIMXO + (q << 2)][0];\n images.push({\n data: maskParams.data,\n width: maskParams.width,\n height: maskParams.height,\n transform: transformArgs\n });\n }\n\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageMaskXObjectGroup);\n argsArray.splice(iFirstSave, count * 4, [images]);\n }\n\n return iFirstSave + 1;\n });\n addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintImageXObject, _util.OPS.restore], function (context) {\n var argsArray = context.argsArray;\n var iFirstTransform = context.iCurr - 2;\n return argsArray[iFirstTransform][1] === 0 && argsArray[iFirstTransform][2] === 0;\n }, function iterateImageGroup(context, i) {\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var iFirstSave = context.iCurr - 3;\n var pos = (i - iFirstSave) % 4;\n\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.save;\n\n case 1:\n if (fnArray[i] !== _util.OPS.transform) {\n return false;\n }\n\n var iFirstTransform = context.iCurr - 2;\n var firstTransformArg0 = argsArray[iFirstTransform][0];\n var firstTransformArg3 = argsArray[iFirstTransform][3];\n\n if (argsArray[i][0] !== firstTransformArg0 || argsArray[i][1] !== 0 || argsArray[i][2] !== 0 || argsArray[i][3] !== firstTransformArg3) {\n return false;\n }\n\n return true;\n\n case 2:\n if (fnArray[i] !== _util.OPS.paintImageXObject) {\n return false;\n }\n\n var iFirstPIXO = context.iCurr - 1;\n var firstPIXOArg0 = argsArray[iFirstPIXO][0];\n\n if (argsArray[i][0] !== firstPIXOArg0) {\n return false;\n }\n\n return true;\n\n case 3:\n return fnArray[i] === _util.OPS.restore;\n }\n\n throw new Error(`iterateImageGroup - invalid pos: ${pos}`);\n }, function (context, i) {\n var MIN_IMAGES_IN_BLOCK = 3;\n var MAX_IMAGES_IN_BLOCK = 1000;\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var curr = context.iCurr;\n var iFirstSave = curr - 3;\n var iFirstTransform = curr - 2;\n var iFirstPIXO = curr - 1;\n var firstPIXOArg0 = argsArray[iFirstPIXO][0];\n var firstTransformArg0 = argsArray[iFirstTransform][0];\n var firstTransformArg3 = argsArray[iFirstTransform][3];\n var count = Math.min(Math.floor((i - iFirstSave) / 4), MAX_IMAGES_IN_BLOCK);\n\n if (count < MIN_IMAGES_IN_BLOCK) {\n return i - (i - iFirstSave) % 4;\n }\n\n var positions = new Float32Array(count * 2);\n var iTransform = iFirstTransform;\n\n for (var q = 0; q < count; q++, iTransform += 4) {\n var transformArgs = argsArray[iTransform];\n positions[q << 1] = transformArgs[4];\n positions[(q << 1) + 1] = transformArgs[5];\n }\n\n var args = [firstPIXOArg0, firstTransformArg0, firstTransformArg3, positions];\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageXObjectRepeat);\n argsArray.splice(iFirstSave, count * 4, args);\n return iFirstSave + 1;\n });\n addState(InitialState, [_util.OPS.beginText, _util.OPS.setFont, _util.OPS.setTextMatrix, _util.OPS.showText, _util.OPS.endText], null, function iterateShowTextGroup(context, i) {\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var iFirstSave = context.iCurr - 4;\n var pos = (i - iFirstSave) % 5;\n\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.beginText;\n\n case 1:\n return fnArray[i] === _util.OPS.setFont;\n\n case 2:\n return fnArray[i] === _util.OPS.setTextMatrix;\n\n case 3:\n if (fnArray[i] !== _util.OPS.showText) {\n return false;\n }\n\n var iFirstSetFont = context.iCurr - 3;\n var firstSetFontArg0 = argsArray[iFirstSetFont][0];\n var firstSetFontArg1 = argsArray[iFirstSetFont][1];\n\n if (argsArray[i][0] !== firstSetFontArg0 || argsArray[i][1] !== firstSetFontArg1) {\n return false;\n }\n\n return true;\n\n case 4:\n return fnArray[i] === _util.OPS.endText;\n }\n\n throw new Error(`iterateShowTextGroup - invalid pos: ${pos}`);\n }, function (context, i) {\n var MIN_CHARS_IN_BLOCK = 3;\n var MAX_CHARS_IN_BLOCK = 1000;\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var curr = context.iCurr;\n var iFirstBeginText = curr - 4;\n var iFirstSetFont = curr - 3;\n var iFirstSetTextMatrix = curr - 2;\n var iFirstShowText = curr - 1;\n var iFirstEndText = curr;\n var firstSetFontArg0 = argsArray[iFirstSetFont][0];\n var firstSetFontArg1 = argsArray[iFirstSetFont][1];\n var count = Math.min(Math.floor((i - iFirstBeginText) / 5), MAX_CHARS_IN_BLOCK);\n\n if (count < MIN_CHARS_IN_BLOCK) {\n return i - (i - iFirstBeginText) % 5;\n }\n\n var iFirst = iFirstBeginText;\n\n if (iFirstBeginText >= 4 && fnArray[iFirstBeginText - 4] === fnArray[iFirstSetFont] && fnArray[iFirstBeginText - 3] === fnArray[iFirstSetTextMatrix] && fnArray[iFirstBeginText - 2] === fnArray[iFirstShowText] && fnArray[iFirstBeginText - 1] === fnArray[iFirstEndText] && argsArray[iFirstBeginText - 4][0] === firstSetFontArg0 && argsArray[iFirstBeginText - 4][1] === firstSetFontArg1) {\n count++;\n iFirst -= 5;\n }\n\n var iEndText = iFirst + 4;\n\n for (var q = 1; q < count; q++) {\n fnArray.splice(iEndText, 3);\n argsArray.splice(iEndText, 3);\n iEndText += 2;\n }\n\n return iEndText + 1;\n });\n\n function QueueOptimizer(queue) {\n this.queue = queue;\n this.state = null;\n this.context = {\n iCurr: 0,\n fnArray: queue.fnArray,\n argsArray: queue.argsArray\n };\n this.match = null;\n this.lastProcessed = 0;\n }\n\n QueueOptimizer.prototype = {\n _optimize() {\n const fnArray = this.queue.fnArray;\n let i = this.lastProcessed,\n ii = fnArray.length;\n let state = this.state;\n let match = this.match;\n\n if (!state && !match && i + 1 === ii && !InitialState[fnArray[i]]) {\n this.lastProcessed = ii;\n return;\n }\n\n const context = this.context;\n\n while (i < ii) {\n if (match) {\n const iterate = (0, match.iterateFn)(context, i);\n\n if (iterate) {\n i++;\n continue;\n }\n\n i = (0, match.processFn)(context, i + 1);\n ii = fnArray.length;\n match = null;\n state = null;\n\n if (i >= ii) {\n break;\n }\n }\n\n state = (state || InitialState)[fnArray[i]];\n\n if (!state || Array.isArray(state)) {\n i++;\n continue;\n }\n\n context.iCurr = i;\n i++;\n\n if (state.checkFn && !(0, state.checkFn)(context)) {\n state = null;\n continue;\n }\n\n match = state;\n state = null;\n }\n\n this.state = state;\n this.match = match;\n this.lastProcessed = i;\n },\n\n push(fn, args) {\n this.queue.fnArray.push(fn);\n this.queue.argsArray.push(args);\n\n this._optimize();\n },\n\n flush() {\n while (this.match) {\n const length = this.queue.fnArray.length;\n this.lastProcessed = (0, this.match.processFn)(this.context, length);\n this.match = null;\n this.state = null;\n\n this._optimize();\n }\n },\n\n reset() {\n this.state = null;\n this.match = null;\n this.lastProcessed = 0;\n }\n\n };\n return QueueOptimizer;\n}();\n\nvar NullOptimizer = function NullOptimizerClosure() {\n function NullOptimizer(queue) {\n this.queue = queue;\n }\n\n NullOptimizer.prototype = {\n push(fn, args) {\n this.queue.fnArray.push(fn);\n this.queue.argsArray.push(args);\n },\n\n flush() {},\n\n reset() {}\n\n };\n return NullOptimizer;\n}();\n\nvar OperatorList = function OperatorListClosure() {\n var CHUNK_SIZE = 1000;\n var CHUNK_SIZE_ABOUT = CHUNK_SIZE - 5;\n\n function OperatorList(intent, streamSink, pageIndex) {\n this._streamSink = streamSink;\n this.fnArray = [];\n this.argsArray = [];\n\n if (streamSink && intent !== \"oplist\") {\n this.optimizer = new QueueOptimizer(this);\n } else {\n this.optimizer = new NullOptimizer(this);\n }\n\n this.dependencies = Object.create(null);\n this._totalLength = 0;\n this.pageIndex = pageIndex;\n this.intent = intent;\n this.weight = 0;\n this._resolved = streamSink ? null : Promise.resolve();\n }\n\n OperatorList.prototype = {\n get length() {\n return this.argsArray.length;\n },\n\n get ready() {\n return this._resolved || this._streamSink.ready;\n },\n\n get totalLength() {\n return this._totalLength + this.length;\n },\n\n addOp(fn, args) {\n this.optimizer.push(fn, args);\n this.weight++;\n\n if (this._streamSink) {\n if (this.weight >= CHUNK_SIZE) {\n this.flush();\n } else if (this.weight >= CHUNK_SIZE_ABOUT && (fn === _util.OPS.restore || fn === _util.OPS.endText)) {\n this.flush();\n }\n }\n },\n\n addDependency(dependency) {\n if (dependency in this.dependencies) {\n return;\n }\n\n this.dependencies[dependency] = true;\n this.addOp(_util.OPS.dependency, [dependency]);\n },\n\n addDependencies(dependencies) {\n for (var key in dependencies) {\n this.addDependency(key);\n }\n },\n\n addOpList(opList) {\n if (!(opList instanceof OperatorList)) {\n (0, _util.warn)('addOpList - ignoring invalid \"opList\" parameter.');\n return;\n }\n\n Object.assign(this.dependencies, opList.dependencies);\n\n for (var i = 0, ii = opList.length; i < ii; i++) {\n this.addOp(opList.fnArray[i], opList.argsArray[i]);\n }\n },\n\n getIR() {\n return {\n fnArray: this.fnArray,\n argsArray: this.argsArray,\n length: this.length\n };\n },\n\n get _transfers() {\n const transfers = [];\n const {\n fnArray,\n argsArray,\n length\n } = this;\n\n for (let i = 0; i < length; i++) {\n switch (fnArray[i]) {\n case _util.OPS.paintInlineImageXObject:\n case _util.OPS.paintInlineImageXObjectGroup:\n case _util.OPS.paintImageMaskXObject:\n const arg = argsArray[i][0];\n ;\n\n if (!arg.cached) {\n transfers.push(arg.data.buffer);\n }\n\n break;\n }\n }\n\n return transfers;\n },\n\n flush(lastChunk = false) {\n this.optimizer.flush();\n const length = this.length;\n this._totalLength += length;\n\n this._streamSink.enqueue({\n fnArray: this.fnArray,\n argsArray: this.argsArray,\n lastChunk,\n length\n }, 1, this._transfers);\n\n this.dependencies = Object.create(null);\n this.fnArray.length = 0;\n this.argsArray.length = 0;\n this.weight = 0;\n this.optimizer.reset();\n }\n\n };\n return OperatorList;\n}();\n\nexports.OperatorList = OperatorList;\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PartialEvaluator = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _cmap = __w_pdfjs_require__(28);\n\nvar _primitives = __w_pdfjs_require__(5);\n\nvar _fonts = __w_pdfjs_require__(29);\n\nvar _encodings = __w_pdfjs_require__(32);\n\nvar _core_utils = __w_pdfjs_require__(8);\n\nvar _unicode = __w_pdfjs_require__(35);\n\nvar _standard_fonts = __w_pdfjs_require__(34);\n\nvar _pattern = __w_pdfjs_require__(38);\n\nvar _parser = __w_pdfjs_require__(11);\n\nvar _bidi = __w_pdfjs_require__(39);\n\nvar _colorspace = __w_pdfjs_require__(23);\n\nvar _stream = __w_pdfjs_require__(12);\n\nvar _glyphlist = __w_pdfjs_require__(33);\n\nvar _metrics = __w_pdfjs_require__(40);\n\nvar _function = __w_pdfjs_require__(41);\n\nvar _image_utils = __w_pdfjs_require__(24);\n\nvar _murmurhash = __w_pdfjs_require__(43);\n\nvar _operator_list = __w_pdfjs_require__(26);\n\nvar _image = __w_pdfjs_require__(44);\n\nvar PartialEvaluator = function PartialEvaluatorClosure() {\n const DefaultPartialEvaluatorOptions = {\n maxImageSize: -1,\n disableFontFace: false,\n ignoreErrors: false,\n isEvalSupported: true,\n fontExtraProperties: false\n };\n\n function PartialEvaluator({\n xref,\n handler,\n pageIndex,\n idFactory,\n fontCache,\n builtInCMapCache,\n globalImageCache,\n options = null,\n pdfFunctionFactory\n }) {\n this.xref = xref;\n this.handler = handler;\n this.pageIndex = pageIndex;\n this.idFactory = idFactory;\n this.fontCache = fontCache;\n this.builtInCMapCache = builtInCMapCache;\n this.globalImageCache = globalImageCache;\n this.options = options || DefaultPartialEvaluatorOptions;\n this.pdfFunctionFactory = pdfFunctionFactory;\n this.parsingType3Font = false;\n\n this.fetchBuiltInCMap = async name => {\n if (this.builtInCMapCache.has(name)) {\n return this.builtInCMapCache.get(name);\n }\n\n const readableStream = this.handler.sendWithStream(\"FetchBuiltInCMap\", {\n name\n });\n const reader = readableStream.getReader();\n const data = await new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n return;\n }\n\n resolve(value);\n pump();\n }, reject);\n }\n\n pump();\n });\n\n if (data.compressionType !== _util.CMapCompressionType.NONE) {\n this.builtInCMapCache.set(name, data);\n }\n\n return data;\n };\n }\n\n var TIME_SLOT_DURATION_MS = 20;\n var CHECK_TIME_EVERY = 100;\n\n function TimeSlotManager() {\n this.reset();\n }\n\n TimeSlotManager.prototype = {\n check: function TimeSlotManager_check() {\n if (++this.checked < CHECK_TIME_EVERY) {\n return false;\n }\n\n this.checked = 0;\n return this.endTime <= Date.now();\n },\n reset: function TimeSlotManager_reset() {\n this.endTime = Date.now() + TIME_SLOT_DURATION_MS;\n this.checked = 0;\n }\n };\n\n function normalizeBlendMode(value, parsingArray = false) {\n if (Array.isArray(value)) {\n for (let i = 0, ii = value.length; i < ii; i++) {\n const maybeBM = normalizeBlendMode(value[i], true);\n\n if (maybeBM) {\n return maybeBM;\n }\n }\n\n (0, _util.warn)(`Unsupported blend mode Array: ${value}`);\n return \"source-over\";\n }\n\n if (!(0, _primitives.isName)(value)) {\n if (parsingArray) {\n return null;\n }\n\n return \"source-over\";\n }\n\n switch (value.name) {\n case \"Normal\":\n case \"Compatible\":\n return \"source-over\";\n\n case \"Multiply\":\n return \"multiply\";\n\n case \"Screen\":\n return \"screen\";\n\n case \"Overlay\":\n return \"overlay\";\n\n case \"Darken\":\n return \"darken\";\n\n case \"Lighten\":\n return \"lighten\";\n\n case \"ColorDodge\":\n return \"color-dodge\";\n\n case \"ColorBurn\":\n return \"color-burn\";\n\n case \"HardLight\":\n return \"hard-light\";\n\n case \"SoftLight\":\n return \"soft-light\";\n\n case \"Difference\":\n return \"difference\";\n\n case \"Exclusion\":\n return \"exclusion\";\n\n case \"Hue\":\n return \"hue\";\n\n case \"Saturation\":\n return \"saturation\";\n\n case \"Color\":\n return \"color\";\n\n case \"Luminosity\":\n return \"luminosity\";\n }\n\n if (parsingArray) {\n return null;\n }\n\n (0, _util.warn)(`Unsupported blend mode: ${value.name}`);\n return \"source-over\";\n }\n\n var deferred = Promise.resolve();\n var TILING_PATTERN = 1,\n SHADING_PATTERN = 2;\n PartialEvaluator.prototype = {\n clone(newOptions = DefaultPartialEvaluatorOptions) {\n var newEvaluator = Object.create(this);\n newEvaluator.options = newOptions;\n return newEvaluator;\n },\n\n hasBlendModes: function PartialEvaluator_hasBlendModes(resources) {\n if (!(resources instanceof _primitives.Dict)) {\n return false;\n }\n\n var processed = Object.create(null);\n\n if (resources.objId) {\n processed[resources.objId] = true;\n }\n\n var nodes = [resources],\n xref = this.xref;\n\n while (nodes.length) {\n var node = nodes.shift();\n var graphicStates = node.get(\"ExtGState\");\n\n if (graphicStates instanceof _primitives.Dict) {\n var graphicStatesKeys = graphicStates.getKeys();\n\n for (let i = 0, ii = graphicStatesKeys.length; i < ii; i++) {\n const key = graphicStatesKeys[i];\n let graphicState = graphicStates.getRaw(key);\n\n if (graphicState instanceof _primitives.Ref) {\n if (processed[graphicState.toString()]) {\n continue;\n }\n\n try {\n graphicState = xref.fetch(graphicState);\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n if (this.options.ignoreErrors) {\n if (graphicState instanceof _primitives.Ref) {\n processed[graphicState.toString()] = true;\n }\n\n this.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorExtGState\n });\n (0, _util.warn)(`hasBlendModes - ignoring ExtGState: \"${ex}\".`);\n continue;\n }\n\n throw ex;\n }\n }\n\n if (!(graphicState instanceof _primitives.Dict)) {\n continue;\n }\n\n if (graphicState.objId) {\n processed[graphicState.objId] = true;\n }\n\n const bm = graphicState.get(\"BM\");\n\n if (bm instanceof _primitives.Name) {\n if (bm.name !== \"Normal\") {\n return true;\n }\n\n continue;\n }\n\n if (bm !== undefined && Array.isArray(bm)) {\n for (let j = 0, jj = bm.length; j < jj; j++) {\n if (bm[j] instanceof _primitives.Name && bm[j].name !== \"Normal\") {\n return true;\n }\n }\n }\n }\n }\n\n var xObjects = node.get(\"XObject\");\n\n if (!(xObjects instanceof _primitives.Dict)) {\n continue;\n }\n\n var xObjectsKeys = xObjects.getKeys();\n\n for (let i = 0, ii = xObjectsKeys.length; i < ii; i++) {\n const key = xObjectsKeys[i];\n var xObject = xObjects.getRaw(key);\n\n if (xObject instanceof _primitives.Ref) {\n if (processed[xObject.toString()]) {\n continue;\n }\n\n try {\n xObject = xref.fetch(xObject);\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n if (this.options.ignoreErrors) {\n if (xObject instanceof _primitives.Ref) {\n processed[xObject.toString()] = true;\n }\n\n this.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorXObject\n });\n (0, _util.warn)(`hasBlendModes - ignoring XObject: \"${ex}\".`);\n continue;\n }\n\n throw ex;\n }\n }\n\n if (!(0, _primitives.isStream)(xObject)) {\n continue;\n }\n\n if (xObject.dict.objId) {\n if (processed[xObject.dict.objId]) {\n continue;\n }\n\n processed[xObject.dict.objId] = true;\n }\n\n var xResources = xObject.dict.get(\"Resources\");\n\n if (xResources instanceof _primitives.Dict && (!xResources.objId || !processed[xResources.objId])) {\n nodes.push(xResources);\n\n if (xResources.objId) {\n processed[xResources.objId] = true;\n }\n }\n }\n }\n\n return false;\n },\n\n async buildFormXObject(resources, xobj, smask, operatorList, task, initialState) {\n var dict = xobj.dict;\n var matrix = dict.getArray(\"Matrix\");\n var bbox = dict.getArray(\"BBox\");\n\n if (Array.isArray(bbox) && bbox.length === 4) {\n bbox = _util.Util.normalizeRect(bbox);\n } else {\n bbox = null;\n }\n\n var group = dict.get(\"Group\");\n\n if (group) {\n var groupOptions = {\n matrix,\n bbox,\n smask,\n isolated: false,\n knockout: false\n };\n var groupSubtype = group.get(\"S\");\n var colorSpace = null;\n\n if ((0, _primitives.isName)(groupSubtype, \"Transparency\")) {\n groupOptions.isolated = group.get(\"I\") || false;\n groupOptions.knockout = group.get(\"K\") || false;\n\n if (group.has(\"CS\")) {\n colorSpace = await this.parseColorSpace({\n cs: group.get(\"CS\"),\n resources\n });\n }\n }\n\n if (smask && smask.backdrop) {\n colorSpace = colorSpace || _colorspace.ColorSpace.singletons.rgb;\n smask.backdrop = colorSpace.getRgb(smask.backdrop, 0);\n }\n\n operatorList.addOp(_util.OPS.beginGroup, [groupOptions]);\n }\n\n operatorList.addOp(_util.OPS.paintFormXObjectBegin, [matrix, bbox]);\n return this.getOperatorList({\n stream: xobj,\n task,\n resources: dict.get(\"Resources\") || resources,\n operatorList,\n initialState\n }).then(function () {\n operatorList.addOp(_util.OPS.paintFormXObjectEnd, []);\n\n if (group) {\n operatorList.addOp(_util.OPS.endGroup, [groupOptions]);\n }\n });\n },\n\n async buildPaintImageXObject({\n resources,\n image,\n isInline = false,\n operatorList,\n cacheKey,\n localImageCache\n }) {\n var dict = image.dict;\n const imageRef = dict.objId;\n var w = dict.get(\"Width\", \"W\");\n var h = dict.get(\"Height\", \"H\");\n\n if (!(w && (0, _util.isNum)(w)) || !(h && (0, _util.isNum)(h))) {\n (0, _util.warn)(\"Image dimensions are missing, or not numbers.\");\n return undefined;\n }\n\n var maxImageSize = this.options.maxImageSize;\n\n if (maxImageSize !== -1 && w * h > maxImageSize) {\n (0, _util.warn)(\"Image exceeded maximum allowed size and was removed.\");\n return undefined;\n }\n\n var imageMask = dict.get(\"ImageMask\", \"IM\") || false;\n var imgData, args;\n\n if (imageMask) {\n var width = dict.get(\"Width\", \"W\");\n var height = dict.get(\"Height\", \"H\");\n var bitStrideLength = width + 7 >> 3;\n var imgArray = image.getBytes(bitStrideLength * height, true);\n var decode = dict.getArray(\"Decode\", \"D\");\n imgData = _image.PDFImage.createMask({\n imgArray,\n width,\n height,\n imageIsFromDecodeStream: image instanceof _stream.DecodeStream,\n inverseDecode: !!decode && decode[0] > 0\n });\n imgData.cached = !!cacheKey;\n args = [imgData];\n operatorList.addOp(_util.OPS.paintImageMaskXObject, args);\n\n if (cacheKey) {\n localImageCache.set(cacheKey, imageRef, {\n fn: _util.OPS.paintImageMaskXObject,\n args\n });\n }\n\n return undefined;\n }\n\n var softMask = dict.get(\"SMask\", \"SM\") || false;\n var mask = dict.get(\"Mask\") || false;\n var SMALL_IMAGE_DIMENSIONS = 200;\n\n if (isInline && !softMask && !mask && w + h < SMALL_IMAGE_DIMENSIONS) {\n const imageObj = new _image.PDFImage({\n xref: this.xref,\n res: resources,\n image,\n isInline,\n pdfFunctionFactory: this.pdfFunctionFactory\n });\n imgData = imageObj.createImageData(true);\n operatorList.addOp(_util.OPS.paintInlineImageXObject, [imgData]);\n return undefined;\n }\n\n let objId = `img_${this.idFactory.createObjId()}`,\n cacheGlobally = false;\n\n if (this.parsingType3Font) {\n objId = `${this.idFactory.getDocId()}_type3res_${objId}`;\n } else if (imageRef) {\n cacheGlobally = this.globalImageCache.shouldCache(imageRef, this.pageIndex);\n\n if (cacheGlobally) {\n objId = `${this.idFactory.getDocId()}_${objId}`;\n }\n }\n\n operatorList.addDependency(objId);\n args = [objId, w, h];\n\n const imgPromise = _image.PDFImage.buildImage({\n xref: this.xref,\n res: resources,\n image,\n isInline,\n pdfFunctionFactory: this.pdfFunctionFactory\n }).then(imageObj => {\n imgData = imageObj.createImageData(false);\n\n if (this.parsingType3Font) {\n return this.handler.sendWithPromise(\"commonobj\", [objId, \"FontType3Res\", imgData], [imgData.data.buffer]);\n } else if (cacheGlobally) {\n this.handler.send(\"commonobj\", [objId, \"Image\", imgData], [imgData.data.buffer]);\n return undefined;\n }\n\n this.handler.send(\"obj\", [objId, this.pageIndex, \"Image\", imgData], [imgData.data.buffer]);\n return undefined;\n }).catch(reason => {\n (0, _util.warn)(\"Unable to decode image: \" + reason);\n\n if (this.parsingType3Font) {\n return this.handler.sendWithPromise(\"commonobj\", [objId, \"FontType3Res\", null]);\n } else if (cacheGlobally) {\n this.handler.send(\"commonobj\", [objId, \"Image\", null]);\n return undefined;\n }\n\n this.handler.send(\"obj\", [objId, this.pageIndex, \"Image\", null]);\n return undefined;\n });\n\n if (this.parsingType3Font) {\n await imgPromise;\n }\n\n operatorList.addOp(_util.OPS.paintImageXObject, args);\n\n if (cacheKey) {\n localImageCache.set(cacheKey, imageRef, {\n fn: _util.OPS.paintImageXObject,\n args\n });\n\n if (imageRef) {\n (0, _util.assert)(!isInline, \"Cannot cache an inline image globally.\");\n this.globalImageCache.addPageIndex(imageRef, this.pageIndex);\n\n if (cacheGlobally) {\n this.globalImageCache.setData(imageRef, {\n objId,\n fn: _util.OPS.paintImageXObject,\n args\n });\n }\n }\n }\n\n return undefined;\n },\n\n handleSMask: function PartialEvaluator_handleSmask(smask, resources, operatorList, task, stateManager) {\n var smaskContent = smask.get(\"G\");\n var smaskOptions = {\n subtype: smask.get(\"S\").name,\n backdrop: smask.get(\"BC\")\n };\n var transferObj = smask.get(\"TR\");\n\n if ((0, _function.isPDFFunction)(transferObj)) {\n const transferFn = this.pdfFunctionFactory.create(transferObj);\n var transferMap = new Uint8Array(256);\n var tmp = new Float32Array(1);\n\n for (var i = 0; i < 256; i++) {\n tmp[0] = i / 255;\n transferFn(tmp, 0, tmp, 0);\n transferMap[i] = tmp[0] * 255 | 0;\n }\n\n smaskOptions.transferMap = transferMap;\n }\n\n return this.buildFormXObject(resources, smaskContent, smaskOptions, operatorList, task, stateManager.state.clone());\n },\n\n handleTilingType(fn, args, resources, pattern, patternDict, operatorList, task) {\n const tilingOpList = new _operator_list.OperatorList();\n const resourcesArray = [patternDict.get(\"Resources\"), resources];\n\n const patternResources = _primitives.Dict.merge(this.xref, resourcesArray);\n\n return this.getOperatorList({\n stream: pattern,\n task,\n resources: patternResources,\n operatorList: tilingOpList\n }).then(function () {\n return (0, _pattern.getTilingPatternIR)({\n fnArray: tilingOpList.fnArray,\n argsArray: tilingOpList.argsArray\n }, patternDict, args);\n }).then(function (tilingPatternIR) {\n operatorList.addDependencies(tilingOpList.dependencies);\n operatorList.addOp(fn, tilingPatternIR);\n }, reason => {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (this.options.ignoreErrors) {\n this.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorTilingPattern\n });\n (0, _util.warn)(`handleTilingType - ignoring pattern: \"${reason}\".`);\n return;\n }\n\n throw reason;\n });\n },\n\n handleSetFont: function PartialEvaluator_handleSetFont(resources, fontArgs, fontRef, operatorList, task, state) {\n var fontName;\n\n if (fontArgs) {\n fontArgs = fontArgs.slice();\n fontName = fontArgs[0].name;\n }\n\n return this.loadFont(fontName, fontRef, resources).then(translated => {\n if (!translated.font.isType3Font) {\n return translated;\n }\n\n return translated.loadType3Data(this, resources, operatorList, task).then(function () {\n return translated;\n }).catch(reason => {\n this.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorFontLoadType3\n });\n return new TranslatedFont({\n loadedName: \"g_font_error\",\n font: new _fonts.ErrorFont(`Type3 font load error: ${reason}`),\n dict: translated.font,\n extraProperties: this.options.fontExtraProperties\n });\n });\n }).then(translated => {\n state.font = translated.font;\n translated.send(this.handler);\n return translated.loadedName;\n });\n },\n\n handleText(chars, state) {\n const font = state.font;\n const glyphs = font.charsToGlyphs(chars);\n\n if (font.data) {\n const isAddToPathSet = !!(state.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n\n if (isAddToPathSet || state.fillColorSpace.name === \"Pattern\" || font.disableFontFace || this.options.disableFontFace) {\n PartialEvaluator.buildFontPaths(font, glyphs, this.handler);\n }\n }\n\n return glyphs;\n },\n\n ensureStateFont(state) {\n if (state.font) {\n return;\n }\n\n const reason = new _util.FormatError(\"Missing setFont (Tf) operator before text rendering operator.\");\n\n if (this.options.ignoreErrors) {\n this.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorFontState\n });\n (0, _util.warn)(`ensureStateFont: \"${reason}\".`);\n return;\n }\n\n throw reason;\n },\n\n setGState: function PartialEvaluator_setGState(resources, gState, operatorList, task, stateManager) {\n var gStateObj = [];\n var gStateKeys = gState.getKeys();\n var promise = Promise.resolve();\n\n for (var i = 0, ii = gStateKeys.length; i < ii; i++) {\n const key = gStateKeys[i];\n const value = gState.get(key);\n\n switch (key) {\n case \"Type\":\n break;\n\n case \"LW\":\n case \"LC\":\n case \"LJ\":\n case \"ML\":\n case \"D\":\n case \"RI\":\n case \"FL\":\n case \"CA\":\n case \"ca\":\n gStateObj.push([key, value]);\n break;\n\n case \"Font\":\n promise = promise.then(() => {\n return this.handleSetFont(resources, null, value[0], operatorList, task, stateManager.state).then(function (loadedName) {\n operatorList.addDependency(loadedName);\n gStateObj.push([key, [loadedName, value[1]]]);\n });\n });\n break;\n\n case \"BM\":\n gStateObj.push([key, normalizeBlendMode(value)]);\n break;\n\n case \"SMask\":\n if ((0, _primitives.isName)(value, \"None\")) {\n gStateObj.push([key, false]);\n break;\n }\n\n if ((0, _primitives.isDict)(value)) {\n promise = promise.then(() => {\n return this.handleSMask(value, resources, operatorList, task, stateManager);\n });\n gStateObj.push([key, true]);\n } else {\n (0, _util.warn)(\"Unsupported SMask type\");\n }\n\n break;\n\n case \"OP\":\n case \"op\":\n case \"OPM\":\n case \"BG\":\n case \"BG2\":\n case \"UCR\":\n case \"UCR2\":\n case \"TR\":\n case \"TR2\":\n case \"HT\":\n case \"SM\":\n case \"SA\":\n case \"AIS\":\n case \"TK\":\n (0, _util.info)(\"graphic state operator \" + key);\n break;\n\n default:\n (0, _util.info)(\"Unknown graphic state operator \" + key);\n break;\n }\n }\n\n return promise.then(function () {\n if (gStateObj.length > 0) {\n operatorList.addOp(_util.OPS.setGState, [gStateObj]);\n }\n });\n },\n loadFont: function PartialEvaluator_loadFont(fontName, font, resources) {\n const errorFont = () => {\n return Promise.resolve(new TranslatedFont({\n loadedName: \"g_font_error\",\n font: new _fonts.ErrorFont(`Font \"${fontName}\" is not available.`),\n dict: font,\n extraProperties: this.options.fontExtraProperties\n }));\n };\n\n var fontRef,\n xref = this.xref;\n\n if (font) {\n if (!(0, _primitives.isRef)(font)) {\n throw new _util.FormatError('The \"font\" object should be a reference.');\n }\n\n fontRef = font;\n } else {\n var fontRes = resources.get(\"Font\");\n\n if (fontRes) {\n fontRef = fontRes.getRaw(fontName);\n }\n }\n\n if (!fontRef) {\n const partialMsg = `Font \"${fontName || font && font.toString()}\" is not available`;\n\n if (!this.options.ignoreErrors && !this.parsingType3Font) {\n (0, _util.warn)(`${partialMsg}.`);\n return errorFont();\n }\n\n this.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorFontMissing\n });\n (0, _util.warn)(`${partialMsg} -- attempting to fallback to a default font.`);\n fontRef = PartialEvaluator.getFallbackFontDict();\n }\n\n if (this.fontCache.has(fontRef)) {\n return this.fontCache.get(fontRef);\n }\n\n font = xref.fetchIfRef(fontRef);\n\n if (!(0, _primitives.isDict)(font)) {\n return errorFont();\n }\n\n if (font.translated) {\n return font.translated;\n }\n\n var fontCapability = (0, _util.createPromiseCapability)();\n var preEvaluatedFont = this.preEvaluateFont(font);\n const {\n descriptor,\n hash\n } = preEvaluatedFont;\n var fontRefIsRef = (0, _primitives.isRef)(fontRef),\n fontID;\n\n if (fontRefIsRef) {\n fontID = fontRef.toString();\n }\n\n if (hash && (0, _primitives.isDict)(descriptor)) {\n if (!descriptor.fontAliases) {\n descriptor.fontAliases = Object.create(null);\n }\n\n var fontAliases = descriptor.fontAliases;\n\n if (fontAliases[hash]) {\n var aliasFontRef = fontAliases[hash].aliasRef;\n\n if (fontRefIsRef && aliasFontRef && this.fontCache.has(aliasFontRef)) {\n this.fontCache.putAlias(fontRef, aliasFontRef);\n return this.fontCache.get(fontRef);\n }\n } else {\n fontAliases[hash] = {\n fontID: _fonts.Font.getFontID()\n };\n }\n\n if (fontRefIsRef) {\n fontAliases[hash].aliasRef = fontRef;\n }\n\n fontID = fontAliases[hash].fontID;\n }\n\n if (fontRefIsRef) {\n this.fontCache.put(fontRef, fontCapability.promise);\n } else {\n if (!fontID) {\n fontID = this.idFactory.createObjId();\n }\n\n this.fontCache.put(`id_${fontID}`, fontCapability.promise);\n }\n\n (0, _util.assert)(fontID, 'The \"fontID\" must be defined.');\n font.loadedName = `${this.idFactory.getDocId()}_f${fontID}`;\n font.translated = fontCapability.promise;\n var translatedPromise;\n\n try {\n translatedPromise = this.translateFont(preEvaluatedFont);\n } catch (e) {\n translatedPromise = Promise.reject(e);\n }\n\n translatedPromise.then(translatedFont => {\n if (translatedFont.fontType !== undefined) {\n var xrefFontStats = xref.stats.fontTypes;\n xrefFontStats[translatedFont.fontType] = true;\n }\n\n fontCapability.resolve(new TranslatedFont({\n loadedName: font.loadedName,\n font: translatedFont,\n dict: font,\n extraProperties: this.options.fontExtraProperties\n }));\n }).catch(reason => {\n this.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorFontTranslate\n });\n\n try {\n var fontFile3 = descriptor && descriptor.get(\"FontFile3\");\n var subtype = fontFile3 && fontFile3.get(\"Subtype\");\n var fontType = (0, _fonts.getFontType)(preEvaluatedFont.type, subtype && subtype.name);\n var xrefFontStats = xref.stats.fontTypes;\n xrefFontStats[fontType] = true;\n } catch (ex) {}\n\n fontCapability.resolve(new TranslatedFont({\n loadedName: font.loadedName,\n font: new _fonts.ErrorFont(reason instanceof Error ? reason.message : reason),\n dict: font,\n extraProperties: this.options.fontExtraProperties\n }));\n });\n return fontCapability.promise;\n },\n\n buildPath(operatorList, fn, args, parsingText = false) {\n var lastIndex = operatorList.length - 1;\n\n if (!args) {\n args = [];\n }\n\n if (lastIndex < 0 || operatorList.fnArray[lastIndex] !== _util.OPS.constructPath) {\n if (parsingText) {\n (0, _util.warn)(`Encountered path operator \"${fn}\" inside of a text object.`);\n operatorList.addOp(_util.OPS.save, null);\n }\n\n operatorList.addOp(_util.OPS.constructPath, [[fn], args]);\n\n if (parsingText) {\n operatorList.addOp(_util.OPS.restore, null);\n }\n } else {\n var opArgs = operatorList.argsArray[lastIndex];\n opArgs[0].push(fn);\n Array.prototype.push.apply(opArgs[1], args);\n }\n },\n\n parseColorSpace({\n cs,\n resources\n }) {\n return new Promise(resolve => {\n resolve(_colorspace.ColorSpace.parse(cs, this.xref, resources, this.pdfFunctionFactory));\n }).catch(reason => {\n if (reason instanceof _util.AbortException) {\n return null;\n }\n\n if (this.options.ignoreErrors) {\n this.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorColorSpace\n });\n (0, _util.warn)(`parseColorSpace - ignoring ColorSpace: \"${reason}\".`);\n return null;\n }\n\n throw reason;\n });\n },\n\n async handleColorN(operatorList, fn, args, cs, patterns, resources, task) {\n var patternName = args[args.length - 1];\n var pattern;\n\n if ((0, _primitives.isName)(patternName) && (pattern = patterns.get(patternName.name))) {\n var dict = (0, _primitives.isStream)(pattern) ? pattern.dict : pattern;\n var typeNum = dict.get(\"PatternType\");\n\n if (typeNum === TILING_PATTERN) {\n var color = cs.base ? cs.base.getRgb(args, 0) : null;\n return this.handleTilingType(fn, color, resources, pattern, dict, operatorList, task);\n } else if (typeNum === SHADING_PATTERN) {\n var shading = dict.get(\"Shading\");\n var matrix = dict.getArray(\"Matrix\");\n pattern = _pattern.Pattern.parseShading(shading, matrix, this.xref, resources, this.handler, this.pdfFunctionFactory);\n operatorList.addOp(fn, pattern.getIR());\n return undefined;\n }\n\n throw new _util.FormatError(`Unknown PatternType: ${typeNum}`);\n }\n\n throw new _util.FormatError(`Unknown PatternName: ${patternName}`);\n },\n\n getOperatorList({\n stream,\n task,\n resources,\n operatorList,\n initialState = null\n }) {\n resources = resources || _primitives.Dict.empty;\n initialState = initialState || new EvalState();\n\n if (!operatorList) {\n throw new Error('getOperatorList: missing \"operatorList\" parameter');\n }\n\n var self = this;\n var xref = this.xref;\n let parsingText = false;\n const localImageCache = new _image_utils.LocalImageCache();\n\n var xobjs = resources.get(\"XObject\") || _primitives.Dict.empty;\n\n var patterns = resources.get(\"Pattern\") || _primitives.Dict.empty;\n\n var stateManager = new StateManager(initialState);\n var preprocessor = new EvaluatorPreprocessor(stream, xref, stateManager);\n var timeSlotManager = new TimeSlotManager();\n\n function closePendingRestoreOPS(argument) {\n for (var i = 0, ii = preprocessor.savedStatesDepth; i < ii; i++) {\n operatorList.addOp(_util.OPS.restore, []);\n }\n }\n\n return new Promise(function promiseBody(resolve, reject) {\n const next = function (promise) {\n Promise.all([promise, operatorList.ready]).then(function () {\n try {\n promiseBody(resolve, reject);\n } catch (ex) {\n reject(ex);\n }\n }, reject);\n };\n\n task.ensureNotTerminated();\n timeSlotManager.reset();\n var stop,\n operation = {},\n i,\n ii,\n cs;\n\n while (!(stop = timeSlotManager.check())) {\n operation.args = null;\n\n if (!preprocessor.read(operation)) {\n break;\n }\n\n var args = operation.args;\n var fn = operation.fn;\n\n switch (fn | 0) {\n case _util.OPS.paintXObject:\n var name = args[0].name;\n\n if (name) {\n const localImage = localImageCache.getByName(name);\n\n if (localImage) {\n operatorList.addOp(localImage.fn, localImage.args);\n args = null;\n continue;\n }\n }\n\n next(new Promise(function (resolveXObject, rejectXObject) {\n if (!name) {\n throw new _util.FormatError(\"XObject must be referred to by name.\");\n }\n\n let xobj = xobjs.getRaw(name);\n\n if (xobj instanceof _primitives.Ref) {\n const localImage = localImageCache.getByRef(xobj);\n\n if (localImage) {\n operatorList.addOp(localImage.fn, localImage.args);\n resolveXObject();\n return;\n }\n\n const globalImage = self.globalImageCache.getData(xobj, self.pageIndex);\n\n if (globalImage) {\n operatorList.addDependency(globalImage.objId);\n operatorList.addOp(globalImage.fn, globalImage.args);\n resolveXObject();\n return;\n }\n\n xobj = xref.fetch(xobj);\n }\n\n if (!xobj) {\n operatorList.addOp(fn, args);\n resolveXObject();\n return;\n }\n\n if (!(0, _primitives.isStream)(xobj)) {\n throw new _util.FormatError(\"XObject should be a stream\");\n }\n\n const type = xobj.dict.get(\"Subtype\");\n\n if (!(0, _primitives.isName)(type)) {\n throw new _util.FormatError(\"XObject should have a Name subtype\");\n }\n\n if (type.name === \"Form\") {\n stateManager.save();\n self.buildFormXObject(resources, xobj, null, operatorList, task, stateManager.state.clone()).then(function () {\n stateManager.restore();\n resolveXObject();\n }, rejectXObject);\n return;\n } else if (type.name === \"Image\") {\n self.buildPaintImageXObject({\n resources,\n image: xobj,\n operatorList,\n cacheKey: name,\n localImageCache\n }).then(resolveXObject, rejectXObject);\n return;\n } else if (type.name === \"PS\") {\n (0, _util.info)(\"Ignored XObject subtype PS\");\n } else {\n throw new _util.FormatError(`Unhandled XObject subtype ${type.name}`);\n }\n\n resolveXObject();\n }).catch(function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (self.options.ignoreErrors) {\n self.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorXObject\n });\n (0, _util.warn)(`getOperatorList - ignoring XObject: \"${reason}\".`);\n return;\n }\n\n throw reason;\n }));\n return;\n\n case _util.OPS.setFont:\n var fontSize = args[1];\n next(self.handleSetFont(resources, args, null, operatorList, task, stateManager.state).then(function (loadedName) {\n operatorList.addDependency(loadedName);\n operatorList.addOp(_util.OPS.setFont, [loadedName, fontSize]);\n }));\n return;\n\n case _util.OPS.beginText:\n parsingText = true;\n break;\n\n case _util.OPS.endText:\n parsingText = false;\n break;\n\n case _util.OPS.endInlineImage:\n var cacheKey = args[0].cacheKey;\n\n if (cacheKey) {\n const localImage = localImageCache.getByName(cacheKey);\n\n if (localImage) {\n operatorList.addOp(localImage.fn, localImage.args);\n args = null;\n continue;\n }\n }\n\n next(self.buildPaintImageXObject({\n resources,\n image: args[0],\n isInline: true,\n operatorList,\n cacheKey,\n localImageCache\n }));\n return;\n\n case _util.OPS.showText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n args[0] = self.handleText(args[0], stateManager.state);\n break;\n\n case _util.OPS.showSpacedText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n var arr = args[0];\n var combinedGlyphs = [];\n var arrLength = arr.length;\n var state = stateManager.state;\n\n for (i = 0; i < arrLength; ++i) {\n var arrItem = arr[i];\n\n if ((0, _util.isString)(arrItem)) {\n Array.prototype.push.apply(combinedGlyphs, self.handleText(arrItem, state));\n } else if ((0, _util.isNum)(arrItem)) {\n combinedGlyphs.push(arrItem);\n }\n }\n\n args[0] = combinedGlyphs;\n fn = _util.OPS.showText;\n break;\n\n case _util.OPS.nextLineShowText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n operatorList.addOp(_util.OPS.nextLine);\n args[0] = self.handleText(args[0], stateManager.state);\n fn = _util.OPS.showText;\n break;\n\n case _util.OPS.nextLineSetSpacingShowText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n operatorList.addOp(_util.OPS.nextLine);\n operatorList.addOp(_util.OPS.setWordSpacing, [args.shift()]);\n operatorList.addOp(_util.OPS.setCharSpacing, [args.shift()]);\n args[0] = self.handleText(args[0], stateManager.state);\n fn = _util.OPS.showText;\n break;\n\n case _util.OPS.setTextRenderingMode:\n stateManager.state.textRenderingMode = args[0];\n break;\n\n case _util.OPS.setFillColorSpace:\n next(self.parseColorSpace({\n cs: args[0],\n resources\n }).then(function (colorSpace) {\n if (colorSpace) {\n stateManager.state.fillColorSpace = colorSpace;\n }\n }));\n return;\n\n case _util.OPS.setStrokeColorSpace:\n next(self.parseColorSpace({\n cs: args[0],\n resources\n }).then(function (colorSpace) {\n if (colorSpace) {\n stateManager.state.strokeColorSpace = colorSpace;\n }\n }));\n return;\n\n case _util.OPS.setFillColor:\n cs = stateManager.state.fillColorSpace;\n args = cs.getRgb(args, 0);\n fn = _util.OPS.setFillRGBColor;\n break;\n\n case _util.OPS.setStrokeColor:\n cs = stateManager.state.strokeColorSpace;\n args = cs.getRgb(args, 0);\n fn = _util.OPS.setStrokeRGBColor;\n break;\n\n case _util.OPS.setFillGray:\n stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.gray;\n args = _colorspace.ColorSpace.singletons.gray.getRgb(args, 0);\n fn = _util.OPS.setFillRGBColor;\n break;\n\n case _util.OPS.setStrokeGray:\n stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.gray;\n args = _colorspace.ColorSpace.singletons.gray.getRgb(args, 0);\n fn = _util.OPS.setStrokeRGBColor;\n break;\n\n case _util.OPS.setFillCMYKColor:\n stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.cmyk;\n args = _colorspace.ColorSpace.singletons.cmyk.getRgb(args, 0);\n fn = _util.OPS.setFillRGBColor;\n break;\n\n case _util.OPS.setStrokeCMYKColor:\n stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.cmyk;\n args = _colorspace.ColorSpace.singletons.cmyk.getRgb(args, 0);\n fn = _util.OPS.setStrokeRGBColor;\n break;\n\n case _util.OPS.setFillRGBColor:\n stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.rgb;\n args = _colorspace.ColorSpace.singletons.rgb.getRgb(args, 0);\n break;\n\n case _util.OPS.setStrokeRGBColor:\n stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.rgb;\n args = _colorspace.ColorSpace.singletons.rgb.getRgb(args, 0);\n break;\n\n case _util.OPS.setFillColorN:\n cs = stateManager.state.fillColorSpace;\n\n if (cs.name === \"Pattern\") {\n next(self.handleColorN(operatorList, _util.OPS.setFillColorN, args, cs, patterns, resources, task));\n return;\n }\n\n args = cs.getRgb(args, 0);\n fn = _util.OPS.setFillRGBColor;\n break;\n\n case _util.OPS.setStrokeColorN:\n cs = stateManager.state.strokeColorSpace;\n\n if (cs.name === \"Pattern\") {\n next(self.handleColorN(operatorList, _util.OPS.setStrokeColorN, args, cs, patterns, resources, task));\n return;\n }\n\n args = cs.getRgb(args, 0);\n fn = _util.OPS.setStrokeRGBColor;\n break;\n\n case _util.OPS.shadingFill:\n var shadingRes = resources.get(\"Shading\");\n\n if (!shadingRes) {\n throw new _util.FormatError(\"No shading resource found\");\n }\n\n var shading = shadingRes.get(args[0].name);\n\n if (!shading) {\n throw new _util.FormatError(\"No shading object found\");\n }\n\n var shadingFill = _pattern.Pattern.parseShading(shading, null, xref, resources, self.handler, self.pdfFunctionFactory);\n\n var patternIR = shadingFill.getIR();\n args = [patternIR];\n fn = _util.OPS.shadingFill;\n break;\n\n case _util.OPS.setGState:\n var dictName = args[0];\n var extGState = resources.get(\"ExtGState\");\n\n if (!(0, _primitives.isDict)(extGState) || !extGState.has(dictName.name)) {\n break;\n }\n\n var gState = extGState.get(dictName.name);\n next(self.setGState(resources, gState, operatorList, task, stateManager));\n return;\n\n case _util.OPS.moveTo:\n case _util.OPS.lineTo:\n case _util.OPS.curveTo:\n case _util.OPS.curveTo2:\n case _util.OPS.curveTo3:\n case _util.OPS.closePath:\n case _util.OPS.rectangle:\n self.buildPath(operatorList, fn, args, parsingText);\n continue;\n\n case _util.OPS.markPoint:\n case _util.OPS.markPointProps:\n case _util.OPS.beginMarkedContent:\n case _util.OPS.beginMarkedContentProps:\n case _util.OPS.endMarkedContent:\n case _util.OPS.beginCompat:\n case _util.OPS.endCompat:\n continue;\n\n default:\n if (args !== null) {\n for (i = 0, ii = args.length; i < ii; i++) {\n if (args[i] instanceof _primitives.Dict) {\n break;\n }\n }\n\n if (i < ii) {\n (0, _util.warn)(\"getOperatorList - ignoring operator: \" + fn);\n continue;\n }\n }\n\n }\n\n operatorList.addOp(fn, args);\n }\n\n if (stop) {\n next(deferred);\n return;\n }\n\n closePendingRestoreOPS();\n resolve();\n }).catch(reason => {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (this.options.ignoreErrors) {\n this.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorOperatorList\n });\n (0, _util.warn)(`getOperatorList - ignoring errors during \"${task.name}\" ` + `task: \"${reason}\".`);\n closePendingRestoreOPS();\n return;\n }\n\n throw reason;\n });\n },\n\n getTextContent({\n stream,\n task,\n resources,\n stateManager = null,\n normalizeWhitespace = false,\n combineTextItems = false,\n sink,\n seenStyles = Object.create(null)\n }) {\n resources = resources || _primitives.Dict.empty;\n stateManager = stateManager || new StateManager(new TextState());\n var WhitespaceRegexp = /\\s/g;\n var textContent = {\n items: [],\n styles: Object.create(null)\n };\n var textContentItem = {\n initialized: false,\n str: [],\n width: 0,\n height: 0,\n vertical: false,\n lastAdvanceWidth: 0,\n lastAdvanceHeight: 0,\n textAdvanceScale: 0,\n spaceWidth: 0,\n fakeSpaceMin: Infinity,\n fakeMultiSpaceMin: Infinity,\n fakeMultiSpaceMax: -0,\n textRunBreakAllowed: false,\n transform: null,\n fontName: null\n };\n var SPACE_FACTOR = 0.3;\n var MULTI_SPACE_FACTOR = 1.5;\n var MULTI_SPACE_FACTOR_MAX = 4;\n var self = this;\n var xref = this.xref;\n var xobjs = null;\n const emptyXObjectCache = new _image_utils.LocalImageCache();\n var preprocessor = new EvaluatorPreprocessor(stream, xref, stateManager);\n var textState;\n\n function ensureTextContentItem() {\n if (textContentItem.initialized) {\n return textContentItem;\n }\n\n var font = textState.font;\n\n if (!(font.loadedName in seenStyles)) {\n seenStyles[font.loadedName] = true;\n textContent.styles[font.loadedName] = {\n fontFamily: font.fallbackName,\n ascent: font.ascent,\n descent: font.descent,\n vertical: font.vertical\n };\n }\n\n textContentItem.fontName = font.loadedName;\n var tsm = [textState.fontSize * textState.textHScale, 0, 0, textState.fontSize, 0, textState.textRise];\n\n if (font.isType3Font && textState.fontSize <= 1 && !(0, _util.isArrayEqual)(textState.fontMatrix, _util.FONT_IDENTITY_MATRIX)) {\n const glyphHeight = font.bbox[3] - font.bbox[1];\n\n if (glyphHeight > 0) {\n tsm[3] *= glyphHeight * textState.fontMatrix[3];\n }\n }\n\n var trm = _util.Util.transform(textState.ctm, _util.Util.transform(textState.textMatrix, tsm));\n\n textContentItem.transform = trm;\n\n if (!font.vertical) {\n textContentItem.width = 0;\n textContentItem.height = Math.sqrt(trm[2] * trm[2] + trm[3] * trm[3]);\n textContentItem.vertical = false;\n } else {\n textContentItem.width = Math.sqrt(trm[0] * trm[0] + trm[1] * trm[1]);\n textContentItem.height = 0;\n textContentItem.vertical = true;\n }\n\n var a = textState.textLineMatrix[0];\n var b = textState.textLineMatrix[1];\n var scaleLineX = Math.sqrt(a * a + b * b);\n a = textState.ctm[0];\n b = textState.ctm[1];\n var scaleCtmX = Math.sqrt(a * a + b * b);\n textContentItem.textAdvanceScale = scaleCtmX * scaleLineX;\n textContentItem.lastAdvanceWidth = 0;\n textContentItem.lastAdvanceHeight = 0;\n var spaceWidth = font.spaceWidth / 1000 * textState.fontSize;\n\n if (spaceWidth) {\n textContentItem.spaceWidth = spaceWidth;\n textContentItem.fakeSpaceMin = spaceWidth * SPACE_FACTOR;\n textContentItem.fakeMultiSpaceMin = spaceWidth * MULTI_SPACE_FACTOR;\n textContentItem.fakeMultiSpaceMax = spaceWidth * MULTI_SPACE_FACTOR_MAX;\n textContentItem.textRunBreakAllowed = !font.isMonospace;\n } else {\n textContentItem.spaceWidth = 0;\n textContentItem.fakeSpaceMin = Infinity;\n textContentItem.fakeMultiSpaceMin = Infinity;\n textContentItem.fakeMultiSpaceMax = 0;\n textContentItem.textRunBreakAllowed = false;\n }\n\n textContentItem.initialized = true;\n return textContentItem;\n }\n\n function replaceWhitespace(str) {\n var i = 0,\n ii = str.length,\n code;\n\n while (i < ii && (code = str.charCodeAt(i)) >= 0x20 && code <= 0x7f) {\n i++;\n }\n\n return i < ii ? str.replace(WhitespaceRegexp, \" \") : str;\n }\n\n function runBidiTransform(textChunk) {\n var str = textChunk.str.join(\"\");\n var bidiResult = (0, _bidi.bidi)(str, -1, textChunk.vertical);\n return {\n str: normalizeWhitespace ? replaceWhitespace(bidiResult.str) : bidiResult.str,\n dir: bidiResult.dir,\n width: textChunk.width,\n height: textChunk.height,\n transform: textChunk.transform,\n fontName: textChunk.fontName\n };\n }\n\n function handleSetFont(fontName, fontRef) {\n return self.loadFont(fontName, fontRef, resources).then(function (translated) {\n textState.font = translated.font;\n textState.fontMatrix = translated.font.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n });\n }\n\n function buildTextContentItem(chars) {\n var font = textState.font;\n var textChunk = ensureTextContentItem();\n var width = 0;\n var height = 0;\n var glyphs = font.charsToGlyphs(chars);\n\n for (var i = 0; i < glyphs.length; i++) {\n var glyph = glyphs[i];\n var glyphWidth = null;\n\n if (font.vertical && glyph.vmetric) {\n glyphWidth = glyph.vmetric[0];\n } else {\n glyphWidth = glyph.width;\n }\n\n var glyphUnicode = glyph.unicode;\n var NormalizedUnicodes = (0, _unicode.getNormalizedUnicodes)();\n\n if (NormalizedUnicodes[glyphUnicode] !== undefined) {\n glyphUnicode = NormalizedUnicodes[glyphUnicode];\n }\n\n glyphUnicode = (0, _unicode.reverseIfRtl)(glyphUnicode);\n var charSpacing = textState.charSpacing;\n\n if (glyph.isSpace) {\n var wordSpacing = textState.wordSpacing;\n charSpacing += wordSpacing;\n\n if (wordSpacing > 0) {\n addFakeSpaces(wordSpacing, textChunk.str);\n }\n }\n\n var tx = 0;\n var ty = 0;\n\n if (!font.vertical) {\n var w0 = glyphWidth * textState.fontMatrix[0];\n tx = (w0 * textState.fontSize + charSpacing) * textState.textHScale;\n width += tx;\n } else {\n var w1 = glyphWidth * textState.fontMatrix[0];\n ty = w1 * textState.fontSize + charSpacing;\n height += ty;\n }\n\n textState.translateTextMatrix(tx, ty);\n textChunk.str.push(glyphUnicode);\n }\n\n if (!font.vertical) {\n textChunk.lastAdvanceWidth = width;\n textChunk.width += width;\n } else {\n textChunk.lastAdvanceHeight = height;\n textChunk.height += Math.abs(height);\n }\n\n return textChunk;\n }\n\n function addFakeSpaces(width, strBuf) {\n if (width < textContentItem.fakeSpaceMin) {\n return;\n }\n\n if (width < textContentItem.fakeMultiSpaceMin) {\n strBuf.push(\" \");\n return;\n }\n\n var fakeSpaces = Math.round(width / textContentItem.spaceWidth);\n\n while (fakeSpaces-- > 0) {\n strBuf.push(\" \");\n }\n }\n\n function flushTextContentItem() {\n if (!textContentItem.initialized) {\n return;\n }\n\n if (!textContentItem.vertical) {\n textContentItem.width *= textContentItem.textAdvanceScale;\n } else {\n textContentItem.height *= textContentItem.textAdvanceScale;\n }\n\n textContent.items.push(runBidiTransform(textContentItem));\n textContentItem.initialized = false;\n textContentItem.str.length = 0;\n }\n\n function enqueueChunk() {\n const length = textContent.items.length;\n\n if (length > 0) {\n sink.enqueue(textContent, length);\n textContent.items = [];\n textContent.styles = Object.create(null);\n }\n }\n\n var timeSlotManager = new TimeSlotManager();\n return new Promise(function promiseBody(resolve, reject) {\n const next = function (promise) {\n enqueueChunk();\n Promise.all([promise, sink.ready]).then(function () {\n try {\n promiseBody(resolve, reject);\n } catch (ex) {\n reject(ex);\n }\n }, reject);\n };\n\n task.ensureNotTerminated();\n timeSlotManager.reset();\n var stop,\n operation = {},\n args = [];\n\n while (!(stop = timeSlotManager.check())) {\n args.length = 0;\n operation.args = args;\n\n if (!preprocessor.read(operation)) {\n break;\n }\n\n textState = stateManager.state;\n var fn = operation.fn;\n args = operation.args;\n var advance, diff;\n\n switch (fn | 0) {\n case _util.OPS.setFont:\n var fontNameArg = args[0].name,\n fontSizeArg = args[1];\n\n if (textState.font && fontNameArg === textState.fontName && fontSizeArg === textState.fontSize) {\n break;\n }\n\n flushTextContentItem();\n textState.fontName = fontNameArg;\n textState.fontSize = fontSizeArg;\n next(handleSetFont(fontNameArg, null));\n return;\n\n case _util.OPS.setTextRise:\n flushTextContentItem();\n textState.textRise = args[0];\n break;\n\n case _util.OPS.setHScale:\n flushTextContentItem();\n textState.textHScale = args[0] / 100;\n break;\n\n case _util.OPS.setLeading:\n flushTextContentItem();\n textState.leading = args[0];\n break;\n\n case _util.OPS.moveText:\n var isSameTextLine = !textState.font ? false : (textState.font.vertical ? args[0] : args[1]) === 0;\n advance = args[0] - args[1];\n\n if (combineTextItems && isSameTextLine && textContentItem.initialized && advance > 0 && advance <= textContentItem.fakeMultiSpaceMax) {\n textState.translateTextLineMatrix(args[0], args[1]);\n textContentItem.width += args[0] - textContentItem.lastAdvanceWidth;\n textContentItem.height += args[1] - textContentItem.lastAdvanceHeight;\n diff = args[0] - textContentItem.lastAdvanceWidth - (args[1] - textContentItem.lastAdvanceHeight);\n addFakeSpaces(diff, textContentItem.str);\n break;\n }\n\n flushTextContentItem();\n textState.translateTextLineMatrix(args[0], args[1]);\n textState.textMatrix = textState.textLineMatrix.slice();\n break;\n\n case _util.OPS.setLeadingMoveText:\n flushTextContentItem();\n textState.leading = -args[1];\n textState.translateTextLineMatrix(args[0], args[1]);\n textState.textMatrix = textState.textLineMatrix.slice();\n break;\n\n case _util.OPS.nextLine:\n flushTextContentItem();\n textState.carriageReturn();\n break;\n\n case _util.OPS.setTextMatrix:\n advance = textState.calcTextLineMatrixAdvance(args[0], args[1], args[2], args[3], args[4], args[5]);\n\n if (combineTextItems && advance !== null && textContentItem.initialized && advance.value > 0 && advance.value <= textContentItem.fakeMultiSpaceMax) {\n textState.translateTextLineMatrix(advance.width, advance.height);\n textContentItem.width += advance.width - textContentItem.lastAdvanceWidth;\n textContentItem.height += advance.height - textContentItem.lastAdvanceHeight;\n diff = advance.width - textContentItem.lastAdvanceWidth - (advance.height - textContentItem.lastAdvanceHeight);\n addFakeSpaces(diff, textContentItem.str);\n break;\n }\n\n flushTextContentItem();\n textState.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n textState.setTextLineMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.setCharSpacing:\n textState.charSpacing = args[0];\n break;\n\n case _util.OPS.setWordSpacing:\n textState.wordSpacing = args[0];\n break;\n\n case _util.OPS.beginText:\n flushTextContentItem();\n textState.textMatrix = _util.IDENTITY_MATRIX.slice();\n textState.textLineMatrix = _util.IDENTITY_MATRIX.slice();\n break;\n\n case _util.OPS.showSpacedText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n var items = args[0];\n var offset;\n\n for (var j = 0, jj = items.length; j < jj; j++) {\n if (typeof items[j] === \"string\") {\n buildTextContentItem(items[j]);\n } else if ((0, _util.isNum)(items[j])) {\n ensureTextContentItem();\n advance = items[j] * textState.fontSize / 1000;\n var breakTextRun = false;\n\n if (textState.font.vertical) {\n offset = advance;\n textState.translateTextMatrix(0, offset);\n breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax;\n\n if (!breakTextRun) {\n textContentItem.height += offset;\n }\n } else {\n advance = -advance;\n offset = advance * textState.textHScale;\n textState.translateTextMatrix(offset, 0);\n breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax;\n\n if (!breakTextRun) {\n textContentItem.width += offset;\n }\n }\n\n if (breakTextRun) {\n flushTextContentItem();\n } else if (advance > 0) {\n addFakeSpaces(advance, textContentItem.str);\n }\n }\n }\n\n break;\n\n case _util.OPS.showText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n buildTextContentItem(args[0]);\n break;\n\n case _util.OPS.nextLineShowText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n flushTextContentItem();\n textState.carriageReturn();\n buildTextContentItem(args[0]);\n break;\n\n case _util.OPS.nextLineSetSpacingShowText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n flushTextContentItem();\n textState.wordSpacing = args[0];\n textState.charSpacing = args[1];\n textState.carriageReturn();\n buildTextContentItem(args[2]);\n break;\n\n case _util.OPS.paintXObject:\n flushTextContentItem();\n\n if (!xobjs) {\n xobjs = resources.get(\"XObject\") || _primitives.Dict.empty;\n }\n\n var name = args[0].name;\n\n if (name && emptyXObjectCache.getByName(name)) {\n break;\n }\n\n next(new Promise(function (resolveXObject, rejectXObject) {\n if (!name) {\n throw new _util.FormatError(\"XObject must be referred to by name.\");\n }\n\n let xobj = xobjs.getRaw(name);\n\n if (xobj instanceof _primitives.Ref) {\n if (emptyXObjectCache.getByRef(xobj)) {\n resolveXObject();\n return;\n }\n\n xobj = xref.fetch(xobj);\n }\n\n if (!xobj) {\n resolveXObject();\n return;\n }\n\n if (!(0, _primitives.isStream)(xobj)) {\n throw new _util.FormatError(\"XObject should be a stream\");\n }\n\n const type = xobj.dict.get(\"Subtype\");\n\n if (!(0, _primitives.isName)(type)) {\n throw new _util.FormatError(\"XObject should have a Name subtype\");\n }\n\n if (type.name !== \"Form\") {\n emptyXObjectCache.set(name, xobj.dict.objId, true);\n resolveXObject();\n return;\n }\n\n const currentState = stateManager.state.clone();\n const xObjStateManager = new StateManager(currentState);\n const matrix = xobj.dict.getArray(\"Matrix\");\n\n if (Array.isArray(matrix) && matrix.length === 6) {\n xObjStateManager.transform(matrix);\n }\n\n enqueueChunk();\n const sinkWrapper = {\n enqueueInvoked: false,\n\n enqueue(chunk, size) {\n this.enqueueInvoked = true;\n sink.enqueue(chunk, size);\n },\n\n get desiredSize() {\n return sink.desiredSize;\n },\n\n get ready() {\n return sink.ready;\n }\n\n };\n self.getTextContent({\n stream: xobj,\n task,\n resources: xobj.dict.get(\"Resources\") || resources,\n stateManager: xObjStateManager,\n normalizeWhitespace,\n combineTextItems,\n sink: sinkWrapper,\n seenStyles\n }).then(function () {\n if (!sinkWrapper.enqueueInvoked) {\n emptyXObjectCache.set(name, xobj.dict.objId, true);\n }\n\n resolveXObject();\n }, rejectXObject);\n }).catch(function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (self.options.ignoreErrors) {\n (0, _util.warn)(`getTextContent - ignoring XObject: \"${reason}\".`);\n return;\n }\n\n throw reason;\n }));\n return;\n\n case _util.OPS.setGState:\n flushTextContentItem();\n var dictName = args[0];\n var extGState = resources.get(\"ExtGState\");\n\n if (!(0, _primitives.isDict)(extGState) || !(0, _primitives.isName)(dictName)) {\n break;\n }\n\n var gState = extGState.get(dictName.name);\n\n if (!(0, _primitives.isDict)(gState)) {\n break;\n }\n\n var gStateFont = gState.get(\"Font\");\n\n if (gStateFont) {\n textState.fontName = null;\n textState.fontSize = gStateFont[1];\n next(handleSetFont(null, gStateFont[0]));\n return;\n }\n\n break;\n }\n\n if (textContent.items.length >= sink.desiredSize) {\n stop = true;\n break;\n }\n }\n\n if (stop) {\n next(deferred);\n return;\n }\n\n flushTextContentItem();\n enqueueChunk();\n resolve();\n }).catch(reason => {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (this.options.ignoreErrors) {\n (0, _util.warn)(`getTextContent - ignoring errors during \"${task.name}\" ` + `task: \"${reason}\".`);\n flushTextContentItem();\n enqueueChunk();\n return;\n }\n\n throw reason;\n });\n },\n\n extractDataStructures: function PartialEvaluator_extractDataStructures(dict, baseDict, properties) {\n const xref = this.xref;\n let cidToGidBytes;\n var toUnicode = dict.get(\"ToUnicode\") || baseDict.get(\"ToUnicode\");\n var toUnicodePromise = toUnicode ? this.readToUnicode(toUnicode) : Promise.resolve(undefined);\n\n if (properties.composite) {\n var cidSystemInfo = dict.get(\"CIDSystemInfo\");\n\n if ((0, _primitives.isDict)(cidSystemInfo)) {\n properties.cidSystemInfo = {\n registry: (0, _util.stringToPDFString)(cidSystemInfo.get(\"Registry\")),\n ordering: (0, _util.stringToPDFString)(cidSystemInfo.get(\"Ordering\")),\n supplement: cidSystemInfo.get(\"Supplement\")\n };\n }\n\n var cidToGidMap = dict.get(\"CIDToGIDMap\");\n\n if ((0, _primitives.isStream)(cidToGidMap)) {\n cidToGidBytes = cidToGidMap.getBytes();\n }\n }\n\n var differences = [];\n var baseEncodingName = null;\n var encoding;\n\n if (dict.has(\"Encoding\")) {\n encoding = dict.get(\"Encoding\");\n\n if ((0, _primitives.isDict)(encoding)) {\n baseEncodingName = encoding.get(\"BaseEncoding\");\n baseEncodingName = (0, _primitives.isName)(baseEncodingName) ? baseEncodingName.name : null;\n\n if (encoding.has(\"Differences\")) {\n var diffEncoding = encoding.get(\"Differences\");\n var index = 0;\n\n for (var j = 0, jj = diffEncoding.length; j < jj; j++) {\n var data = xref.fetchIfRef(diffEncoding[j]);\n\n if ((0, _util.isNum)(data)) {\n index = data;\n } else if ((0, _primitives.isName)(data)) {\n differences[index++] = data.name;\n } else {\n throw new _util.FormatError(`Invalid entry in 'Differences' array: ${data}`);\n }\n }\n }\n } else if ((0, _primitives.isName)(encoding)) {\n baseEncodingName = encoding.name;\n } else {\n throw new _util.FormatError(\"Encoding is not a Name nor a Dict\");\n }\n\n if (baseEncodingName !== \"MacRomanEncoding\" && baseEncodingName !== \"MacExpertEncoding\" && baseEncodingName !== \"WinAnsiEncoding\") {\n baseEncodingName = null;\n }\n }\n\n if (baseEncodingName) {\n properties.defaultEncoding = (0, _encodings.getEncoding)(baseEncodingName).slice();\n } else {\n var isSymbolicFont = !!(properties.flags & _fonts.FontFlags.Symbolic);\n var isNonsymbolicFont = !!(properties.flags & _fonts.FontFlags.Nonsymbolic);\n encoding = _encodings.StandardEncoding;\n\n if (properties.type === \"TrueType\" && !isNonsymbolicFont) {\n encoding = _encodings.WinAnsiEncoding;\n }\n\n if (isSymbolicFont) {\n encoding = _encodings.MacRomanEncoding;\n\n if (!properties.file) {\n if (/Symbol/i.test(properties.name)) {\n encoding = _encodings.SymbolSetEncoding;\n } else if (/Dingbats|Wingdings/i.test(properties.name)) {\n encoding = _encodings.ZapfDingbatsEncoding;\n }\n }\n }\n\n properties.defaultEncoding = encoding;\n }\n\n properties.differences = differences;\n properties.baseEncodingName = baseEncodingName;\n properties.hasEncoding = !!baseEncodingName || differences.length > 0;\n properties.dict = dict;\n return toUnicodePromise.then(readToUnicode => {\n properties.toUnicode = readToUnicode;\n return this.buildToUnicode(properties);\n }).then(builtToUnicode => {\n properties.toUnicode = builtToUnicode;\n\n if (cidToGidBytes) {\n properties.cidToGidMap = this.readCidToGidMap(cidToGidBytes, builtToUnicode);\n }\n\n return properties;\n });\n },\n\n _buildSimpleFontToUnicode(properties, forceGlyphs = false) {\n (0, _util.assert)(!properties.composite, \"Must be a simple font.\");\n const toUnicode = [];\n const encoding = properties.defaultEncoding.slice();\n const baseEncodingName = properties.baseEncodingName;\n const differences = properties.differences;\n\n for (const charcode in differences) {\n const glyphName = differences[charcode];\n\n if (glyphName === \".notdef\") {\n continue;\n }\n\n encoding[charcode] = glyphName;\n }\n\n const glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n\n for (const charcode in encoding) {\n let glyphName = encoding[charcode];\n\n if (glyphName === \"\") {\n continue;\n } else if (glyphsUnicodeMap[glyphName] === undefined) {\n let code = 0;\n\n switch (glyphName[0]) {\n case \"G\":\n if (glyphName.length === 3) {\n code = parseInt(glyphName.substring(1), 16);\n }\n\n break;\n\n case \"g\":\n if (glyphName.length === 5) {\n code = parseInt(glyphName.substring(1), 16);\n }\n\n break;\n\n case \"C\":\n case \"c\":\n if (glyphName.length >= 3 && glyphName.length <= 4) {\n const codeStr = glyphName.substring(1);\n\n if (forceGlyphs) {\n code = parseInt(codeStr, 16);\n break;\n }\n\n code = +codeStr;\n\n if (Number.isNaN(code) && Number.isInteger(parseInt(codeStr, 16))) {\n return this._buildSimpleFontToUnicode(properties, true);\n }\n }\n\n break;\n\n default:\n const unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n\n if (unicode !== -1) {\n code = unicode;\n }\n\n }\n\n if (code > 0 && code <= 0x10ffff && Number.isInteger(code)) {\n if (baseEncodingName && code === +charcode) {\n const baseEncoding = (0, _encodings.getEncoding)(baseEncodingName);\n\n if (baseEncoding && (glyphName = baseEncoding[charcode])) {\n toUnicode[charcode] = String.fromCharCode(glyphsUnicodeMap[glyphName]);\n continue;\n }\n }\n\n toUnicode[charcode] = String.fromCodePoint(code);\n }\n\n continue;\n }\n\n toUnicode[charcode] = String.fromCharCode(glyphsUnicodeMap[glyphName]);\n }\n\n return new _fonts.ToUnicodeMap(toUnicode);\n },\n\n buildToUnicode(properties) {\n properties.hasIncludedToUnicodeMap = !!properties.toUnicode && properties.toUnicode.length > 0;\n\n if (properties.hasIncludedToUnicodeMap) {\n if (!properties.composite && properties.hasEncoding) {\n properties.fallbackToUnicode = this._buildSimpleFontToUnicode(properties);\n }\n\n return Promise.resolve(properties.toUnicode);\n }\n\n if (!properties.composite) {\n return Promise.resolve(this._buildSimpleFontToUnicode(properties));\n }\n\n if (properties.composite && (properties.cMap.builtInCMap && !(properties.cMap instanceof _cmap.IdentityCMap) || properties.cidSystemInfo.registry === \"Adobe\" && (properties.cidSystemInfo.ordering === \"GB1\" || properties.cidSystemInfo.ordering === \"CNS1\" || properties.cidSystemInfo.ordering === \"Japan1\" || properties.cidSystemInfo.ordering === \"Korea1\"))) {\n const registry = properties.cidSystemInfo.registry;\n const ordering = properties.cidSystemInfo.ordering;\n\n const ucs2CMapName = _primitives.Name.get(registry + \"-\" + ordering + \"-UCS2\");\n\n return _cmap.CMapFactory.create({\n encoding: ucs2CMapName,\n fetchBuiltInCMap: this.fetchBuiltInCMap,\n useCMap: null\n }).then(function (ucs2CMap) {\n const cMap = properties.cMap;\n const toUnicode = [];\n cMap.forEach(function (charcode, cid) {\n if (cid > 0xffff) {\n throw new _util.FormatError(\"Max size of CID is 65,535\");\n }\n\n const ucs2 = ucs2CMap.lookup(cid);\n\n if (ucs2) {\n toUnicode[charcode] = String.fromCharCode((ucs2.charCodeAt(0) << 8) + ucs2.charCodeAt(1));\n }\n });\n return new _fonts.ToUnicodeMap(toUnicode);\n });\n }\n\n return Promise.resolve(new _fonts.IdentityToUnicodeMap(properties.firstChar, properties.lastChar));\n },\n\n readToUnicode: function PartialEvaluator_readToUnicode(toUnicode) {\n var cmapObj = toUnicode;\n\n if ((0, _primitives.isName)(cmapObj)) {\n return _cmap.CMapFactory.create({\n encoding: cmapObj,\n fetchBuiltInCMap: this.fetchBuiltInCMap,\n useCMap: null\n }).then(function (cmap) {\n if (cmap instanceof _cmap.IdentityCMap) {\n return new _fonts.IdentityToUnicodeMap(0, 0xffff);\n }\n\n return new _fonts.ToUnicodeMap(cmap.getMap());\n });\n } else if ((0, _primitives.isStream)(cmapObj)) {\n return _cmap.CMapFactory.create({\n encoding: cmapObj,\n fetchBuiltInCMap: this.fetchBuiltInCMap,\n useCMap: null\n }).then(function (cmap) {\n if (cmap instanceof _cmap.IdentityCMap) {\n return new _fonts.IdentityToUnicodeMap(0, 0xffff);\n }\n\n var map = new Array(cmap.length);\n cmap.forEach(function (charCode, token) {\n var str = [];\n\n for (var k = 0; k < token.length; k += 2) {\n var w1 = token.charCodeAt(k) << 8 | token.charCodeAt(k + 1);\n\n if ((w1 & 0xf800) !== 0xd800) {\n str.push(w1);\n continue;\n }\n\n k += 2;\n var w2 = token.charCodeAt(k) << 8 | token.charCodeAt(k + 1);\n str.push(((w1 & 0x3ff) << 10) + (w2 & 0x3ff) + 0x10000);\n }\n\n map[charCode] = String.fromCodePoint.apply(String, str);\n });\n return new _fonts.ToUnicodeMap(map);\n }, reason => {\n if (reason instanceof _util.AbortException) {\n return null;\n }\n\n if (this.options.ignoreErrors) {\n this.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorFontToUnicode\n });\n (0, _util.warn)(`readToUnicode - ignoring ToUnicode data: \"${reason}\".`);\n return null;\n }\n\n throw reason;\n });\n }\n\n return Promise.resolve(null);\n },\n\n readCidToGidMap(glyphsData, toUnicode) {\n var result = [];\n\n for (var j = 0, jj = glyphsData.length; j < jj; j++) {\n var glyphID = glyphsData[j++] << 8 | glyphsData[j];\n const code = j >> 1;\n\n if (glyphID === 0 && !toUnicode.has(code)) {\n continue;\n }\n\n result[code] = glyphID;\n }\n\n return result;\n },\n\n extractWidths: function PartialEvaluator_extractWidths(dict, descriptor, properties) {\n var xref = this.xref;\n var glyphsWidths = [];\n var defaultWidth = 0;\n var glyphsVMetrics = [];\n var defaultVMetrics;\n var i, ii, j, jj, start, code, widths;\n\n if (properties.composite) {\n defaultWidth = dict.has(\"DW\") ? dict.get(\"DW\") : 1000;\n widths = dict.get(\"W\");\n\n if (widths) {\n for (i = 0, ii = widths.length; i < ii; i++) {\n start = xref.fetchIfRef(widths[i++]);\n code = xref.fetchIfRef(widths[i]);\n\n if (Array.isArray(code)) {\n for (j = 0, jj = code.length; j < jj; j++) {\n glyphsWidths[start++] = xref.fetchIfRef(code[j]);\n }\n } else {\n var width = xref.fetchIfRef(widths[++i]);\n\n for (j = start; j <= code; j++) {\n glyphsWidths[j] = width;\n }\n }\n }\n }\n\n if (properties.vertical) {\n var vmetrics = dict.getArray(\"DW2\") || [880, -1000];\n defaultVMetrics = [vmetrics[1], defaultWidth * 0.5, vmetrics[0]];\n vmetrics = dict.get(\"W2\");\n\n if (vmetrics) {\n for (i = 0, ii = vmetrics.length; i < ii; i++) {\n start = xref.fetchIfRef(vmetrics[i++]);\n code = xref.fetchIfRef(vmetrics[i]);\n\n if (Array.isArray(code)) {\n for (j = 0, jj = code.length; j < jj; j++) {\n glyphsVMetrics[start++] = [xref.fetchIfRef(code[j++]), xref.fetchIfRef(code[j++]), xref.fetchIfRef(code[j])];\n }\n } else {\n var vmetric = [xref.fetchIfRef(vmetrics[++i]), xref.fetchIfRef(vmetrics[++i]), xref.fetchIfRef(vmetrics[++i])];\n\n for (j = start; j <= code; j++) {\n glyphsVMetrics[j] = vmetric;\n }\n }\n }\n }\n }\n } else {\n var firstChar = properties.firstChar;\n widths = dict.get(\"Widths\");\n\n if (widths) {\n j = firstChar;\n\n for (i = 0, ii = widths.length; i < ii; i++) {\n glyphsWidths[j++] = xref.fetchIfRef(widths[i]);\n }\n\n defaultWidth = parseFloat(descriptor.get(\"MissingWidth\")) || 0;\n } else {\n var baseFontName = dict.get(\"BaseFont\");\n\n if ((0, _primitives.isName)(baseFontName)) {\n var metrics = this.getBaseFontMetrics(baseFontName.name);\n glyphsWidths = this.buildCharCodeToWidth(metrics.widths, properties);\n defaultWidth = metrics.defaultWidth;\n }\n }\n }\n\n var isMonospace = true;\n var firstWidth = defaultWidth;\n\n for (var glyph in glyphsWidths) {\n var glyphWidth = glyphsWidths[glyph];\n\n if (!glyphWidth) {\n continue;\n }\n\n if (!firstWidth) {\n firstWidth = glyphWidth;\n continue;\n }\n\n if (firstWidth !== glyphWidth) {\n isMonospace = false;\n break;\n }\n }\n\n if (isMonospace) {\n properties.flags |= _fonts.FontFlags.FixedPitch;\n }\n\n properties.defaultWidth = defaultWidth;\n properties.widths = glyphsWidths;\n properties.defaultVMetrics = defaultVMetrics;\n properties.vmetrics = glyphsVMetrics;\n },\n isSerifFont: function PartialEvaluator_isSerifFont(baseFontName) {\n var fontNameWoStyle = baseFontName.split(\"-\")[0];\n return fontNameWoStyle in (0, _standard_fonts.getSerifFonts)() || fontNameWoStyle.search(/serif/gi) !== -1;\n },\n getBaseFontMetrics: function PartialEvaluator_getBaseFontMetrics(name) {\n var defaultWidth = 0;\n var widths = [];\n var monospace = false;\n var stdFontMap = (0, _standard_fonts.getStdFontMap)();\n var lookupName = stdFontMap[name] || name;\n var Metrics = (0, _metrics.getMetrics)();\n\n if (!(lookupName in Metrics)) {\n if (this.isSerifFont(name)) {\n lookupName = \"Times-Roman\";\n } else {\n lookupName = \"Helvetica\";\n }\n }\n\n var glyphWidths = Metrics[lookupName];\n\n if ((0, _util.isNum)(glyphWidths)) {\n defaultWidth = glyphWidths;\n monospace = true;\n } else {\n widths = glyphWidths();\n }\n\n return {\n defaultWidth,\n monospace,\n widths\n };\n },\n buildCharCodeToWidth: function PartialEvaluator_bulildCharCodeToWidth(widthsByGlyphName, properties) {\n var widths = Object.create(null);\n var differences = properties.differences;\n var encoding = properties.defaultEncoding;\n\n for (var charCode = 0; charCode < 256; charCode++) {\n if (charCode in differences && widthsByGlyphName[differences[charCode]]) {\n widths[charCode] = widthsByGlyphName[differences[charCode]];\n continue;\n }\n\n if (charCode in encoding && widthsByGlyphName[encoding[charCode]]) {\n widths[charCode] = widthsByGlyphName[encoding[charCode]];\n continue;\n }\n }\n\n return widths;\n },\n preEvaluateFont: function PartialEvaluator_preEvaluateFont(dict) {\n var baseDict = dict;\n var type = dict.get(\"Subtype\");\n\n if (!(0, _primitives.isName)(type)) {\n throw new _util.FormatError(\"invalid font Subtype\");\n }\n\n var composite = false;\n var uint8array;\n\n if (type.name === \"Type0\") {\n var df = dict.get(\"DescendantFonts\");\n\n if (!df) {\n throw new _util.FormatError(\"Descendant fonts are not specified\");\n }\n\n dict = Array.isArray(df) ? this.xref.fetchIfRef(df[0]) : df;\n type = dict.get(\"Subtype\");\n\n if (!(0, _primitives.isName)(type)) {\n throw new _util.FormatError(\"invalid font Subtype\");\n }\n\n composite = true;\n }\n\n var descriptor = dict.get(\"FontDescriptor\");\n\n if (descriptor) {\n var hash = new _murmurhash.MurmurHash3_64();\n var encoding = baseDict.getRaw(\"Encoding\");\n\n if ((0, _primitives.isName)(encoding)) {\n hash.update(encoding.name);\n } else if ((0, _primitives.isRef)(encoding)) {\n hash.update(encoding.toString());\n } else if ((0, _primitives.isDict)(encoding)) {\n var keys = encoding.getKeys();\n\n for (var i = 0, ii = keys.length; i < ii; i++) {\n var entry = encoding.getRaw(keys[i]);\n\n if ((0, _primitives.isName)(entry)) {\n hash.update(entry.name);\n } else if ((0, _primitives.isRef)(entry)) {\n hash.update(entry.toString());\n } else if (Array.isArray(entry)) {\n var diffLength = entry.length,\n diffBuf = new Array(diffLength);\n\n for (var j = 0; j < diffLength; j++) {\n var diffEntry = entry[j];\n\n if ((0, _primitives.isName)(diffEntry)) {\n diffBuf[j] = diffEntry.name;\n } else if ((0, _util.isNum)(diffEntry) || (0, _primitives.isRef)(diffEntry)) {\n diffBuf[j] = diffEntry.toString();\n }\n }\n\n hash.update(diffBuf.join());\n }\n }\n }\n\n const firstChar = dict.get(\"FirstChar\") || 0;\n const lastChar = dict.get(\"LastChar\") || (composite ? 0xffff : 0xff);\n hash.update(`${firstChar}-${lastChar}`);\n var toUnicode = dict.get(\"ToUnicode\") || baseDict.get(\"ToUnicode\");\n\n if ((0, _primitives.isStream)(toUnicode)) {\n var stream = toUnicode.str || toUnicode;\n uint8array = stream.buffer ? new Uint8Array(stream.buffer.buffer, 0, stream.bufferLength) : new Uint8Array(stream.bytes.buffer, stream.start, stream.end - stream.start);\n hash.update(uint8array);\n } else if ((0, _primitives.isName)(toUnicode)) {\n hash.update(toUnicode.name);\n }\n\n var widths = dict.get(\"Widths\") || baseDict.get(\"Widths\");\n\n if (widths) {\n uint8array = new Uint8Array(new Uint32Array(widths).buffer);\n hash.update(uint8array);\n }\n }\n\n return {\n descriptor,\n dict,\n baseDict,\n composite,\n type: type.name,\n hash: hash ? hash.hexdigest() : \"\"\n };\n },\n translateFont: function PartialEvaluator_translateFont(preEvaluatedFont) {\n var baseDict = preEvaluatedFont.baseDict;\n var dict = preEvaluatedFont.dict;\n var composite = preEvaluatedFont.composite;\n var descriptor = preEvaluatedFont.descriptor;\n var type = preEvaluatedFont.type;\n var maxCharIndex = composite ? 0xffff : 0xff;\n var properties;\n const firstChar = dict.get(\"FirstChar\") || 0;\n const lastChar = dict.get(\"LastChar\") || maxCharIndex;\n\n if (!descriptor) {\n if (type === \"Type3\") {\n descriptor = new _primitives.Dict(null);\n descriptor.set(\"FontName\", _primitives.Name.get(type));\n descriptor.set(\"FontBBox\", dict.getArray(\"FontBBox\") || [0, 0, 0, 0]);\n } else {\n var baseFontName = dict.get(\"BaseFont\");\n\n if (!(0, _primitives.isName)(baseFontName)) {\n throw new _util.FormatError(\"Base font is not specified\");\n }\n\n baseFontName = baseFontName.name.replace(/[,_]/g, \"-\");\n var metrics = this.getBaseFontMetrics(baseFontName);\n var fontNameWoStyle = baseFontName.split(\"-\")[0];\n var flags = (this.isSerifFont(fontNameWoStyle) ? _fonts.FontFlags.Serif : 0) | (metrics.monospace ? _fonts.FontFlags.FixedPitch : 0) | ((0, _standard_fonts.getSymbolsFonts)()[fontNameWoStyle] ? _fonts.FontFlags.Symbolic : _fonts.FontFlags.Nonsymbolic);\n properties = {\n type,\n name: baseFontName,\n widths: metrics.widths,\n defaultWidth: metrics.defaultWidth,\n flags,\n firstChar,\n lastChar\n };\n const widths = dict.get(\"Widths\");\n return this.extractDataStructures(dict, dict, properties).then(newProperties => {\n if (widths) {\n const glyphWidths = [];\n let j = firstChar;\n\n for (let i = 0, ii = widths.length; i < ii; i++) {\n glyphWidths[j++] = this.xref.fetchIfRef(widths[i]);\n }\n\n newProperties.widths = glyphWidths;\n } else {\n newProperties.widths = this.buildCharCodeToWidth(metrics.widths, newProperties);\n }\n\n return new _fonts.Font(baseFontName, null, newProperties);\n });\n }\n }\n\n var fontName = descriptor.get(\"FontName\");\n var baseFont = dict.get(\"BaseFont\");\n\n if ((0, _util.isString)(fontName)) {\n fontName = _primitives.Name.get(fontName);\n }\n\n if ((0, _util.isString)(baseFont)) {\n baseFont = _primitives.Name.get(baseFont);\n }\n\n if (type !== \"Type3\") {\n var fontNameStr = fontName && fontName.name;\n var baseFontStr = baseFont && baseFont.name;\n\n if (fontNameStr !== baseFontStr) {\n (0, _util.info)(`The FontDescriptor\\'s FontName is \"${fontNameStr}\" but ` + `should be the same as the Font\\'s BaseFont \"${baseFontStr}\".`);\n\n if (fontNameStr && baseFontStr && baseFontStr.startsWith(fontNameStr)) {\n fontName = baseFont;\n }\n }\n }\n\n fontName = fontName || baseFont;\n\n if (!(0, _primitives.isName)(fontName)) {\n throw new _util.FormatError(\"invalid font name\");\n }\n\n var fontFile = descriptor.get(\"FontFile\", \"FontFile2\", \"FontFile3\");\n\n if (fontFile) {\n if (fontFile.dict) {\n var subtype = fontFile.dict.get(\"Subtype\");\n\n if (subtype) {\n subtype = subtype.name;\n }\n\n var length1 = fontFile.dict.get(\"Length1\");\n var length2 = fontFile.dict.get(\"Length2\");\n var length3 = fontFile.dict.get(\"Length3\");\n }\n }\n\n properties = {\n type,\n name: fontName.name,\n subtype,\n file: fontFile,\n length1,\n length2,\n length3,\n loadedName: baseDict.loadedName,\n composite,\n fixedPitch: false,\n fontMatrix: dict.getArray(\"FontMatrix\") || _util.FONT_IDENTITY_MATRIX,\n firstChar: firstChar || 0,\n lastChar: lastChar || maxCharIndex,\n bbox: descriptor.getArray(\"FontBBox\"),\n ascent: descriptor.get(\"Ascent\"),\n descent: descriptor.get(\"Descent\"),\n xHeight: descriptor.get(\"XHeight\"),\n capHeight: descriptor.get(\"CapHeight\"),\n flags: descriptor.get(\"Flags\"),\n italicAngle: descriptor.get(\"ItalicAngle\"),\n isType3Font: false\n };\n var cMapPromise;\n\n if (composite) {\n var cidEncoding = baseDict.get(\"Encoding\");\n\n if ((0, _primitives.isName)(cidEncoding)) {\n properties.cidEncoding = cidEncoding.name;\n }\n\n cMapPromise = _cmap.CMapFactory.create({\n encoding: cidEncoding,\n fetchBuiltInCMap: this.fetchBuiltInCMap,\n useCMap: null\n }).then(function (cMap) {\n properties.cMap = cMap;\n properties.vertical = properties.cMap.vertical;\n });\n } else {\n cMapPromise = Promise.resolve(undefined);\n }\n\n return cMapPromise.then(() => {\n return this.extractDataStructures(dict, baseDict, properties);\n }).then(newProperties => {\n this.extractWidths(dict, descriptor, newProperties);\n\n if (type === \"Type3\") {\n newProperties.isType3Font = true;\n }\n\n return new _fonts.Font(fontName.name, fontFile, newProperties);\n });\n }\n };\n\n PartialEvaluator.buildFontPaths = function (font, glyphs, handler) {\n function buildPath(fontChar) {\n if (font.renderer.hasBuiltPath(fontChar)) {\n return;\n }\n\n handler.send(\"commonobj\", [`${font.loadedName}_path_${fontChar}`, \"FontPath\", font.renderer.getPathJs(fontChar)]);\n }\n\n for (const glyph of glyphs) {\n buildPath(glyph.fontChar);\n const accent = glyph.accent;\n\n if (accent && accent.fontChar) {\n buildPath(accent.fontChar);\n }\n }\n };\n\n PartialEvaluator.getFallbackFontDict = function () {\n if (this._fallbackFontDict) {\n return this._fallbackFontDict;\n }\n\n const dict = new _primitives.Dict();\n dict.set(\"BaseFont\", _primitives.Name.get(\"PDFJS-FallbackFont\"));\n dict.set(\"Type\", _primitives.Name.get(\"FallbackType\"));\n dict.set(\"Subtype\", _primitives.Name.get(\"FallbackType\"));\n dict.set(\"Encoding\", _primitives.Name.get(\"WinAnsiEncoding\"));\n return this._fallbackFontDict = dict;\n };\n\n return PartialEvaluator;\n}();\n\nexports.PartialEvaluator = PartialEvaluator;\n\nclass TranslatedFont {\n constructor({\n loadedName,\n font,\n dict,\n extraProperties = false\n }) {\n this.loadedName = loadedName;\n this.font = font;\n this.dict = dict;\n this._extraProperties = extraProperties;\n this.type3Loaded = null;\n this.sent = false;\n }\n\n send(handler) {\n if (this.sent) {\n return;\n }\n\n this.sent = true;\n handler.send(\"commonobj\", [this.loadedName, \"Font\", this.font.exportData(this._extraProperties)]);\n }\n\n fallback(handler) {\n if (!this.font.data) {\n return;\n }\n\n this.font.disableFontFace = true;\n const glyphs = this.font.glyphCacheValues;\n PartialEvaluator.buildFontPaths(this.font, glyphs, handler);\n }\n\n loadType3Data(evaluator, resources, parentOperatorList, task) {\n if (!this.font.isType3Font) {\n throw new Error(\"Must be a Type3 font.\");\n }\n\n if (this.type3Loaded) {\n return this.type3Loaded;\n }\n\n var type3Options = Object.create(evaluator.options);\n type3Options.ignoreErrors = false;\n var type3Evaluator = evaluator.clone(type3Options);\n type3Evaluator.parsingType3Font = true;\n var translatedFont = this.font;\n var loadCharProcsPromise = Promise.resolve();\n var charProcs = this.dict.get(\"CharProcs\");\n var fontResources = this.dict.get(\"Resources\") || resources;\n var charProcKeys = charProcs.getKeys();\n var charProcOperatorList = Object.create(null);\n\n for (var i = 0, n = charProcKeys.length; i < n; ++i) {\n const key = charProcKeys[i];\n loadCharProcsPromise = loadCharProcsPromise.then(function () {\n var glyphStream = charProcs.get(key);\n var operatorList = new _operator_list.OperatorList();\n return type3Evaluator.getOperatorList({\n stream: glyphStream,\n task,\n resources: fontResources,\n operatorList\n }).then(function () {\n charProcOperatorList[key] = operatorList.getIR();\n parentOperatorList.addDependencies(operatorList.dependencies);\n }).catch(function (reason) {\n (0, _util.warn)(`Type3 font resource \"${key}\" is not available.`);\n const dummyOperatorList = new _operator_list.OperatorList();\n charProcOperatorList[key] = dummyOperatorList.getIR();\n });\n });\n }\n\n this.type3Loaded = loadCharProcsPromise.then(function () {\n translatedFont.charProcOperatorList = charProcOperatorList;\n });\n return this.type3Loaded;\n }\n\n}\n\nvar StateManager = function StateManagerClosure() {\n function StateManager(initialState) {\n this.state = initialState;\n this.stateStack = [];\n }\n\n StateManager.prototype = {\n save() {\n var old = this.state;\n this.stateStack.push(this.state);\n this.state = old.clone();\n },\n\n restore() {\n var prev = this.stateStack.pop();\n\n if (prev) {\n this.state = prev;\n }\n },\n\n transform(args) {\n this.state.ctm = _util.Util.transform(this.state.ctm, args);\n }\n\n };\n return StateManager;\n}();\n\nvar TextState = function TextStateClosure() {\n function TextState() {\n this.ctm = new Float32Array(_util.IDENTITY_MATRIX);\n this.fontName = null;\n this.fontSize = 0;\n this.font = null;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.textMatrix = _util.IDENTITY_MATRIX.slice();\n this.textLineMatrix = _util.IDENTITY_MATRIX.slice();\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.leading = 0;\n this.textHScale = 1;\n this.textRise = 0;\n }\n\n TextState.prototype = {\n setTextMatrix: function TextState_setTextMatrix(a, b, c, d, e, f) {\n var m = this.textMatrix;\n m[0] = a;\n m[1] = b;\n m[2] = c;\n m[3] = d;\n m[4] = e;\n m[5] = f;\n },\n setTextLineMatrix: function TextState_setTextMatrix(a, b, c, d, e, f) {\n var m = this.textLineMatrix;\n m[0] = a;\n m[1] = b;\n m[2] = c;\n m[3] = d;\n m[4] = e;\n m[5] = f;\n },\n translateTextMatrix: function TextState_translateTextMatrix(x, y) {\n var m = this.textMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n },\n translateTextLineMatrix: function TextState_translateTextMatrix(x, y) {\n var m = this.textLineMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n },\n calcTextLineMatrixAdvance: function TextState_calcTextLineMatrixAdvance(a, b, c, d, e, f) {\n var font = this.font;\n\n if (!font) {\n return null;\n }\n\n var m = this.textLineMatrix;\n\n if (!(a === m[0] && b === m[1] && c === m[2] && d === m[3])) {\n return null;\n }\n\n var txDiff = e - m[4],\n tyDiff = f - m[5];\n\n if (font.vertical && txDiff !== 0 || !font.vertical && tyDiff !== 0) {\n return null;\n }\n\n var tx,\n ty,\n denominator = a * d - b * c;\n\n if (font.vertical) {\n tx = -tyDiff * c / denominator;\n ty = tyDiff * a / denominator;\n } else {\n tx = txDiff * d / denominator;\n ty = -txDiff * b / denominator;\n }\n\n return {\n width: tx,\n height: ty,\n value: font.vertical ? ty : tx\n };\n },\n calcRenderMatrix: function TextState_calcRendeMatrix(ctm) {\n var tsm = [this.fontSize * this.textHScale, 0, 0, this.fontSize, 0, this.textRise];\n return _util.Util.transform(ctm, _util.Util.transform(this.textMatrix, tsm));\n },\n carriageReturn: function TextState_carriageReturn() {\n this.translateTextLineMatrix(0, -this.leading);\n this.textMatrix = this.textLineMatrix.slice();\n },\n clone: function TextState_clone() {\n var clone = Object.create(this);\n clone.textMatrix = this.textMatrix.slice();\n clone.textLineMatrix = this.textLineMatrix.slice();\n clone.fontMatrix = this.fontMatrix.slice();\n return clone;\n }\n };\n return TextState;\n}();\n\nvar EvalState = function EvalStateClosure() {\n function EvalState() {\n this.ctm = new Float32Array(_util.IDENTITY_MATRIX);\n this.font = null;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.fillColorSpace = _colorspace.ColorSpace.singletons.gray;\n this.strokeColorSpace = _colorspace.ColorSpace.singletons.gray;\n }\n\n EvalState.prototype = {\n clone: function CanvasExtraState_clone() {\n return Object.create(this);\n }\n };\n return EvalState;\n}();\n\nvar EvaluatorPreprocessor = function EvaluatorPreprocessorClosure() {\n var getOPMap = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.w = {\n id: _util.OPS.setLineWidth,\n numArgs: 1,\n variableArgs: false\n };\n t.J = {\n id: _util.OPS.setLineCap,\n numArgs: 1,\n variableArgs: false\n };\n t.j = {\n id: _util.OPS.setLineJoin,\n numArgs: 1,\n variableArgs: false\n };\n t.M = {\n id: _util.OPS.setMiterLimit,\n numArgs: 1,\n variableArgs: false\n };\n t.d = {\n id: _util.OPS.setDash,\n numArgs: 2,\n variableArgs: false\n };\n t.ri = {\n id: _util.OPS.setRenderingIntent,\n numArgs: 1,\n variableArgs: false\n };\n t.i = {\n id: _util.OPS.setFlatness,\n numArgs: 1,\n variableArgs: false\n };\n t.gs = {\n id: _util.OPS.setGState,\n numArgs: 1,\n variableArgs: false\n };\n t.q = {\n id: _util.OPS.save,\n numArgs: 0,\n variableArgs: false\n };\n t.Q = {\n id: _util.OPS.restore,\n numArgs: 0,\n variableArgs: false\n };\n t.cm = {\n id: _util.OPS.transform,\n numArgs: 6,\n variableArgs: false\n };\n t.m = {\n id: _util.OPS.moveTo,\n numArgs: 2,\n variableArgs: false\n };\n t.l = {\n id: _util.OPS.lineTo,\n numArgs: 2,\n variableArgs: false\n };\n t.c = {\n id: _util.OPS.curveTo,\n numArgs: 6,\n variableArgs: false\n };\n t.v = {\n id: _util.OPS.curveTo2,\n numArgs: 4,\n variableArgs: false\n };\n t.y = {\n id: _util.OPS.curveTo3,\n numArgs: 4,\n variableArgs: false\n };\n t.h = {\n id: _util.OPS.closePath,\n numArgs: 0,\n variableArgs: false\n };\n t.re = {\n id: _util.OPS.rectangle,\n numArgs: 4,\n variableArgs: false\n };\n t.S = {\n id: _util.OPS.stroke,\n numArgs: 0,\n variableArgs: false\n };\n t.s = {\n id: _util.OPS.closeStroke,\n numArgs: 0,\n variableArgs: false\n };\n t.f = {\n id: _util.OPS.fill,\n numArgs: 0,\n variableArgs: false\n };\n t.F = {\n id: _util.OPS.fill,\n numArgs: 0,\n variableArgs: false\n };\n t[\"f*\"] = {\n id: _util.OPS.eoFill,\n numArgs: 0,\n variableArgs: false\n };\n t.B = {\n id: _util.OPS.fillStroke,\n numArgs: 0,\n variableArgs: false\n };\n t[\"B*\"] = {\n id: _util.OPS.eoFillStroke,\n numArgs: 0,\n variableArgs: false\n };\n t.b = {\n id: _util.OPS.closeFillStroke,\n numArgs: 0,\n variableArgs: false\n };\n t[\"b*\"] = {\n id: _util.OPS.closeEOFillStroke,\n numArgs: 0,\n variableArgs: false\n };\n t.n = {\n id: _util.OPS.endPath,\n numArgs: 0,\n variableArgs: false\n };\n t.W = {\n id: _util.OPS.clip,\n numArgs: 0,\n variableArgs: false\n };\n t[\"W*\"] = {\n id: _util.OPS.eoClip,\n numArgs: 0,\n variableArgs: false\n };\n t.BT = {\n id: _util.OPS.beginText,\n numArgs: 0,\n variableArgs: false\n };\n t.ET = {\n id: _util.OPS.endText,\n numArgs: 0,\n variableArgs: false\n };\n t.Tc = {\n id: _util.OPS.setCharSpacing,\n numArgs: 1,\n variableArgs: false\n };\n t.Tw = {\n id: _util.OPS.setWordSpacing,\n numArgs: 1,\n variableArgs: false\n };\n t.Tz = {\n id: _util.OPS.setHScale,\n numArgs: 1,\n variableArgs: false\n };\n t.TL = {\n id: _util.OPS.setLeading,\n numArgs: 1,\n variableArgs: false\n };\n t.Tf = {\n id: _util.OPS.setFont,\n numArgs: 2,\n variableArgs: false\n };\n t.Tr = {\n id: _util.OPS.setTextRenderingMode,\n numArgs: 1,\n variableArgs: false\n };\n t.Ts = {\n id: _util.OPS.setTextRise,\n numArgs: 1,\n variableArgs: false\n };\n t.Td = {\n id: _util.OPS.moveText,\n numArgs: 2,\n variableArgs: false\n };\n t.TD = {\n id: _util.OPS.setLeadingMoveText,\n numArgs: 2,\n variableArgs: false\n };\n t.Tm = {\n id: _util.OPS.setTextMatrix,\n numArgs: 6,\n variableArgs: false\n };\n t[\"T*\"] = {\n id: _util.OPS.nextLine,\n numArgs: 0,\n variableArgs: false\n };\n t.Tj = {\n id: _util.OPS.showText,\n numArgs: 1,\n variableArgs: false\n };\n t.TJ = {\n id: _util.OPS.showSpacedText,\n numArgs: 1,\n variableArgs: false\n };\n t[\"'\"] = {\n id: _util.OPS.nextLineShowText,\n numArgs: 1,\n variableArgs: false\n };\n t['\"'] = {\n id: _util.OPS.nextLineSetSpacingShowText,\n numArgs: 3,\n variableArgs: false\n };\n t.d0 = {\n id: _util.OPS.setCharWidth,\n numArgs: 2,\n variableArgs: false\n };\n t.d1 = {\n id: _util.OPS.setCharWidthAndBounds,\n numArgs: 6,\n variableArgs: false\n };\n t.CS = {\n id: _util.OPS.setStrokeColorSpace,\n numArgs: 1,\n variableArgs: false\n };\n t.cs = {\n id: _util.OPS.setFillColorSpace,\n numArgs: 1,\n variableArgs: false\n };\n t.SC = {\n id: _util.OPS.setStrokeColor,\n numArgs: 4,\n variableArgs: true\n };\n t.SCN = {\n id: _util.OPS.setStrokeColorN,\n numArgs: 33,\n variableArgs: true\n };\n t.sc = {\n id: _util.OPS.setFillColor,\n numArgs: 4,\n variableArgs: true\n };\n t.scn = {\n id: _util.OPS.setFillColorN,\n numArgs: 33,\n variableArgs: true\n };\n t.G = {\n id: _util.OPS.setStrokeGray,\n numArgs: 1,\n variableArgs: false\n };\n t.g = {\n id: _util.OPS.setFillGray,\n numArgs: 1,\n variableArgs: false\n };\n t.RG = {\n id: _util.OPS.setStrokeRGBColor,\n numArgs: 3,\n variableArgs: false\n };\n t.rg = {\n id: _util.OPS.setFillRGBColor,\n numArgs: 3,\n variableArgs: false\n };\n t.K = {\n id: _util.OPS.setStrokeCMYKColor,\n numArgs: 4,\n variableArgs: false\n };\n t.k = {\n id: _util.OPS.setFillCMYKColor,\n numArgs: 4,\n variableArgs: false\n };\n t.sh = {\n id: _util.OPS.shadingFill,\n numArgs: 1,\n variableArgs: false\n };\n t.BI = {\n id: _util.OPS.beginInlineImage,\n numArgs: 0,\n variableArgs: false\n };\n t.ID = {\n id: _util.OPS.beginImageData,\n numArgs: 0,\n variableArgs: false\n };\n t.EI = {\n id: _util.OPS.endInlineImage,\n numArgs: 1,\n variableArgs: false\n };\n t.Do = {\n id: _util.OPS.paintXObject,\n numArgs: 1,\n variableArgs: false\n };\n t.MP = {\n id: _util.OPS.markPoint,\n numArgs: 1,\n variableArgs: false\n };\n t.DP = {\n id: _util.OPS.markPointProps,\n numArgs: 2,\n variableArgs: false\n };\n t.BMC = {\n id: _util.OPS.beginMarkedContent,\n numArgs: 1,\n variableArgs: false\n };\n t.BDC = {\n id: _util.OPS.beginMarkedContentProps,\n numArgs: 2,\n variableArgs: false\n };\n t.EMC = {\n id: _util.OPS.endMarkedContent,\n numArgs: 0,\n variableArgs: false\n };\n t.BX = {\n id: _util.OPS.beginCompat,\n numArgs: 0,\n variableArgs: false\n };\n t.EX = {\n id: _util.OPS.endCompat,\n numArgs: 0,\n variableArgs: false\n };\n t.BM = null;\n t.BD = null;\n t.true = null;\n t.fa = null;\n t.fal = null;\n t.fals = null;\n t.false = null;\n t.nu = null;\n t.nul = null;\n t.null = null;\n });\n const MAX_INVALID_PATH_OPS = 20;\n\n function EvaluatorPreprocessor(stream, xref, stateManager) {\n this.opMap = getOPMap();\n this.parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream, this.opMap),\n xref\n });\n this.stateManager = stateManager;\n this.nonProcessedArgs = [];\n this._numInvalidPathOPS = 0;\n }\n\n EvaluatorPreprocessor.prototype = {\n get savedStatesDepth() {\n return this.stateManager.stateStack.length;\n },\n\n read: function EvaluatorPreprocessor_read(operation) {\n var args = operation.args;\n\n while (true) {\n var obj = this.parser.getObj();\n\n if (obj instanceof _primitives.Cmd) {\n var cmd = obj.cmd;\n var opSpec = this.opMap[cmd];\n\n if (!opSpec) {\n (0, _util.warn)(`Unknown command \"${cmd}\".`);\n continue;\n }\n\n var fn = opSpec.id;\n var numArgs = opSpec.numArgs;\n var argsLength = args !== null ? args.length : 0;\n\n if (!opSpec.variableArgs) {\n if (argsLength !== numArgs) {\n var nonProcessedArgs = this.nonProcessedArgs;\n\n while (argsLength > numArgs) {\n nonProcessedArgs.push(args.shift());\n argsLength--;\n }\n\n while (argsLength < numArgs && nonProcessedArgs.length !== 0) {\n if (args === null) {\n args = [];\n }\n\n args.unshift(nonProcessedArgs.pop());\n argsLength++;\n }\n }\n\n if (argsLength < numArgs) {\n const partialMsg = `command ${cmd}: expected ${numArgs} args, ` + `but received ${argsLength} args.`;\n\n if (fn >= _util.OPS.moveTo && fn <= _util.OPS.endPath && ++this._numInvalidPathOPS > MAX_INVALID_PATH_OPS) {\n throw new _util.FormatError(`Invalid ${partialMsg}`);\n }\n\n (0, _util.warn)(`Skipping ${partialMsg}`);\n\n if (args !== null) {\n args.length = 0;\n }\n\n continue;\n }\n } else if (argsLength > numArgs) {\n (0, _util.info)(`Command ${cmd}: expected [0, ${numArgs}] args, ` + `but received ${argsLength} args.`);\n }\n\n this.preprocessCommand(fn, args);\n operation.fn = fn;\n operation.args = args;\n return true;\n }\n\n if (obj === _primitives.EOF) {\n return false;\n }\n\n if (obj !== null) {\n if (args === null) {\n args = [];\n }\n\n args.push(obj);\n\n if (args.length > 33) {\n throw new _util.FormatError(\"Too many arguments\");\n }\n }\n }\n },\n preprocessCommand: function EvaluatorPreprocessor_preprocessCommand(fn, args) {\n switch (fn | 0) {\n case _util.OPS.save:\n this.stateManager.save();\n break;\n\n case _util.OPS.restore:\n this.stateManager.restore();\n break;\n\n case _util.OPS.transform:\n this.stateManager.transform(args);\n break;\n }\n }\n };\n return EvaluatorPreprocessor;\n}();\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CMapFactory = exports.IdentityCMap = exports.CMap = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _primitives = __w_pdfjs_require__(5);\n\nvar _parser = __w_pdfjs_require__(11);\n\nvar _core_utils = __w_pdfjs_require__(8);\n\nvar _stream = __w_pdfjs_require__(12);\n\nvar BUILT_IN_CMAPS = [\"Adobe-GB1-UCS2\", \"Adobe-CNS1-UCS2\", \"Adobe-Japan1-UCS2\", \"Adobe-Korea1-UCS2\", \"78-EUC-H\", \"78-EUC-V\", \"78-H\", \"78-RKSJ-H\", \"78-RKSJ-V\", \"78-V\", \"78ms-RKSJ-H\", \"78ms-RKSJ-V\", \"83pv-RKSJ-H\", \"90ms-RKSJ-H\", \"90ms-RKSJ-V\", \"90msp-RKSJ-H\", \"90msp-RKSJ-V\", \"90pv-RKSJ-H\", \"90pv-RKSJ-V\", \"Add-H\", \"Add-RKSJ-H\", \"Add-RKSJ-V\", \"Add-V\", \"Adobe-CNS1-0\", \"Adobe-CNS1-1\", \"Adobe-CNS1-2\", \"Adobe-CNS1-3\", \"Adobe-CNS1-4\", \"Adobe-CNS1-5\", \"Adobe-CNS1-6\", \"Adobe-GB1-0\", \"Adobe-GB1-1\", \"Adobe-GB1-2\", \"Adobe-GB1-3\", \"Adobe-GB1-4\", \"Adobe-GB1-5\", \"Adobe-Japan1-0\", \"Adobe-Japan1-1\", \"Adobe-Japan1-2\", \"Adobe-Japan1-3\", \"Adobe-Japan1-4\", \"Adobe-Japan1-5\", \"Adobe-Japan1-6\", \"Adobe-Korea1-0\", \"Adobe-Korea1-1\", \"Adobe-Korea1-2\", \"B5-H\", \"B5-V\", \"B5pc-H\", \"B5pc-V\", \"CNS-EUC-H\", \"CNS-EUC-V\", \"CNS1-H\", \"CNS1-V\", \"CNS2-H\", \"CNS2-V\", \"ETHK-B5-H\", \"ETHK-B5-V\", \"ETen-B5-H\", \"ETen-B5-V\", \"ETenms-B5-H\", \"ETenms-B5-V\", \"EUC-H\", \"EUC-V\", \"Ext-H\", \"Ext-RKSJ-H\", \"Ext-RKSJ-V\", \"Ext-V\", \"GB-EUC-H\", \"GB-EUC-V\", \"GB-H\", \"GB-V\", \"GBK-EUC-H\", \"GBK-EUC-V\", \"GBK2K-H\", \"GBK2K-V\", \"GBKp-EUC-H\", \"GBKp-EUC-V\", \"GBT-EUC-H\", \"GBT-EUC-V\", \"GBT-H\", \"GBT-V\", \"GBTpc-EUC-H\", \"GBTpc-EUC-V\", \"GBpc-EUC-H\", \"GBpc-EUC-V\", \"H\", \"HKdla-B5-H\", \"HKdla-B5-V\", \"HKdlb-B5-H\", \"HKdlb-B5-V\", \"HKgccs-B5-H\", \"HKgccs-B5-V\", \"HKm314-B5-H\", \"HKm314-B5-V\", \"HKm471-B5-H\", \"HKm471-B5-V\", \"HKscs-B5-H\", \"HKscs-B5-V\", \"Hankaku\", \"Hiragana\", \"KSC-EUC-H\", \"KSC-EUC-V\", \"KSC-H\", \"KSC-Johab-H\", \"KSC-Johab-V\", \"KSC-V\", \"KSCms-UHC-H\", \"KSCms-UHC-HW-H\", \"KSCms-UHC-HW-V\", \"KSCms-UHC-V\", \"KSCpc-EUC-H\", \"KSCpc-EUC-V\", \"Katakana\", \"NWP-H\", \"NWP-V\", \"RKSJ-H\", \"RKSJ-V\", \"Roman\", \"UniCNS-UCS2-H\", \"UniCNS-UCS2-V\", \"UniCNS-UTF16-H\", \"UniCNS-UTF16-V\", \"UniCNS-UTF32-H\", \"UniCNS-UTF32-V\", \"UniCNS-UTF8-H\", \"UniCNS-UTF8-V\", \"UniGB-UCS2-H\", \"UniGB-UCS2-V\", \"UniGB-UTF16-H\", \"UniGB-UTF16-V\", \"UniGB-UTF32-H\", \"UniGB-UTF32-V\", \"UniGB-UTF8-H\", \"UniGB-UTF8-V\", \"UniJIS-UCS2-H\", \"UniJIS-UCS2-HW-H\", \"UniJIS-UCS2-HW-V\", \"UniJIS-UCS2-V\", \"UniJIS-UTF16-H\", \"UniJIS-UTF16-V\", \"UniJIS-UTF32-H\", \"UniJIS-UTF32-V\", \"UniJIS-UTF8-H\", \"UniJIS-UTF8-V\", \"UniJIS2004-UTF16-H\", \"UniJIS2004-UTF16-V\", \"UniJIS2004-UTF32-H\", \"UniJIS2004-UTF32-V\", \"UniJIS2004-UTF8-H\", \"UniJIS2004-UTF8-V\", \"UniJISPro-UCS2-HW-V\", \"UniJISPro-UCS2-V\", \"UniJISPro-UTF8-V\", \"UniJISX0213-UTF32-H\", \"UniJISX0213-UTF32-V\", \"UniJISX02132004-UTF32-H\", \"UniJISX02132004-UTF32-V\", \"UniKS-UCS2-H\", \"UniKS-UCS2-V\", \"UniKS-UTF16-H\", \"UniKS-UTF16-V\", \"UniKS-UTF32-H\", \"UniKS-UTF32-V\", \"UniKS-UTF8-H\", \"UniKS-UTF8-V\", \"V\", \"WP-Symbol\"];\nconst MAX_MAP_RANGE = 2 ** 24 - 1;\n\nclass CMap {\n constructor(builtInCMap = false) {\n this.codespaceRanges = [[], [], [], []];\n this.numCodespaceRanges = 0;\n this._map = [];\n this.name = \"\";\n this.vertical = false;\n this.useCMap = null;\n this.builtInCMap = builtInCMap;\n }\n\n addCodespaceRange(n, low, high) {\n this.codespaceRanges[n - 1].push(low, high);\n this.numCodespaceRanges++;\n }\n\n mapCidRange(low, high, dstLow) {\n if (high - low > MAX_MAP_RANGE) {\n throw new Error(\"mapCidRange - ignoring data above MAX_MAP_RANGE.\");\n }\n\n while (low <= high) {\n this._map[low++] = dstLow++;\n }\n }\n\n mapBfRange(low, high, dstLow) {\n if (high - low > MAX_MAP_RANGE) {\n throw new Error(\"mapBfRange - ignoring data above MAX_MAP_RANGE.\");\n }\n\n var lastByte = dstLow.length - 1;\n\n while (low <= high) {\n this._map[low++] = dstLow;\n dstLow = dstLow.substring(0, lastByte) + String.fromCharCode(dstLow.charCodeAt(lastByte) + 1);\n }\n }\n\n mapBfRangeToArray(low, high, array) {\n if (high - low > MAX_MAP_RANGE) {\n throw new Error(\"mapBfRangeToArray - ignoring data above MAX_MAP_RANGE.\");\n }\n\n const ii = array.length;\n let i = 0;\n\n while (low <= high && i < ii) {\n this._map[low] = array[i++];\n ++low;\n }\n }\n\n mapOne(src, dst) {\n this._map[src] = dst;\n }\n\n lookup(code) {\n return this._map[code];\n }\n\n contains(code) {\n return this._map[code] !== undefined;\n }\n\n forEach(callback) {\n const map = this._map;\n const length = map.length;\n\n if (length <= 0x10000) {\n for (let i = 0; i < length; i++) {\n if (map[i] !== undefined) {\n callback(i, map[i]);\n }\n }\n } else {\n for (const i in map) {\n callback(i, map[i]);\n }\n }\n }\n\n charCodeOf(value) {\n const map = this._map;\n\n if (map.length <= 0x10000) {\n return map.indexOf(value);\n }\n\n for (const charCode in map) {\n if (map[charCode] === value) {\n return charCode | 0;\n }\n }\n\n return -1;\n }\n\n getMap() {\n return this._map;\n }\n\n readCharCode(str, offset, out) {\n let c = 0;\n const codespaceRanges = this.codespaceRanges;\n\n for (let n = 0, nn = codespaceRanges.length; n < nn; n++) {\n c = (c << 8 | str.charCodeAt(offset + n)) >>> 0;\n const codespaceRange = codespaceRanges[n];\n\n for (let k = 0, kk = codespaceRange.length; k < kk;) {\n const low = codespaceRange[k++];\n const high = codespaceRange[k++];\n\n if (c >= low && c <= high) {\n out.charcode = c;\n out.length = n + 1;\n return;\n }\n }\n }\n\n out.charcode = 0;\n out.length = 1;\n }\n\n get length() {\n return this._map.length;\n }\n\n get isIdentityCMap() {\n if (!(this.name === \"Identity-H\" || this.name === \"Identity-V\")) {\n return false;\n }\n\n if (this._map.length !== 0x10000) {\n return false;\n }\n\n for (let i = 0; i < 0x10000; i++) {\n if (this._map[i] !== i) {\n return false;\n }\n }\n\n return true;\n }\n\n}\n\nexports.CMap = CMap;\n\nclass IdentityCMap extends CMap {\n constructor(vertical, n) {\n super();\n this.vertical = vertical;\n this.addCodespaceRange(n, 0, 0xffff);\n }\n\n mapCidRange(low, high, dstLow) {\n (0, _util.unreachable)(\"should not call mapCidRange\");\n }\n\n mapBfRange(low, high, dstLow) {\n (0, _util.unreachable)(\"should not call mapBfRange\");\n }\n\n mapBfRangeToArray(low, high, array) {\n (0, _util.unreachable)(\"should not call mapBfRangeToArray\");\n }\n\n mapOne(src, dst) {\n (0, _util.unreachable)(\"should not call mapCidOne\");\n }\n\n lookup(code) {\n return Number.isInteger(code) && code <= 0xffff ? code : undefined;\n }\n\n contains(code) {\n return Number.isInteger(code) && code <= 0xffff;\n }\n\n forEach(callback) {\n for (let i = 0; i <= 0xffff; i++) {\n callback(i, i);\n }\n }\n\n charCodeOf(value) {\n return Number.isInteger(value) && value <= 0xffff ? value : -1;\n }\n\n getMap() {\n const map = new Array(0x10000);\n\n for (let i = 0; i <= 0xffff; i++) {\n map[i] = i;\n }\n\n return map;\n }\n\n get length() {\n return 0x10000;\n }\n\n get isIdentityCMap() {\n (0, _util.unreachable)(\"should not access .isIdentityCMap\");\n }\n\n}\n\nexports.IdentityCMap = IdentityCMap;\n\nvar BinaryCMapReader = function BinaryCMapReaderClosure() {\n function hexToInt(a, size) {\n var n = 0;\n\n for (var i = 0; i <= size; i++) {\n n = n << 8 | a[i];\n }\n\n return n >>> 0;\n }\n\n function hexToStr(a, size) {\n if (size === 1) {\n return String.fromCharCode(a[0], a[1]);\n }\n\n if (size === 3) {\n return String.fromCharCode(a[0], a[1], a[2], a[3]);\n }\n\n return String.fromCharCode.apply(null, a.subarray(0, size + 1));\n }\n\n function addHex(a, b, size) {\n var c = 0;\n\n for (var i = size; i >= 0; i--) {\n c += a[i] + b[i];\n a[i] = c & 255;\n c >>= 8;\n }\n }\n\n function incHex(a, size) {\n var c = 1;\n\n for (var i = size; i >= 0 && c > 0; i--) {\n c += a[i];\n a[i] = c & 255;\n c >>= 8;\n }\n }\n\n var MAX_NUM_SIZE = 16;\n var MAX_ENCODED_NUM_SIZE = 19;\n\n function BinaryCMapStream(data) {\n this.buffer = data;\n this.pos = 0;\n this.end = data.length;\n this.tmpBuf = new Uint8Array(MAX_ENCODED_NUM_SIZE);\n }\n\n BinaryCMapStream.prototype = {\n readByte() {\n if (this.pos >= this.end) {\n return -1;\n }\n\n return this.buffer[this.pos++];\n },\n\n readNumber() {\n var n = 0;\n var last;\n\n do {\n var b = this.readByte();\n\n if (b < 0) {\n throw new _util.FormatError(\"unexpected EOF in bcmap\");\n }\n\n last = !(b & 0x80);\n n = n << 7 | b & 0x7f;\n } while (!last);\n\n return n;\n },\n\n readSigned() {\n var n = this.readNumber();\n return n & 1 ? ~(n >>> 1) : n >>> 1;\n },\n\n readHex(num, size) {\n num.set(this.buffer.subarray(this.pos, this.pos + size + 1));\n this.pos += size + 1;\n },\n\n readHexNumber(num, size) {\n var last;\n var stack = this.tmpBuf,\n sp = 0;\n\n do {\n var b = this.readByte();\n\n if (b < 0) {\n throw new _util.FormatError(\"unexpected EOF in bcmap\");\n }\n\n last = !(b & 0x80);\n stack[sp++] = b & 0x7f;\n } while (!last);\n\n var i = size,\n buffer = 0,\n bufferSize = 0;\n\n while (i >= 0) {\n while (bufferSize < 8 && stack.length > 0) {\n buffer = stack[--sp] << bufferSize | buffer;\n bufferSize += 7;\n }\n\n num[i] = buffer & 255;\n i--;\n buffer >>= 8;\n bufferSize -= 8;\n }\n },\n\n readHexSigned(num, size) {\n this.readHexNumber(num, size);\n var sign = num[size] & 1 ? 255 : 0;\n var c = 0;\n\n for (var i = 0; i <= size; i++) {\n c = (c & 1) << 8 | num[i];\n num[i] = c >> 1 ^ sign;\n }\n },\n\n readString() {\n var len = this.readNumber();\n var s = \"\";\n\n for (var i = 0; i < len; i++) {\n s += String.fromCharCode(this.readNumber());\n }\n\n return s;\n }\n\n };\n\n function processBinaryCMap(data, cMap, extend) {\n return new Promise(function (resolve, reject) {\n var stream = new BinaryCMapStream(data);\n var header = stream.readByte();\n cMap.vertical = !!(header & 1);\n var useCMap = null;\n var start = new Uint8Array(MAX_NUM_SIZE);\n var end = new Uint8Array(MAX_NUM_SIZE);\n var char = new Uint8Array(MAX_NUM_SIZE);\n var charCode = new Uint8Array(MAX_NUM_SIZE);\n var tmp = new Uint8Array(MAX_NUM_SIZE);\n var code;\n var b;\n\n while ((b = stream.readByte()) >= 0) {\n var type = b >> 5;\n\n if (type === 7) {\n switch (b & 0x1f) {\n case 0:\n stream.readString();\n break;\n\n case 1:\n useCMap = stream.readString();\n break;\n }\n\n continue;\n }\n\n var sequence = !!(b & 0x10);\n var dataSize = b & 15;\n\n if (dataSize + 1 > MAX_NUM_SIZE) {\n throw new Error(\"processBinaryCMap: Invalid dataSize.\");\n }\n\n var ucs2DataSize = 1;\n var subitemsCount = stream.readNumber();\n var i;\n\n switch (type) {\n case 0:\n stream.readHex(start, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n cMap.addCodespaceRange(dataSize + 1, hexToInt(start, dataSize), hexToInt(end, dataSize));\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(end, dataSize);\n stream.readHexNumber(start, dataSize);\n addHex(start, end, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n cMap.addCodespaceRange(dataSize + 1, hexToInt(start, dataSize), hexToInt(end, dataSize));\n }\n\n break;\n\n case 1:\n stream.readHex(start, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n stream.readNumber();\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(end, dataSize);\n stream.readHexNumber(start, dataSize);\n addHex(start, end, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n stream.readNumber();\n }\n\n break;\n\n case 2:\n stream.readHex(char, dataSize);\n code = stream.readNumber();\n cMap.mapOne(hexToInt(char, dataSize), code);\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(char, dataSize);\n\n if (!sequence) {\n stream.readHexNumber(tmp, dataSize);\n addHex(char, tmp, dataSize);\n }\n\n code = stream.readSigned() + (code + 1);\n cMap.mapOne(hexToInt(char, dataSize), code);\n }\n\n break;\n\n case 3:\n stream.readHex(start, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n code = stream.readNumber();\n cMap.mapCidRange(hexToInt(start, dataSize), hexToInt(end, dataSize), code);\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(end, dataSize);\n\n if (!sequence) {\n stream.readHexNumber(start, dataSize);\n addHex(start, end, dataSize);\n } else {\n start.set(end);\n }\n\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n code = stream.readNumber();\n cMap.mapCidRange(hexToInt(start, dataSize), hexToInt(end, dataSize), code);\n }\n\n break;\n\n case 4:\n stream.readHex(char, ucs2DataSize);\n stream.readHex(charCode, dataSize);\n cMap.mapOne(hexToInt(char, ucs2DataSize), hexToStr(charCode, dataSize));\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(char, ucs2DataSize);\n\n if (!sequence) {\n stream.readHexNumber(tmp, ucs2DataSize);\n addHex(char, tmp, ucs2DataSize);\n }\n\n incHex(charCode, dataSize);\n stream.readHexSigned(tmp, dataSize);\n addHex(charCode, tmp, dataSize);\n cMap.mapOne(hexToInt(char, ucs2DataSize), hexToStr(charCode, dataSize));\n }\n\n break;\n\n case 5:\n stream.readHex(start, ucs2DataSize);\n stream.readHexNumber(end, ucs2DataSize);\n addHex(end, start, ucs2DataSize);\n stream.readHex(charCode, dataSize);\n cMap.mapBfRange(hexToInt(start, ucs2DataSize), hexToInt(end, ucs2DataSize), hexToStr(charCode, dataSize));\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(end, ucs2DataSize);\n\n if (!sequence) {\n stream.readHexNumber(start, ucs2DataSize);\n addHex(start, end, ucs2DataSize);\n } else {\n start.set(end);\n }\n\n stream.readHexNumber(end, ucs2DataSize);\n addHex(end, start, ucs2DataSize);\n stream.readHex(charCode, dataSize);\n cMap.mapBfRange(hexToInt(start, ucs2DataSize), hexToInt(end, ucs2DataSize), hexToStr(charCode, dataSize));\n }\n\n break;\n\n default:\n reject(new Error(\"processBinaryCMap: Unknown type: \" + type));\n return;\n }\n }\n\n if (useCMap) {\n resolve(extend(useCMap));\n return;\n }\n\n resolve(cMap);\n });\n }\n\n function BinaryCMapReader() {}\n\n BinaryCMapReader.prototype = {\n process: processBinaryCMap\n };\n return BinaryCMapReader;\n}();\n\nvar CMapFactory = function CMapFactoryClosure() {\n function strToInt(str) {\n var a = 0;\n\n for (var i = 0; i < str.length; i++) {\n a = a << 8 | str.charCodeAt(i);\n }\n\n return a >>> 0;\n }\n\n function expectString(obj) {\n if (!(0, _util.isString)(obj)) {\n throw new _util.FormatError(\"Malformed CMap: expected string.\");\n }\n }\n\n function expectInt(obj) {\n if (!Number.isInteger(obj)) {\n throw new _util.FormatError(\"Malformed CMap: expected int.\");\n }\n }\n\n function parseBfChar(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, \"endbfchar\")) {\n return;\n }\n\n expectString(obj);\n var src = strToInt(obj);\n obj = lexer.getObj();\n expectString(obj);\n var dst = obj;\n cMap.mapOne(src, dst);\n }\n }\n\n function parseBfRange(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, \"endbfrange\")) {\n return;\n }\n\n expectString(obj);\n var low = strToInt(obj);\n obj = lexer.getObj();\n expectString(obj);\n var high = strToInt(obj);\n obj = lexer.getObj();\n\n if (Number.isInteger(obj) || (0, _util.isString)(obj)) {\n var dstLow = Number.isInteger(obj) ? String.fromCharCode(obj) : obj;\n cMap.mapBfRange(low, high, dstLow);\n } else if ((0, _primitives.isCmd)(obj, \"[\")) {\n obj = lexer.getObj();\n var array = [];\n\n while (!(0, _primitives.isCmd)(obj, \"]\") && !(0, _primitives.isEOF)(obj)) {\n array.push(obj);\n obj = lexer.getObj();\n }\n\n cMap.mapBfRangeToArray(low, high, array);\n } else {\n break;\n }\n }\n\n throw new _util.FormatError(\"Invalid bf range.\");\n }\n\n function parseCidChar(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, \"endcidchar\")) {\n return;\n }\n\n expectString(obj);\n var src = strToInt(obj);\n obj = lexer.getObj();\n expectInt(obj);\n var dst = obj;\n cMap.mapOne(src, dst);\n }\n }\n\n function parseCidRange(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, \"endcidrange\")) {\n return;\n }\n\n expectString(obj);\n var low = strToInt(obj);\n obj = lexer.getObj();\n expectString(obj);\n var high = strToInt(obj);\n obj = lexer.getObj();\n expectInt(obj);\n var dstLow = obj;\n cMap.mapCidRange(low, high, dstLow);\n }\n }\n\n function parseCodespaceRange(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, \"endcodespacerange\")) {\n return;\n }\n\n if (!(0, _util.isString)(obj)) {\n break;\n }\n\n var low = strToInt(obj);\n obj = lexer.getObj();\n\n if (!(0, _util.isString)(obj)) {\n break;\n }\n\n var high = strToInt(obj);\n cMap.addCodespaceRange(obj.length, low, high);\n }\n\n throw new _util.FormatError(\"Invalid codespace range.\");\n }\n\n function parseWMode(cMap, lexer) {\n var obj = lexer.getObj();\n\n if (Number.isInteger(obj)) {\n cMap.vertical = !!obj;\n }\n }\n\n function parseCMapName(cMap, lexer) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isName)(obj) && (0, _util.isString)(obj.name)) {\n cMap.name = obj.name;\n }\n }\n\n function parseCMap(cMap, lexer, fetchBuiltInCMap, useCMap) {\n var previous;\n var embeddedUseCMap;\n\n objLoop: while (true) {\n try {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n } else if ((0, _primitives.isName)(obj)) {\n if (obj.name === \"WMode\") {\n parseWMode(cMap, lexer);\n } else if (obj.name === \"CMapName\") {\n parseCMapName(cMap, lexer);\n }\n\n previous = obj;\n } else if ((0, _primitives.isCmd)(obj)) {\n switch (obj.cmd) {\n case \"endcmap\":\n break objLoop;\n\n case \"usecmap\":\n if ((0, _primitives.isName)(previous)) {\n embeddedUseCMap = previous.name;\n }\n\n break;\n\n case \"begincodespacerange\":\n parseCodespaceRange(cMap, lexer);\n break;\n\n case \"beginbfchar\":\n parseBfChar(cMap, lexer);\n break;\n\n case \"begincidchar\":\n parseCidChar(cMap, lexer);\n break;\n\n case \"beginbfrange\":\n parseBfRange(cMap, lexer);\n break;\n\n case \"begincidrange\":\n parseCidRange(cMap, lexer);\n break;\n }\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"Invalid cMap data: \" + ex);\n continue;\n }\n }\n\n if (!useCMap && embeddedUseCMap) {\n useCMap = embeddedUseCMap;\n }\n\n if (useCMap) {\n return extendCMap(cMap, fetchBuiltInCMap, useCMap);\n }\n\n return Promise.resolve(cMap);\n }\n\n function extendCMap(cMap, fetchBuiltInCMap, useCMap) {\n return createBuiltInCMap(useCMap, fetchBuiltInCMap).then(function (newCMap) {\n cMap.useCMap = newCMap;\n\n if (cMap.numCodespaceRanges === 0) {\n var useCodespaceRanges = cMap.useCMap.codespaceRanges;\n\n for (var i = 0; i < useCodespaceRanges.length; i++) {\n cMap.codespaceRanges[i] = useCodespaceRanges[i].slice();\n }\n\n cMap.numCodespaceRanges = cMap.useCMap.numCodespaceRanges;\n }\n\n cMap.useCMap.forEach(function (key, value) {\n if (!cMap.contains(key)) {\n cMap.mapOne(key, cMap.useCMap.lookup(key));\n }\n });\n return cMap;\n });\n }\n\n function createBuiltInCMap(name, fetchBuiltInCMap) {\n if (name === \"Identity-H\") {\n return Promise.resolve(new IdentityCMap(false, 2));\n } else if (name === \"Identity-V\") {\n return Promise.resolve(new IdentityCMap(true, 2));\n }\n\n if (!BUILT_IN_CMAPS.includes(name)) {\n return Promise.reject(new Error(\"Unknown CMap name: \" + name));\n }\n\n if (!fetchBuiltInCMap) {\n return Promise.reject(new Error(\"Built-in CMap parameters are not provided.\"));\n }\n\n return fetchBuiltInCMap(name).then(function (data) {\n var cMapData = data.cMapData,\n compressionType = data.compressionType;\n var cMap = new CMap(true);\n\n if (compressionType === _util.CMapCompressionType.BINARY) {\n return new BinaryCMapReader().process(cMapData, cMap, function (useCMap) {\n return extendCMap(cMap, fetchBuiltInCMap, useCMap);\n });\n }\n\n if (compressionType === _util.CMapCompressionType.NONE) {\n var lexer = new _parser.Lexer(new _stream.Stream(cMapData));\n return parseCMap(cMap, lexer, fetchBuiltInCMap, null);\n }\n\n return Promise.reject(new Error(\"TODO: Only BINARY/NONE CMap compression is currently supported.\"));\n });\n }\n\n return {\n async create(params) {\n var encoding = params.encoding;\n var fetchBuiltInCMap = params.fetchBuiltInCMap;\n var useCMap = params.useCMap;\n\n if ((0, _primitives.isName)(encoding)) {\n return createBuiltInCMap(encoding.name, fetchBuiltInCMap);\n } else if ((0, _primitives.isStream)(encoding)) {\n var cMap = new CMap();\n var lexer = new _parser.Lexer(encoding);\n return parseCMap(cMap, lexer, fetchBuiltInCMap, useCMap).then(function (parsedCMap) {\n if (parsedCMap.isIdentityCMap) {\n return createBuiltInCMap(parsedCMap.name, fetchBuiltInCMap);\n }\n\n return parsedCMap;\n });\n }\n\n throw new Error(\"Encoding required.\");\n }\n\n };\n}();\n\nexports.CMapFactory = CMapFactory;\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFontType = getFontType;\nexports.IdentityToUnicodeMap = exports.ToUnicodeMap = exports.FontFlags = exports.Font = exports.ErrorFont = exports.SEAC_ANALYSIS_ENABLED = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _cff_parser = __w_pdfjs_require__(30);\n\nvar _glyphlist = __w_pdfjs_require__(33);\n\nvar _encodings = __w_pdfjs_require__(32);\n\nvar _standard_fonts = __w_pdfjs_require__(34);\n\nvar _unicode = __w_pdfjs_require__(35);\n\nvar _core_utils = __w_pdfjs_require__(8);\n\nvar _font_renderer = __w_pdfjs_require__(36);\n\nvar _cmap = __w_pdfjs_require__(28);\n\nvar _stream = __w_pdfjs_require__(12);\n\nvar _type1_parser = __w_pdfjs_require__(37);\n\nconst PRIVATE_USE_AREAS = [[0xe000, 0xf8ff], [0x100000, 0x10fffd]];\nvar PDF_GLYPH_SPACE_UNITS = 1000;\nvar SEAC_ANALYSIS_ENABLED = true;\nexports.SEAC_ANALYSIS_ENABLED = SEAC_ANALYSIS_ENABLED;\nconst EXPORT_DATA_PROPERTIES = [\"ascent\", \"bbox\", \"black\", \"bold\", \"charProcOperatorList\", \"composite\", \"data\", \"defaultVMetrics\", \"defaultWidth\", \"descent\", \"fallbackName\", \"fontMatrix\", \"fontType\", \"isMonospace\", \"isSerifFont\", \"isType3Font\", \"italic\", \"loadedName\", \"mimetype\", \"missingFile\", \"name\", \"remeasure\", \"subtype\", \"type\", \"vertical\"];\nconst EXPORT_DATA_EXTRA_PROPERTIES = [\"cMap\", \"defaultEncoding\", \"differences\", \"isSymbolicFont\", \"seacMap\", \"toFontChar\", \"toUnicode\", \"vmetrics\", \"widths\"];\nvar FontFlags = {\n FixedPitch: 1,\n Serif: 2,\n Symbolic: 4,\n Script: 8,\n Nonsymbolic: 32,\n Italic: 64,\n AllCap: 65536,\n SmallCap: 131072,\n ForceBold: 262144\n};\nexports.FontFlags = FontFlags;\nvar MacStandardGlyphOrdering = [\".notdef\", \".null\", \"nonmarkingreturn\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quotesingle\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"grave\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"Adieresis\", \"Aring\", \"Ccedilla\", \"Eacute\", \"Ntilde\", \"Odieresis\", \"Udieresis\", \"aacute\", \"agrave\", \"acircumflex\", \"adieresis\", \"atilde\", \"aring\", \"ccedilla\", \"eacute\", \"egrave\", \"ecircumflex\", \"edieresis\", \"iacute\", \"igrave\", \"icircumflex\", \"idieresis\", \"ntilde\", \"oacute\", \"ograve\", \"ocircumflex\", \"odieresis\", \"otilde\", \"uacute\", \"ugrave\", \"ucircumflex\", \"udieresis\", \"dagger\", \"degree\", \"cent\", \"sterling\", \"section\", \"bullet\", \"paragraph\", \"germandbls\", \"registered\", \"copyright\", \"trademark\", \"acute\", \"dieresis\", \"notequal\", \"AE\", \"Oslash\", \"infinity\", \"plusminus\", \"lessequal\", \"greaterequal\", \"yen\", \"mu\", \"partialdiff\", \"summation\", \"product\", \"pi\", \"integral\", \"ordfeminine\", \"ordmasculine\", \"Omega\", \"ae\", \"oslash\", \"questiondown\", \"exclamdown\", \"logicalnot\", \"radical\", \"florin\", \"approxequal\", \"Delta\", \"guillemotleft\", \"guillemotright\", \"ellipsis\", \"nonbreakingspace\", \"Agrave\", \"Atilde\", \"Otilde\", \"OE\", \"oe\", \"endash\", \"emdash\", \"quotedblleft\", \"quotedblright\", \"quoteleft\", \"quoteright\", \"divide\", \"lozenge\", \"ydieresis\", \"Ydieresis\", \"fraction\", \"currency\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"daggerdbl\", \"periodcentered\", \"quotesinglbase\", \"quotedblbase\", \"perthousand\", \"Acircumflex\", \"Ecircumflex\", \"Aacute\", \"Edieresis\", \"Egrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Oacute\", \"Ocircumflex\", \"apple\", \"Ograve\", \"Uacute\", \"Ucircumflex\", \"Ugrave\", \"dotlessi\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\", \"Lslash\", \"lslash\", \"Scaron\", \"scaron\", \"Zcaron\", \"zcaron\", \"brokenbar\", \"Eth\", \"eth\", \"Yacute\", \"yacute\", \"Thorn\", \"thorn\", \"minus\", \"multiply\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"onehalf\", \"onequarter\", \"threequarters\", \"franc\", \"Gbreve\", \"gbreve\", \"Idotaccent\", \"Scedilla\", \"scedilla\", \"Cacute\", \"cacute\", \"Ccaron\", \"ccaron\", \"dcroat\"];\n\nfunction adjustWidths(properties) {\n if (!properties.fontMatrix) {\n return;\n }\n\n if (properties.fontMatrix[0] === _util.FONT_IDENTITY_MATRIX[0]) {\n return;\n }\n\n var scale = 0.001 / properties.fontMatrix[0];\n var glyphsWidths = properties.widths;\n\n for (var glyph in glyphsWidths) {\n glyphsWidths[glyph] *= scale;\n }\n\n properties.defaultWidth *= scale;\n}\n\nfunction adjustToUnicode(properties, builtInEncoding) {\n if (properties.hasIncludedToUnicodeMap) {\n return;\n }\n\n if (properties.hasEncoding) {\n return;\n }\n\n if (builtInEncoding === properties.defaultEncoding) {\n return;\n }\n\n if (properties.toUnicode instanceof IdentityToUnicodeMap) {\n return;\n }\n\n var toUnicode = [],\n glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n\n for (var charCode in builtInEncoding) {\n var glyphName = builtInEncoding[charCode];\n var unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n\n if (unicode !== -1) {\n toUnicode[charCode] = String.fromCharCode(unicode);\n }\n }\n\n properties.toUnicode.amend(toUnicode);\n}\n\nfunction getFontType(type, subtype) {\n switch (type) {\n case \"Type1\":\n return subtype === \"Type1C\" ? _util.FontType.TYPE1C : _util.FontType.TYPE1;\n\n case \"CIDFontType0\":\n return subtype === \"CIDFontType0C\" ? _util.FontType.CIDFONTTYPE0C : _util.FontType.CIDFONTTYPE0;\n\n case \"OpenType\":\n return _util.FontType.OPENTYPE;\n\n case \"TrueType\":\n return _util.FontType.TRUETYPE;\n\n case \"CIDFontType2\":\n return _util.FontType.CIDFONTTYPE2;\n\n case \"MMType1\":\n return _util.FontType.MMTYPE1;\n\n case \"Type0\":\n return _util.FontType.TYPE0;\n\n default:\n return _util.FontType.UNKNOWN;\n }\n}\n\nfunction recoverGlyphName(name, glyphsUnicodeMap) {\n if (glyphsUnicodeMap[name] !== undefined) {\n return name;\n }\n\n var unicode = (0, _unicode.getUnicodeForGlyph)(name, glyphsUnicodeMap);\n\n if (unicode !== -1) {\n for (var key in glyphsUnicodeMap) {\n if (glyphsUnicodeMap[key] === unicode) {\n return key;\n }\n }\n }\n\n (0, _util.info)(\"Unable to recover a standard glyph name for: \" + name);\n return name;\n}\n\nvar Glyph = function GlyphClosure() {\n function Glyph(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont) {\n this.fontChar = fontChar;\n this.unicode = unicode;\n this.accent = accent;\n this.width = width;\n this.vmetric = vmetric;\n this.operatorListId = operatorListId;\n this.isSpace = isSpace;\n this.isInFont = isInFont;\n }\n\n Glyph.prototype.matchesForCache = function (fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont) {\n return this.fontChar === fontChar && this.unicode === unicode && this.accent === accent && this.width === width && this.vmetric === vmetric && this.operatorListId === operatorListId && this.isSpace === isSpace && this.isInFont === isInFont;\n };\n\n return Glyph;\n}();\n\nvar ToUnicodeMap = function ToUnicodeMapClosure() {\n function ToUnicodeMap(cmap = []) {\n this._map = cmap;\n }\n\n ToUnicodeMap.prototype = {\n get length() {\n return this._map.length;\n },\n\n forEach(callback) {\n for (var charCode in this._map) {\n callback(charCode, this._map[charCode].charCodeAt(0));\n }\n },\n\n has(i) {\n return this._map[i] !== undefined;\n },\n\n get(i) {\n return this._map[i];\n },\n\n charCodeOf(value) {\n const map = this._map;\n\n if (map.length <= 0x10000) {\n return map.indexOf(value);\n }\n\n for (const charCode in map) {\n if (map[charCode] === value) {\n return charCode | 0;\n }\n }\n\n return -1;\n },\n\n amend(map) {\n for (var charCode in map) {\n this._map[charCode] = map[charCode];\n }\n }\n\n };\n return ToUnicodeMap;\n}();\n\nexports.ToUnicodeMap = ToUnicodeMap;\n\nvar IdentityToUnicodeMap = function IdentityToUnicodeMapClosure() {\n function IdentityToUnicodeMap(firstChar, lastChar) {\n this.firstChar = firstChar;\n this.lastChar = lastChar;\n }\n\n IdentityToUnicodeMap.prototype = {\n get length() {\n return this.lastChar + 1 - this.firstChar;\n },\n\n forEach(callback) {\n for (var i = this.firstChar, ii = this.lastChar; i <= ii; i++) {\n callback(i, i);\n }\n },\n\n has(i) {\n return this.firstChar <= i && i <= this.lastChar;\n },\n\n get(i) {\n if (this.firstChar <= i && i <= this.lastChar) {\n return String.fromCharCode(i);\n }\n\n return undefined;\n },\n\n charCodeOf(v) {\n return Number.isInteger(v) && v >= this.firstChar && v <= this.lastChar ? v : -1;\n },\n\n amend(map) {\n (0, _util.unreachable)(\"Should not call amend()\");\n }\n\n };\n return IdentityToUnicodeMap;\n}();\n\nexports.IdentityToUnicodeMap = IdentityToUnicodeMap;\n\nvar OpenTypeFileBuilder = function OpenTypeFileBuilderClosure() {\n function writeInt16(dest, offset, num) {\n dest[offset] = num >> 8 & 0xff;\n dest[offset + 1] = num & 0xff;\n }\n\n function writeInt32(dest, offset, num) {\n dest[offset] = num >> 24 & 0xff;\n dest[offset + 1] = num >> 16 & 0xff;\n dest[offset + 2] = num >> 8 & 0xff;\n dest[offset + 3] = num & 0xff;\n }\n\n function writeData(dest, offset, data) {\n var i, ii;\n\n if (data instanceof Uint8Array) {\n dest.set(data, offset);\n } else if (typeof data === \"string\") {\n for (i = 0, ii = data.length; i < ii; i++) {\n dest[offset++] = data.charCodeAt(i) & 0xff;\n }\n } else {\n for (i = 0, ii = data.length; i < ii; i++) {\n dest[offset++] = data[i] & 0xff;\n }\n }\n }\n\n function OpenTypeFileBuilder(sfnt) {\n this.sfnt = sfnt;\n this.tables = Object.create(null);\n }\n\n OpenTypeFileBuilder.getSearchParams = function OpenTypeFileBuilder_getSearchParams(entriesCount, entrySize) {\n var maxPower2 = 1,\n log2 = 0;\n\n while ((maxPower2 ^ entriesCount) > maxPower2) {\n maxPower2 <<= 1;\n log2++;\n }\n\n var searchRange = maxPower2 * entrySize;\n return {\n range: searchRange,\n entry: log2,\n rangeShift: entrySize * entriesCount - searchRange\n };\n };\n\n var OTF_HEADER_SIZE = 12;\n var OTF_TABLE_ENTRY_SIZE = 16;\n OpenTypeFileBuilder.prototype = {\n toArray: function OpenTypeFileBuilder_toArray() {\n var sfnt = this.sfnt;\n var tables = this.tables;\n var tablesNames = Object.keys(tables);\n tablesNames.sort();\n var numTables = tablesNames.length;\n var i, j, jj, table, tableName;\n var offset = OTF_HEADER_SIZE + numTables * OTF_TABLE_ENTRY_SIZE;\n var tableOffsets = [offset];\n\n for (i = 0; i < numTables; i++) {\n table = tables[tablesNames[i]];\n var paddedLength = (table.length + 3 & ~3) >>> 0;\n offset += paddedLength;\n tableOffsets.push(offset);\n }\n\n var file = new Uint8Array(offset);\n\n for (i = 0; i < numTables; i++) {\n table = tables[tablesNames[i]];\n writeData(file, tableOffsets[i], table);\n }\n\n if (sfnt === \"true\") {\n sfnt = (0, _util.string32)(0x00010000);\n }\n\n file[0] = sfnt.charCodeAt(0) & 0xff;\n file[1] = sfnt.charCodeAt(1) & 0xff;\n file[2] = sfnt.charCodeAt(2) & 0xff;\n file[3] = sfnt.charCodeAt(3) & 0xff;\n writeInt16(file, 4, numTables);\n var searchParams = OpenTypeFileBuilder.getSearchParams(numTables, 16);\n writeInt16(file, 6, searchParams.range);\n writeInt16(file, 8, searchParams.entry);\n writeInt16(file, 10, searchParams.rangeShift);\n offset = OTF_HEADER_SIZE;\n\n for (i = 0; i < numTables; i++) {\n tableName = tablesNames[i];\n file[offset] = tableName.charCodeAt(0) & 0xff;\n file[offset + 1] = tableName.charCodeAt(1) & 0xff;\n file[offset + 2] = tableName.charCodeAt(2) & 0xff;\n file[offset + 3] = tableName.charCodeAt(3) & 0xff;\n var checksum = 0;\n\n for (j = tableOffsets[i], jj = tableOffsets[i + 1]; j < jj; j += 4) {\n var quad = (0, _core_utils.readUint32)(file, j);\n checksum = checksum + quad >>> 0;\n }\n\n writeInt32(file, offset + 4, checksum);\n writeInt32(file, offset + 8, tableOffsets[i]);\n writeInt32(file, offset + 12, tables[tableName].length);\n offset += OTF_TABLE_ENTRY_SIZE;\n }\n\n return file;\n },\n addTable: function OpenTypeFileBuilder_addTable(tag, data) {\n if (tag in this.tables) {\n throw new Error(\"Table \" + tag + \" already exists\");\n }\n\n this.tables[tag] = data;\n }\n };\n return OpenTypeFileBuilder;\n}();\n\nvar Font = function FontClosure() {\n function Font(name, file, properties) {\n var charCode;\n this.name = name;\n this.loadedName = properties.loadedName;\n this.isType3Font = properties.isType3Font;\n this.missingFile = false;\n this.glyphCache = Object.create(null);\n this.isSerifFont = !!(properties.flags & FontFlags.Serif);\n this.isSymbolicFont = !!(properties.flags & FontFlags.Symbolic);\n this.isMonospace = !!(properties.flags & FontFlags.FixedPitch);\n var type = properties.type;\n var subtype = properties.subtype;\n this.type = type;\n this.subtype = subtype;\n let fallbackName = \"sans-serif\";\n\n if (this.isMonospace) {\n fallbackName = \"monospace\";\n } else if (this.isSerifFont) {\n fallbackName = \"serif\";\n }\n\n this.fallbackName = fallbackName;\n this.differences = properties.differences;\n this.widths = properties.widths;\n this.defaultWidth = properties.defaultWidth;\n this.composite = properties.composite;\n this.cMap = properties.cMap;\n this.ascent = properties.ascent / PDF_GLYPH_SPACE_UNITS;\n this.descent = properties.descent / PDF_GLYPH_SPACE_UNITS;\n this.fontMatrix = properties.fontMatrix;\n this.bbox = properties.bbox;\n this.defaultEncoding = properties.defaultEncoding;\n this.toUnicode = properties.toUnicode;\n this.fallbackToUnicode = properties.fallbackToUnicode || new ToUnicodeMap();\n this.toFontChar = [];\n\n if (properties.type === \"Type3\") {\n for (charCode = 0; charCode < 256; charCode++) {\n this.toFontChar[charCode] = this.differences[charCode] || properties.defaultEncoding[charCode];\n }\n\n this.fontType = _util.FontType.TYPE3;\n return;\n }\n\n this.cidEncoding = properties.cidEncoding;\n this.vertical = !!properties.vertical;\n\n if (this.vertical) {\n this.vmetrics = properties.vmetrics;\n this.defaultVMetrics = properties.defaultVMetrics;\n }\n\n if (!file || file.isEmpty) {\n if (file) {\n (0, _util.warn)('Font file is empty in \"' + name + '\" (' + this.loadedName + \")\");\n }\n\n this.fallbackToSystemFont();\n return;\n }\n\n [type, subtype] = getFontFileType(file, properties);\n\n if (type !== this.type || subtype !== this.subtype) {\n (0, _util.info)(\"Inconsistent font file Type/SubType, expected: \" + `${this.type}/${this.subtype} but found: ${type}/${subtype}.`);\n }\n\n try {\n var data;\n\n switch (type) {\n case \"MMType1\":\n (0, _util.info)(\"MMType1 font (\" + name + \"), falling back to Type1.\");\n\n case \"Type1\":\n case \"CIDFontType0\":\n this.mimetype = \"font/opentype\";\n var cff = subtype === \"Type1C\" || subtype === \"CIDFontType0C\" ? new CFFFont(file, properties) : new Type1Font(name, file, properties);\n adjustWidths(properties);\n data = this.convert(name, cff, properties);\n break;\n\n case \"OpenType\":\n case \"TrueType\":\n case \"CIDFontType2\":\n this.mimetype = \"font/opentype\";\n data = this.checkAndRepair(name, file, properties);\n\n if (this.isOpenType) {\n adjustWidths(properties);\n type = \"OpenType\";\n }\n\n break;\n\n default:\n throw new _util.FormatError(`Font ${type} is not supported`);\n }\n } catch (e) {\n (0, _util.warn)(e);\n this.fallbackToSystemFont();\n return;\n }\n\n this.data = data;\n this.fontType = getFontType(type, subtype);\n this.fontMatrix = properties.fontMatrix;\n this.widths = properties.widths;\n this.defaultWidth = properties.defaultWidth;\n this.toUnicode = properties.toUnicode;\n this.seacMap = properties.seacMap;\n }\n\n Font.getFontID = function () {\n var ID = 1;\n return function Font_getFontID() {\n return String(ID++);\n };\n }();\n\n function int16(b0, b1) {\n return (b0 << 8) + b1;\n }\n\n function writeSignedInt16(bytes, index, value) {\n bytes[index + 1] = value;\n bytes[index] = value >>> 8;\n }\n\n function signedInt16(b0, b1) {\n var value = (b0 << 8) + b1;\n return value & 1 << 15 ? value - 0x10000 : value;\n }\n\n function int32(b0, b1, b2, b3) {\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n }\n\n function string16(value) {\n return String.fromCharCode(value >> 8 & 0xff, value & 0xff);\n }\n\n function safeString16(value) {\n if (value > 0x7fff) {\n value = 0x7fff;\n } else if (value < -0x8000) {\n value = -0x8000;\n }\n\n return String.fromCharCode(value >> 8 & 0xff, value & 0xff);\n }\n\n function isTrueTypeFile(file) {\n var header = file.peekBytes(4);\n return (0, _core_utils.readUint32)(header, 0) === 0x00010000 || (0, _util.bytesToString)(header) === \"true\";\n }\n\n function isTrueTypeCollectionFile(file) {\n const header = file.peekBytes(4);\n return (0, _util.bytesToString)(header) === \"ttcf\";\n }\n\n function isOpenTypeFile(file) {\n var header = file.peekBytes(4);\n return (0, _util.bytesToString)(header) === \"OTTO\";\n }\n\n function isType1File(file) {\n var header = file.peekBytes(2);\n\n if (header[0] === 0x25 && header[1] === 0x21) {\n return true;\n }\n\n if (header[0] === 0x80 && header[1] === 0x01) {\n return true;\n }\n\n return false;\n }\n\n function isCFFFile(file) {\n const header = file.peekBytes(4);\n\n if (header[0] >= 1 && header[3] >= 1 && header[3] <= 4) {\n return true;\n }\n\n return false;\n }\n\n function getFontFileType(file, {\n type,\n subtype,\n composite\n }) {\n let fileType, fileSubtype;\n\n if (isTrueTypeFile(file) || isTrueTypeCollectionFile(file)) {\n if (composite) {\n fileType = \"CIDFontType2\";\n } else {\n fileType = \"TrueType\";\n }\n } else if (isOpenTypeFile(file)) {\n if (composite) {\n fileType = \"CIDFontType2\";\n } else {\n fileType = \"OpenType\";\n }\n } else if (isType1File(file)) {\n if (composite) {\n fileType = \"CIDFontType0\";\n } else {\n fileType = type === \"MMType1\" ? \"MMType1\" : \"Type1\";\n }\n } else if (isCFFFile(file)) {\n if (composite) {\n fileType = \"CIDFontType0\";\n fileSubtype = \"CIDFontType0C\";\n } else {\n fileType = type === \"MMType1\" ? \"MMType1\" : \"Type1\";\n fileSubtype = \"Type1C\";\n }\n } else {\n (0, _util.warn)(\"getFontFileType: Unable to detect correct font file Type/Subtype.\");\n fileType = type;\n fileSubtype = subtype;\n }\n\n return [fileType, fileSubtype];\n }\n\n function buildToFontChar(encoding, glyphsUnicodeMap, differences) {\n var toFontChar = [],\n unicode;\n\n for (var i = 0, ii = encoding.length; i < ii; i++) {\n unicode = (0, _unicode.getUnicodeForGlyph)(encoding[i], glyphsUnicodeMap);\n\n if (unicode !== -1) {\n toFontChar[i] = unicode;\n }\n }\n\n for (var charCode in differences) {\n unicode = (0, _unicode.getUnicodeForGlyph)(differences[charCode], glyphsUnicodeMap);\n\n if (unicode !== -1) {\n toFontChar[+charCode] = unicode;\n }\n }\n\n return toFontChar;\n }\n\n function adjustMapping(charCodeToGlyphId, hasGlyph, newGlyphZeroId) {\n var newMap = Object.create(null);\n var toFontChar = [];\n var privateUseAreaIndex = 0;\n var nextAvailableFontCharCode = PRIVATE_USE_AREAS[privateUseAreaIndex][0];\n var privateUseOffetEnd = PRIVATE_USE_AREAS[privateUseAreaIndex][1];\n\n for (var originalCharCode in charCodeToGlyphId) {\n originalCharCode |= 0;\n var glyphId = charCodeToGlyphId[originalCharCode];\n\n if (!hasGlyph(glyphId)) {\n continue;\n }\n\n if (nextAvailableFontCharCode > privateUseOffetEnd) {\n privateUseAreaIndex++;\n\n if (privateUseAreaIndex >= PRIVATE_USE_AREAS.length) {\n (0, _util.warn)(\"Ran out of space in font private use area.\");\n break;\n }\n\n nextAvailableFontCharCode = PRIVATE_USE_AREAS[privateUseAreaIndex][0];\n privateUseOffetEnd = PRIVATE_USE_AREAS[privateUseAreaIndex][1];\n }\n\n var fontCharCode = nextAvailableFontCharCode++;\n\n if (glyphId === 0) {\n glyphId = newGlyphZeroId;\n }\n\n newMap[fontCharCode] = glyphId;\n toFontChar[originalCharCode] = fontCharCode;\n }\n\n return {\n toFontChar,\n charCodeToGlyphId: newMap,\n nextAvailableFontCharCode\n };\n }\n\n function getRanges(glyphs, numGlyphs) {\n var codes = [];\n\n for (var charCode in glyphs) {\n if (glyphs[charCode] >= numGlyphs) {\n continue;\n }\n\n codes.push({\n fontCharCode: charCode | 0,\n glyphId: glyphs[charCode]\n });\n }\n\n if (codes.length === 0) {\n codes.push({\n fontCharCode: 0,\n glyphId: 0\n });\n }\n\n codes.sort(function fontGetRangesSort(a, b) {\n return a.fontCharCode - b.fontCharCode;\n });\n var ranges = [];\n var length = codes.length;\n\n for (var n = 0; n < length;) {\n var start = codes[n].fontCharCode;\n var codeIndices = [codes[n].glyphId];\n ++n;\n var end = start;\n\n while (n < length && end + 1 === codes[n].fontCharCode) {\n codeIndices.push(codes[n].glyphId);\n ++end;\n ++n;\n\n if (end === 0xffff) {\n break;\n }\n }\n\n ranges.push([start, end, codeIndices]);\n }\n\n return ranges;\n }\n\n function createCmapTable(glyphs, numGlyphs) {\n var ranges = getRanges(glyphs, numGlyphs);\n var numTables = ranges[ranges.length - 1][1] > 0xffff ? 2 : 1;\n var cmap = \"\\x00\\x00\" + string16(numTables) + \"\\x00\\x03\" + \"\\x00\\x01\" + (0, _util.string32)(4 + numTables * 8);\n var i, ii, j, jj;\n\n for (i = ranges.length - 1; i >= 0; --i) {\n if (ranges[i][0] <= 0xffff) {\n break;\n }\n }\n\n var bmpLength = i + 1;\n\n if (ranges[i][0] < 0xffff && ranges[i][1] === 0xffff) {\n ranges[i][1] = 0xfffe;\n }\n\n var trailingRangesCount = ranges[i][1] < 0xffff ? 1 : 0;\n var segCount = bmpLength + trailingRangesCount;\n var searchParams = OpenTypeFileBuilder.getSearchParams(segCount, 2);\n var startCount = \"\";\n var endCount = \"\";\n var idDeltas = \"\";\n var idRangeOffsets = \"\";\n var glyphsIds = \"\";\n var bias = 0;\n var range, start, end, codes;\n\n for (i = 0, ii = bmpLength; i < ii; i++) {\n range = ranges[i];\n start = range[0];\n end = range[1];\n startCount += string16(start);\n endCount += string16(end);\n codes = range[2];\n var contiguous = true;\n\n for (j = 1, jj = codes.length; j < jj; ++j) {\n if (codes[j] !== codes[j - 1] + 1) {\n contiguous = false;\n break;\n }\n }\n\n if (!contiguous) {\n var offset = (segCount - i) * 2 + bias * 2;\n bias += end - start + 1;\n idDeltas += string16(0);\n idRangeOffsets += string16(offset);\n\n for (j = 0, jj = codes.length; j < jj; ++j) {\n glyphsIds += string16(codes[j]);\n }\n } else {\n var startCode = codes[0];\n idDeltas += string16(startCode - start & 0xffff);\n idRangeOffsets += string16(0);\n }\n }\n\n if (trailingRangesCount > 0) {\n endCount += \"\\xFF\\xFF\";\n startCount += \"\\xFF\\xFF\";\n idDeltas += \"\\x00\\x01\";\n idRangeOffsets += \"\\x00\\x00\";\n }\n\n var format314 = \"\\x00\\x00\" + string16(2 * segCount) + string16(searchParams.range) + string16(searchParams.entry) + string16(searchParams.rangeShift) + endCount + \"\\x00\\x00\" + startCount + idDeltas + idRangeOffsets + glyphsIds;\n var format31012 = \"\";\n var header31012 = \"\";\n\n if (numTables > 1) {\n cmap += \"\\x00\\x03\" + \"\\x00\\x0A\" + (0, _util.string32)(4 + numTables * 8 + 4 + format314.length);\n format31012 = \"\";\n\n for (i = 0, ii = ranges.length; i < ii; i++) {\n range = ranges[i];\n start = range[0];\n codes = range[2];\n var code = codes[0];\n\n for (j = 1, jj = codes.length; j < jj; ++j) {\n if (codes[j] !== codes[j - 1] + 1) {\n end = range[0] + j - 1;\n format31012 += (0, _util.string32)(start) + (0, _util.string32)(end) + (0, _util.string32)(code);\n start = end + 1;\n code = codes[j];\n }\n }\n\n format31012 += (0, _util.string32)(start) + (0, _util.string32)(range[1]) + (0, _util.string32)(code);\n }\n\n header31012 = \"\\x00\\x0C\" + \"\\x00\\x00\" + (0, _util.string32)(format31012.length + 16) + \"\\x00\\x00\\x00\\x00\" + (0, _util.string32)(format31012.length / 12);\n }\n\n return cmap + \"\\x00\\x04\" + string16(format314.length + 4) + format314 + header31012 + format31012;\n }\n\n function validateOS2Table(os2, file) {\n file.pos = (file.start || 0) + os2.offset;\n var version = file.getUint16();\n file.skip(60);\n var selection = file.getUint16();\n\n if (version < 4 && selection & 0x0300) {\n return false;\n }\n\n var firstChar = file.getUint16();\n var lastChar = file.getUint16();\n\n if (firstChar > lastChar) {\n return false;\n }\n\n file.skip(6);\n var usWinAscent = file.getUint16();\n\n if (usWinAscent === 0) {\n return false;\n }\n\n os2.data[8] = os2.data[9] = 0;\n return true;\n }\n\n function createOS2Table(properties, charstrings, override) {\n override = override || {\n unitsPerEm: 0,\n yMax: 0,\n yMin: 0,\n ascent: 0,\n descent: 0\n };\n var ulUnicodeRange1 = 0;\n var ulUnicodeRange2 = 0;\n var ulUnicodeRange3 = 0;\n var ulUnicodeRange4 = 0;\n var firstCharIndex = null;\n var lastCharIndex = 0;\n\n if (charstrings) {\n for (var code in charstrings) {\n code |= 0;\n\n if (firstCharIndex > code || !firstCharIndex) {\n firstCharIndex = code;\n }\n\n if (lastCharIndex < code) {\n lastCharIndex = code;\n }\n\n var position = (0, _unicode.getUnicodeRangeFor)(code);\n\n if (position < 32) {\n ulUnicodeRange1 |= 1 << position;\n } else if (position < 64) {\n ulUnicodeRange2 |= 1 << position - 32;\n } else if (position < 96) {\n ulUnicodeRange3 |= 1 << position - 64;\n } else if (position < 123) {\n ulUnicodeRange4 |= 1 << position - 96;\n } else {\n throw new _util.FormatError(\"Unicode ranges Bits > 123 are reserved for internal usage\");\n }\n }\n\n if (lastCharIndex > 0xffff) {\n lastCharIndex = 0xffff;\n }\n } else {\n firstCharIndex = 0;\n lastCharIndex = 255;\n }\n\n var bbox = properties.bbox || [0, 0, 0, 0];\n var unitsPerEm = override.unitsPerEm || 1 / (properties.fontMatrix || _util.FONT_IDENTITY_MATRIX)[0];\n var scale = properties.ascentScaled ? 1.0 : unitsPerEm / PDF_GLYPH_SPACE_UNITS;\n var typoAscent = override.ascent || Math.round(scale * (properties.ascent || bbox[3]));\n var typoDescent = override.descent || Math.round(scale * (properties.descent || bbox[1]));\n\n if (typoDescent > 0 && properties.descent > 0 && bbox[1] < 0) {\n typoDescent = -typoDescent;\n }\n\n var winAscent = override.yMax || typoAscent;\n var winDescent = -override.yMin || -typoDescent;\n return \"\\x00\\x03\" + \"\\x02\\x24\" + \"\\x01\\xF4\" + \"\\x00\\x05\" + \"\\x00\\x00\" + \"\\x02\\x8A\" + \"\\x02\\xBB\" + \"\\x00\\x00\" + \"\\x00\\x8C\" + \"\\x02\\x8A\" + \"\\x02\\xBB\" + \"\\x00\\x00\" + \"\\x01\\xDF\" + \"\\x00\\x31\" + \"\\x01\\x02\" + \"\\x00\\x00\" + \"\\x00\\x00\\x06\" + String.fromCharCode(properties.fixedPitch ? 0x09 : 0x00) + \"\\x00\\x00\\x00\\x00\\x00\\x00\" + (0, _util.string32)(ulUnicodeRange1) + (0, _util.string32)(ulUnicodeRange2) + (0, _util.string32)(ulUnicodeRange3) + (0, _util.string32)(ulUnicodeRange4) + \"\\x2A\\x32\\x31\\x2A\" + string16(properties.italicAngle ? 1 : 0) + string16(firstCharIndex || properties.firstChar) + string16(lastCharIndex || properties.lastChar) + string16(typoAscent) + string16(typoDescent) + \"\\x00\\x64\" + string16(winAscent) + string16(winDescent) + \"\\x00\\x00\\x00\\x00\" + \"\\x00\\x00\\x00\\x00\" + string16(properties.xHeight) + string16(properties.capHeight) + string16(0) + string16(firstCharIndex || properties.firstChar) + \"\\x00\\x03\";\n }\n\n function createPostTable(properties) {\n var angle = Math.floor(properties.italicAngle * 2 ** 16);\n return \"\\x00\\x03\\x00\\x00\" + (0, _util.string32)(angle) + \"\\x00\\x00\" + \"\\x00\\x00\" + (0, _util.string32)(properties.fixedPitch) + \"\\x00\\x00\\x00\\x00\" + \"\\x00\\x00\\x00\\x00\" + \"\\x00\\x00\\x00\\x00\" + \"\\x00\\x00\\x00\\x00\";\n }\n\n function createNameTable(name, proto) {\n if (!proto) {\n proto = [[], []];\n }\n\n var strings = [proto[0][0] || \"Original licence\", proto[0][1] || name, proto[0][2] || \"Unknown\", proto[0][3] || \"uniqueID\", proto[0][4] || name, proto[0][5] || \"Version 0.11\", proto[0][6] || \"\", proto[0][7] || \"Unknown\", proto[0][8] || \"Unknown\", proto[0][9] || \"Unknown\"];\n var stringsUnicode = [];\n var i, ii, j, jj, str;\n\n for (i = 0, ii = strings.length; i < ii; i++) {\n str = proto[1][i] || strings[i];\n var strBufUnicode = [];\n\n for (j = 0, jj = str.length; j < jj; j++) {\n strBufUnicode.push(string16(str.charCodeAt(j)));\n }\n\n stringsUnicode.push(strBufUnicode.join(\"\"));\n }\n\n var names = [strings, stringsUnicode];\n var platforms = [\"\\x00\\x01\", \"\\x00\\x03\"];\n var encodings = [\"\\x00\\x00\", \"\\x00\\x01\"];\n var languages = [\"\\x00\\x00\", \"\\x04\\x09\"];\n var namesRecordCount = strings.length * platforms.length;\n var nameTable = \"\\x00\\x00\" + string16(namesRecordCount) + string16(namesRecordCount * 12 + 6);\n var strOffset = 0;\n\n for (i = 0, ii = platforms.length; i < ii; i++) {\n var strs = names[i];\n\n for (j = 0, jj = strs.length; j < jj; j++) {\n str = strs[j];\n var nameRecord = platforms[i] + encodings[i] + languages[i] + string16(j) + string16(str.length) + string16(strOffset);\n nameTable += nameRecord;\n strOffset += str.length;\n }\n }\n\n nameTable += strings.join(\"\") + stringsUnicode.join(\"\");\n return nameTable;\n }\n\n Font.prototype = {\n name: null,\n font: null,\n mimetype: null,\n disableFontFace: false,\n\n get renderer() {\n var renderer = _font_renderer.FontRendererFactory.create(this, SEAC_ANALYSIS_ENABLED);\n\n return (0, _util.shadow)(this, \"renderer\", renderer);\n },\n\n exportData(extraProperties = false) {\n const exportDataProperties = extraProperties ? [...EXPORT_DATA_PROPERTIES, ...EXPORT_DATA_EXTRA_PROPERTIES] : EXPORT_DATA_PROPERTIES;\n const data = Object.create(null);\n let property, value;\n\n for (property of exportDataProperties) {\n value = this[property];\n\n if (value !== undefined) {\n data[property] = value;\n }\n }\n\n return data;\n },\n\n fallbackToSystemFont: function Font_fallbackToSystemFont() {\n this.missingFile = true;\n var name = this.name;\n var type = this.type;\n var subtype = this.subtype;\n let fontName = name.replace(/[,_]/g, \"-\").replace(/\\s/g, \"\");\n var stdFontMap = (0, _standard_fonts.getStdFontMap)(),\n nonStdFontMap = (0, _standard_fonts.getNonStdFontMap)();\n var isStandardFont = !!stdFontMap[fontName] || !!(nonStdFontMap[fontName] && stdFontMap[nonStdFontMap[fontName]]);\n fontName = stdFontMap[fontName] || nonStdFontMap[fontName] || fontName;\n this.bold = fontName.search(/bold/gi) !== -1;\n this.italic = fontName.search(/oblique/gi) !== -1 || fontName.search(/italic/gi) !== -1;\n this.black = name.search(/Black/g) !== -1;\n this.remeasure = Object.keys(this.widths).length > 0;\n\n if (isStandardFont && type === \"CIDFontType2\" && this.cidEncoding.startsWith(\"Identity-\")) {\n const GlyphMapForStandardFonts = (0, _standard_fonts.getGlyphMapForStandardFonts)();\n const map = [];\n\n for (const charCode in GlyphMapForStandardFonts) {\n map[+charCode] = GlyphMapForStandardFonts[charCode];\n }\n\n if (/Arial-?Black/i.test(name)) {\n var SupplementalGlyphMapForArialBlack = (0, _standard_fonts.getSupplementalGlyphMapForArialBlack)();\n\n for (const charCode in SupplementalGlyphMapForArialBlack) {\n map[+charCode] = SupplementalGlyphMapForArialBlack[charCode];\n }\n } else if (/Calibri/i.test(name)) {\n const SupplementalGlyphMapForCalibri = (0, _standard_fonts.getSupplementalGlyphMapForCalibri)();\n\n for (const charCode in SupplementalGlyphMapForCalibri) {\n map[+charCode] = SupplementalGlyphMapForCalibri[charCode];\n }\n }\n\n var isIdentityUnicode = this.toUnicode instanceof IdentityToUnicodeMap;\n\n if (!isIdentityUnicode) {\n this.toUnicode.forEach(function (charCode, unicodeCharCode) {\n map[+charCode] = unicodeCharCode;\n });\n }\n\n this.toFontChar = map;\n this.toUnicode = new ToUnicodeMap(map);\n } else if (/Symbol/i.test(fontName)) {\n this.toFontChar = buildToFontChar(_encodings.SymbolSetEncoding, (0, _glyphlist.getGlyphsUnicode)(), this.differences);\n } else if (/Dingbats/i.test(fontName)) {\n if (/Wingdings/i.test(name)) {\n (0, _util.warn)(\"Non-embedded Wingdings font, falling back to ZapfDingbats.\");\n }\n\n this.toFontChar = buildToFontChar(_encodings.ZapfDingbatsEncoding, (0, _glyphlist.getDingbatsGlyphsUnicode)(), this.differences);\n } else if (isStandardFont) {\n this.toFontChar = buildToFontChar(this.defaultEncoding, (0, _glyphlist.getGlyphsUnicode)(), this.differences);\n } else {\n const glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n const map = [];\n this.toUnicode.forEach((charCode, unicodeCharCode) => {\n if (!this.composite) {\n var glyphName = this.differences[charCode] || this.defaultEncoding[charCode];\n const unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n\n if (unicode !== -1) {\n unicodeCharCode = unicode;\n }\n }\n\n map[+charCode] = unicodeCharCode;\n });\n\n if (this.composite && this.toUnicode instanceof IdentityToUnicodeMap) {\n if (/Verdana/i.test(name)) {\n const GlyphMapForStandardFonts = (0, _standard_fonts.getGlyphMapForStandardFonts)();\n\n for (const charCode in GlyphMapForStandardFonts) {\n map[+charCode] = GlyphMapForStandardFonts[charCode];\n }\n }\n }\n\n this.toFontChar = map;\n }\n\n this.loadedName = fontName.split(\"-\")[0];\n this.fontType = getFontType(type, subtype);\n },\n checkAndRepair: function Font_checkAndRepair(name, font, properties) {\n const VALID_TABLES = [\"OS/2\", \"cmap\", \"head\", \"hhea\", \"hmtx\", \"maxp\", \"name\", \"post\", \"loca\", \"glyf\", \"fpgm\", \"prep\", \"cvt \", \"CFF \"];\n\n function readTables(file, numTables) {\n const tables = Object.create(null);\n tables[\"OS/2\"] = null;\n tables.cmap = null;\n tables.head = null;\n tables.hhea = null;\n tables.hmtx = null;\n tables.maxp = null;\n tables.name = null;\n tables.post = null;\n\n for (let i = 0; i < numTables; i++) {\n const table = readTableEntry(file);\n\n if (!VALID_TABLES.includes(table.tag)) {\n continue;\n }\n\n if (table.length === 0) {\n continue;\n }\n\n tables[table.tag] = table;\n }\n\n return tables;\n }\n\n function readTableEntry(file) {\n var tag = (0, _util.bytesToString)(file.getBytes(4));\n var checksum = file.getInt32() >>> 0;\n var offset = file.getInt32() >>> 0;\n var length = file.getInt32() >>> 0;\n var previousPosition = file.pos;\n file.pos = file.start ? file.start : 0;\n file.skip(offset);\n var data = file.getBytes(length);\n file.pos = previousPosition;\n\n if (tag === \"head\") {\n data[8] = data[9] = data[10] = data[11] = 0;\n data[17] |= 0x20;\n }\n\n return {\n tag,\n checksum,\n length,\n offset,\n data\n };\n }\n\n function readOpenTypeHeader(ttf) {\n return {\n version: (0, _util.bytesToString)(ttf.getBytes(4)),\n numTables: ttf.getUint16(),\n searchRange: ttf.getUint16(),\n entrySelector: ttf.getUint16(),\n rangeShift: ttf.getUint16()\n };\n }\n\n function readTrueTypeCollectionHeader(ttc) {\n const ttcTag = (0, _util.bytesToString)(ttc.getBytes(4));\n (0, _util.assert)(ttcTag === \"ttcf\", \"Must be a TrueType Collection font.\");\n const majorVersion = ttc.getUint16();\n const minorVersion = ttc.getUint16();\n const numFonts = ttc.getInt32() >>> 0;\n const offsetTable = [];\n\n for (let i = 0; i < numFonts; i++) {\n offsetTable.push(ttc.getInt32() >>> 0);\n }\n\n const header = {\n ttcTag,\n majorVersion,\n minorVersion,\n numFonts,\n offsetTable\n };\n\n switch (majorVersion) {\n case 1:\n return header;\n\n case 2:\n header.dsigTag = ttc.getInt32() >>> 0;\n header.dsigLength = ttc.getInt32() >>> 0;\n header.dsigOffset = ttc.getInt32() >>> 0;\n return header;\n }\n\n throw new _util.FormatError(`Invalid TrueType Collection majorVersion: ${majorVersion}.`);\n }\n\n function readTrueTypeCollectionData(ttc, fontName) {\n const {\n numFonts,\n offsetTable\n } = readTrueTypeCollectionHeader(ttc);\n\n for (let i = 0; i < numFonts; i++) {\n ttc.pos = (ttc.start || 0) + offsetTable[i];\n const potentialHeader = readOpenTypeHeader(ttc);\n const potentialTables = readTables(ttc, potentialHeader.numTables);\n\n if (!potentialTables.name) {\n throw new _util.FormatError('TrueType Collection font must contain a \"name\" table.');\n }\n\n const nameTable = readNameTable(potentialTables.name);\n\n for (let j = 0, jj = nameTable.length; j < jj; j++) {\n for (let k = 0, kk = nameTable[j].length; k < kk; k++) {\n const nameEntry = nameTable[j][k];\n\n if (nameEntry && nameEntry.replace(/\\s/g, \"\") === fontName) {\n return {\n header: potentialHeader,\n tables: potentialTables\n };\n }\n }\n }\n }\n\n throw new _util.FormatError(`TrueType Collection does not contain \"${fontName}\" font.`);\n }\n\n function readCmapTable(cmap, file, isSymbolicFont, hasEncoding) {\n if (!cmap) {\n (0, _util.warn)(\"No cmap table available.\");\n return {\n platformId: -1,\n encodingId: -1,\n mappings: [],\n hasShortCmap: false\n };\n }\n\n var segment;\n var start = (file.start ? file.start : 0) + cmap.offset;\n file.pos = start;\n file.skip(2);\n var numTables = file.getUint16();\n var potentialTable;\n var canBreak = false;\n\n for (var i = 0; i < numTables; i++) {\n var platformId = file.getUint16();\n var encodingId = file.getUint16();\n var offset = file.getInt32() >>> 0;\n var useTable = false;\n\n if (potentialTable && potentialTable.platformId === platformId && potentialTable.encodingId === encodingId) {\n continue;\n }\n\n if (platformId === 0 && encodingId === 0) {\n useTable = true;\n } else if (platformId === 1 && encodingId === 0) {\n useTable = true;\n } else if (platformId === 3 && encodingId === 1 && (hasEncoding || !potentialTable)) {\n useTable = true;\n\n if (!isSymbolicFont) {\n canBreak = true;\n }\n } else if (isSymbolicFont && platformId === 3 && encodingId === 0) {\n useTable = true;\n canBreak = true;\n }\n\n if (useTable) {\n potentialTable = {\n platformId,\n encodingId,\n offset\n };\n }\n\n if (canBreak) {\n break;\n }\n }\n\n if (potentialTable) {\n file.pos = start + potentialTable.offset;\n }\n\n if (!potentialTable || file.peekByte() === -1) {\n (0, _util.warn)(\"Could not find a preferred cmap table.\");\n return {\n platformId: -1,\n encodingId: -1,\n mappings: [],\n hasShortCmap: false\n };\n }\n\n var format = file.getUint16();\n file.skip(2 + 2);\n var hasShortCmap = false;\n var mappings = [];\n var j, glyphId;\n\n if (format === 0) {\n for (j = 0; j < 256; j++) {\n var index = file.getByte();\n\n if (!index) {\n continue;\n }\n\n mappings.push({\n charCode: j,\n glyphId: index\n });\n }\n\n hasShortCmap = true;\n } else if (format === 4) {\n var segCount = file.getUint16() >> 1;\n file.skip(6);\n var segIndex,\n segments = [];\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segments.push({\n end: file.getUint16()\n });\n }\n\n file.skip(2);\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segments[segIndex].start = file.getUint16();\n }\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segments[segIndex].delta = file.getUint16();\n }\n\n var offsetsCount = 0;\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segment = segments[segIndex];\n var rangeOffset = file.getUint16();\n\n if (!rangeOffset) {\n segment.offsetIndex = -1;\n continue;\n }\n\n var offsetIndex = (rangeOffset >> 1) - (segCount - segIndex);\n segment.offsetIndex = offsetIndex;\n offsetsCount = Math.max(offsetsCount, offsetIndex + segment.end - segment.start + 1);\n }\n\n var offsets = [];\n\n for (j = 0; j < offsetsCount; j++) {\n offsets.push(file.getUint16());\n }\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segment = segments[segIndex];\n start = segment.start;\n var end = segment.end;\n var delta = segment.delta;\n offsetIndex = segment.offsetIndex;\n\n for (j = start; j <= end; j++) {\n if (j === 0xffff) {\n continue;\n }\n\n glyphId = offsetIndex < 0 ? j : offsets[offsetIndex + j - start];\n glyphId = glyphId + delta & 0xffff;\n mappings.push({\n charCode: j,\n glyphId\n });\n }\n }\n } else if (format === 6) {\n var firstCode = file.getUint16();\n var entryCount = file.getUint16();\n\n for (j = 0; j < entryCount; j++) {\n glyphId = file.getUint16();\n var charCode = firstCode + j;\n mappings.push({\n charCode,\n glyphId\n });\n }\n } else {\n (0, _util.warn)(\"cmap table has unsupported format: \" + format);\n return {\n platformId: -1,\n encodingId: -1,\n mappings: [],\n hasShortCmap: false\n };\n }\n\n mappings.sort(function (a, b) {\n return a.charCode - b.charCode;\n });\n\n for (i = 1; i < mappings.length; i++) {\n if (mappings[i - 1].charCode === mappings[i].charCode) {\n mappings.splice(i, 1);\n i--;\n }\n }\n\n return {\n platformId: potentialTable.platformId,\n encodingId: potentialTable.encodingId,\n mappings,\n hasShortCmap\n };\n }\n\n function sanitizeMetrics(file, header, metrics, numGlyphs, dupFirstEntry) {\n if (!header) {\n if (metrics) {\n metrics.data = null;\n }\n\n return;\n }\n\n file.pos = (file.start ? file.start : 0) + header.offset;\n file.pos += 4;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 8;\n file.pos += 2;\n var numOfMetrics = file.getUint16();\n\n if (numOfMetrics > numGlyphs) {\n (0, _util.info)(\"The numOfMetrics (\" + numOfMetrics + \") should not be \" + \"greater than the numGlyphs (\" + numGlyphs + \")\");\n numOfMetrics = numGlyphs;\n header.data[34] = (numOfMetrics & 0xff00) >> 8;\n header.data[35] = numOfMetrics & 0x00ff;\n }\n\n var numOfSidebearings = numGlyphs - numOfMetrics;\n var numMissing = numOfSidebearings - (metrics.length - numOfMetrics * 4 >> 1);\n\n if (numMissing > 0) {\n var entries = new Uint8Array(metrics.length + numMissing * 2);\n entries.set(metrics.data);\n\n if (dupFirstEntry) {\n entries[metrics.length] = metrics.data[2];\n entries[metrics.length + 1] = metrics.data[3];\n }\n\n metrics.data = entries;\n }\n }\n\n function sanitizeGlyph(source, sourceStart, sourceEnd, dest, destStart, hintsValid) {\n var glyphProfile = {\n length: 0,\n sizeOfInstructions: 0\n };\n\n if (sourceEnd - sourceStart <= 12) {\n return glyphProfile;\n }\n\n var glyf = source.subarray(sourceStart, sourceEnd);\n var contoursCount = signedInt16(glyf[0], glyf[1]);\n\n if (contoursCount < 0) {\n contoursCount = -1;\n writeSignedInt16(glyf, 0, contoursCount);\n dest.set(glyf, destStart);\n glyphProfile.length = glyf.length;\n return glyphProfile;\n }\n\n var i,\n j = 10,\n flagsCount = 0;\n\n for (i = 0; i < contoursCount; i++) {\n var endPoint = glyf[j] << 8 | glyf[j + 1];\n flagsCount = endPoint + 1;\n j += 2;\n }\n\n var instructionsStart = j;\n var instructionsLength = glyf[j] << 8 | glyf[j + 1];\n glyphProfile.sizeOfInstructions = instructionsLength;\n j += 2 + instructionsLength;\n var instructionsEnd = j;\n var coordinatesLength = 0;\n\n for (i = 0; i < flagsCount; i++) {\n var flag = glyf[j++];\n\n if (flag & 0xc0) {\n glyf[j - 1] = flag & 0x3f;\n }\n\n let xLength = 2;\n\n if (flag & 2) {\n xLength = 1;\n } else if (flag & 16) {\n xLength = 0;\n }\n\n let yLength = 2;\n\n if (flag & 4) {\n yLength = 1;\n } else if (flag & 32) {\n yLength = 0;\n }\n\n const xyLength = xLength + yLength;\n coordinatesLength += xyLength;\n\n if (flag & 8) {\n var repeat = glyf[j++];\n i += repeat;\n coordinatesLength += repeat * xyLength;\n }\n }\n\n if (coordinatesLength === 0) {\n return glyphProfile;\n }\n\n var glyphDataLength = j + coordinatesLength;\n\n if (glyphDataLength > glyf.length) {\n return glyphProfile;\n }\n\n if (!hintsValid && instructionsLength > 0) {\n dest.set(glyf.subarray(0, instructionsStart), destStart);\n dest.set([0, 0], destStart + instructionsStart);\n dest.set(glyf.subarray(instructionsEnd, glyphDataLength), destStart + instructionsStart + 2);\n glyphDataLength -= instructionsLength;\n\n if (glyf.length - glyphDataLength > 3) {\n glyphDataLength = glyphDataLength + 3 & ~3;\n }\n\n glyphProfile.length = glyphDataLength;\n return glyphProfile;\n }\n\n if (glyf.length - glyphDataLength > 3) {\n glyphDataLength = glyphDataLength + 3 & ~3;\n dest.set(glyf.subarray(0, glyphDataLength), destStart);\n glyphProfile.length = glyphDataLength;\n return glyphProfile;\n }\n\n dest.set(glyf, destStart);\n glyphProfile.length = glyf.length;\n return glyphProfile;\n }\n\n function sanitizeHead(head, numGlyphs, locaLength) {\n var data = head.data;\n var version = int32(data[0], data[1], data[2], data[3]);\n\n if (version >> 16 !== 1) {\n (0, _util.info)(\"Attempting to fix invalid version in head table: \" + version);\n data[0] = 0;\n data[1] = 1;\n data[2] = 0;\n data[3] = 0;\n }\n\n var indexToLocFormat = int16(data[50], data[51]);\n\n if (indexToLocFormat < 0 || indexToLocFormat > 1) {\n (0, _util.info)(\"Attempting to fix invalid indexToLocFormat in head table: \" + indexToLocFormat);\n var numGlyphsPlusOne = numGlyphs + 1;\n\n if (locaLength === numGlyphsPlusOne << 1) {\n data[50] = 0;\n data[51] = 0;\n } else if (locaLength === numGlyphsPlusOne << 2) {\n data[50] = 0;\n data[51] = 1;\n } else {\n throw new _util.FormatError(\"Could not fix indexToLocFormat: \" + indexToLocFormat);\n }\n }\n }\n\n function sanitizeGlyphLocations(loca, glyf, numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions) {\n var itemSize, itemDecode, itemEncode;\n\n if (isGlyphLocationsLong) {\n itemSize = 4;\n\n itemDecode = function fontItemDecodeLong(data, offset) {\n return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n };\n\n itemEncode = function fontItemEncodeLong(data, offset, value) {\n data[offset] = value >>> 24 & 0xff;\n data[offset + 1] = value >> 16 & 0xff;\n data[offset + 2] = value >> 8 & 0xff;\n data[offset + 3] = value & 0xff;\n };\n } else {\n itemSize = 2;\n\n itemDecode = function fontItemDecode(data, offset) {\n return data[offset] << 9 | data[offset + 1] << 1;\n };\n\n itemEncode = function fontItemEncode(data, offset, value) {\n data[offset] = value >> 9 & 0xff;\n data[offset + 1] = value >> 1 & 0xff;\n };\n }\n\n var numGlyphsOut = dupFirstEntry ? numGlyphs + 1 : numGlyphs;\n var locaDataSize = itemSize * (1 + numGlyphsOut);\n var locaData = new Uint8Array(locaDataSize);\n locaData.set(loca.data.subarray(0, locaDataSize));\n loca.data = locaData;\n var oldGlyfData = glyf.data;\n var oldGlyfDataLength = oldGlyfData.length;\n var newGlyfData = new Uint8Array(oldGlyfDataLength);\n var startOffset = itemDecode(locaData, 0);\n var writeOffset = 0;\n var missingGlyphs = Object.create(null);\n itemEncode(locaData, 0, writeOffset);\n var i, j;\n\n for (i = 0, j = itemSize; i < numGlyphs; i++, j += itemSize) {\n var endOffset = itemDecode(locaData, j);\n\n if (endOffset === 0) {\n endOffset = startOffset;\n }\n\n if (endOffset > oldGlyfDataLength && (oldGlyfDataLength + 3 & ~3) === endOffset) {\n endOffset = oldGlyfDataLength;\n }\n\n if (endOffset > oldGlyfDataLength) {\n startOffset = endOffset;\n }\n\n var glyphProfile = sanitizeGlyph(oldGlyfData, startOffset, endOffset, newGlyfData, writeOffset, hintsValid);\n var newLength = glyphProfile.length;\n\n if (newLength === 0) {\n missingGlyphs[i] = true;\n }\n\n if (glyphProfile.sizeOfInstructions > maxSizeOfInstructions) {\n maxSizeOfInstructions = glyphProfile.sizeOfInstructions;\n }\n\n writeOffset += newLength;\n itemEncode(locaData, j, writeOffset);\n startOffset = endOffset;\n }\n\n if (writeOffset === 0) {\n var simpleGlyph = new Uint8Array([0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0]);\n\n for (i = 0, j = itemSize; i < numGlyphsOut; i++, j += itemSize) {\n itemEncode(locaData, j, simpleGlyph.length);\n }\n\n glyf.data = simpleGlyph;\n } else if (dupFirstEntry) {\n var firstEntryLength = itemDecode(locaData, itemSize);\n\n if (newGlyfData.length > firstEntryLength + writeOffset) {\n glyf.data = newGlyfData.subarray(0, firstEntryLength + writeOffset);\n } else {\n glyf.data = new Uint8Array(firstEntryLength + writeOffset);\n glyf.data.set(newGlyfData.subarray(0, writeOffset));\n }\n\n glyf.data.set(newGlyfData.subarray(0, firstEntryLength), writeOffset);\n itemEncode(loca.data, locaData.length - itemSize, writeOffset + firstEntryLength);\n } else {\n glyf.data = newGlyfData.subarray(0, writeOffset);\n }\n\n return {\n missingGlyphs,\n maxSizeOfInstructions\n };\n }\n\n function readPostScriptTable(post, propertiesObj, maxpNumGlyphs) {\n var start = (font.start ? font.start : 0) + post.offset;\n font.pos = start;\n var length = post.length,\n end = start + length;\n var version = font.getInt32();\n font.skip(28);\n var glyphNames;\n var valid = true;\n var i;\n\n switch (version) {\n case 0x00010000:\n glyphNames = MacStandardGlyphOrdering;\n break;\n\n case 0x00020000:\n var numGlyphs = font.getUint16();\n\n if (numGlyphs !== maxpNumGlyphs) {\n valid = false;\n break;\n }\n\n var glyphNameIndexes = [];\n\n for (i = 0; i < numGlyphs; ++i) {\n var index = font.getUint16();\n\n if (index >= 32768) {\n valid = false;\n break;\n }\n\n glyphNameIndexes.push(index);\n }\n\n if (!valid) {\n break;\n }\n\n var customNames = [];\n var strBuf = [];\n\n while (font.pos < end) {\n var stringLength = font.getByte();\n strBuf.length = stringLength;\n\n for (i = 0; i < stringLength; ++i) {\n strBuf[i] = String.fromCharCode(font.getByte());\n }\n\n customNames.push(strBuf.join(\"\"));\n }\n\n glyphNames = [];\n\n for (i = 0; i < numGlyphs; ++i) {\n var j = glyphNameIndexes[i];\n\n if (j < 258) {\n glyphNames.push(MacStandardGlyphOrdering[j]);\n continue;\n }\n\n glyphNames.push(customNames[j - 258]);\n }\n\n break;\n\n case 0x00030000:\n break;\n\n default:\n (0, _util.warn)(\"Unknown/unsupported post table version \" + version);\n valid = false;\n\n if (propertiesObj.defaultEncoding) {\n glyphNames = propertiesObj.defaultEncoding;\n }\n\n break;\n }\n\n propertiesObj.glyphNames = glyphNames;\n return valid;\n }\n\n function readNameTable(nameTable) {\n var start = (font.start ? font.start : 0) + nameTable.offset;\n font.pos = start;\n var names = [[], []];\n var length = nameTable.length,\n end = start + length;\n var format = font.getUint16();\n var FORMAT_0_HEADER_LENGTH = 6;\n\n if (format !== 0 || length < FORMAT_0_HEADER_LENGTH) {\n return names;\n }\n\n var numRecords = font.getUint16();\n var stringsStart = font.getUint16();\n var records = [];\n var NAME_RECORD_LENGTH = 12;\n var i, ii;\n\n for (i = 0; i < numRecords && font.pos + NAME_RECORD_LENGTH <= end; i++) {\n var r = {\n platform: font.getUint16(),\n encoding: font.getUint16(),\n language: font.getUint16(),\n name: font.getUint16(),\n length: font.getUint16(),\n offset: font.getUint16()\n };\n\n if (r.platform === 1 && r.encoding === 0 && r.language === 0 || r.platform === 3 && r.encoding === 1 && r.language === 0x409) {\n records.push(r);\n }\n }\n\n for (i = 0, ii = records.length; i < ii; i++) {\n var record = records[i];\n\n if (record.length <= 0) {\n continue;\n }\n\n var pos = start + stringsStart + record.offset;\n\n if (pos + record.length > end) {\n continue;\n }\n\n font.pos = pos;\n var nameIndex = record.name;\n\n if (record.encoding) {\n var str = \"\";\n\n for (var j = 0, jj = record.length; j < jj; j += 2) {\n str += String.fromCharCode(font.getUint16());\n }\n\n names[1][nameIndex] = str;\n } else {\n names[0][nameIndex] = (0, _util.bytesToString)(font.getBytes(record.length));\n }\n }\n\n return names;\n }\n\n var TTOpsStackDeltas = [0, 0, 0, 0, 0, 0, 0, 0, -2, -2, -2, -2, 0, 0, -2, -5, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, -1, -1, 1, -1, -999, 0, 1, 0, -1, -2, 0, -1, -2, -1, -1, 0, -1, -1, 0, 0, -999, -999, -1, -1, -1, -1, -2, -999, -2, -2, -999, 0, -2, -2, 0, 0, -2, 0, -2, 0, 0, 0, -2, -1, -1, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, 0, -999, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, -999, -999, -999, -999, -999, -1, -1, -2, -2, 0, 0, 0, 0, -1, -1, -999, -2, -2, 0, 0, -1, -2, -2, 0, 0, 0, -1, -1, -1, -2];\n\n function sanitizeTTProgram(table, ttContext) {\n var data = table.data;\n var i = 0,\n j,\n n,\n b,\n funcId,\n pc,\n lastEndf = 0,\n lastDeff = 0;\n var stack = [];\n var callstack = [];\n var functionsCalled = [];\n var tooComplexToFollowFunctions = ttContext.tooComplexToFollowFunctions;\n var inFDEF = false,\n ifLevel = 0,\n inELSE = 0;\n\n for (var ii = data.length; i < ii;) {\n var op = data[i++];\n\n if (op === 0x40) {\n n = data[i++];\n\n if (inFDEF || inELSE) {\n i += n;\n } else {\n for (j = 0; j < n; j++) {\n stack.push(data[i++]);\n }\n }\n } else if (op === 0x41) {\n n = data[i++];\n\n if (inFDEF || inELSE) {\n i += n * 2;\n } else {\n for (j = 0; j < n; j++) {\n b = data[i++];\n stack.push(b << 8 | data[i++]);\n }\n }\n } else if ((op & 0xf8) === 0xb0) {\n n = op - 0xb0 + 1;\n\n if (inFDEF || inELSE) {\n i += n;\n } else {\n for (j = 0; j < n; j++) {\n stack.push(data[i++]);\n }\n }\n } else if ((op & 0xf8) === 0xb8) {\n n = op - 0xb8 + 1;\n\n if (inFDEF || inELSE) {\n i += n * 2;\n } else {\n for (j = 0; j < n; j++) {\n b = data[i++];\n stack.push(b << 8 | data[i++]);\n }\n }\n } else if (op === 0x2b && !tooComplexToFollowFunctions) {\n if (!inFDEF && !inELSE) {\n funcId = stack[stack.length - 1];\n\n if (isNaN(funcId)) {\n (0, _util.info)(\"TT: CALL empty stack (or invalid entry).\");\n } else {\n ttContext.functionsUsed[funcId] = true;\n\n if (funcId in ttContext.functionsStackDeltas) {\n const newStackLength = stack.length + ttContext.functionsStackDeltas[funcId];\n\n if (newStackLength < 0) {\n (0, _util.warn)(\"TT: CALL invalid functions stack delta.\");\n ttContext.hintsValid = false;\n return;\n }\n\n stack.length = newStackLength;\n } else if (funcId in ttContext.functionsDefined && !functionsCalled.includes(funcId)) {\n callstack.push({\n data,\n i,\n stackTop: stack.length - 1\n });\n functionsCalled.push(funcId);\n pc = ttContext.functionsDefined[funcId];\n\n if (!pc) {\n (0, _util.warn)(\"TT: CALL non-existent function\");\n ttContext.hintsValid = false;\n return;\n }\n\n data = pc.data;\n i = pc.i;\n }\n }\n }\n } else if (op === 0x2c && !tooComplexToFollowFunctions) {\n if (inFDEF || inELSE) {\n (0, _util.warn)(\"TT: nested FDEFs not allowed\");\n tooComplexToFollowFunctions = true;\n }\n\n inFDEF = true;\n lastDeff = i;\n funcId = stack.pop();\n ttContext.functionsDefined[funcId] = {\n data,\n i\n };\n } else if (op === 0x2d) {\n if (inFDEF) {\n inFDEF = false;\n lastEndf = i;\n } else {\n pc = callstack.pop();\n\n if (!pc) {\n (0, _util.warn)(\"TT: ENDF bad stack\");\n ttContext.hintsValid = false;\n return;\n }\n\n funcId = functionsCalled.pop();\n data = pc.data;\n i = pc.i;\n ttContext.functionsStackDeltas[funcId] = stack.length - pc.stackTop;\n }\n } else if (op === 0x89) {\n if (inFDEF || inELSE) {\n (0, _util.warn)(\"TT: nested IDEFs not allowed\");\n tooComplexToFollowFunctions = true;\n }\n\n inFDEF = true;\n lastDeff = i;\n } else if (op === 0x58) {\n ++ifLevel;\n } else if (op === 0x1b) {\n inELSE = ifLevel;\n } else if (op === 0x59) {\n if (inELSE === ifLevel) {\n inELSE = 0;\n }\n\n --ifLevel;\n } else if (op === 0x1c) {\n if (!inFDEF && !inELSE) {\n var offset = stack[stack.length - 1];\n\n if (offset > 0) {\n i += offset - 1;\n }\n }\n }\n\n if (!inFDEF && !inELSE) {\n let stackDelta = 0;\n\n if (op <= 0x8e) {\n stackDelta = TTOpsStackDeltas[op];\n } else if (op >= 0xc0 && op <= 0xdf) {\n stackDelta = -1;\n } else if (op >= 0xe0) {\n stackDelta = -2;\n }\n\n if (op >= 0x71 && op <= 0x75) {\n n = stack.pop();\n\n if (!isNaN(n)) {\n stackDelta = -n * 2;\n }\n }\n\n while (stackDelta < 0 && stack.length > 0) {\n stack.pop();\n stackDelta++;\n }\n\n while (stackDelta > 0) {\n stack.push(NaN);\n stackDelta--;\n }\n }\n }\n\n ttContext.tooComplexToFollowFunctions = tooComplexToFollowFunctions;\n var content = [data];\n\n if (i > data.length) {\n content.push(new Uint8Array(i - data.length));\n }\n\n if (lastDeff > lastEndf) {\n (0, _util.warn)(\"TT: complementing a missing function tail\");\n content.push(new Uint8Array([0x22, 0x2d]));\n }\n\n foldTTTable(table, content);\n }\n\n function checkInvalidFunctions(ttContext, maxFunctionDefs) {\n if (ttContext.tooComplexToFollowFunctions) {\n return;\n }\n\n if (ttContext.functionsDefined.length > maxFunctionDefs) {\n (0, _util.warn)(\"TT: more functions defined than expected\");\n ttContext.hintsValid = false;\n return;\n }\n\n for (var j = 0, jj = ttContext.functionsUsed.length; j < jj; j++) {\n if (j > maxFunctionDefs) {\n (0, _util.warn)(\"TT: invalid function id: \" + j);\n ttContext.hintsValid = false;\n return;\n }\n\n if (ttContext.functionsUsed[j] && !ttContext.functionsDefined[j]) {\n (0, _util.warn)(\"TT: undefined function: \" + j);\n ttContext.hintsValid = false;\n return;\n }\n }\n }\n\n function foldTTTable(table, content) {\n if (content.length > 1) {\n var newLength = 0;\n var j, jj;\n\n for (j = 0, jj = content.length; j < jj; j++) {\n newLength += content[j].length;\n }\n\n newLength = newLength + 3 & ~3;\n var result = new Uint8Array(newLength);\n var pos = 0;\n\n for (j = 0, jj = content.length; j < jj; j++) {\n result.set(content[j], pos);\n pos += content[j].length;\n }\n\n table.data = result;\n table.length = newLength;\n }\n }\n\n function sanitizeTTPrograms(fpgm, prep, cvt, maxFunctionDefs) {\n var ttContext = {\n functionsDefined: [],\n functionsUsed: [],\n functionsStackDeltas: [],\n tooComplexToFollowFunctions: false,\n hintsValid: true\n };\n\n if (fpgm) {\n sanitizeTTProgram(fpgm, ttContext);\n }\n\n if (prep) {\n sanitizeTTProgram(prep, ttContext);\n }\n\n if (fpgm) {\n checkInvalidFunctions(ttContext, maxFunctionDefs);\n }\n\n if (cvt && cvt.length & 1) {\n var cvtData = new Uint8Array(cvt.length + 1);\n cvtData.set(cvt.data);\n cvt.data = cvtData;\n }\n\n return ttContext.hintsValid;\n }\n\n font = new _stream.Stream(new Uint8Array(font.getBytes()));\n let header, tables;\n\n if (isTrueTypeCollectionFile(font)) {\n const ttcData = readTrueTypeCollectionData(font, this.name);\n header = ttcData.header;\n tables = ttcData.tables;\n } else {\n header = readOpenTypeHeader(font);\n tables = readTables(font, header.numTables);\n }\n\n let cff, cffFile;\n var isTrueType = !tables[\"CFF \"];\n\n if (!isTrueType) {\n const isComposite = properties.composite && ((properties.cidToGidMap || []).length > 0 || !(properties.cMap instanceof _cmap.IdentityCMap));\n\n if (header.version === \"OTTO\" && !isComposite || !tables.head || !tables.hhea || !tables.maxp || !tables.post) {\n cffFile = new _stream.Stream(tables[\"CFF \"].data);\n cff = new CFFFont(cffFile, properties);\n adjustWidths(properties);\n return this.convert(name, cff, properties);\n }\n\n delete tables.glyf;\n delete tables.loca;\n delete tables.fpgm;\n delete tables.prep;\n delete tables[\"cvt \"];\n this.isOpenType = true;\n } else {\n if (!tables.loca) {\n throw new _util.FormatError('Required \"loca\" table is not found');\n }\n\n if (!tables.glyf) {\n (0, _util.warn)('Required \"glyf\" table is not found -- trying to recover.');\n tables.glyf = {\n tag: \"glyf\",\n data: new Uint8Array(0)\n };\n }\n\n this.isOpenType = false;\n }\n\n if (!tables.maxp) {\n throw new _util.FormatError('Required \"maxp\" table is not found');\n }\n\n font.pos = (font.start || 0) + tables.maxp.offset;\n var version = font.getInt32();\n const numGlyphs = font.getUint16();\n let numGlyphsOut = numGlyphs + 1;\n let dupFirstEntry = true;\n\n if (numGlyphsOut > 0xffff) {\n dupFirstEntry = false;\n numGlyphsOut = numGlyphs;\n (0, _util.warn)(\"Not enough space in glyfs to duplicate first glyph.\");\n }\n\n var maxFunctionDefs = 0;\n var maxSizeOfInstructions = 0;\n\n if (version >= 0x00010000 && tables.maxp.length >= 22) {\n font.pos += 8;\n var maxZones = font.getUint16();\n\n if (maxZones > 2) {\n tables.maxp.data[14] = 0;\n tables.maxp.data[15] = 2;\n }\n\n font.pos += 4;\n maxFunctionDefs = font.getUint16();\n font.pos += 4;\n maxSizeOfInstructions = font.getUint16();\n }\n\n tables.maxp.data[4] = numGlyphsOut >> 8;\n tables.maxp.data[5] = numGlyphsOut & 255;\n var hintsValid = sanitizeTTPrograms(tables.fpgm, tables.prep, tables[\"cvt \"], maxFunctionDefs);\n\n if (!hintsValid) {\n delete tables.fpgm;\n delete tables.prep;\n delete tables[\"cvt \"];\n }\n\n sanitizeMetrics(font, tables.hhea, tables.hmtx, numGlyphsOut, dupFirstEntry);\n\n if (!tables.head) {\n throw new _util.FormatError('Required \"head\" table is not found');\n }\n\n sanitizeHead(tables.head, numGlyphs, isTrueType ? tables.loca.length : 0);\n var missingGlyphs = Object.create(null);\n\n if (isTrueType) {\n var isGlyphLocationsLong = int16(tables.head.data[50], tables.head.data[51]);\n var glyphsInfo = sanitizeGlyphLocations(tables.loca, tables.glyf, numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions);\n missingGlyphs = glyphsInfo.missingGlyphs;\n\n if (version >= 0x00010000 && tables.maxp.length >= 22) {\n tables.maxp.data[26] = glyphsInfo.maxSizeOfInstructions >> 8;\n tables.maxp.data[27] = glyphsInfo.maxSizeOfInstructions & 255;\n }\n }\n\n if (!tables.hhea) {\n throw new _util.FormatError('Required \"hhea\" table is not found');\n }\n\n if (tables.hhea.data[10] === 0 && tables.hhea.data[11] === 0) {\n tables.hhea.data[10] = 0xff;\n tables.hhea.data[11] = 0xff;\n }\n\n var metricsOverride = {\n unitsPerEm: int16(tables.head.data[18], tables.head.data[19]),\n yMax: int16(tables.head.data[42], tables.head.data[43]),\n yMin: signedInt16(tables.head.data[38], tables.head.data[39]),\n ascent: int16(tables.hhea.data[4], tables.hhea.data[5]),\n descent: signedInt16(tables.hhea.data[6], tables.hhea.data[7])\n };\n this.ascent = metricsOverride.ascent / metricsOverride.unitsPerEm;\n this.descent = metricsOverride.descent / metricsOverride.unitsPerEm;\n\n if (tables.post) {\n readPostScriptTable(tables.post, properties, numGlyphs);\n }\n\n tables.post = {\n tag: \"post\",\n data: createPostTable(properties)\n };\n const charCodeToGlyphId = [];\n\n function hasGlyph(glyphId) {\n return !missingGlyphs[glyphId];\n }\n\n if (properties.composite) {\n var cidToGidMap = properties.cidToGidMap || [];\n var isCidToGidMapEmpty = cidToGidMap.length === 0;\n properties.cMap.forEach(function (charCode, cid) {\n if (cid > 0xffff) {\n throw new _util.FormatError(\"Max size of CID is 65,535\");\n }\n\n var glyphId = -1;\n\n if (isCidToGidMapEmpty) {\n glyphId = cid;\n } else if (cidToGidMap[cid] !== undefined) {\n glyphId = cidToGidMap[cid];\n }\n\n if (glyphId >= 0 && glyphId < numGlyphs && hasGlyph(glyphId)) {\n charCodeToGlyphId[charCode] = glyphId;\n }\n });\n } else {\n var cmapTable = readCmapTable(tables.cmap, font, this.isSymbolicFont, properties.hasEncoding);\n var cmapPlatformId = cmapTable.platformId;\n var cmapEncodingId = cmapTable.encodingId;\n var cmapMappings = cmapTable.mappings;\n var cmapMappingsLength = cmapMappings.length;\n\n if (properties.hasEncoding && (cmapPlatformId === 3 && cmapEncodingId === 1 || cmapPlatformId === 1 && cmapEncodingId === 0) || cmapPlatformId === -1 && cmapEncodingId === -1 && !!(0, _encodings.getEncoding)(properties.baseEncodingName)) {\n var baseEncoding = [];\n\n if (properties.baseEncodingName === \"MacRomanEncoding\" || properties.baseEncodingName === \"WinAnsiEncoding\") {\n baseEncoding = (0, _encodings.getEncoding)(properties.baseEncodingName);\n }\n\n var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n\n for (let charCode = 0; charCode < 256; charCode++) {\n var glyphName, standardGlyphName;\n\n if (this.differences && charCode in this.differences) {\n glyphName = this.differences[charCode];\n } else if (charCode in baseEncoding && baseEncoding[charCode] !== \"\") {\n glyphName = baseEncoding[charCode];\n } else {\n glyphName = _encodings.StandardEncoding[charCode];\n }\n\n if (!glyphName) {\n continue;\n }\n\n standardGlyphName = recoverGlyphName(glyphName, glyphsUnicodeMap);\n var unicodeOrCharCode;\n\n if (cmapPlatformId === 3 && cmapEncodingId === 1) {\n unicodeOrCharCode = glyphsUnicodeMap[standardGlyphName];\n } else if (cmapPlatformId === 1 && cmapEncodingId === 0) {\n unicodeOrCharCode = _encodings.MacRomanEncoding.indexOf(standardGlyphName);\n }\n\n var found = false;\n\n for (let i = 0; i < cmapMappingsLength; ++i) {\n if (cmapMappings[i].charCode !== unicodeOrCharCode) {\n continue;\n }\n\n charCodeToGlyphId[charCode] = cmapMappings[i].glyphId;\n found = true;\n break;\n }\n\n if (!found && properties.glyphNames) {\n var glyphId = properties.glyphNames.indexOf(glyphName);\n\n if (glyphId === -1 && standardGlyphName !== glyphName) {\n glyphId = properties.glyphNames.indexOf(standardGlyphName);\n }\n\n if (glyphId > 0 && hasGlyph(glyphId)) {\n charCodeToGlyphId[charCode] = glyphId;\n }\n }\n }\n } else if (cmapPlatformId === 0 && cmapEncodingId === 0) {\n for (let i = 0; i < cmapMappingsLength; ++i) {\n charCodeToGlyphId[cmapMappings[i].charCode] = cmapMappings[i].glyphId;\n }\n } else {\n for (let i = 0; i < cmapMappingsLength; ++i) {\n let charCode = cmapMappings[i].charCode;\n\n if (cmapPlatformId === 3 && charCode >= 0xf000 && charCode <= 0xf0ff) {\n charCode &= 0xff;\n }\n\n charCodeToGlyphId[charCode] = cmapMappings[i].glyphId;\n }\n }\n }\n\n if (charCodeToGlyphId.length === 0) {\n charCodeToGlyphId[0] = 0;\n }\n\n let glyphZeroId = numGlyphsOut - 1;\n\n if (!dupFirstEntry) {\n glyphZeroId = 0;\n }\n\n var newMapping = adjustMapping(charCodeToGlyphId, hasGlyph, glyphZeroId);\n this.toFontChar = newMapping.toFontChar;\n tables.cmap = {\n tag: \"cmap\",\n data: createCmapTable(newMapping.charCodeToGlyphId, numGlyphsOut)\n };\n\n if (!tables[\"OS/2\"] || !validateOS2Table(tables[\"OS/2\"], font)) {\n tables[\"OS/2\"] = {\n tag: \"OS/2\",\n data: createOS2Table(properties, newMapping.charCodeToGlyphId, metricsOverride)\n };\n }\n\n if (!isTrueType) {\n try {\n cffFile = new _stream.Stream(tables[\"CFF \"].data);\n var parser = new _cff_parser.CFFParser(cffFile, properties, SEAC_ANALYSIS_ENABLED);\n cff = parser.parse();\n cff.duplicateFirstGlyph();\n var compiler = new _cff_parser.CFFCompiler(cff);\n tables[\"CFF \"].data = compiler.compile();\n } catch (e) {\n (0, _util.warn)(\"Failed to compile font \" + properties.loadedName);\n }\n }\n\n if (!tables.name) {\n tables.name = {\n tag: \"name\",\n data: createNameTable(this.name)\n };\n } else {\n var namePrototype = readNameTable(tables.name);\n tables.name.data = createNameTable(name, namePrototype);\n }\n\n var builder = new OpenTypeFileBuilder(header.version);\n\n for (var tableTag in tables) {\n builder.addTable(tableTag, tables[tableTag].data);\n }\n\n return builder.toArray();\n },\n convert: function Font_convert(fontName, font, properties) {\n properties.fixedPitch = false;\n\n if (properties.builtInEncoding) {\n adjustToUnicode(properties, properties.builtInEncoding);\n }\n\n let glyphZeroId = 1;\n\n if (font instanceof CFFFont) {\n glyphZeroId = font.numGlyphs - 1;\n }\n\n var mapping = font.getGlyphMapping(properties);\n var newMapping = adjustMapping(mapping, font.hasGlyphId.bind(font), glyphZeroId);\n this.toFontChar = newMapping.toFontChar;\n var numGlyphs = font.numGlyphs;\n\n function getCharCodes(charCodeToGlyphId, glyphId) {\n var charCodes = null;\n\n for (var charCode in charCodeToGlyphId) {\n if (glyphId === charCodeToGlyphId[charCode]) {\n if (!charCodes) {\n charCodes = [];\n }\n\n charCodes.push(charCode | 0);\n }\n }\n\n return charCodes;\n }\n\n function createCharCode(charCodeToGlyphId, glyphId) {\n for (var charCode in charCodeToGlyphId) {\n if (glyphId === charCodeToGlyphId[charCode]) {\n return charCode | 0;\n }\n }\n\n newMapping.charCodeToGlyphId[newMapping.nextAvailableFontCharCode] = glyphId;\n return newMapping.nextAvailableFontCharCode++;\n }\n\n var seacs = font.seacs;\n\n if (SEAC_ANALYSIS_ENABLED && seacs && seacs.length) {\n var matrix = properties.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n var charset = font.getCharset();\n var seacMap = Object.create(null);\n\n for (var glyphId in seacs) {\n glyphId |= 0;\n var seac = seacs[glyphId];\n var baseGlyphName = _encodings.StandardEncoding[seac[2]];\n var accentGlyphName = _encodings.StandardEncoding[seac[3]];\n var baseGlyphId = charset.indexOf(baseGlyphName);\n var accentGlyphId = charset.indexOf(accentGlyphName);\n\n if (baseGlyphId < 0 || accentGlyphId < 0) {\n continue;\n }\n\n var accentOffset = {\n x: seac[0] * matrix[0] + seac[1] * matrix[2] + matrix[4],\n y: seac[0] * matrix[1] + seac[1] * matrix[3] + matrix[5]\n };\n var charCodes = getCharCodes(mapping, glyphId);\n\n if (!charCodes) {\n continue;\n }\n\n for (let i = 0, ii = charCodes.length; i < ii; i++) {\n var charCode = charCodes[i];\n var charCodeToGlyphId = newMapping.charCodeToGlyphId;\n var baseFontCharCode = createCharCode(charCodeToGlyphId, baseGlyphId);\n var accentFontCharCode = createCharCode(charCodeToGlyphId, accentGlyphId);\n seacMap[charCode] = {\n baseFontCharCode,\n accentFontCharCode,\n accentOffset\n };\n }\n }\n\n properties.seacMap = seacMap;\n }\n\n var unitsPerEm = 1 / (properties.fontMatrix || _util.FONT_IDENTITY_MATRIX)[0];\n var builder = new OpenTypeFileBuilder(\"\\x4F\\x54\\x54\\x4F\");\n builder.addTable(\"CFF \", font.data);\n builder.addTable(\"OS/2\", createOS2Table(properties, newMapping.charCodeToGlyphId));\n builder.addTable(\"cmap\", createCmapTable(newMapping.charCodeToGlyphId, numGlyphs));\n builder.addTable(\"head\", \"\\x00\\x01\\x00\\x00\" + \"\\x00\\x00\\x10\\x00\" + \"\\x00\\x00\\x00\\x00\" + \"\\x5F\\x0F\\x3C\\xF5\" + \"\\x00\\x00\" + safeString16(unitsPerEm) + \"\\x00\\x00\\x00\\x00\\x9e\\x0b\\x7e\\x27\" + \"\\x00\\x00\\x00\\x00\\x9e\\x0b\\x7e\\x27\" + \"\\x00\\x00\" + safeString16(properties.descent) + \"\\x0F\\xFF\" + safeString16(properties.ascent) + string16(properties.italicAngle ? 2 : 0) + \"\\x00\\x11\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\");\n builder.addTable(\"hhea\", \"\\x00\\x01\\x00\\x00\" + safeString16(properties.ascent) + safeString16(properties.descent) + \"\\x00\\x00\" + \"\\xFF\\xFF\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + safeString16(properties.capHeight) + safeString16(Math.tan(properties.italicAngle) * properties.xHeight) + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + string16(numGlyphs));\n builder.addTable(\"hmtx\", function fontFieldsHmtx() {\n var charstrings = font.charstrings;\n var cffWidths = font.cff ? font.cff.widths : null;\n var hmtx = \"\\x00\\x00\\x00\\x00\";\n\n for (let i = 1, ii = numGlyphs; i < ii; i++) {\n var width = 0;\n\n if (charstrings) {\n var charstring = charstrings[i - 1];\n width = \"width\" in charstring ? charstring.width : 0;\n } else if (cffWidths) {\n width = Math.ceil(cffWidths[i] || 0);\n }\n\n hmtx += string16(width) + string16(0);\n }\n\n return hmtx;\n }());\n builder.addTable(\"maxp\", \"\\x00\\x00\\x50\\x00\" + string16(numGlyphs));\n builder.addTable(\"name\", createNameTable(fontName));\n builder.addTable(\"post\", createPostTable(properties));\n return builder.toArray();\n },\n\n get spaceWidth() {\n var possibleSpaceReplacements = [\"space\", \"minus\", \"one\", \"i\", \"I\"];\n var width;\n\n for (var i = 0, ii = possibleSpaceReplacements.length; i < ii; i++) {\n var glyphName = possibleSpaceReplacements[i];\n\n if (glyphName in this.widths) {\n width = this.widths[glyphName];\n break;\n }\n\n var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n var glyphUnicode = glyphsUnicodeMap[glyphName];\n var charcode = 0;\n\n if (this.composite && this.cMap.contains(glyphUnicode)) {\n charcode = this.cMap.lookup(glyphUnicode);\n }\n\n if (!charcode && this.toUnicode) {\n charcode = this.toUnicode.charCodeOf(glyphUnicode);\n }\n\n if (charcode <= 0) {\n charcode = glyphUnicode;\n }\n\n width = this.widths[charcode];\n\n if (width) {\n break;\n }\n }\n\n width = width || this.defaultWidth;\n return (0, _util.shadow)(this, \"spaceWidth\", width);\n },\n\n charToGlyph: function Font_charToGlyph(charcode, isSpace) {\n var fontCharCode, width, operatorListId;\n var widthCode = charcode;\n\n if (this.cMap && this.cMap.contains(charcode)) {\n widthCode = this.cMap.lookup(charcode);\n }\n\n width = this.widths[widthCode];\n width = (0, _util.isNum)(width) ? width : this.defaultWidth;\n var vmetric = this.vmetrics && this.vmetrics[widthCode];\n let unicode = this.toUnicode.get(charcode) || this.fallbackToUnicode.get(charcode) || charcode;\n\n if (typeof unicode === \"number\") {\n unicode = String.fromCharCode(unicode);\n }\n\n var isInFont = (charcode in this.toFontChar);\n fontCharCode = this.toFontChar[charcode] || charcode;\n\n if (this.missingFile) {\n const glyphName = this.differences[charcode] || this.defaultEncoding[charcode];\n\n if ((glyphName === \".notdef\" || glyphName === \"\") && this.type === \"Type1\") {\n fontCharCode = 0x20;\n }\n\n fontCharCode = (0, _unicode.mapSpecialUnicodeValues)(fontCharCode);\n }\n\n if (this.isType3Font) {\n operatorListId = fontCharCode;\n }\n\n var accent = null;\n\n if (this.seacMap && this.seacMap[charcode]) {\n isInFont = true;\n var seac = this.seacMap[charcode];\n fontCharCode = seac.baseFontCharCode;\n accent = {\n fontChar: String.fromCodePoint(seac.accentFontCharCode),\n offset: seac.accentOffset\n };\n }\n\n let fontChar = \"\";\n\n if (typeof fontCharCode === \"number\") {\n if (fontCharCode <= 0x10ffff) {\n fontChar = String.fromCodePoint(fontCharCode);\n } else {\n (0, _util.warn)(`charToGlyph - invalid fontCharCode: ${fontCharCode}`);\n }\n }\n\n var glyph = this.glyphCache[charcode];\n\n if (!glyph || !glyph.matchesForCache(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont)) {\n glyph = new Glyph(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont);\n this.glyphCache[charcode] = glyph;\n }\n\n return glyph;\n },\n charsToGlyphs: function Font_charsToGlyphs(chars) {\n var charsCache = this.charsCache;\n var glyphs, glyph, charcode;\n\n if (charsCache) {\n glyphs = charsCache[chars];\n\n if (glyphs) {\n return glyphs;\n }\n }\n\n if (!charsCache) {\n charsCache = this.charsCache = Object.create(null);\n }\n\n glyphs = [];\n var charsCacheKey = chars;\n var i = 0,\n ii;\n\n if (this.cMap) {\n var c = Object.create(null);\n\n while (i < chars.length) {\n this.cMap.readCharCode(chars, i, c);\n charcode = c.charcode;\n var length = c.length;\n i += length;\n var isSpace = length === 1 && chars.charCodeAt(i - 1) === 0x20;\n glyph = this.charToGlyph(charcode, isSpace);\n glyphs.push(glyph);\n }\n } else {\n for (i = 0, ii = chars.length; i < ii; ++i) {\n charcode = chars.charCodeAt(i);\n glyph = this.charToGlyph(charcode, charcode === 0x20);\n glyphs.push(glyph);\n }\n }\n\n return charsCache[charsCacheKey] = glyphs;\n },\n\n get glyphCacheValues() {\n return Object.values(this.glyphCache);\n }\n\n };\n return Font;\n}();\n\nexports.Font = Font;\n\nvar ErrorFont = function ErrorFontClosure() {\n function ErrorFont(error) {\n this.error = error;\n this.loadedName = \"g_font_error\";\n this.missingFile = true;\n }\n\n ErrorFont.prototype = {\n charsToGlyphs: function ErrorFont_charsToGlyphs() {\n return [];\n },\n\n exportData(extraProperties = false) {\n return {\n error: this.error\n };\n }\n\n };\n return ErrorFont;\n}();\n\nexports.ErrorFont = ErrorFont;\n\nfunction type1FontGlyphMapping(properties, builtInEncoding, glyphNames) {\n var charCodeToGlyphId = Object.create(null);\n var glyphId, charCode, baseEncoding;\n var isSymbolicFont = !!(properties.flags & FontFlags.Symbolic);\n\n if (properties.baseEncodingName) {\n baseEncoding = (0, _encodings.getEncoding)(properties.baseEncodingName);\n\n for (charCode = 0; charCode < baseEncoding.length; charCode++) {\n glyphId = glyphNames.indexOf(baseEncoding[charCode]);\n\n if (glyphId >= 0) {\n charCodeToGlyphId[charCode] = glyphId;\n } else {\n charCodeToGlyphId[charCode] = 0;\n }\n }\n } else if (isSymbolicFont) {\n for (charCode in builtInEncoding) {\n charCodeToGlyphId[charCode] = builtInEncoding[charCode];\n }\n } else {\n baseEncoding = _encodings.StandardEncoding;\n\n for (charCode = 0; charCode < baseEncoding.length; charCode++) {\n glyphId = glyphNames.indexOf(baseEncoding[charCode]);\n\n if (glyphId >= 0) {\n charCodeToGlyphId[charCode] = glyphId;\n } else {\n charCodeToGlyphId[charCode] = 0;\n }\n }\n }\n\n var differences = properties.differences,\n glyphsUnicodeMap;\n\n if (differences) {\n for (charCode in differences) {\n var glyphName = differences[charCode];\n glyphId = glyphNames.indexOf(glyphName);\n\n if (glyphId === -1) {\n if (!glyphsUnicodeMap) {\n glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n }\n\n var standardGlyphName = recoverGlyphName(glyphName, glyphsUnicodeMap);\n\n if (standardGlyphName !== glyphName) {\n glyphId = glyphNames.indexOf(standardGlyphName);\n }\n }\n\n if (glyphId >= 0) {\n charCodeToGlyphId[charCode] = glyphId;\n } else {\n charCodeToGlyphId[charCode] = 0;\n }\n }\n }\n\n return charCodeToGlyphId;\n}\n\nvar Type1Font = function Type1FontClosure() {\n function findBlock(streamBytes, signature, startIndex) {\n var streamBytesLength = streamBytes.length;\n var signatureLength = signature.length;\n var scanLength = streamBytesLength - signatureLength;\n var i = startIndex,\n j,\n found = false;\n\n while (i < scanLength) {\n j = 0;\n\n while (j < signatureLength && streamBytes[i + j] === signature[j]) {\n j++;\n }\n\n if (j >= signatureLength) {\n i += j;\n\n while (i < streamBytesLength && (0, _core_utils.isWhiteSpace)(streamBytes[i])) {\n i++;\n }\n\n found = true;\n break;\n }\n\n i++;\n }\n\n return {\n found,\n length: i\n };\n }\n\n function getHeaderBlock(stream, suggestedLength) {\n var EEXEC_SIGNATURE = [0x65, 0x65, 0x78, 0x65, 0x63];\n var streamStartPos = stream.pos;\n var headerBytes, headerBytesLength, block;\n\n try {\n headerBytes = stream.getBytes(suggestedLength);\n headerBytesLength = headerBytes.length;\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n }\n\n if (headerBytesLength === suggestedLength) {\n block = findBlock(headerBytes, EEXEC_SIGNATURE, suggestedLength - 2 * EEXEC_SIGNATURE.length);\n\n if (block.found && block.length === suggestedLength) {\n return {\n stream: new _stream.Stream(headerBytes),\n length: suggestedLength\n };\n }\n }\n\n (0, _util.warn)('Invalid \"Length1\" property in Type1 font -- trying to recover.');\n stream.pos = streamStartPos;\n var SCAN_BLOCK_LENGTH = 2048;\n var actualLength;\n\n while (true) {\n var scanBytes = stream.peekBytes(SCAN_BLOCK_LENGTH);\n block = findBlock(scanBytes, EEXEC_SIGNATURE, 0);\n\n if (block.length === 0) {\n break;\n }\n\n stream.pos += block.length;\n\n if (block.found) {\n actualLength = stream.pos - streamStartPos;\n break;\n }\n }\n\n stream.pos = streamStartPos;\n\n if (actualLength) {\n return {\n stream: new _stream.Stream(stream.getBytes(actualLength)),\n length: actualLength\n };\n }\n\n (0, _util.warn)('Unable to recover \"Length1\" property in Type1 font -- using as is.');\n return {\n stream: new _stream.Stream(stream.getBytes(suggestedLength)),\n length: suggestedLength\n };\n }\n\n function getEexecBlock(stream, suggestedLength) {\n var eexecBytes = stream.getBytes();\n return {\n stream: new _stream.Stream(eexecBytes),\n length: eexecBytes.length\n };\n }\n\n function Type1Font(name, file, properties) {\n var PFB_HEADER_SIZE = 6;\n var headerBlockLength = properties.length1;\n var eexecBlockLength = properties.length2;\n var pfbHeader = file.peekBytes(PFB_HEADER_SIZE);\n var pfbHeaderPresent = pfbHeader[0] === 0x80 && pfbHeader[1] === 0x01;\n\n if (pfbHeaderPresent) {\n file.skip(PFB_HEADER_SIZE);\n headerBlockLength = pfbHeader[5] << 24 | pfbHeader[4] << 16 | pfbHeader[3] << 8 | pfbHeader[2];\n }\n\n var headerBlock = getHeaderBlock(file, headerBlockLength);\n var headerBlockParser = new _type1_parser.Type1Parser(headerBlock.stream, false, SEAC_ANALYSIS_ENABLED);\n headerBlockParser.extractFontHeader(properties);\n\n if (pfbHeaderPresent) {\n pfbHeader = file.getBytes(PFB_HEADER_SIZE);\n eexecBlockLength = pfbHeader[5] << 24 | pfbHeader[4] << 16 | pfbHeader[3] << 8 | pfbHeader[2];\n }\n\n var eexecBlock = getEexecBlock(file, eexecBlockLength);\n var eexecBlockParser = new _type1_parser.Type1Parser(eexecBlock.stream, true, SEAC_ANALYSIS_ENABLED);\n var data = eexecBlockParser.extractFontProgram(properties);\n\n for (const key in data.properties) {\n properties[key] = data.properties[key];\n }\n\n var charstrings = data.charstrings;\n var type2Charstrings = this.getType2Charstrings(charstrings);\n var subrs = this.getType2Subrs(data.subrs);\n this.charstrings = charstrings;\n this.data = this.wrap(name, type2Charstrings, this.charstrings, subrs, properties);\n this.seacs = this.getSeacs(data.charstrings);\n }\n\n Type1Font.prototype = {\n get numGlyphs() {\n return this.charstrings.length + 1;\n },\n\n getCharset: function Type1Font_getCharset() {\n var charset = [\".notdef\"];\n var charstrings = this.charstrings;\n\n for (var glyphId = 0; glyphId < charstrings.length; glyphId++) {\n charset.push(charstrings[glyphId].glyphName);\n }\n\n return charset;\n },\n getGlyphMapping: function Type1Font_getGlyphMapping(properties) {\n var charstrings = this.charstrings;\n\n if (properties.composite) {\n const charCodeToGlyphId = Object.create(null);\n\n for (let glyphId = 0, charstringsLen = charstrings.length; glyphId < charstringsLen; glyphId++) {\n const charCode = properties.cMap.charCodeOf(glyphId);\n charCodeToGlyphId[charCode] = glyphId + 1;\n }\n\n return charCodeToGlyphId;\n }\n\n var glyphNames = [\".notdef\"],\n glyphId;\n\n for (glyphId = 0; glyphId < charstrings.length; glyphId++) {\n glyphNames.push(charstrings[glyphId].glyphName);\n }\n\n var encoding = properties.builtInEncoding;\n\n if (encoding) {\n var builtInEncoding = Object.create(null);\n\n for (var charCode in encoding) {\n glyphId = glyphNames.indexOf(encoding[charCode]);\n\n if (glyphId >= 0) {\n builtInEncoding[charCode] = glyphId;\n }\n }\n }\n\n return type1FontGlyphMapping(properties, builtInEncoding, glyphNames);\n },\n hasGlyphId: function Type1Font_hasGlyphID(id) {\n if (id < 0 || id >= this.numGlyphs) {\n return false;\n }\n\n if (id === 0) {\n return true;\n }\n\n var glyph = this.charstrings[id - 1];\n return glyph.charstring.length > 0;\n },\n getSeacs: function Type1Font_getSeacs(charstrings) {\n var i, ii;\n var seacMap = [];\n\n for (i = 0, ii = charstrings.length; i < ii; i++) {\n var charstring = charstrings[i];\n\n if (charstring.seac) {\n seacMap[i + 1] = charstring.seac;\n }\n }\n\n return seacMap;\n },\n getType2Charstrings: function Type1Font_getType2Charstrings(type1Charstrings) {\n var type2Charstrings = [];\n\n for (var i = 0, ii = type1Charstrings.length; i < ii; i++) {\n type2Charstrings.push(type1Charstrings[i].charstring);\n }\n\n return type2Charstrings;\n },\n getType2Subrs: function Type1Font_getType2Subrs(type1Subrs) {\n var bias = 0;\n var count = type1Subrs.length;\n\n if (count < 1133) {\n bias = 107;\n } else if (count < 33769) {\n bias = 1131;\n } else {\n bias = 32768;\n }\n\n var type2Subrs = [];\n var i;\n\n for (i = 0; i < bias; i++) {\n type2Subrs.push([0x0b]);\n }\n\n for (i = 0; i < count; i++) {\n type2Subrs.push(type1Subrs[i]);\n }\n\n return type2Subrs;\n },\n wrap: function Type1Font_wrap(name, glyphs, charstrings, subrs, properties) {\n var cff = new _cff_parser.CFF();\n cff.header = new _cff_parser.CFFHeader(1, 0, 4, 4);\n cff.names = [name];\n var topDict = new _cff_parser.CFFTopDict();\n topDict.setByName(\"version\", 391);\n topDict.setByName(\"Notice\", 392);\n topDict.setByName(\"FullName\", 393);\n topDict.setByName(\"FamilyName\", 394);\n topDict.setByName(\"Weight\", 395);\n topDict.setByName(\"Encoding\", null);\n topDict.setByName(\"FontMatrix\", properties.fontMatrix);\n topDict.setByName(\"FontBBox\", properties.bbox);\n topDict.setByName(\"charset\", null);\n topDict.setByName(\"CharStrings\", null);\n topDict.setByName(\"Private\", null);\n cff.topDict = topDict;\n var strings = new _cff_parser.CFFStrings();\n strings.add(\"Version 0.11\");\n strings.add(\"See original notice\");\n strings.add(name);\n strings.add(name);\n strings.add(\"Medium\");\n cff.strings = strings;\n cff.globalSubrIndex = new _cff_parser.CFFIndex();\n var count = glyphs.length;\n var charsetArray = [\".notdef\"];\n var i, ii;\n\n for (i = 0; i < count; i++) {\n const glyphName = charstrings[i].glyphName;\n\n const index = _cff_parser.CFFStandardStrings.indexOf(glyphName);\n\n if (index === -1) {\n strings.add(glyphName);\n }\n\n charsetArray.push(glyphName);\n }\n\n cff.charset = new _cff_parser.CFFCharset(false, 0, charsetArray);\n var charStringsIndex = new _cff_parser.CFFIndex();\n charStringsIndex.add([0x8b, 0x0e]);\n\n for (i = 0; i < count; i++) {\n charStringsIndex.add(glyphs[i]);\n }\n\n cff.charStrings = charStringsIndex;\n var privateDict = new _cff_parser.CFFPrivateDict();\n privateDict.setByName(\"Subrs\", null);\n var fields = [\"BlueValues\", \"OtherBlues\", \"FamilyBlues\", \"FamilyOtherBlues\", \"StemSnapH\", \"StemSnapV\", \"BlueShift\", \"BlueFuzz\", \"BlueScale\", \"LanguageGroup\", \"ExpansionFactor\", \"ForceBold\", \"StdHW\", \"StdVW\"];\n\n for (i = 0, ii = fields.length; i < ii; i++) {\n var field = fields[i];\n\n if (!(field in properties.privateData)) {\n continue;\n }\n\n var value = properties.privateData[field];\n\n if (Array.isArray(value)) {\n for (var j = value.length - 1; j > 0; j--) {\n value[j] -= value[j - 1];\n }\n }\n\n privateDict.setByName(field, value);\n }\n\n cff.topDict.privateDict = privateDict;\n var subrIndex = new _cff_parser.CFFIndex();\n\n for (i = 0, ii = subrs.length; i < ii; i++) {\n subrIndex.add(subrs[i]);\n }\n\n privateDict.subrsIndex = subrIndex;\n var compiler = new _cff_parser.CFFCompiler(cff);\n return compiler.compile();\n }\n };\n return Type1Font;\n}();\n\nvar CFFFont = function CFFFontClosure() {\n function CFFFont(file, properties) {\n this.properties = properties;\n var parser = new _cff_parser.CFFParser(file, properties, SEAC_ANALYSIS_ENABLED);\n this.cff = parser.parse();\n this.cff.duplicateFirstGlyph();\n var compiler = new _cff_parser.CFFCompiler(this.cff);\n this.seacs = this.cff.seacs;\n\n try {\n this.data = compiler.compile();\n } catch (e) {\n (0, _util.warn)(\"Failed to compile font \" + properties.loadedName);\n this.data = file;\n }\n }\n\n CFFFont.prototype = {\n get numGlyphs() {\n return this.cff.charStrings.count;\n },\n\n getCharset: function CFFFont_getCharset() {\n return this.cff.charset.charset;\n },\n getGlyphMapping: function CFFFont_getGlyphMapping() {\n var cff = this.cff;\n var properties = this.properties;\n var charsets = cff.charset.charset;\n var charCodeToGlyphId;\n var glyphId;\n\n if (properties.composite) {\n charCodeToGlyphId = Object.create(null);\n let charCode;\n\n if (cff.isCIDFont) {\n for (glyphId = 0; glyphId < charsets.length; glyphId++) {\n var cid = charsets[glyphId];\n charCode = properties.cMap.charCodeOf(cid);\n charCodeToGlyphId[charCode] = glyphId;\n }\n } else {\n for (glyphId = 0; glyphId < cff.charStrings.count; glyphId++) {\n charCode = properties.cMap.charCodeOf(glyphId);\n charCodeToGlyphId[charCode] = glyphId;\n }\n }\n\n return charCodeToGlyphId;\n }\n\n var encoding = cff.encoding ? cff.encoding.encoding : null;\n charCodeToGlyphId = type1FontGlyphMapping(properties, encoding, charsets);\n return charCodeToGlyphId;\n },\n hasGlyphId: function CFFFont_hasGlyphID(id) {\n return this.cff.hasGlyphId(id);\n }\n };\n return CFFFont;\n}();\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CFFFDSelect = exports.CFFCompiler = exports.CFFPrivateDict = exports.CFFTopDict = exports.CFFCharset = exports.CFFIndex = exports.CFFStrings = exports.CFFHeader = exports.CFF = exports.CFFParser = exports.CFFStandardStrings = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _charsets = __w_pdfjs_require__(31);\n\nvar _encodings = __w_pdfjs_require__(32);\n\nvar MAX_SUBR_NESTING = 10;\nvar CFFStandardStrings = [\".notdef\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quoteright\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"quoteleft\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"exclamdown\", \"cent\", \"sterling\", \"fraction\", \"yen\", \"florin\", \"section\", \"currency\", \"quotesingle\", \"quotedblleft\", \"guillemotleft\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"endash\", \"dagger\", \"daggerdbl\", \"periodcentered\", \"paragraph\", \"bullet\", \"quotesinglbase\", \"quotedblbase\", \"quotedblright\", \"guillemotright\", \"ellipsis\", \"perthousand\", \"questiondown\", \"grave\", \"acute\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"dieresis\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\", \"emdash\", \"AE\", \"ordfeminine\", \"Lslash\", \"Oslash\", \"OE\", \"ordmasculine\", \"ae\", \"dotlessi\", \"lslash\", \"oslash\", \"oe\", \"germandbls\", \"onesuperior\", \"logicalnot\", \"mu\", \"trademark\", \"Eth\", \"onehalf\", \"plusminus\", \"Thorn\", \"onequarter\", \"divide\", \"brokenbar\", \"degree\", \"thorn\", \"threequarters\", \"twosuperior\", \"registered\", \"minus\", \"eth\", \"multiply\", \"threesuperior\", \"copyright\", \"Aacute\", \"Acircumflex\", \"Adieresis\", \"Agrave\", \"Aring\", \"Atilde\", \"Ccedilla\", \"Eacute\", \"Ecircumflex\", \"Edieresis\", \"Egrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Ntilde\", \"Oacute\", \"Ocircumflex\", \"Odieresis\", \"Ograve\", \"Otilde\", \"Scaron\", \"Uacute\", \"Ucircumflex\", \"Udieresis\", \"Ugrave\", \"Yacute\", \"Ydieresis\", \"Zcaron\", \"aacute\", \"acircumflex\", \"adieresis\", \"agrave\", \"aring\", \"atilde\", \"ccedilla\", \"eacute\", \"ecircumflex\", \"edieresis\", \"egrave\", \"iacute\", \"icircumflex\", \"idieresis\", \"igrave\", \"ntilde\", \"oacute\", \"ocircumflex\", \"odieresis\", \"ograve\", \"otilde\", \"scaron\", \"uacute\", \"ucircumflex\", \"udieresis\", \"ugrave\", \"yacute\", \"ydieresis\", \"zcaron\", \"exclamsmall\", \"Hungarumlautsmall\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\", \"questionsmall\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"isuperior\", \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"rsuperior\", \"ssuperior\", \"tsuperior\", \"ff\", \"ffi\", \"ffl\", \"parenleftinferior\", \"parenrightinferior\", \"Circumflexsmall\", \"hyphensuperior\", \"Gravesmall\", \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"Tildesmall\", \"exclamdownsmall\", \"centoldstyle\", \"Lslashsmall\", \"Scaronsmall\", \"Zcaronsmall\", \"Dieresissmall\", \"Brevesmall\", \"Caronsmall\", \"Dotaccentsmall\", \"Macronsmall\", \"figuredash\", \"hypheninferior\", \"Ogoneksmall\", \"Ringsmall\", \"Cedillasmall\", \"questiondownsmall\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"zerosuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\", \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\", \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\", \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\", \"periodinferior\", \"commainferior\", \"Agravesmall\", \"Aacutesmall\", \"Acircumflexsmall\", \"Atildesmall\", \"Adieresissmall\", \"Aringsmall\", \"AEsmall\", \"Ccedillasmall\", \"Egravesmall\", \"Eacutesmall\", \"Ecircumflexsmall\", \"Edieresissmall\", \"Igravesmall\", \"Iacutesmall\", \"Icircumflexsmall\", \"Idieresissmall\", \"Ethsmall\", \"Ntildesmall\", \"Ogravesmall\", \"Oacutesmall\", \"Ocircumflexsmall\", \"Otildesmall\", \"Odieresissmall\", \"OEsmall\", \"Oslashsmall\", \"Ugravesmall\", \"Uacutesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"Yacutesmall\", \"Thornsmall\", \"Ydieresissmall\", \"001.000\", \"001.001\", \"001.002\", \"001.003\", \"Black\", \"Bold\", \"Book\", \"Light\", \"Medium\", \"Regular\", \"Roman\", \"Semibold\"];\nexports.CFFStandardStrings = CFFStandardStrings;\nconst NUM_STANDARD_CFF_STRINGS = 391;\n\nvar CFFParser = function CFFParserClosure() {\n var CharstringValidationData = [null, {\n id: \"hstem\",\n min: 2,\n stackClearing: true,\n stem: true\n }, null, {\n id: \"vstem\",\n min: 2,\n stackClearing: true,\n stem: true\n }, {\n id: \"vmoveto\",\n min: 1,\n stackClearing: true\n }, {\n id: \"rlineto\",\n min: 2,\n resetStack: true\n }, {\n id: \"hlineto\",\n min: 1,\n resetStack: true\n }, {\n id: \"vlineto\",\n min: 1,\n resetStack: true\n }, {\n id: \"rrcurveto\",\n min: 6,\n resetStack: true\n }, null, {\n id: \"callsubr\",\n min: 1,\n undefStack: true\n }, {\n id: \"return\",\n min: 0,\n undefStack: true\n }, null, null, {\n id: \"endchar\",\n min: 0,\n stackClearing: true\n }, null, null, null, {\n id: \"hstemhm\",\n min: 2,\n stackClearing: true,\n stem: true\n }, {\n id: \"hintmask\",\n min: 0,\n stackClearing: true\n }, {\n id: \"cntrmask\",\n min: 0,\n stackClearing: true\n }, {\n id: \"rmoveto\",\n min: 2,\n stackClearing: true\n }, {\n id: \"hmoveto\",\n min: 1,\n stackClearing: true\n }, {\n id: \"vstemhm\",\n min: 2,\n stackClearing: true,\n stem: true\n }, {\n id: \"rcurveline\",\n min: 8,\n resetStack: true\n }, {\n id: \"rlinecurve\",\n min: 8,\n resetStack: true\n }, {\n id: \"vvcurveto\",\n min: 4,\n resetStack: true\n }, {\n id: \"hhcurveto\",\n min: 4,\n resetStack: true\n }, null, {\n id: \"callgsubr\",\n min: 1,\n undefStack: true\n }, {\n id: \"vhcurveto\",\n min: 4,\n resetStack: true\n }, {\n id: \"hvcurveto\",\n min: 4,\n resetStack: true\n }];\n var CharstringValidationData12 = [null, null, null, {\n id: \"and\",\n min: 2,\n stackDelta: -1\n }, {\n id: \"or\",\n min: 2,\n stackDelta: -1\n }, {\n id: \"not\",\n min: 1,\n stackDelta: 0\n }, null, null, null, {\n id: \"abs\",\n min: 1,\n stackDelta: 0\n }, {\n id: \"add\",\n min: 2,\n stackDelta: -1,\n stackFn: function stack_div(stack, index) {\n stack[index - 2] = stack[index - 2] + stack[index - 1];\n }\n }, {\n id: \"sub\",\n min: 2,\n stackDelta: -1,\n stackFn: function stack_div(stack, index) {\n stack[index - 2] = stack[index - 2] - stack[index - 1];\n }\n }, {\n id: \"div\",\n min: 2,\n stackDelta: -1,\n stackFn: function stack_div(stack, index) {\n stack[index - 2] = stack[index - 2] / stack[index - 1];\n }\n }, null, {\n id: \"neg\",\n min: 1,\n stackDelta: 0,\n stackFn: function stack_div(stack, index) {\n stack[index - 1] = -stack[index - 1];\n }\n }, {\n id: \"eq\",\n min: 2,\n stackDelta: -1\n }, null, null, {\n id: \"drop\",\n min: 1,\n stackDelta: -1\n }, null, {\n id: \"put\",\n min: 2,\n stackDelta: -2\n }, {\n id: \"get\",\n min: 1,\n stackDelta: 0\n }, {\n id: \"ifelse\",\n min: 4,\n stackDelta: -3\n }, {\n id: \"random\",\n min: 0,\n stackDelta: 1\n }, {\n id: \"mul\",\n min: 2,\n stackDelta: -1,\n stackFn: function stack_div(stack, index) {\n stack[index - 2] = stack[index - 2] * stack[index - 1];\n }\n }, null, {\n id: \"sqrt\",\n min: 1,\n stackDelta: 0\n }, {\n id: \"dup\",\n min: 1,\n stackDelta: 1\n }, {\n id: \"exch\",\n min: 2,\n stackDelta: 0\n }, {\n id: \"index\",\n min: 2,\n stackDelta: 0\n }, {\n id: \"roll\",\n min: 3,\n stackDelta: -2\n }, null, null, null, {\n id: \"hflex\",\n min: 7,\n resetStack: true\n }, {\n id: \"flex\",\n min: 13,\n resetStack: true\n }, {\n id: \"hflex1\",\n min: 9,\n resetStack: true\n }, {\n id: \"flex1\",\n min: 11,\n resetStack: true\n }];\n\n function CFFParser(file, properties, seacAnalysisEnabled) {\n this.bytes = file.getBytes();\n this.properties = properties;\n this.seacAnalysisEnabled = !!seacAnalysisEnabled;\n }\n\n CFFParser.prototype = {\n parse: function CFFParser_parse() {\n var properties = this.properties;\n var cff = new CFF();\n this.cff = cff;\n var header = this.parseHeader();\n var nameIndex = this.parseIndex(header.endPos);\n var topDictIndex = this.parseIndex(nameIndex.endPos);\n var stringIndex = this.parseIndex(topDictIndex.endPos);\n var globalSubrIndex = this.parseIndex(stringIndex.endPos);\n var topDictParsed = this.parseDict(topDictIndex.obj.get(0));\n var topDict = this.createDict(CFFTopDict, topDictParsed, cff.strings);\n cff.header = header.obj;\n cff.names = this.parseNameIndex(nameIndex.obj);\n cff.strings = this.parseStringIndex(stringIndex.obj);\n cff.topDict = topDict;\n cff.globalSubrIndex = globalSubrIndex.obj;\n this.parsePrivateDict(cff.topDict);\n cff.isCIDFont = topDict.hasName(\"ROS\");\n var charStringOffset = topDict.getByName(\"CharStrings\");\n var charStringIndex = this.parseIndex(charStringOffset).obj;\n var fontMatrix = topDict.getByName(\"FontMatrix\");\n\n if (fontMatrix) {\n properties.fontMatrix = fontMatrix;\n }\n\n var fontBBox = topDict.getByName(\"FontBBox\");\n\n if (fontBBox) {\n properties.ascent = Math.max(fontBBox[3], fontBBox[1]);\n properties.descent = Math.min(fontBBox[1], fontBBox[3]);\n properties.ascentScaled = true;\n }\n\n var charset, encoding;\n\n if (cff.isCIDFont) {\n var fdArrayIndex = this.parseIndex(topDict.getByName(\"FDArray\")).obj;\n\n for (var i = 0, ii = fdArrayIndex.count; i < ii; ++i) {\n var dictRaw = fdArrayIndex.get(i);\n var fontDict = this.createDict(CFFTopDict, this.parseDict(dictRaw), cff.strings);\n this.parsePrivateDict(fontDict);\n cff.fdArray.push(fontDict);\n }\n\n encoding = null;\n charset = this.parseCharsets(topDict.getByName(\"charset\"), charStringIndex.count, cff.strings, true);\n cff.fdSelect = this.parseFDSelect(topDict.getByName(\"FDSelect\"), charStringIndex.count);\n } else {\n charset = this.parseCharsets(topDict.getByName(\"charset\"), charStringIndex.count, cff.strings, false);\n encoding = this.parseEncoding(topDict.getByName(\"Encoding\"), properties, cff.strings, charset.charset);\n }\n\n cff.charset = charset;\n cff.encoding = encoding;\n var charStringsAndSeacs = this.parseCharStrings({\n charStrings: charStringIndex,\n localSubrIndex: topDict.privateDict.subrsIndex,\n globalSubrIndex: globalSubrIndex.obj,\n fdSelect: cff.fdSelect,\n fdArray: cff.fdArray,\n privateDict: topDict.privateDict\n });\n cff.charStrings = charStringsAndSeacs.charStrings;\n cff.seacs = charStringsAndSeacs.seacs;\n cff.widths = charStringsAndSeacs.widths;\n return cff;\n },\n parseHeader: function CFFParser_parseHeader() {\n var bytes = this.bytes;\n var bytesLength = bytes.length;\n var offset = 0;\n\n while (offset < bytesLength && bytes[offset] !== 1) {\n ++offset;\n }\n\n if (offset >= bytesLength) {\n throw new _util.FormatError(\"Invalid CFF header\");\n }\n\n if (offset !== 0) {\n (0, _util.info)(\"cff data is shifted\");\n bytes = bytes.subarray(offset);\n this.bytes = bytes;\n }\n\n var major = bytes[0];\n var minor = bytes[1];\n var hdrSize = bytes[2];\n var offSize = bytes[3];\n var header = new CFFHeader(major, minor, hdrSize, offSize);\n return {\n obj: header,\n endPos: hdrSize\n };\n },\n parseDict: function CFFParser_parseDict(dict) {\n var pos = 0;\n\n function parseOperand() {\n var value = dict[pos++];\n\n if (value === 30) {\n return parseFloatOperand();\n } else if (value === 28) {\n value = dict[pos++];\n value = (value << 24 | dict[pos++] << 16) >> 16;\n return value;\n } else if (value === 29) {\n value = dict[pos++];\n value = value << 8 | dict[pos++];\n value = value << 8 | dict[pos++];\n value = value << 8 | dict[pos++];\n return value;\n } else if (value >= 32 && value <= 246) {\n return value - 139;\n } else if (value >= 247 && value <= 250) {\n return (value - 247) * 256 + dict[pos++] + 108;\n } else if (value >= 251 && value <= 254) {\n return -((value - 251) * 256) - dict[pos++] - 108;\n }\n\n (0, _util.warn)('CFFParser_parseDict: \"' + value + '\" is a reserved command.');\n return NaN;\n }\n\n function parseFloatOperand() {\n var str = \"\";\n var eof = 15;\n const lookup = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \".\", \"E\", \"E-\", null, \"-\"];\n var length = dict.length;\n\n while (pos < length) {\n var b = dict[pos++];\n var b1 = b >> 4;\n var b2 = b & 15;\n\n if (b1 === eof) {\n break;\n }\n\n str += lookup[b1];\n\n if (b2 === eof) {\n break;\n }\n\n str += lookup[b2];\n }\n\n return parseFloat(str);\n }\n\n var operands = [];\n var entries = [];\n pos = 0;\n var end = dict.length;\n\n while (pos < end) {\n var b = dict[pos];\n\n if (b <= 21) {\n if (b === 12) {\n b = b << 8 | dict[++pos];\n }\n\n entries.push([b, operands]);\n operands = [];\n ++pos;\n } else {\n operands.push(parseOperand());\n }\n }\n\n return entries;\n },\n parseIndex: function CFFParser_parseIndex(pos) {\n var cffIndex = new CFFIndex();\n var bytes = this.bytes;\n var count = bytes[pos++] << 8 | bytes[pos++];\n var offsets = [];\n var end = pos;\n var i, ii;\n\n if (count !== 0) {\n var offsetSize = bytes[pos++];\n var startPos = pos + (count + 1) * offsetSize - 1;\n\n for (i = 0, ii = count + 1; i < ii; ++i) {\n var offset = 0;\n\n for (var j = 0; j < offsetSize; ++j) {\n offset <<= 8;\n offset += bytes[pos++];\n }\n\n offsets.push(startPos + offset);\n }\n\n end = offsets[count];\n }\n\n for (i = 0, ii = offsets.length - 1; i < ii; ++i) {\n var offsetStart = offsets[i];\n var offsetEnd = offsets[i + 1];\n cffIndex.add(bytes.subarray(offsetStart, offsetEnd));\n }\n\n return {\n obj: cffIndex,\n endPos: end\n };\n },\n parseNameIndex: function CFFParser_parseNameIndex(index) {\n var names = [];\n\n for (var i = 0, ii = index.count; i < ii; ++i) {\n var name = index.get(i);\n names.push((0, _util.bytesToString)(name));\n }\n\n return names;\n },\n parseStringIndex: function CFFParser_parseStringIndex(index) {\n var strings = new CFFStrings();\n\n for (var i = 0, ii = index.count; i < ii; ++i) {\n var data = index.get(i);\n strings.add((0, _util.bytesToString)(data));\n }\n\n return strings;\n },\n createDict: function CFFParser_createDict(Type, dict, strings) {\n var cffDict = new Type(strings);\n\n for (var i = 0, ii = dict.length; i < ii; ++i) {\n var pair = dict[i];\n var key = pair[0];\n var value = pair[1];\n cffDict.setByKey(key, value);\n }\n\n return cffDict;\n },\n parseCharString: function CFFParser_parseCharString(state, data, localSubrIndex, globalSubrIndex) {\n if (!data || state.callDepth > MAX_SUBR_NESTING) {\n return false;\n }\n\n var stackSize = state.stackSize;\n var stack = state.stack;\n var length = data.length;\n\n for (var j = 0; j < length;) {\n var value = data[j++];\n var validationCommand = null;\n\n if (value === 12) {\n var q = data[j++];\n\n if (q === 0) {\n data[j - 2] = 139;\n data[j - 1] = 22;\n stackSize = 0;\n } else {\n validationCommand = CharstringValidationData12[q];\n }\n } else if (value === 28) {\n stack[stackSize] = (data[j] << 24 | data[j + 1] << 16) >> 16;\n j += 2;\n stackSize++;\n } else if (value === 14) {\n if (stackSize >= 4) {\n stackSize -= 4;\n\n if (this.seacAnalysisEnabled) {\n state.seac = stack.slice(stackSize, stackSize + 4);\n return false;\n }\n }\n\n validationCommand = CharstringValidationData[value];\n } else if (value >= 32 && value <= 246) {\n stack[stackSize] = value - 139;\n stackSize++;\n } else if (value >= 247 && value <= 254) {\n stack[stackSize] = value < 251 ? (value - 247 << 8) + data[j] + 108 : -(value - 251 << 8) - data[j] - 108;\n j++;\n stackSize++;\n } else if (value === 255) {\n stack[stackSize] = (data[j] << 24 | data[j + 1] << 16 | data[j + 2] << 8 | data[j + 3]) / 65536;\n j += 4;\n stackSize++;\n } else if (value === 19 || value === 20) {\n state.hints += stackSize >> 1;\n j += state.hints + 7 >> 3;\n stackSize %= 2;\n validationCommand = CharstringValidationData[value];\n } else if (value === 10 || value === 29) {\n var subrsIndex;\n\n if (value === 10) {\n subrsIndex = localSubrIndex;\n } else {\n subrsIndex = globalSubrIndex;\n }\n\n if (!subrsIndex) {\n validationCommand = CharstringValidationData[value];\n (0, _util.warn)(\"Missing subrsIndex for \" + validationCommand.id);\n return false;\n }\n\n var bias = 32768;\n\n if (subrsIndex.count < 1240) {\n bias = 107;\n } else if (subrsIndex.count < 33900) {\n bias = 1131;\n }\n\n var subrNumber = stack[--stackSize] + bias;\n\n if (subrNumber < 0 || subrNumber >= subrsIndex.count || isNaN(subrNumber)) {\n validationCommand = CharstringValidationData[value];\n (0, _util.warn)(\"Out of bounds subrIndex for \" + validationCommand.id);\n return false;\n }\n\n state.stackSize = stackSize;\n state.callDepth++;\n var valid = this.parseCharString(state, subrsIndex.get(subrNumber), localSubrIndex, globalSubrIndex);\n\n if (!valid) {\n return false;\n }\n\n state.callDepth--;\n stackSize = state.stackSize;\n continue;\n } else if (value === 11) {\n state.stackSize = stackSize;\n return true;\n } else {\n validationCommand = CharstringValidationData[value];\n }\n\n if (validationCommand) {\n if (validationCommand.stem) {\n state.hints += stackSize >> 1;\n\n if (value === 3 || value === 23) {\n state.hasVStems = true;\n } else if (state.hasVStems && (value === 1 || value === 18)) {\n (0, _util.warn)(\"CFF stem hints are in wrong order\");\n data[j - 1] = value === 1 ? 3 : 23;\n }\n }\n\n if (\"min\" in validationCommand) {\n if (!state.undefStack && stackSize < validationCommand.min) {\n (0, _util.warn)(\"Not enough parameters for \" + validationCommand.id + \"; actual: \" + stackSize + \", expected: \" + validationCommand.min);\n return false;\n }\n }\n\n if (state.firstStackClearing && validationCommand.stackClearing) {\n state.firstStackClearing = false;\n stackSize -= validationCommand.min;\n\n if (stackSize >= 2 && validationCommand.stem) {\n stackSize %= 2;\n } else if (stackSize > 1) {\n (0, _util.warn)(\"Found too many parameters for stack-clearing command\");\n }\n\n if (stackSize > 0 && stack[stackSize - 1] >= 0) {\n state.width = stack[stackSize - 1];\n }\n }\n\n if (\"stackDelta\" in validationCommand) {\n if (\"stackFn\" in validationCommand) {\n validationCommand.stackFn(stack, stackSize);\n }\n\n stackSize += validationCommand.stackDelta;\n } else if (validationCommand.stackClearing) {\n stackSize = 0;\n } else if (validationCommand.resetStack) {\n stackSize = 0;\n state.undefStack = false;\n } else if (validationCommand.undefStack) {\n stackSize = 0;\n state.undefStack = true;\n state.firstStackClearing = false;\n }\n }\n }\n\n state.stackSize = stackSize;\n return true;\n },\n\n parseCharStrings({\n charStrings,\n localSubrIndex,\n globalSubrIndex,\n fdSelect,\n fdArray,\n privateDict\n }) {\n var seacs = [];\n var widths = [];\n var count = charStrings.count;\n\n for (var i = 0; i < count; i++) {\n var charstring = charStrings.get(i);\n var state = {\n callDepth: 0,\n stackSize: 0,\n stack: [],\n undefStack: true,\n hints: 0,\n firstStackClearing: true,\n seac: null,\n width: null,\n hasVStems: false\n };\n var valid = true;\n var localSubrToUse = null;\n var privateDictToUse = privateDict;\n\n if (fdSelect && fdArray.length) {\n var fdIndex = fdSelect.getFDIndex(i);\n\n if (fdIndex === -1) {\n (0, _util.warn)(\"Glyph index is not in fd select.\");\n valid = false;\n }\n\n if (fdIndex >= fdArray.length) {\n (0, _util.warn)(\"Invalid fd index for glyph index.\");\n valid = false;\n }\n\n if (valid) {\n privateDictToUse = fdArray[fdIndex].privateDict;\n localSubrToUse = privateDictToUse.subrsIndex;\n }\n } else if (localSubrIndex) {\n localSubrToUse = localSubrIndex;\n }\n\n if (valid) {\n valid = this.parseCharString(state, charstring, localSubrToUse, globalSubrIndex);\n }\n\n if (state.width !== null) {\n const nominalWidth = privateDictToUse.getByName(\"nominalWidthX\");\n widths[i] = nominalWidth + state.width;\n } else {\n const defaultWidth = privateDictToUse.getByName(\"defaultWidthX\");\n widths[i] = defaultWidth;\n }\n\n if (state.seac !== null) {\n seacs[i] = state.seac;\n }\n\n if (!valid) {\n charStrings.set(i, new Uint8Array([14]));\n }\n }\n\n return {\n charStrings,\n seacs,\n widths\n };\n },\n\n emptyPrivateDictionary: function CFFParser_emptyPrivateDictionary(parentDict) {\n var privateDict = this.createDict(CFFPrivateDict, [], parentDict.strings);\n parentDict.setByKey(18, [0, 0]);\n parentDict.privateDict = privateDict;\n },\n parsePrivateDict: function CFFParser_parsePrivateDict(parentDict) {\n if (!parentDict.hasName(\"Private\")) {\n this.emptyPrivateDictionary(parentDict);\n return;\n }\n\n var privateOffset = parentDict.getByName(\"Private\");\n\n if (!Array.isArray(privateOffset) || privateOffset.length !== 2) {\n parentDict.removeByName(\"Private\");\n return;\n }\n\n var size = privateOffset[0];\n var offset = privateOffset[1];\n\n if (size === 0 || offset >= this.bytes.length) {\n this.emptyPrivateDictionary(parentDict);\n return;\n }\n\n var privateDictEnd = offset + size;\n var dictData = this.bytes.subarray(offset, privateDictEnd);\n var dict = this.parseDict(dictData);\n var privateDict = this.createDict(CFFPrivateDict, dict, parentDict.strings);\n parentDict.privateDict = privateDict;\n\n if (!privateDict.getByName(\"Subrs\")) {\n return;\n }\n\n var subrsOffset = privateDict.getByName(\"Subrs\");\n var relativeOffset = offset + subrsOffset;\n\n if (subrsOffset === 0 || relativeOffset >= this.bytes.length) {\n this.emptyPrivateDictionary(parentDict);\n return;\n }\n\n var subrsIndex = this.parseIndex(relativeOffset);\n privateDict.subrsIndex = subrsIndex.obj;\n },\n parseCharsets: function CFFParser_parseCharsets(pos, length, strings, cid) {\n if (pos === 0) {\n return new CFFCharset(true, CFFCharsetPredefinedTypes.ISO_ADOBE, _charsets.ISOAdobeCharset);\n } else if (pos === 1) {\n return new CFFCharset(true, CFFCharsetPredefinedTypes.EXPERT, _charsets.ExpertCharset);\n } else if (pos === 2) {\n return new CFFCharset(true, CFFCharsetPredefinedTypes.EXPERT_SUBSET, _charsets.ExpertSubsetCharset);\n }\n\n var bytes = this.bytes;\n var start = pos;\n var format = bytes[pos++];\n const charset = [cid ? 0 : \".notdef\"];\n var id, count, i;\n length -= 1;\n\n switch (format) {\n case 0:\n for (i = 0; i < length; i++) {\n id = bytes[pos++] << 8 | bytes[pos++];\n charset.push(cid ? id : strings.get(id));\n }\n\n break;\n\n case 1:\n while (charset.length <= length) {\n id = bytes[pos++] << 8 | bytes[pos++];\n count = bytes[pos++];\n\n for (i = 0; i <= count; i++) {\n charset.push(cid ? id++ : strings.get(id++));\n }\n }\n\n break;\n\n case 2:\n while (charset.length <= length) {\n id = bytes[pos++] << 8 | bytes[pos++];\n count = bytes[pos++] << 8 | bytes[pos++];\n\n for (i = 0; i <= count; i++) {\n charset.push(cid ? id++ : strings.get(id++));\n }\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Unknown charset format\");\n }\n\n var end = pos;\n var raw = bytes.subarray(start, end);\n return new CFFCharset(false, format, charset, raw);\n },\n parseEncoding: function CFFParser_parseEncoding(pos, properties, strings, charset) {\n var encoding = Object.create(null);\n var bytes = this.bytes;\n var predefined = false;\n var format, i, ii;\n var raw = null;\n\n function readSupplement() {\n var supplementsCount = bytes[pos++];\n\n for (i = 0; i < supplementsCount; i++) {\n var code = bytes[pos++];\n var sid = (bytes[pos++] << 8) + (bytes[pos++] & 0xff);\n encoding[code] = charset.indexOf(strings.get(sid));\n }\n }\n\n if (pos === 0 || pos === 1) {\n predefined = true;\n format = pos;\n var baseEncoding = pos ? _encodings.ExpertEncoding : _encodings.StandardEncoding;\n\n for (i = 0, ii = charset.length; i < ii; i++) {\n var index = baseEncoding.indexOf(charset[i]);\n\n if (index !== -1) {\n encoding[index] = i;\n }\n }\n } else {\n var dataStart = pos;\n format = bytes[pos++];\n\n switch (format & 0x7f) {\n case 0:\n var glyphsCount = bytes[pos++];\n\n for (i = 1; i <= glyphsCount; i++) {\n encoding[bytes[pos++]] = i;\n }\n\n break;\n\n case 1:\n var rangesCount = bytes[pos++];\n var gid = 1;\n\n for (i = 0; i < rangesCount; i++) {\n var start = bytes[pos++];\n var left = bytes[pos++];\n\n for (var j = start; j <= start + left; j++) {\n encoding[j] = gid++;\n }\n }\n\n break;\n\n default:\n throw new _util.FormatError(`Unknown encoding format: ${format} in CFF`);\n }\n\n var dataEnd = pos;\n\n if (format & 0x80) {\n bytes[dataStart] &= 0x7f;\n readSupplement();\n }\n\n raw = bytes.subarray(dataStart, dataEnd);\n }\n\n format = format & 0x7f;\n return new CFFEncoding(predefined, format, encoding, raw);\n },\n parseFDSelect: function CFFParser_parseFDSelect(pos, length) {\n var bytes = this.bytes;\n var format = bytes[pos++];\n var fdSelect = [];\n var i;\n\n switch (format) {\n case 0:\n for (i = 0; i < length; ++i) {\n var id = bytes[pos++];\n fdSelect.push(id);\n }\n\n break;\n\n case 3:\n var rangesCount = bytes[pos++] << 8 | bytes[pos++];\n\n for (i = 0; i < rangesCount; ++i) {\n var first = bytes[pos++] << 8 | bytes[pos++];\n\n if (i === 0 && first !== 0) {\n (0, _util.warn)(\"parseFDSelect: The first range must have a first GID of 0\" + \" -- trying to recover.\");\n first = 0;\n }\n\n var fdIndex = bytes[pos++];\n var next = bytes[pos] << 8 | bytes[pos + 1];\n\n for (var j = first; j < next; ++j) {\n fdSelect.push(fdIndex);\n }\n }\n\n pos += 2;\n break;\n\n default:\n throw new _util.FormatError(`parseFDSelect: Unknown format \"${format}\".`);\n }\n\n if (fdSelect.length !== length) {\n throw new _util.FormatError(\"parseFDSelect: Invalid font data.\");\n }\n\n return new CFFFDSelect(format, fdSelect);\n }\n };\n return CFFParser;\n}();\n\nexports.CFFParser = CFFParser;\n\nvar CFF = function CFFClosure() {\n function CFF() {\n this.header = null;\n this.names = [];\n this.topDict = null;\n this.strings = new CFFStrings();\n this.globalSubrIndex = null;\n this.encoding = null;\n this.charset = null;\n this.charStrings = null;\n this.fdArray = [];\n this.fdSelect = null;\n this.isCIDFont = false;\n }\n\n CFF.prototype = {\n duplicateFirstGlyph: function CFF_duplicateFirstGlyph() {\n if (this.charStrings.count >= 65535) {\n (0, _util.warn)(\"Not enough space in charstrings to duplicate first glyph.\");\n return;\n }\n\n var glyphZero = this.charStrings.get(0);\n this.charStrings.add(glyphZero);\n\n if (this.isCIDFont) {\n this.fdSelect.fdSelect.push(this.fdSelect.fdSelect[0]);\n }\n },\n hasGlyphId: function CFF_hasGlyphID(id) {\n if (id < 0 || id >= this.charStrings.count) {\n return false;\n }\n\n var glyph = this.charStrings.get(id);\n return glyph.length > 0;\n }\n };\n return CFF;\n}();\n\nexports.CFF = CFF;\n\nvar CFFHeader = function CFFHeaderClosure() {\n function CFFHeader(major, minor, hdrSize, offSize) {\n this.major = major;\n this.minor = minor;\n this.hdrSize = hdrSize;\n this.offSize = offSize;\n }\n\n return CFFHeader;\n}();\n\nexports.CFFHeader = CFFHeader;\n\nvar CFFStrings = function CFFStringsClosure() {\n function CFFStrings() {\n this.strings = [];\n }\n\n CFFStrings.prototype = {\n get: function CFFStrings_get(index) {\n if (index >= 0 && index <= NUM_STANDARD_CFF_STRINGS - 1) {\n return CFFStandardStrings[index];\n }\n\n if (index - NUM_STANDARD_CFF_STRINGS <= this.strings.length) {\n return this.strings[index - NUM_STANDARD_CFF_STRINGS];\n }\n\n return CFFStandardStrings[0];\n },\n getSID: function CFFStrings_getSID(str) {\n let index = CFFStandardStrings.indexOf(str);\n\n if (index !== -1) {\n return index;\n }\n\n index = this.strings.indexOf(str);\n\n if (index !== -1) {\n return index + NUM_STANDARD_CFF_STRINGS;\n }\n\n return -1;\n },\n add: function CFFStrings_add(value) {\n this.strings.push(value);\n },\n\n get count() {\n return this.strings.length;\n }\n\n };\n return CFFStrings;\n}();\n\nexports.CFFStrings = CFFStrings;\n\nvar CFFIndex = function CFFIndexClosure() {\n function CFFIndex() {\n this.objects = [];\n this.length = 0;\n }\n\n CFFIndex.prototype = {\n add: function CFFIndex_add(data) {\n this.length += data.length;\n this.objects.push(data);\n },\n set: function CFFIndex_set(index, data) {\n this.length += data.length - this.objects[index].length;\n this.objects[index] = data;\n },\n get: function CFFIndex_get(index) {\n return this.objects[index];\n },\n\n get count() {\n return this.objects.length;\n }\n\n };\n return CFFIndex;\n}();\n\nexports.CFFIndex = CFFIndex;\n\nvar CFFDict = function CFFDictClosure() {\n function CFFDict(tables, strings) {\n this.keyToNameMap = tables.keyToNameMap;\n this.nameToKeyMap = tables.nameToKeyMap;\n this.defaults = tables.defaults;\n this.types = tables.types;\n this.opcodes = tables.opcodes;\n this.order = tables.order;\n this.strings = strings;\n this.values = Object.create(null);\n }\n\n CFFDict.prototype = {\n setByKey: function CFFDict_setByKey(key, value) {\n if (!(key in this.keyToNameMap)) {\n return false;\n }\n\n var valueLength = value.length;\n\n if (valueLength === 0) {\n return true;\n }\n\n for (var i = 0; i < valueLength; i++) {\n if (isNaN(value[i])) {\n (0, _util.warn)('Invalid CFFDict value: \"' + value + '\" for key \"' + key + '\".');\n return true;\n }\n }\n\n var type = this.types[key];\n\n if (type === \"num\" || type === \"sid\" || type === \"offset\") {\n value = value[0];\n }\n\n this.values[key] = value;\n return true;\n },\n setByName: function CFFDict_setByName(name, value) {\n if (!(name in this.nameToKeyMap)) {\n throw new _util.FormatError(`Invalid dictionary name \"${name}\"`);\n }\n\n this.values[this.nameToKeyMap[name]] = value;\n },\n hasName: function CFFDict_hasName(name) {\n return this.nameToKeyMap[name] in this.values;\n },\n getByName: function CFFDict_getByName(name) {\n if (!(name in this.nameToKeyMap)) {\n throw new _util.FormatError(`Invalid dictionary name ${name}\"`);\n }\n\n var key = this.nameToKeyMap[name];\n\n if (!(key in this.values)) {\n return this.defaults[key];\n }\n\n return this.values[key];\n },\n removeByName: function CFFDict_removeByName(name) {\n delete this.values[this.nameToKeyMap[name]];\n }\n };\n\n CFFDict.createTables = function CFFDict_createTables(layout) {\n var tables = {\n keyToNameMap: {},\n nameToKeyMap: {},\n defaults: {},\n types: {},\n opcodes: {},\n order: []\n };\n\n for (var i = 0, ii = layout.length; i < ii; ++i) {\n var entry = layout[i];\n var key = Array.isArray(entry[0]) ? (entry[0][0] << 8) + entry[0][1] : entry[0];\n tables.keyToNameMap[key] = entry[1];\n tables.nameToKeyMap[entry[1]] = key;\n tables.types[key] = entry[2];\n tables.defaults[key] = entry[3];\n tables.opcodes[key] = Array.isArray(entry[0]) ? entry[0] : [entry[0]];\n tables.order.push(key);\n }\n\n return tables;\n };\n\n return CFFDict;\n}();\n\nvar CFFTopDict = function CFFTopDictClosure() {\n var layout = [[[12, 30], \"ROS\", [\"sid\", \"sid\", \"num\"], null], [[12, 20], \"SyntheticBase\", \"num\", null], [0, \"version\", \"sid\", null], [1, \"Notice\", \"sid\", null], [[12, 0], \"Copyright\", \"sid\", null], [2, \"FullName\", \"sid\", null], [3, \"FamilyName\", \"sid\", null], [4, \"Weight\", \"sid\", null], [[12, 1], \"isFixedPitch\", \"num\", 0], [[12, 2], \"ItalicAngle\", \"num\", 0], [[12, 3], \"UnderlinePosition\", \"num\", -100], [[12, 4], \"UnderlineThickness\", \"num\", 50], [[12, 5], \"PaintType\", \"num\", 0], [[12, 6], \"CharstringType\", \"num\", 2], [[12, 7], \"FontMatrix\", [\"num\", \"num\", \"num\", \"num\", \"num\", \"num\"], [0.001, 0, 0, 0.001, 0, 0]], [13, \"UniqueID\", \"num\", null], [5, \"FontBBox\", [\"num\", \"num\", \"num\", \"num\"], [0, 0, 0, 0]], [[12, 8], \"StrokeWidth\", \"num\", 0], [14, \"XUID\", \"array\", null], [15, \"charset\", \"offset\", 0], [16, \"Encoding\", \"offset\", 0], [17, \"CharStrings\", \"offset\", 0], [18, \"Private\", [\"offset\", \"offset\"], null], [[12, 21], \"PostScript\", \"sid\", null], [[12, 22], \"BaseFontName\", \"sid\", null], [[12, 23], \"BaseFontBlend\", \"delta\", null], [[12, 31], \"CIDFontVersion\", \"num\", 0], [[12, 32], \"CIDFontRevision\", \"num\", 0], [[12, 33], \"CIDFontType\", \"num\", 0], [[12, 34], \"CIDCount\", \"num\", 8720], [[12, 35], \"UIDBase\", \"num\", null], [[12, 37], \"FDSelect\", \"offset\", null], [[12, 36], \"FDArray\", \"offset\", null], [[12, 38], \"FontName\", \"sid\", null]];\n var tables = null;\n\n function CFFTopDict(strings) {\n if (tables === null) {\n tables = CFFDict.createTables(layout);\n }\n\n CFFDict.call(this, tables, strings);\n this.privateDict = null;\n }\n\n CFFTopDict.prototype = Object.create(CFFDict.prototype);\n return CFFTopDict;\n}();\n\nexports.CFFTopDict = CFFTopDict;\n\nvar CFFPrivateDict = function CFFPrivateDictClosure() {\n var layout = [[6, \"BlueValues\", \"delta\", null], [7, \"OtherBlues\", \"delta\", null], [8, \"FamilyBlues\", \"delta\", null], [9, \"FamilyOtherBlues\", \"delta\", null], [[12, 9], \"BlueScale\", \"num\", 0.039625], [[12, 10], \"BlueShift\", \"num\", 7], [[12, 11], \"BlueFuzz\", \"num\", 1], [10, \"StdHW\", \"num\", null], [11, \"StdVW\", \"num\", null], [[12, 12], \"StemSnapH\", \"delta\", null], [[12, 13], \"StemSnapV\", \"delta\", null], [[12, 14], \"ForceBold\", \"num\", 0], [[12, 17], \"LanguageGroup\", \"num\", 0], [[12, 18], \"ExpansionFactor\", \"num\", 0.06], [[12, 19], \"initialRandomSeed\", \"num\", 0], [20, \"defaultWidthX\", \"num\", 0], [21, \"nominalWidthX\", \"num\", 0], [19, \"Subrs\", \"offset\", null]];\n var tables = null;\n\n function CFFPrivateDict(strings) {\n if (tables === null) {\n tables = CFFDict.createTables(layout);\n }\n\n CFFDict.call(this, tables, strings);\n this.subrsIndex = null;\n }\n\n CFFPrivateDict.prototype = Object.create(CFFDict.prototype);\n return CFFPrivateDict;\n}();\n\nexports.CFFPrivateDict = CFFPrivateDict;\nvar CFFCharsetPredefinedTypes = {\n ISO_ADOBE: 0,\n EXPERT: 1,\n EXPERT_SUBSET: 2\n};\n\nvar CFFCharset = function CFFCharsetClosure() {\n function CFFCharset(predefined, format, charset, raw) {\n this.predefined = predefined;\n this.format = format;\n this.charset = charset;\n this.raw = raw;\n }\n\n return CFFCharset;\n}();\n\nexports.CFFCharset = CFFCharset;\n\nvar CFFEncoding = function CFFEncodingClosure() {\n function CFFEncoding(predefined, format, encoding, raw) {\n this.predefined = predefined;\n this.format = format;\n this.encoding = encoding;\n this.raw = raw;\n }\n\n return CFFEncoding;\n}();\n\nvar CFFFDSelect = function CFFFDSelectClosure() {\n function CFFFDSelect(format, fdSelect) {\n this.format = format;\n this.fdSelect = fdSelect;\n }\n\n CFFFDSelect.prototype = {\n getFDIndex: function CFFFDSelect_get(glyphIndex) {\n if (glyphIndex < 0 || glyphIndex >= this.fdSelect.length) {\n return -1;\n }\n\n return this.fdSelect[glyphIndex];\n }\n };\n return CFFFDSelect;\n}();\n\nexports.CFFFDSelect = CFFFDSelect;\n\nvar CFFOffsetTracker = function CFFOffsetTrackerClosure() {\n function CFFOffsetTracker() {\n this.offsets = Object.create(null);\n }\n\n CFFOffsetTracker.prototype = {\n isTracking: function CFFOffsetTracker_isTracking(key) {\n return key in this.offsets;\n },\n track: function CFFOffsetTracker_track(key, location) {\n if (key in this.offsets) {\n throw new _util.FormatError(`Already tracking location of ${key}`);\n }\n\n this.offsets[key] = location;\n },\n offset: function CFFOffsetTracker_offset(value) {\n for (var key in this.offsets) {\n this.offsets[key] += value;\n }\n },\n setEntryLocation: function CFFOffsetTracker_setEntryLocation(key, values, output) {\n if (!(key in this.offsets)) {\n throw new _util.FormatError(`Not tracking location of ${key}`);\n }\n\n var data = output.data;\n var dataOffset = this.offsets[key];\n var size = 5;\n\n for (var i = 0, ii = values.length; i < ii; ++i) {\n var offset0 = i * size + dataOffset;\n var offset1 = offset0 + 1;\n var offset2 = offset0 + 2;\n var offset3 = offset0 + 3;\n var offset4 = offset0 + 4;\n\n if (data[offset0] !== 0x1d || data[offset1] !== 0 || data[offset2] !== 0 || data[offset3] !== 0 || data[offset4] !== 0) {\n throw new _util.FormatError(\"writing to an offset that is not empty\");\n }\n\n var value = values[i];\n data[offset0] = 0x1d;\n data[offset1] = value >> 24 & 0xff;\n data[offset2] = value >> 16 & 0xff;\n data[offset3] = value >> 8 & 0xff;\n data[offset4] = value & 0xff;\n }\n }\n };\n return CFFOffsetTracker;\n}();\n\nvar CFFCompiler = function CFFCompilerClosure() {\n function CFFCompiler(cff) {\n this.cff = cff;\n }\n\n CFFCompiler.prototype = {\n compile: function CFFCompiler_compile() {\n var cff = this.cff;\n var output = {\n data: [],\n length: 0,\n add: function CFFCompiler_add(data) {\n this.data = this.data.concat(data);\n this.length = this.data.length;\n }\n };\n var header = this.compileHeader(cff.header);\n output.add(header);\n var nameIndex = this.compileNameIndex(cff.names);\n output.add(nameIndex);\n\n if (cff.isCIDFont) {\n if (cff.topDict.hasName(\"FontMatrix\")) {\n var base = cff.topDict.getByName(\"FontMatrix\");\n cff.topDict.removeByName(\"FontMatrix\");\n\n for (var i = 0, ii = cff.fdArray.length; i < ii; i++) {\n var subDict = cff.fdArray[i];\n var matrix = base.slice(0);\n\n if (subDict.hasName(\"FontMatrix\")) {\n matrix = _util.Util.transform(matrix, subDict.getByName(\"FontMatrix\"));\n }\n\n subDict.setByName(\"FontMatrix\", matrix);\n }\n }\n }\n\n cff.topDict.setByName(\"charset\", 0);\n var compiled = this.compileTopDicts([cff.topDict], output.length, cff.isCIDFont);\n output.add(compiled.output);\n var topDictTracker = compiled.trackers[0];\n var stringIndex = this.compileStringIndex(cff.strings.strings);\n output.add(stringIndex);\n var globalSubrIndex = this.compileIndex(cff.globalSubrIndex);\n output.add(globalSubrIndex);\n\n if (cff.encoding && cff.topDict.hasName(\"Encoding\")) {\n if (cff.encoding.predefined) {\n topDictTracker.setEntryLocation(\"Encoding\", [cff.encoding.format], output);\n } else {\n var encoding = this.compileEncoding(cff.encoding);\n topDictTracker.setEntryLocation(\"Encoding\", [output.length], output);\n output.add(encoding);\n }\n }\n\n var charset = this.compileCharset(cff.charset, cff.charStrings.count, cff.strings, cff.isCIDFont);\n topDictTracker.setEntryLocation(\"charset\", [output.length], output);\n output.add(charset);\n var charStrings = this.compileCharStrings(cff.charStrings);\n topDictTracker.setEntryLocation(\"CharStrings\", [output.length], output);\n output.add(charStrings);\n\n if (cff.isCIDFont) {\n topDictTracker.setEntryLocation(\"FDSelect\", [output.length], output);\n var fdSelect = this.compileFDSelect(cff.fdSelect);\n output.add(fdSelect);\n compiled = this.compileTopDicts(cff.fdArray, output.length, true);\n topDictTracker.setEntryLocation(\"FDArray\", [output.length], output);\n output.add(compiled.output);\n var fontDictTrackers = compiled.trackers;\n this.compilePrivateDicts(cff.fdArray, fontDictTrackers, output);\n }\n\n this.compilePrivateDicts([cff.topDict], [topDictTracker], output);\n output.add([0]);\n return output.data;\n },\n encodeNumber: function CFFCompiler_encodeNumber(value) {\n if (parseFloat(value) === parseInt(value, 10) && !isNaN(value)) {\n return this.encodeInteger(value);\n }\n\n return this.encodeFloat(value);\n },\n encodeFloat: function CFFCompiler_encodeFloat(num) {\n var value = num.toString();\n var m = /\\.(\\d*?)(?:9{5,20}|0{5,20})\\d{0,2}(?:e(.+)|$)/.exec(value);\n\n if (m) {\n var epsilon = parseFloat(\"1e\" + ((m[2] ? +m[2] : 0) + m[1].length));\n value = (Math.round(num * epsilon) / epsilon).toString();\n }\n\n var nibbles = \"\";\n var i, ii;\n\n for (i = 0, ii = value.length; i < ii; ++i) {\n var a = value[i];\n\n if (a === \"e\") {\n nibbles += value[++i] === \"-\" ? \"c\" : \"b\";\n } else if (a === \".\") {\n nibbles += \"a\";\n } else if (a === \"-\") {\n nibbles += \"e\";\n } else {\n nibbles += a;\n }\n }\n\n nibbles += nibbles.length & 1 ? \"f\" : \"ff\";\n var out = [30];\n\n for (i = 0, ii = nibbles.length; i < ii; i += 2) {\n out.push(parseInt(nibbles.substring(i, i + 2), 16));\n }\n\n return out;\n },\n encodeInteger: function CFFCompiler_encodeInteger(value) {\n var code;\n\n if (value >= -107 && value <= 107) {\n code = [value + 139];\n } else if (value >= 108 && value <= 1131) {\n value = value - 108;\n code = [(value >> 8) + 247, value & 0xff];\n } else if (value >= -1131 && value <= -108) {\n value = -value - 108;\n code = [(value >> 8) + 251, value & 0xff];\n } else if (value >= -32768 && value <= 32767) {\n code = [0x1c, value >> 8 & 0xff, value & 0xff];\n } else {\n code = [0x1d, value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff];\n }\n\n return code;\n },\n compileHeader: function CFFCompiler_compileHeader(header) {\n return [header.major, header.minor, header.hdrSize, header.offSize];\n },\n compileNameIndex: function CFFCompiler_compileNameIndex(names) {\n var nameIndex = new CFFIndex();\n\n for (var i = 0, ii = names.length; i < ii; ++i) {\n var name = names[i];\n var length = Math.min(name.length, 127);\n var sanitizedName = new Array(length);\n\n for (var j = 0; j < length; j++) {\n var char = name[j];\n\n if (char < \"!\" || char > \"~\" || char === \"[\" || char === \"]\" || char === \"(\" || char === \")\" || char === \"{\" || char === \"}\" || char === \"<\" || char === \">\" || char === \"/\" || char === \"%\") {\n char = \"_\";\n }\n\n sanitizedName[j] = char;\n }\n\n sanitizedName = sanitizedName.join(\"\");\n\n if (sanitizedName === \"\") {\n sanitizedName = \"Bad_Font_Name\";\n }\n\n nameIndex.add((0, _util.stringToBytes)(sanitizedName));\n }\n\n return this.compileIndex(nameIndex);\n },\n compileTopDicts: function CFFCompiler_compileTopDicts(dicts, length, removeCidKeys) {\n var fontDictTrackers = [];\n var fdArrayIndex = new CFFIndex();\n\n for (var i = 0, ii = dicts.length; i < ii; ++i) {\n var fontDict = dicts[i];\n\n if (removeCidKeys) {\n fontDict.removeByName(\"CIDFontVersion\");\n fontDict.removeByName(\"CIDFontRevision\");\n fontDict.removeByName(\"CIDFontType\");\n fontDict.removeByName(\"CIDCount\");\n fontDict.removeByName(\"UIDBase\");\n }\n\n var fontDictTracker = new CFFOffsetTracker();\n var fontDictData = this.compileDict(fontDict, fontDictTracker);\n fontDictTrackers.push(fontDictTracker);\n fdArrayIndex.add(fontDictData);\n fontDictTracker.offset(length);\n }\n\n fdArrayIndex = this.compileIndex(fdArrayIndex, fontDictTrackers);\n return {\n trackers: fontDictTrackers,\n output: fdArrayIndex\n };\n },\n compilePrivateDicts: function CFFCompiler_compilePrivateDicts(dicts, trackers, output) {\n for (var i = 0, ii = dicts.length; i < ii; ++i) {\n var fontDict = dicts[i];\n var privateDict = fontDict.privateDict;\n\n if (!privateDict || !fontDict.hasName(\"Private\")) {\n throw new _util.FormatError(\"There must be a private dictionary.\");\n }\n\n var privateDictTracker = new CFFOffsetTracker();\n var privateDictData = this.compileDict(privateDict, privateDictTracker);\n var outputLength = output.length;\n privateDictTracker.offset(outputLength);\n\n if (!privateDictData.length) {\n outputLength = 0;\n }\n\n trackers[i].setEntryLocation(\"Private\", [privateDictData.length, outputLength], output);\n output.add(privateDictData);\n\n if (privateDict.subrsIndex && privateDict.hasName(\"Subrs\")) {\n var subrs = this.compileIndex(privateDict.subrsIndex);\n privateDictTracker.setEntryLocation(\"Subrs\", [privateDictData.length], output);\n output.add(subrs);\n }\n }\n },\n compileDict: function CFFCompiler_compileDict(dict, offsetTracker) {\n var out = [];\n var order = dict.order;\n\n for (var i = 0; i < order.length; ++i) {\n var key = order[i];\n\n if (!(key in dict.values)) {\n continue;\n }\n\n var values = dict.values[key];\n var types = dict.types[key];\n\n if (!Array.isArray(types)) {\n types = [types];\n }\n\n if (!Array.isArray(values)) {\n values = [values];\n }\n\n if (values.length === 0) {\n continue;\n }\n\n for (var j = 0, jj = types.length; j < jj; ++j) {\n var type = types[j];\n var value = values[j];\n\n switch (type) {\n case \"num\":\n case \"sid\":\n out = out.concat(this.encodeNumber(value));\n break;\n\n case \"offset\":\n var name = dict.keyToNameMap[key];\n\n if (!offsetTracker.isTracking(name)) {\n offsetTracker.track(name, out.length);\n }\n\n out = out.concat([0x1d, 0, 0, 0, 0]);\n break;\n\n case \"array\":\n case \"delta\":\n out = out.concat(this.encodeNumber(value));\n\n for (var k = 1, kk = values.length; k < kk; ++k) {\n out = out.concat(this.encodeNumber(values[k]));\n }\n\n break;\n\n default:\n throw new _util.FormatError(`Unknown data type of ${type}`);\n }\n }\n\n out = out.concat(dict.opcodes[key]);\n }\n\n return out;\n },\n compileStringIndex: function CFFCompiler_compileStringIndex(strings) {\n var stringIndex = new CFFIndex();\n\n for (var i = 0, ii = strings.length; i < ii; ++i) {\n stringIndex.add((0, _util.stringToBytes)(strings[i]));\n }\n\n return this.compileIndex(stringIndex);\n },\n compileGlobalSubrIndex: function CFFCompiler_compileGlobalSubrIndex() {\n var globalSubrIndex = this.cff.globalSubrIndex;\n this.out.writeByteArray(this.compileIndex(globalSubrIndex));\n },\n compileCharStrings: function CFFCompiler_compileCharStrings(charStrings) {\n var charStringsIndex = new CFFIndex();\n\n for (var i = 0; i < charStrings.count; i++) {\n var glyph = charStrings.get(i);\n\n if (glyph.length === 0) {\n charStringsIndex.add(new Uint8Array([0x8b, 0x0e]));\n continue;\n }\n\n charStringsIndex.add(glyph);\n }\n\n return this.compileIndex(charStringsIndex);\n },\n compileCharset: function CFFCompiler_compileCharset(charset, numGlyphs, strings, isCIDFont) {\n let out;\n const numGlyphsLessNotDef = numGlyphs - 1;\n\n if (isCIDFont) {\n out = new Uint8Array([2, 0, 0, numGlyphsLessNotDef >> 8 & 0xff, numGlyphsLessNotDef & 0xff]);\n } else {\n const length = 1 + numGlyphsLessNotDef * 2;\n out = new Uint8Array(length);\n out[0] = 0;\n let charsetIndex = 0;\n const numCharsets = charset.charset.length;\n let warned = false;\n\n for (let i = 1; i < out.length; i += 2) {\n let sid = 0;\n\n if (charsetIndex < numCharsets) {\n const name = charset.charset[charsetIndex++];\n sid = strings.getSID(name);\n\n if (sid === -1) {\n sid = 0;\n\n if (!warned) {\n warned = true;\n (0, _util.warn)(`Couldn't find ${name} in CFF strings`);\n }\n }\n }\n\n out[i] = sid >> 8 & 0xff;\n out[i + 1] = sid & 0xff;\n }\n }\n\n return this.compileTypedArray(out);\n },\n compileEncoding: function CFFCompiler_compileEncoding(encoding) {\n return this.compileTypedArray(encoding.raw);\n },\n compileFDSelect: function CFFCompiler_compileFDSelect(fdSelect) {\n const format = fdSelect.format;\n let out, i;\n\n switch (format) {\n case 0:\n out = new Uint8Array(1 + fdSelect.fdSelect.length);\n out[0] = format;\n\n for (i = 0; i < fdSelect.fdSelect.length; i++) {\n out[i + 1] = fdSelect.fdSelect[i];\n }\n\n break;\n\n case 3:\n const start = 0;\n let lastFD = fdSelect.fdSelect[0];\n const ranges = [format, 0, 0, start >> 8 & 0xff, start & 0xff, lastFD];\n\n for (i = 1; i < fdSelect.fdSelect.length; i++) {\n const currentFD = fdSelect.fdSelect[i];\n\n if (currentFD !== lastFD) {\n ranges.push(i >> 8 & 0xff, i & 0xff, currentFD);\n lastFD = currentFD;\n }\n }\n\n const numRanges = (ranges.length - 3) / 3;\n ranges[1] = numRanges >> 8 & 0xff;\n ranges[2] = numRanges & 0xff;\n ranges.push(i >> 8 & 0xff, i & 0xff);\n out = new Uint8Array(ranges);\n break;\n }\n\n return this.compileTypedArray(out);\n },\n compileTypedArray: function CFFCompiler_compileTypedArray(data) {\n var out = [];\n\n for (var i = 0, ii = data.length; i < ii; ++i) {\n out[i] = data[i];\n }\n\n return out;\n },\n compileIndex: function CFFCompiler_compileIndex(index, trackers) {\n trackers = trackers || [];\n var objects = index.objects;\n var count = objects.length;\n\n if (count === 0) {\n return [0, 0, 0];\n }\n\n var data = [count >> 8 & 0xff, count & 0xff];\n var lastOffset = 1,\n i;\n\n for (i = 0; i < count; ++i) {\n lastOffset += objects[i].length;\n }\n\n var offsetSize;\n\n if (lastOffset < 0x100) {\n offsetSize = 1;\n } else if (lastOffset < 0x10000) {\n offsetSize = 2;\n } else if (lastOffset < 0x1000000) {\n offsetSize = 3;\n } else {\n offsetSize = 4;\n }\n\n data.push(offsetSize);\n var relativeOffset = 1;\n\n for (i = 0; i < count + 1; i++) {\n if (offsetSize === 1) {\n data.push(relativeOffset & 0xff);\n } else if (offsetSize === 2) {\n data.push(relativeOffset >> 8 & 0xff, relativeOffset & 0xff);\n } else if (offsetSize === 3) {\n data.push(relativeOffset >> 16 & 0xff, relativeOffset >> 8 & 0xff, relativeOffset & 0xff);\n } else {\n data.push(relativeOffset >>> 24 & 0xff, relativeOffset >> 16 & 0xff, relativeOffset >> 8 & 0xff, relativeOffset & 0xff);\n }\n\n if (objects[i]) {\n relativeOffset += objects[i].length;\n }\n }\n\n for (i = 0; i < count; i++) {\n if (trackers[i]) {\n trackers[i].offset(data.length);\n }\n\n for (var j = 0, jj = objects[i].length; j < jj; j++) {\n data.push(objects[i][j]);\n }\n }\n\n return data;\n }\n };\n return CFFCompiler;\n}();\n\nexports.CFFCompiler = CFFCompiler;\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ExpertSubsetCharset = exports.ExpertCharset = exports.ISOAdobeCharset = void 0;\nconst ISOAdobeCharset = [\".notdef\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quoteright\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"quoteleft\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"exclamdown\", \"cent\", \"sterling\", \"fraction\", \"yen\", \"florin\", \"section\", \"currency\", \"quotesingle\", \"quotedblleft\", \"guillemotleft\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"endash\", \"dagger\", \"daggerdbl\", \"periodcentered\", \"paragraph\", \"bullet\", \"quotesinglbase\", \"quotedblbase\", \"quotedblright\", \"guillemotright\", \"ellipsis\", \"perthousand\", \"questiondown\", \"grave\", \"acute\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"dieresis\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\", \"emdash\", \"AE\", \"ordfeminine\", \"Lslash\", \"Oslash\", \"OE\", \"ordmasculine\", \"ae\", \"dotlessi\", \"lslash\", \"oslash\", \"oe\", \"germandbls\", \"onesuperior\", \"logicalnot\", \"mu\", \"trademark\", \"Eth\", \"onehalf\", \"plusminus\", \"Thorn\", \"onequarter\", \"divide\", \"brokenbar\", \"degree\", \"thorn\", \"threequarters\", \"twosuperior\", \"registered\", \"minus\", \"eth\", \"multiply\", \"threesuperior\", \"copyright\", \"Aacute\", \"Acircumflex\", \"Adieresis\", \"Agrave\", \"Aring\", \"Atilde\", \"Ccedilla\", \"Eacute\", \"Ecircumflex\", \"Edieresis\", \"Egrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Ntilde\", \"Oacute\", \"Ocircumflex\", \"Odieresis\", \"Ograve\", \"Otilde\", \"Scaron\", \"Uacute\", \"Ucircumflex\", \"Udieresis\", \"Ugrave\", \"Yacute\", \"Ydieresis\", \"Zcaron\", \"aacute\", \"acircumflex\", \"adieresis\", \"agrave\", \"aring\", \"atilde\", \"ccedilla\", \"eacute\", \"ecircumflex\", \"edieresis\", \"egrave\", \"iacute\", \"icircumflex\", \"idieresis\", \"igrave\", \"ntilde\", \"oacute\", \"ocircumflex\", \"odieresis\", \"ograve\", \"otilde\", \"scaron\", \"uacute\", \"ucircumflex\", \"udieresis\", \"ugrave\", \"yacute\", \"ydieresis\", \"zcaron\"];\nexports.ISOAdobeCharset = ISOAdobeCharset;\nconst ExpertCharset = [\".notdef\", \"space\", \"exclamsmall\", \"Hungarumlautsmall\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"colon\", \"semicolon\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\", \"questionsmall\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"isuperior\", \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"rsuperior\", \"ssuperior\", \"tsuperior\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"parenrightinferior\", \"Circumflexsmall\", \"hyphensuperior\", \"Gravesmall\", \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"Tildesmall\", \"exclamdownsmall\", \"centoldstyle\", \"Lslashsmall\", \"Scaronsmall\", \"Zcaronsmall\", \"Dieresissmall\", \"Brevesmall\", \"Caronsmall\", \"Dotaccentsmall\", \"Macronsmall\", \"figuredash\", \"hypheninferior\", \"Ogoneksmall\", \"Ringsmall\", \"Cedillasmall\", \"onequarter\", \"onehalf\", \"threequarters\", \"questiondownsmall\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"zerosuperior\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\", \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\", \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\", \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\", \"periodinferior\", \"commainferior\", \"Agravesmall\", \"Aacutesmall\", \"Acircumflexsmall\", \"Atildesmall\", \"Adieresissmall\", \"Aringsmall\", \"AEsmall\", \"Ccedillasmall\", \"Egravesmall\", \"Eacutesmall\", \"Ecircumflexsmall\", \"Edieresissmall\", \"Igravesmall\", \"Iacutesmall\", \"Icircumflexsmall\", \"Idieresissmall\", \"Ethsmall\", \"Ntildesmall\", \"Ogravesmall\", \"Oacutesmall\", \"Ocircumflexsmall\", \"Otildesmall\", \"Odieresissmall\", \"OEsmall\", \"Oslashsmall\", \"Ugravesmall\", \"Uacutesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"Yacutesmall\", \"Thornsmall\", \"Ydieresissmall\"];\nexports.ExpertCharset = ExpertCharset;\nconst ExpertSubsetCharset = [\".notdef\", \"space\", \"dollaroldstyle\", \"dollarsuperior\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"colon\", \"semicolon\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"isuperior\", \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"rsuperior\", \"ssuperior\", \"tsuperior\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"parenrightinferior\", \"hyphensuperior\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"centoldstyle\", \"figuredash\", \"hypheninferior\", \"onequarter\", \"onehalf\", \"threequarters\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"zerosuperior\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\", \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\", \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\", \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\", \"periodinferior\", \"commainferior\"];\nexports.ExpertSubsetCharset = ExpertSubsetCharset;\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getEncoding = getEncoding;\nexports.ExpertEncoding = exports.ZapfDingbatsEncoding = exports.SymbolSetEncoding = exports.MacRomanEncoding = exports.StandardEncoding = exports.WinAnsiEncoding = void 0;\nconst ExpertEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclamsmall\", \"Hungarumlautsmall\", \"\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"colon\", \"semicolon\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\", \"questionsmall\", \"\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"\", \"\", \"\", \"isuperior\", \"\", \"\", \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"\", \"\", \"rsuperior\", \"ssuperior\", \"tsuperior\", \"\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"\", \"parenrightinferior\", \"Circumflexsmall\", \"hyphensuperior\", \"Gravesmall\", \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"Tildesmall\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"exclamdownsmall\", \"centoldstyle\", \"Lslashsmall\", \"\", \"\", \"Scaronsmall\", \"Zcaronsmall\", \"Dieresissmall\", \"Brevesmall\", \"Caronsmall\", \"\", \"Dotaccentsmall\", \"\", \"\", \"Macronsmall\", \"\", \"\", \"figuredash\", \"hypheninferior\", \"\", \"\", \"Ogoneksmall\", \"Ringsmall\", \"Cedillasmall\", \"\", \"\", \"\", \"onequarter\", \"onehalf\", \"threequarters\", \"questiondownsmall\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"\", \"\", \"zerosuperior\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\", \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\", \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\", \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\", \"periodinferior\", \"commainferior\", \"Agravesmall\", \"Aacutesmall\", \"Acircumflexsmall\", \"Atildesmall\", \"Adieresissmall\", \"Aringsmall\", \"AEsmall\", \"Ccedillasmall\", \"Egravesmall\", \"Eacutesmall\", \"Ecircumflexsmall\", \"Edieresissmall\", \"Igravesmall\", \"Iacutesmall\", \"Icircumflexsmall\", \"Idieresissmall\", \"Ethsmall\", \"Ntildesmall\", \"Ogravesmall\", \"Oacutesmall\", \"Ocircumflexsmall\", \"Otildesmall\", \"Odieresissmall\", \"OEsmall\", \"Oslashsmall\", \"Ugravesmall\", \"Uacutesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"Yacutesmall\", \"Thornsmall\", \"Ydieresissmall\"];\nexports.ExpertEncoding = ExpertEncoding;\nconst MacExpertEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclamsmall\", \"Hungarumlautsmall\", \"centoldstyle\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"colon\", \"semicolon\", \"\", \"threequartersemdash\", \"\", \"questionsmall\", \"\", \"\", \"\", \"\", \"Ethsmall\", \"\", \"\", \"onequarter\", \"onehalf\", \"threequarters\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"\", \"\", \"\", \"\", \"\", \"\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"\", \"parenrightinferior\", \"Circumflexsmall\", \"hypheninferior\", \"Gravesmall\", \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"Tildesmall\", \"\", \"\", \"asuperior\", \"centsuperior\", \"\", \"\", \"\", \"\", \"Aacutesmall\", \"Agravesmall\", \"Acircumflexsmall\", \"Adieresissmall\", \"Atildesmall\", \"Aringsmall\", \"Ccedillasmall\", \"Eacutesmall\", \"Egravesmall\", \"Ecircumflexsmall\", \"Edieresissmall\", \"Iacutesmall\", \"Igravesmall\", \"Icircumflexsmall\", \"Idieresissmall\", \"Ntildesmall\", \"Oacutesmall\", \"Ogravesmall\", \"Ocircumflexsmall\", \"Odieresissmall\", \"Otildesmall\", \"Uacutesmall\", \"Ugravesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"\", \"eightsuperior\", \"fourinferior\", \"threeinferior\", \"sixinferior\", \"eightinferior\", \"seveninferior\", \"Scaronsmall\", \"\", \"centinferior\", \"twoinferior\", \"\", \"Dieresissmall\", \"\", \"Caronsmall\", \"osuperior\", \"fiveinferior\", \"\", \"commainferior\", \"periodinferior\", \"Yacutesmall\", \"\", \"dollarinferior\", \"\", \"\", \"Thornsmall\", \"\", \"nineinferior\", \"zeroinferior\", \"Zcaronsmall\", \"AEsmall\", \"Oslashsmall\", \"questiondownsmall\", \"oneinferior\", \"Lslashsmall\", \"\", \"\", \"\", \"\", \"\", \"\", \"Cedillasmall\", \"\", \"\", \"\", \"\", \"\", \"OEsmall\", \"figuredash\", \"hyphensuperior\", \"\", \"\", \"\", \"\", \"exclamdownsmall\", \"\", \"Ydieresissmall\", \"\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"ninesuperior\", \"zerosuperior\", \"\", \"esuperior\", \"rsuperior\", \"tsuperior\", \"\", \"\", \"isuperior\", \"ssuperior\", \"dsuperior\", \"\", \"\", \"\", \"\", \"\", \"lsuperior\", \"Ogoneksmall\", \"Brevesmall\", \"Macronsmall\", \"bsuperior\", \"nsuperior\", \"msuperior\", \"commasuperior\", \"periodsuperior\", \"Dotaccentsmall\", \"Ringsmall\", \"\", \"\", \"\", \"\"];\nconst MacRomanEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quotesingle\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"grave\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"\", \"Adieresis\", \"Aring\", \"Ccedilla\", \"Eacute\", \"Ntilde\", \"Odieresis\", \"Udieresis\", \"aacute\", \"agrave\", \"acircumflex\", \"adieresis\", \"atilde\", \"aring\", \"ccedilla\", \"eacute\", \"egrave\", \"ecircumflex\", \"edieresis\", \"iacute\", \"igrave\", \"icircumflex\", \"idieresis\", \"ntilde\", \"oacute\", \"ograve\", \"ocircumflex\", \"odieresis\", \"otilde\", \"uacute\", \"ugrave\", \"ucircumflex\", \"udieresis\", \"dagger\", \"degree\", \"cent\", \"sterling\", \"section\", \"bullet\", \"paragraph\", \"germandbls\", \"registered\", \"copyright\", \"trademark\", \"acute\", \"dieresis\", \"notequal\", \"AE\", \"Oslash\", \"infinity\", \"plusminus\", \"lessequal\", \"greaterequal\", \"yen\", \"mu\", \"partialdiff\", \"summation\", \"product\", \"pi\", \"integral\", \"ordfeminine\", \"ordmasculine\", \"Omega\", \"ae\", \"oslash\", \"questiondown\", \"exclamdown\", \"logicalnot\", \"radical\", \"florin\", \"approxequal\", \"Delta\", \"guillemotleft\", \"guillemotright\", \"ellipsis\", \"space\", \"Agrave\", \"Atilde\", \"Otilde\", \"OE\", \"oe\", \"endash\", \"emdash\", \"quotedblleft\", \"quotedblright\", \"quoteleft\", \"quoteright\", \"divide\", \"lozenge\", \"ydieresis\", \"Ydieresis\", \"fraction\", \"currency\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"daggerdbl\", \"periodcentered\", \"quotesinglbase\", \"quotedblbase\", \"perthousand\", \"Acircumflex\", \"Ecircumflex\", \"Aacute\", \"Edieresis\", \"Egrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Oacute\", \"Ocircumflex\", \"apple\", \"Ograve\", \"Uacute\", \"Ucircumflex\", \"Ugrave\", \"dotlessi\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\"];\nexports.MacRomanEncoding = MacRomanEncoding;\nconst StandardEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quoteright\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"quoteleft\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"exclamdown\", \"cent\", \"sterling\", \"fraction\", \"yen\", \"florin\", \"section\", \"currency\", \"quotesingle\", \"quotedblleft\", \"guillemotleft\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"\", \"endash\", \"dagger\", \"daggerdbl\", \"periodcentered\", \"\", \"paragraph\", \"bullet\", \"quotesinglbase\", \"quotedblbase\", \"quotedblright\", \"guillemotright\", \"ellipsis\", \"perthousand\", \"\", \"questiondown\", \"\", \"grave\", \"acute\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"dieresis\", \"\", \"ring\", \"cedilla\", \"\", \"hungarumlaut\", \"ogonek\", \"caron\", \"emdash\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"AE\", \"\", \"ordfeminine\", \"\", \"\", \"\", \"\", \"Lslash\", \"Oslash\", \"OE\", \"ordmasculine\", \"\", \"\", \"\", \"\", \"\", \"ae\", \"\", \"\", \"\", \"dotlessi\", \"\", \"\", \"lslash\", \"oslash\", \"oe\", \"germandbls\", \"\", \"\", \"\", \"\"];\nexports.StandardEncoding = StandardEncoding;\nconst WinAnsiEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quotesingle\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"grave\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"bullet\", \"Euro\", \"bullet\", \"quotesinglbase\", \"florin\", \"quotedblbase\", \"ellipsis\", \"dagger\", \"daggerdbl\", \"circumflex\", \"perthousand\", \"Scaron\", \"guilsinglleft\", \"OE\", \"bullet\", \"Zcaron\", \"bullet\", \"bullet\", \"quoteleft\", \"quoteright\", \"quotedblleft\", \"quotedblright\", \"bullet\", \"endash\", \"emdash\", \"tilde\", \"trademark\", \"scaron\", \"guilsinglright\", \"oe\", \"bullet\", \"zcaron\", \"Ydieresis\", \"space\", \"exclamdown\", \"cent\", \"sterling\", \"currency\", \"yen\", \"brokenbar\", \"section\", \"dieresis\", \"copyright\", \"ordfeminine\", \"guillemotleft\", \"logicalnot\", \"hyphen\", \"registered\", \"macron\", \"degree\", \"plusminus\", \"twosuperior\", \"threesuperior\", \"acute\", \"mu\", \"paragraph\", \"periodcentered\", \"cedilla\", \"onesuperior\", \"ordmasculine\", \"guillemotright\", \"onequarter\", \"onehalf\", \"threequarters\", \"questiondown\", \"Agrave\", \"Aacute\", \"Acircumflex\", \"Atilde\", \"Adieresis\", \"Aring\", \"AE\", \"Ccedilla\", \"Egrave\", \"Eacute\", \"Ecircumflex\", \"Edieresis\", \"Igrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Eth\", \"Ntilde\", \"Ograve\", \"Oacute\", \"Ocircumflex\", \"Otilde\", \"Odieresis\", \"multiply\", \"Oslash\", \"Ugrave\", \"Uacute\", \"Ucircumflex\", \"Udieresis\", \"Yacute\", \"Thorn\", \"germandbls\", \"agrave\", \"aacute\", \"acircumflex\", \"atilde\", \"adieresis\", \"aring\", \"ae\", \"ccedilla\", \"egrave\", \"eacute\", \"ecircumflex\", \"edieresis\", \"igrave\", \"iacute\", \"icircumflex\", \"idieresis\", \"eth\", \"ntilde\", \"ograve\", \"oacute\", \"ocircumflex\", \"otilde\", \"odieresis\", \"divide\", \"oslash\", \"ugrave\", \"uacute\", \"ucircumflex\", \"udieresis\", \"yacute\", \"thorn\", \"ydieresis\"];\nexports.WinAnsiEncoding = WinAnsiEncoding;\nconst SymbolSetEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclam\", \"universal\", \"numbersign\", \"existential\", \"percent\", \"ampersand\", \"suchthat\", \"parenleft\", \"parenright\", \"asteriskmath\", \"plus\", \"comma\", \"minus\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"congruent\", \"Alpha\", \"Beta\", \"Chi\", \"Delta\", \"Epsilon\", \"Phi\", \"Gamma\", \"Eta\", \"Iota\", \"theta1\", \"Kappa\", \"Lambda\", \"Mu\", \"Nu\", \"Omicron\", \"Pi\", \"Theta\", \"Rho\", \"Sigma\", \"Tau\", \"Upsilon\", \"sigma1\", \"Omega\", \"Xi\", \"Psi\", \"Zeta\", \"bracketleft\", \"therefore\", \"bracketright\", \"perpendicular\", \"underscore\", \"radicalex\", \"alpha\", \"beta\", \"chi\", \"delta\", \"epsilon\", \"phi\", \"gamma\", \"eta\", \"iota\", \"phi1\", \"kappa\", \"lambda\", \"mu\", \"nu\", \"omicron\", \"pi\", \"theta\", \"rho\", \"sigma\", \"tau\", \"upsilon\", \"omega1\", \"omega\", \"xi\", \"psi\", \"zeta\", \"braceleft\", \"bar\", \"braceright\", \"similar\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"Euro\", \"Upsilon1\", \"minute\", \"lessequal\", \"fraction\", \"infinity\", \"florin\", \"club\", \"diamond\", \"heart\", \"spade\", \"arrowboth\", \"arrowleft\", \"arrowup\", \"arrowright\", \"arrowdown\", \"degree\", \"plusminus\", \"second\", \"greaterequal\", \"multiply\", \"proportional\", \"partialdiff\", \"bullet\", \"divide\", \"notequal\", \"equivalence\", \"approxequal\", \"ellipsis\", \"arrowvertex\", \"arrowhorizex\", \"carriagereturn\", \"aleph\", \"Ifraktur\", \"Rfraktur\", \"weierstrass\", \"circlemultiply\", \"circleplus\", \"emptyset\", \"intersection\", \"union\", \"propersuperset\", \"reflexsuperset\", \"notsubset\", \"propersubset\", \"reflexsubset\", \"element\", \"notelement\", \"angle\", \"gradient\", \"registerserif\", \"copyrightserif\", \"trademarkserif\", \"product\", \"radical\", \"dotmath\", \"logicalnot\", \"logicaland\", \"logicalor\", \"arrowdblboth\", \"arrowdblleft\", \"arrowdblup\", \"arrowdblright\", \"arrowdbldown\", \"lozenge\", \"angleleft\", \"registersans\", \"copyrightsans\", \"trademarksans\", \"summation\", \"parenlefttp\", \"parenleftex\", \"parenleftbt\", \"bracketlefttp\", \"bracketleftex\", \"bracketleftbt\", \"bracelefttp\", \"braceleftmid\", \"braceleftbt\", \"braceex\", \"\", \"angleright\", \"integral\", \"integraltp\", \"integralex\", \"integralbt\", \"parenrighttp\", \"parenrightex\", \"parenrightbt\", \"bracketrighttp\", \"bracketrightex\", \"bracketrightbt\", \"bracerighttp\", \"bracerightmid\", \"bracerightbt\", \"\"];\nexports.SymbolSetEncoding = SymbolSetEncoding;\nconst ZapfDingbatsEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"a1\", \"a2\", \"a202\", \"a3\", \"a4\", \"a5\", \"a119\", \"a118\", \"a117\", \"a11\", \"a12\", \"a13\", \"a14\", \"a15\", \"a16\", \"a105\", \"a17\", \"a18\", \"a19\", \"a20\", \"a21\", \"a22\", \"a23\", \"a24\", \"a25\", \"a26\", \"a27\", \"a28\", \"a6\", \"a7\", \"a8\", \"a9\", \"a10\", \"a29\", \"a30\", \"a31\", \"a32\", \"a33\", \"a34\", \"a35\", \"a36\", \"a37\", \"a38\", \"a39\", \"a40\", \"a41\", \"a42\", \"a43\", \"a44\", \"a45\", \"a46\", \"a47\", \"a48\", \"a49\", \"a50\", \"a51\", \"a52\", \"a53\", \"a54\", \"a55\", \"a56\", \"a57\", \"a58\", \"a59\", \"a60\", \"a61\", \"a62\", \"a63\", \"a64\", \"a65\", \"a66\", \"a67\", \"a68\", \"a69\", \"a70\", \"a71\", \"a72\", \"a73\", \"a74\", \"a203\", \"a75\", \"a204\", \"a76\", \"a77\", \"a78\", \"a79\", \"a81\", \"a82\", \"a83\", \"a84\", \"a97\", \"a98\", \"a99\", \"a100\", \"\", \"a89\", \"a90\", \"a93\", \"a94\", \"a91\", \"a92\", \"a205\", \"a85\", \"a206\", \"a86\", \"a87\", \"a88\", \"a95\", \"a96\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"a101\", \"a102\", \"a103\", \"a104\", \"a106\", \"a107\", \"a108\", \"a112\", \"a111\", \"a110\", \"a109\", \"a120\", \"a121\", \"a122\", \"a123\", \"a124\", \"a125\", \"a126\", \"a127\", \"a128\", \"a129\", \"a130\", \"a131\", \"a132\", \"a133\", \"a134\", \"a135\", \"a136\", \"a137\", \"a138\", \"a139\", \"a140\", \"a141\", \"a142\", \"a143\", \"a144\", \"a145\", \"a146\", \"a147\", \"a148\", \"a149\", \"a150\", \"a151\", \"a152\", \"a153\", \"a154\", \"a155\", \"a156\", \"a157\", \"a158\", \"a159\", \"a160\", \"a161\", \"a163\", \"a164\", \"a196\", \"a165\", \"a192\", \"a166\", \"a167\", \"a168\", \"a169\", \"a170\", \"a171\", \"a172\", \"a173\", \"a162\", \"a174\", \"a175\", \"a176\", \"a177\", \"a178\", \"a179\", \"a193\", \"a180\", \"a199\", \"a181\", \"a200\", \"a182\", \"\", \"a201\", \"a183\", \"a184\", \"a197\", \"a185\", \"a194\", \"a198\", \"a186\", \"a195\", \"a187\", \"a188\", \"a189\", \"a190\", \"a191\", \"\"];\nexports.ZapfDingbatsEncoding = ZapfDingbatsEncoding;\n\nfunction getEncoding(encodingName) {\n switch (encodingName) {\n case \"WinAnsiEncoding\":\n return WinAnsiEncoding;\n\n case \"StandardEncoding\":\n return StandardEncoding;\n\n case \"MacRomanEncoding\":\n return MacRomanEncoding;\n\n case \"SymbolSetEncoding\":\n return SymbolSetEncoding;\n\n case \"ZapfDingbatsEncoding\":\n return ZapfDingbatsEncoding;\n\n case \"ExpertEncoding\":\n return ExpertEncoding;\n\n case \"MacExpertEncoding\":\n return MacExpertEncoding;\n\n default:\n return null;\n }\n}\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getLookupTableFactory = __w_pdfjs_require__(8).getLookupTableFactory;\nvar getGlyphsUnicode = getLookupTableFactory(function (t) {\n t.A = 0x0041;\n t.AE = 0x00c6;\n t.AEacute = 0x01fc;\n t.AEmacron = 0x01e2;\n t.AEsmall = 0xf7e6;\n t.Aacute = 0x00c1;\n t.Aacutesmall = 0xf7e1;\n t.Abreve = 0x0102;\n t.Abreveacute = 0x1eae;\n t.Abrevecyrillic = 0x04d0;\n t.Abrevedotbelow = 0x1eb6;\n t.Abrevegrave = 0x1eb0;\n t.Abrevehookabove = 0x1eb2;\n t.Abrevetilde = 0x1eb4;\n t.Acaron = 0x01cd;\n t.Acircle = 0x24b6;\n t.Acircumflex = 0x00c2;\n t.Acircumflexacute = 0x1ea4;\n t.Acircumflexdotbelow = 0x1eac;\n t.Acircumflexgrave = 0x1ea6;\n t.Acircumflexhookabove = 0x1ea8;\n t.Acircumflexsmall = 0xf7e2;\n t.Acircumflextilde = 0x1eaa;\n t.Acute = 0xf6c9;\n t.Acutesmall = 0xf7b4;\n t.Acyrillic = 0x0410;\n t.Adblgrave = 0x0200;\n t.Adieresis = 0x00c4;\n t.Adieresiscyrillic = 0x04d2;\n t.Adieresismacron = 0x01de;\n t.Adieresissmall = 0xf7e4;\n t.Adotbelow = 0x1ea0;\n t.Adotmacron = 0x01e0;\n t.Agrave = 0x00c0;\n t.Agravesmall = 0xf7e0;\n t.Ahookabove = 0x1ea2;\n t.Aiecyrillic = 0x04d4;\n t.Ainvertedbreve = 0x0202;\n t.Alpha = 0x0391;\n t.Alphatonos = 0x0386;\n t.Amacron = 0x0100;\n t.Amonospace = 0xff21;\n t.Aogonek = 0x0104;\n t.Aring = 0x00c5;\n t.Aringacute = 0x01fa;\n t.Aringbelow = 0x1e00;\n t.Aringsmall = 0xf7e5;\n t.Asmall = 0xf761;\n t.Atilde = 0x00c3;\n t.Atildesmall = 0xf7e3;\n t.Aybarmenian = 0x0531;\n t.B = 0x0042;\n t.Bcircle = 0x24b7;\n t.Bdotaccent = 0x1e02;\n t.Bdotbelow = 0x1e04;\n t.Becyrillic = 0x0411;\n t.Benarmenian = 0x0532;\n t.Beta = 0x0392;\n t.Bhook = 0x0181;\n t.Blinebelow = 0x1e06;\n t.Bmonospace = 0xff22;\n t.Brevesmall = 0xf6f4;\n t.Bsmall = 0xf762;\n t.Btopbar = 0x0182;\n t.C = 0x0043;\n t.Caarmenian = 0x053e;\n t.Cacute = 0x0106;\n t.Caron = 0xf6ca;\n t.Caronsmall = 0xf6f5;\n t.Ccaron = 0x010c;\n t.Ccedilla = 0x00c7;\n t.Ccedillaacute = 0x1e08;\n t.Ccedillasmall = 0xf7e7;\n t.Ccircle = 0x24b8;\n t.Ccircumflex = 0x0108;\n t.Cdot = 0x010a;\n t.Cdotaccent = 0x010a;\n t.Cedillasmall = 0xf7b8;\n t.Chaarmenian = 0x0549;\n t.Cheabkhasiancyrillic = 0x04bc;\n t.Checyrillic = 0x0427;\n t.Chedescenderabkhasiancyrillic = 0x04be;\n t.Chedescendercyrillic = 0x04b6;\n t.Chedieresiscyrillic = 0x04f4;\n t.Cheharmenian = 0x0543;\n t.Chekhakassiancyrillic = 0x04cb;\n t.Cheverticalstrokecyrillic = 0x04b8;\n t.Chi = 0x03a7;\n t.Chook = 0x0187;\n t.Circumflexsmall = 0xf6f6;\n t.Cmonospace = 0xff23;\n t.Coarmenian = 0x0551;\n t.Csmall = 0xf763;\n t.D = 0x0044;\n t.DZ = 0x01f1;\n t.DZcaron = 0x01c4;\n t.Daarmenian = 0x0534;\n t.Dafrican = 0x0189;\n t.Dcaron = 0x010e;\n t.Dcedilla = 0x1e10;\n t.Dcircle = 0x24b9;\n t.Dcircumflexbelow = 0x1e12;\n t.Dcroat = 0x0110;\n t.Ddotaccent = 0x1e0a;\n t.Ddotbelow = 0x1e0c;\n t.Decyrillic = 0x0414;\n t.Deicoptic = 0x03ee;\n t.Delta = 0x2206;\n t.Deltagreek = 0x0394;\n t.Dhook = 0x018a;\n t.Dieresis = 0xf6cb;\n t.DieresisAcute = 0xf6cc;\n t.DieresisGrave = 0xf6cd;\n t.Dieresissmall = 0xf7a8;\n t.Digammagreek = 0x03dc;\n t.Djecyrillic = 0x0402;\n t.Dlinebelow = 0x1e0e;\n t.Dmonospace = 0xff24;\n t.Dotaccentsmall = 0xf6f7;\n t.Dslash = 0x0110;\n t.Dsmall = 0xf764;\n t.Dtopbar = 0x018b;\n t.Dz = 0x01f2;\n t.Dzcaron = 0x01c5;\n t.Dzeabkhasiancyrillic = 0x04e0;\n t.Dzecyrillic = 0x0405;\n t.Dzhecyrillic = 0x040f;\n t.E = 0x0045;\n t.Eacute = 0x00c9;\n t.Eacutesmall = 0xf7e9;\n t.Ebreve = 0x0114;\n t.Ecaron = 0x011a;\n t.Ecedillabreve = 0x1e1c;\n t.Echarmenian = 0x0535;\n t.Ecircle = 0x24ba;\n t.Ecircumflex = 0x00ca;\n t.Ecircumflexacute = 0x1ebe;\n t.Ecircumflexbelow = 0x1e18;\n t.Ecircumflexdotbelow = 0x1ec6;\n t.Ecircumflexgrave = 0x1ec0;\n t.Ecircumflexhookabove = 0x1ec2;\n t.Ecircumflexsmall = 0xf7ea;\n t.Ecircumflextilde = 0x1ec4;\n t.Ecyrillic = 0x0404;\n t.Edblgrave = 0x0204;\n t.Edieresis = 0x00cb;\n t.Edieresissmall = 0xf7eb;\n t.Edot = 0x0116;\n t.Edotaccent = 0x0116;\n t.Edotbelow = 0x1eb8;\n t.Efcyrillic = 0x0424;\n t.Egrave = 0x00c8;\n t.Egravesmall = 0xf7e8;\n t.Eharmenian = 0x0537;\n t.Ehookabove = 0x1eba;\n t.Eightroman = 0x2167;\n t.Einvertedbreve = 0x0206;\n t.Eiotifiedcyrillic = 0x0464;\n t.Elcyrillic = 0x041b;\n t.Elevenroman = 0x216a;\n t.Emacron = 0x0112;\n t.Emacronacute = 0x1e16;\n t.Emacrongrave = 0x1e14;\n t.Emcyrillic = 0x041c;\n t.Emonospace = 0xff25;\n t.Encyrillic = 0x041d;\n t.Endescendercyrillic = 0x04a2;\n t.Eng = 0x014a;\n t.Enghecyrillic = 0x04a4;\n t.Enhookcyrillic = 0x04c7;\n t.Eogonek = 0x0118;\n t.Eopen = 0x0190;\n t.Epsilon = 0x0395;\n t.Epsilontonos = 0x0388;\n t.Ercyrillic = 0x0420;\n t.Ereversed = 0x018e;\n t.Ereversedcyrillic = 0x042d;\n t.Escyrillic = 0x0421;\n t.Esdescendercyrillic = 0x04aa;\n t.Esh = 0x01a9;\n t.Esmall = 0xf765;\n t.Eta = 0x0397;\n t.Etarmenian = 0x0538;\n t.Etatonos = 0x0389;\n t.Eth = 0x00d0;\n t.Ethsmall = 0xf7f0;\n t.Etilde = 0x1ebc;\n t.Etildebelow = 0x1e1a;\n t.Euro = 0x20ac;\n t.Ezh = 0x01b7;\n t.Ezhcaron = 0x01ee;\n t.Ezhreversed = 0x01b8;\n t.F = 0x0046;\n t.Fcircle = 0x24bb;\n t.Fdotaccent = 0x1e1e;\n t.Feharmenian = 0x0556;\n t.Feicoptic = 0x03e4;\n t.Fhook = 0x0191;\n t.Fitacyrillic = 0x0472;\n t.Fiveroman = 0x2164;\n t.Fmonospace = 0xff26;\n t.Fourroman = 0x2163;\n t.Fsmall = 0xf766;\n t.G = 0x0047;\n t.GBsquare = 0x3387;\n t.Gacute = 0x01f4;\n t.Gamma = 0x0393;\n t.Gammaafrican = 0x0194;\n t.Gangiacoptic = 0x03ea;\n t.Gbreve = 0x011e;\n t.Gcaron = 0x01e6;\n t.Gcedilla = 0x0122;\n t.Gcircle = 0x24bc;\n t.Gcircumflex = 0x011c;\n t.Gcommaaccent = 0x0122;\n t.Gdot = 0x0120;\n t.Gdotaccent = 0x0120;\n t.Gecyrillic = 0x0413;\n t.Ghadarmenian = 0x0542;\n t.Ghemiddlehookcyrillic = 0x0494;\n t.Ghestrokecyrillic = 0x0492;\n t.Gheupturncyrillic = 0x0490;\n t.Ghook = 0x0193;\n t.Gimarmenian = 0x0533;\n t.Gjecyrillic = 0x0403;\n t.Gmacron = 0x1e20;\n t.Gmonospace = 0xff27;\n t.Grave = 0xf6ce;\n t.Gravesmall = 0xf760;\n t.Gsmall = 0xf767;\n t.Gsmallhook = 0x029b;\n t.Gstroke = 0x01e4;\n t.H = 0x0048;\n t.H18533 = 0x25cf;\n t.H18543 = 0x25aa;\n t.H18551 = 0x25ab;\n t.H22073 = 0x25a1;\n t.HPsquare = 0x33cb;\n t.Haabkhasiancyrillic = 0x04a8;\n t.Hadescendercyrillic = 0x04b2;\n t.Hardsigncyrillic = 0x042a;\n t.Hbar = 0x0126;\n t.Hbrevebelow = 0x1e2a;\n t.Hcedilla = 0x1e28;\n t.Hcircle = 0x24bd;\n t.Hcircumflex = 0x0124;\n t.Hdieresis = 0x1e26;\n t.Hdotaccent = 0x1e22;\n t.Hdotbelow = 0x1e24;\n t.Hmonospace = 0xff28;\n t.Hoarmenian = 0x0540;\n t.Horicoptic = 0x03e8;\n t.Hsmall = 0xf768;\n t.Hungarumlaut = 0xf6cf;\n t.Hungarumlautsmall = 0xf6f8;\n t.Hzsquare = 0x3390;\n t.I = 0x0049;\n t.IAcyrillic = 0x042f;\n t.IJ = 0x0132;\n t.IUcyrillic = 0x042e;\n t.Iacute = 0x00cd;\n t.Iacutesmall = 0xf7ed;\n t.Ibreve = 0x012c;\n t.Icaron = 0x01cf;\n t.Icircle = 0x24be;\n t.Icircumflex = 0x00ce;\n t.Icircumflexsmall = 0xf7ee;\n t.Icyrillic = 0x0406;\n t.Idblgrave = 0x0208;\n t.Idieresis = 0x00cf;\n t.Idieresisacute = 0x1e2e;\n t.Idieresiscyrillic = 0x04e4;\n t.Idieresissmall = 0xf7ef;\n t.Idot = 0x0130;\n t.Idotaccent = 0x0130;\n t.Idotbelow = 0x1eca;\n t.Iebrevecyrillic = 0x04d6;\n t.Iecyrillic = 0x0415;\n t.Ifraktur = 0x2111;\n t.Igrave = 0x00cc;\n t.Igravesmall = 0xf7ec;\n t.Ihookabove = 0x1ec8;\n t.Iicyrillic = 0x0418;\n t.Iinvertedbreve = 0x020a;\n t.Iishortcyrillic = 0x0419;\n t.Imacron = 0x012a;\n t.Imacroncyrillic = 0x04e2;\n t.Imonospace = 0xff29;\n t.Iniarmenian = 0x053b;\n t.Iocyrillic = 0x0401;\n t.Iogonek = 0x012e;\n t.Iota = 0x0399;\n t.Iotaafrican = 0x0196;\n t.Iotadieresis = 0x03aa;\n t.Iotatonos = 0x038a;\n t.Ismall = 0xf769;\n t.Istroke = 0x0197;\n t.Itilde = 0x0128;\n t.Itildebelow = 0x1e2c;\n t.Izhitsacyrillic = 0x0474;\n t.Izhitsadblgravecyrillic = 0x0476;\n t.J = 0x004a;\n t.Jaarmenian = 0x0541;\n t.Jcircle = 0x24bf;\n t.Jcircumflex = 0x0134;\n t.Jecyrillic = 0x0408;\n t.Jheharmenian = 0x054b;\n t.Jmonospace = 0xff2a;\n t.Jsmall = 0xf76a;\n t.K = 0x004b;\n t.KBsquare = 0x3385;\n t.KKsquare = 0x33cd;\n t.Kabashkircyrillic = 0x04a0;\n t.Kacute = 0x1e30;\n t.Kacyrillic = 0x041a;\n t.Kadescendercyrillic = 0x049a;\n t.Kahookcyrillic = 0x04c3;\n t.Kappa = 0x039a;\n t.Kastrokecyrillic = 0x049e;\n t.Kaverticalstrokecyrillic = 0x049c;\n t.Kcaron = 0x01e8;\n t.Kcedilla = 0x0136;\n t.Kcircle = 0x24c0;\n t.Kcommaaccent = 0x0136;\n t.Kdotbelow = 0x1e32;\n t.Keharmenian = 0x0554;\n t.Kenarmenian = 0x053f;\n t.Khacyrillic = 0x0425;\n t.Kheicoptic = 0x03e6;\n t.Khook = 0x0198;\n t.Kjecyrillic = 0x040c;\n t.Klinebelow = 0x1e34;\n t.Kmonospace = 0xff2b;\n t.Koppacyrillic = 0x0480;\n t.Koppagreek = 0x03de;\n t.Ksicyrillic = 0x046e;\n t.Ksmall = 0xf76b;\n t.L = 0x004c;\n t.LJ = 0x01c7;\n t.LL = 0xf6bf;\n t.Lacute = 0x0139;\n t.Lambda = 0x039b;\n t.Lcaron = 0x013d;\n t.Lcedilla = 0x013b;\n t.Lcircle = 0x24c1;\n t.Lcircumflexbelow = 0x1e3c;\n t.Lcommaaccent = 0x013b;\n t.Ldot = 0x013f;\n t.Ldotaccent = 0x013f;\n t.Ldotbelow = 0x1e36;\n t.Ldotbelowmacron = 0x1e38;\n t.Liwnarmenian = 0x053c;\n t.Lj = 0x01c8;\n t.Ljecyrillic = 0x0409;\n t.Llinebelow = 0x1e3a;\n t.Lmonospace = 0xff2c;\n t.Lslash = 0x0141;\n t.Lslashsmall = 0xf6f9;\n t.Lsmall = 0xf76c;\n t.M = 0x004d;\n t.MBsquare = 0x3386;\n t.Macron = 0xf6d0;\n t.Macronsmall = 0xf7af;\n t.Macute = 0x1e3e;\n t.Mcircle = 0x24c2;\n t.Mdotaccent = 0x1e40;\n t.Mdotbelow = 0x1e42;\n t.Menarmenian = 0x0544;\n t.Mmonospace = 0xff2d;\n t.Msmall = 0xf76d;\n t.Mturned = 0x019c;\n t.Mu = 0x039c;\n t.N = 0x004e;\n t.NJ = 0x01ca;\n t.Nacute = 0x0143;\n t.Ncaron = 0x0147;\n t.Ncedilla = 0x0145;\n t.Ncircle = 0x24c3;\n t.Ncircumflexbelow = 0x1e4a;\n t.Ncommaaccent = 0x0145;\n t.Ndotaccent = 0x1e44;\n t.Ndotbelow = 0x1e46;\n t.Nhookleft = 0x019d;\n t.Nineroman = 0x2168;\n t.Nj = 0x01cb;\n t.Njecyrillic = 0x040a;\n t.Nlinebelow = 0x1e48;\n t.Nmonospace = 0xff2e;\n t.Nowarmenian = 0x0546;\n t.Nsmall = 0xf76e;\n t.Ntilde = 0x00d1;\n t.Ntildesmall = 0xf7f1;\n t.Nu = 0x039d;\n t.O = 0x004f;\n t.OE = 0x0152;\n t.OEsmall = 0xf6fa;\n t.Oacute = 0x00d3;\n t.Oacutesmall = 0xf7f3;\n t.Obarredcyrillic = 0x04e8;\n t.Obarreddieresiscyrillic = 0x04ea;\n t.Obreve = 0x014e;\n t.Ocaron = 0x01d1;\n t.Ocenteredtilde = 0x019f;\n t.Ocircle = 0x24c4;\n t.Ocircumflex = 0x00d4;\n t.Ocircumflexacute = 0x1ed0;\n t.Ocircumflexdotbelow = 0x1ed8;\n t.Ocircumflexgrave = 0x1ed2;\n t.Ocircumflexhookabove = 0x1ed4;\n t.Ocircumflexsmall = 0xf7f4;\n t.Ocircumflextilde = 0x1ed6;\n t.Ocyrillic = 0x041e;\n t.Odblacute = 0x0150;\n t.Odblgrave = 0x020c;\n t.Odieresis = 0x00d6;\n t.Odieresiscyrillic = 0x04e6;\n t.Odieresissmall = 0xf7f6;\n t.Odotbelow = 0x1ecc;\n t.Ogoneksmall = 0xf6fb;\n t.Ograve = 0x00d2;\n t.Ogravesmall = 0xf7f2;\n t.Oharmenian = 0x0555;\n t.Ohm = 0x2126;\n t.Ohookabove = 0x1ece;\n t.Ohorn = 0x01a0;\n t.Ohornacute = 0x1eda;\n t.Ohorndotbelow = 0x1ee2;\n t.Ohorngrave = 0x1edc;\n t.Ohornhookabove = 0x1ede;\n t.Ohorntilde = 0x1ee0;\n t.Ohungarumlaut = 0x0150;\n t.Oi = 0x01a2;\n t.Oinvertedbreve = 0x020e;\n t.Omacron = 0x014c;\n t.Omacronacute = 0x1e52;\n t.Omacrongrave = 0x1e50;\n t.Omega = 0x2126;\n t.Omegacyrillic = 0x0460;\n t.Omegagreek = 0x03a9;\n t.Omegaroundcyrillic = 0x047a;\n t.Omegatitlocyrillic = 0x047c;\n t.Omegatonos = 0x038f;\n t.Omicron = 0x039f;\n t.Omicrontonos = 0x038c;\n t.Omonospace = 0xff2f;\n t.Oneroman = 0x2160;\n t.Oogonek = 0x01ea;\n t.Oogonekmacron = 0x01ec;\n t.Oopen = 0x0186;\n t.Oslash = 0x00d8;\n t.Oslashacute = 0x01fe;\n t.Oslashsmall = 0xf7f8;\n t.Osmall = 0xf76f;\n t.Ostrokeacute = 0x01fe;\n t.Otcyrillic = 0x047e;\n t.Otilde = 0x00d5;\n t.Otildeacute = 0x1e4c;\n t.Otildedieresis = 0x1e4e;\n t.Otildesmall = 0xf7f5;\n t.P = 0x0050;\n t.Pacute = 0x1e54;\n t.Pcircle = 0x24c5;\n t.Pdotaccent = 0x1e56;\n t.Pecyrillic = 0x041f;\n t.Peharmenian = 0x054a;\n t.Pemiddlehookcyrillic = 0x04a6;\n t.Phi = 0x03a6;\n t.Phook = 0x01a4;\n t.Pi = 0x03a0;\n t.Piwrarmenian = 0x0553;\n t.Pmonospace = 0xff30;\n t.Psi = 0x03a8;\n t.Psicyrillic = 0x0470;\n t.Psmall = 0xf770;\n t.Q = 0x0051;\n t.Qcircle = 0x24c6;\n t.Qmonospace = 0xff31;\n t.Qsmall = 0xf771;\n t.R = 0x0052;\n t.Raarmenian = 0x054c;\n t.Racute = 0x0154;\n t.Rcaron = 0x0158;\n t.Rcedilla = 0x0156;\n t.Rcircle = 0x24c7;\n t.Rcommaaccent = 0x0156;\n t.Rdblgrave = 0x0210;\n t.Rdotaccent = 0x1e58;\n t.Rdotbelow = 0x1e5a;\n t.Rdotbelowmacron = 0x1e5c;\n t.Reharmenian = 0x0550;\n t.Rfraktur = 0x211c;\n t.Rho = 0x03a1;\n t.Ringsmall = 0xf6fc;\n t.Rinvertedbreve = 0x0212;\n t.Rlinebelow = 0x1e5e;\n t.Rmonospace = 0xff32;\n t.Rsmall = 0xf772;\n t.Rsmallinverted = 0x0281;\n t.Rsmallinvertedsuperior = 0x02b6;\n t.S = 0x0053;\n t.SF010000 = 0x250c;\n t.SF020000 = 0x2514;\n t.SF030000 = 0x2510;\n t.SF040000 = 0x2518;\n t.SF050000 = 0x253c;\n t.SF060000 = 0x252c;\n t.SF070000 = 0x2534;\n t.SF080000 = 0x251c;\n t.SF090000 = 0x2524;\n t.SF100000 = 0x2500;\n t.SF110000 = 0x2502;\n t.SF190000 = 0x2561;\n t.SF200000 = 0x2562;\n t.SF210000 = 0x2556;\n t.SF220000 = 0x2555;\n t.SF230000 = 0x2563;\n t.SF240000 = 0x2551;\n t.SF250000 = 0x2557;\n t.SF260000 = 0x255d;\n t.SF270000 = 0x255c;\n t.SF280000 = 0x255b;\n t.SF360000 = 0x255e;\n t.SF370000 = 0x255f;\n t.SF380000 = 0x255a;\n t.SF390000 = 0x2554;\n t.SF400000 = 0x2569;\n t.SF410000 = 0x2566;\n t.SF420000 = 0x2560;\n t.SF430000 = 0x2550;\n t.SF440000 = 0x256c;\n t.SF450000 = 0x2567;\n t.SF460000 = 0x2568;\n t.SF470000 = 0x2564;\n t.SF480000 = 0x2565;\n t.SF490000 = 0x2559;\n t.SF500000 = 0x2558;\n t.SF510000 = 0x2552;\n t.SF520000 = 0x2553;\n t.SF530000 = 0x256b;\n t.SF540000 = 0x256a;\n t.Sacute = 0x015a;\n t.Sacutedotaccent = 0x1e64;\n t.Sampigreek = 0x03e0;\n t.Scaron = 0x0160;\n t.Scarondotaccent = 0x1e66;\n t.Scaronsmall = 0xf6fd;\n t.Scedilla = 0x015e;\n t.Schwa = 0x018f;\n t.Schwacyrillic = 0x04d8;\n t.Schwadieresiscyrillic = 0x04da;\n t.Scircle = 0x24c8;\n t.Scircumflex = 0x015c;\n t.Scommaaccent = 0x0218;\n t.Sdotaccent = 0x1e60;\n t.Sdotbelow = 0x1e62;\n t.Sdotbelowdotaccent = 0x1e68;\n t.Seharmenian = 0x054d;\n t.Sevenroman = 0x2166;\n t.Shaarmenian = 0x0547;\n t.Shacyrillic = 0x0428;\n t.Shchacyrillic = 0x0429;\n t.Sheicoptic = 0x03e2;\n t.Shhacyrillic = 0x04ba;\n t.Shimacoptic = 0x03ec;\n t.Sigma = 0x03a3;\n t.Sixroman = 0x2165;\n t.Smonospace = 0xff33;\n t.Softsigncyrillic = 0x042c;\n t.Ssmall = 0xf773;\n t.Stigmagreek = 0x03da;\n t.T = 0x0054;\n t.Tau = 0x03a4;\n t.Tbar = 0x0166;\n t.Tcaron = 0x0164;\n t.Tcedilla = 0x0162;\n t.Tcircle = 0x24c9;\n t.Tcircumflexbelow = 0x1e70;\n t.Tcommaaccent = 0x0162;\n t.Tdotaccent = 0x1e6a;\n t.Tdotbelow = 0x1e6c;\n t.Tecyrillic = 0x0422;\n t.Tedescendercyrillic = 0x04ac;\n t.Tenroman = 0x2169;\n t.Tetsecyrillic = 0x04b4;\n t.Theta = 0x0398;\n t.Thook = 0x01ac;\n t.Thorn = 0x00de;\n t.Thornsmall = 0xf7fe;\n t.Threeroman = 0x2162;\n t.Tildesmall = 0xf6fe;\n t.Tiwnarmenian = 0x054f;\n t.Tlinebelow = 0x1e6e;\n t.Tmonospace = 0xff34;\n t.Toarmenian = 0x0539;\n t.Tonefive = 0x01bc;\n t.Tonesix = 0x0184;\n t.Tonetwo = 0x01a7;\n t.Tretroflexhook = 0x01ae;\n t.Tsecyrillic = 0x0426;\n t.Tshecyrillic = 0x040b;\n t.Tsmall = 0xf774;\n t.Twelveroman = 0x216b;\n t.Tworoman = 0x2161;\n t.U = 0x0055;\n t.Uacute = 0x00da;\n t.Uacutesmall = 0xf7fa;\n t.Ubreve = 0x016c;\n t.Ucaron = 0x01d3;\n t.Ucircle = 0x24ca;\n t.Ucircumflex = 0x00db;\n t.Ucircumflexbelow = 0x1e76;\n t.Ucircumflexsmall = 0xf7fb;\n t.Ucyrillic = 0x0423;\n t.Udblacute = 0x0170;\n t.Udblgrave = 0x0214;\n t.Udieresis = 0x00dc;\n t.Udieresisacute = 0x01d7;\n t.Udieresisbelow = 0x1e72;\n t.Udieresiscaron = 0x01d9;\n t.Udieresiscyrillic = 0x04f0;\n t.Udieresisgrave = 0x01db;\n t.Udieresismacron = 0x01d5;\n t.Udieresissmall = 0xf7fc;\n t.Udotbelow = 0x1ee4;\n t.Ugrave = 0x00d9;\n t.Ugravesmall = 0xf7f9;\n t.Uhookabove = 0x1ee6;\n t.Uhorn = 0x01af;\n t.Uhornacute = 0x1ee8;\n t.Uhorndotbelow = 0x1ef0;\n t.Uhorngrave = 0x1eea;\n t.Uhornhookabove = 0x1eec;\n t.Uhorntilde = 0x1eee;\n t.Uhungarumlaut = 0x0170;\n t.Uhungarumlautcyrillic = 0x04f2;\n t.Uinvertedbreve = 0x0216;\n t.Ukcyrillic = 0x0478;\n t.Umacron = 0x016a;\n t.Umacroncyrillic = 0x04ee;\n t.Umacrondieresis = 0x1e7a;\n t.Umonospace = 0xff35;\n t.Uogonek = 0x0172;\n t.Upsilon = 0x03a5;\n t.Upsilon1 = 0x03d2;\n t.Upsilonacutehooksymbolgreek = 0x03d3;\n t.Upsilonafrican = 0x01b1;\n t.Upsilondieresis = 0x03ab;\n t.Upsilondieresishooksymbolgreek = 0x03d4;\n t.Upsilonhooksymbol = 0x03d2;\n t.Upsilontonos = 0x038e;\n t.Uring = 0x016e;\n t.Ushortcyrillic = 0x040e;\n t.Usmall = 0xf775;\n t.Ustraightcyrillic = 0x04ae;\n t.Ustraightstrokecyrillic = 0x04b0;\n t.Utilde = 0x0168;\n t.Utildeacute = 0x1e78;\n t.Utildebelow = 0x1e74;\n t.V = 0x0056;\n t.Vcircle = 0x24cb;\n t.Vdotbelow = 0x1e7e;\n t.Vecyrillic = 0x0412;\n t.Vewarmenian = 0x054e;\n t.Vhook = 0x01b2;\n t.Vmonospace = 0xff36;\n t.Voarmenian = 0x0548;\n t.Vsmall = 0xf776;\n t.Vtilde = 0x1e7c;\n t.W = 0x0057;\n t.Wacute = 0x1e82;\n t.Wcircle = 0x24cc;\n t.Wcircumflex = 0x0174;\n t.Wdieresis = 0x1e84;\n t.Wdotaccent = 0x1e86;\n t.Wdotbelow = 0x1e88;\n t.Wgrave = 0x1e80;\n t.Wmonospace = 0xff37;\n t.Wsmall = 0xf777;\n t.X = 0x0058;\n t.Xcircle = 0x24cd;\n t.Xdieresis = 0x1e8c;\n t.Xdotaccent = 0x1e8a;\n t.Xeharmenian = 0x053d;\n t.Xi = 0x039e;\n t.Xmonospace = 0xff38;\n t.Xsmall = 0xf778;\n t.Y = 0x0059;\n t.Yacute = 0x00dd;\n t.Yacutesmall = 0xf7fd;\n t.Yatcyrillic = 0x0462;\n t.Ycircle = 0x24ce;\n t.Ycircumflex = 0x0176;\n t.Ydieresis = 0x0178;\n t.Ydieresissmall = 0xf7ff;\n t.Ydotaccent = 0x1e8e;\n t.Ydotbelow = 0x1ef4;\n t.Yericyrillic = 0x042b;\n t.Yerudieresiscyrillic = 0x04f8;\n t.Ygrave = 0x1ef2;\n t.Yhook = 0x01b3;\n t.Yhookabove = 0x1ef6;\n t.Yiarmenian = 0x0545;\n t.Yicyrillic = 0x0407;\n t.Yiwnarmenian = 0x0552;\n t.Ymonospace = 0xff39;\n t.Ysmall = 0xf779;\n t.Ytilde = 0x1ef8;\n t.Yusbigcyrillic = 0x046a;\n t.Yusbigiotifiedcyrillic = 0x046c;\n t.Yuslittlecyrillic = 0x0466;\n t.Yuslittleiotifiedcyrillic = 0x0468;\n t.Z = 0x005a;\n t.Zaarmenian = 0x0536;\n t.Zacute = 0x0179;\n t.Zcaron = 0x017d;\n t.Zcaronsmall = 0xf6ff;\n t.Zcircle = 0x24cf;\n t.Zcircumflex = 0x1e90;\n t.Zdot = 0x017b;\n t.Zdotaccent = 0x017b;\n t.Zdotbelow = 0x1e92;\n t.Zecyrillic = 0x0417;\n t.Zedescendercyrillic = 0x0498;\n t.Zedieresiscyrillic = 0x04de;\n t.Zeta = 0x0396;\n t.Zhearmenian = 0x053a;\n t.Zhebrevecyrillic = 0x04c1;\n t.Zhecyrillic = 0x0416;\n t.Zhedescendercyrillic = 0x0496;\n t.Zhedieresiscyrillic = 0x04dc;\n t.Zlinebelow = 0x1e94;\n t.Zmonospace = 0xff3a;\n t.Zsmall = 0xf77a;\n t.Zstroke = 0x01b5;\n t.a = 0x0061;\n t.aabengali = 0x0986;\n t.aacute = 0x00e1;\n t.aadeva = 0x0906;\n t.aagujarati = 0x0a86;\n t.aagurmukhi = 0x0a06;\n t.aamatragurmukhi = 0x0a3e;\n t.aarusquare = 0x3303;\n t.aavowelsignbengali = 0x09be;\n t.aavowelsigndeva = 0x093e;\n t.aavowelsigngujarati = 0x0abe;\n t.abbreviationmarkarmenian = 0x055f;\n t.abbreviationsigndeva = 0x0970;\n t.abengali = 0x0985;\n t.abopomofo = 0x311a;\n t.abreve = 0x0103;\n t.abreveacute = 0x1eaf;\n t.abrevecyrillic = 0x04d1;\n t.abrevedotbelow = 0x1eb7;\n t.abrevegrave = 0x1eb1;\n t.abrevehookabove = 0x1eb3;\n t.abrevetilde = 0x1eb5;\n t.acaron = 0x01ce;\n t.acircle = 0x24d0;\n t.acircumflex = 0x00e2;\n t.acircumflexacute = 0x1ea5;\n t.acircumflexdotbelow = 0x1ead;\n t.acircumflexgrave = 0x1ea7;\n t.acircumflexhookabove = 0x1ea9;\n t.acircumflextilde = 0x1eab;\n t.acute = 0x00b4;\n t.acutebelowcmb = 0x0317;\n t.acutecmb = 0x0301;\n t.acutecomb = 0x0301;\n t.acutedeva = 0x0954;\n t.acutelowmod = 0x02cf;\n t.acutetonecmb = 0x0341;\n t.acyrillic = 0x0430;\n t.adblgrave = 0x0201;\n t.addakgurmukhi = 0x0a71;\n t.adeva = 0x0905;\n t.adieresis = 0x00e4;\n t.adieresiscyrillic = 0x04d3;\n t.adieresismacron = 0x01df;\n t.adotbelow = 0x1ea1;\n t.adotmacron = 0x01e1;\n t.ae = 0x00e6;\n t.aeacute = 0x01fd;\n t.aekorean = 0x3150;\n t.aemacron = 0x01e3;\n t.afii00208 = 0x2015;\n t.afii08941 = 0x20a4;\n t.afii10017 = 0x0410;\n t.afii10018 = 0x0411;\n t.afii10019 = 0x0412;\n t.afii10020 = 0x0413;\n t.afii10021 = 0x0414;\n t.afii10022 = 0x0415;\n t.afii10023 = 0x0401;\n t.afii10024 = 0x0416;\n t.afii10025 = 0x0417;\n t.afii10026 = 0x0418;\n t.afii10027 = 0x0419;\n t.afii10028 = 0x041a;\n t.afii10029 = 0x041b;\n t.afii10030 = 0x041c;\n t.afii10031 = 0x041d;\n t.afii10032 = 0x041e;\n t.afii10033 = 0x041f;\n t.afii10034 = 0x0420;\n t.afii10035 = 0x0421;\n t.afii10036 = 0x0422;\n t.afii10037 = 0x0423;\n t.afii10038 = 0x0424;\n t.afii10039 = 0x0425;\n t.afii10040 = 0x0426;\n t.afii10041 = 0x0427;\n t.afii10042 = 0x0428;\n t.afii10043 = 0x0429;\n t.afii10044 = 0x042a;\n t.afii10045 = 0x042b;\n t.afii10046 = 0x042c;\n t.afii10047 = 0x042d;\n t.afii10048 = 0x042e;\n t.afii10049 = 0x042f;\n t.afii10050 = 0x0490;\n t.afii10051 = 0x0402;\n t.afii10052 = 0x0403;\n t.afii10053 = 0x0404;\n t.afii10054 = 0x0405;\n t.afii10055 = 0x0406;\n t.afii10056 = 0x0407;\n t.afii10057 = 0x0408;\n t.afii10058 = 0x0409;\n t.afii10059 = 0x040a;\n t.afii10060 = 0x040b;\n t.afii10061 = 0x040c;\n t.afii10062 = 0x040e;\n t.afii10063 = 0xf6c4;\n t.afii10064 = 0xf6c5;\n t.afii10065 = 0x0430;\n t.afii10066 = 0x0431;\n t.afii10067 = 0x0432;\n t.afii10068 = 0x0433;\n t.afii10069 = 0x0434;\n t.afii10070 = 0x0435;\n t.afii10071 = 0x0451;\n t.afii10072 = 0x0436;\n t.afii10073 = 0x0437;\n t.afii10074 = 0x0438;\n t.afii10075 = 0x0439;\n t.afii10076 = 0x043a;\n t.afii10077 = 0x043b;\n t.afii10078 = 0x043c;\n t.afii10079 = 0x043d;\n t.afii10080 = 0x043e;\n t.afii10081 = 0x043f;\n t.afii10082 = 0x0440;\n t.afii10083 = 0x0441;\n t.afii10084 = 0x0442;\n t.afii10085 = 0x0443;\n t.afii10086 = 0x0444;\n t.afii10087 = 0x0445;\n t.afii10088 = 0x0446;\n t.afii10089 = 0x0447;\n t.afii10090 = 0x0448;\n t.afii10091 = 0x0449;\n t.afii10092 = 0x044a;\n t.afii10093 = 0x044b;\n t.afii10094 = 0x044c;\n t.afii10095 = 0x044d;\n t.afii10096 = 0x044e;\n t.afii10097 = 0x044f;\n t.afii10098 = 0x0491;\n t.afii10099 = 0x0452;\n t.afii10100 = 0x0453;\n t.afii10101 = 0x0454;\n t.afii10102 = 0x0455;\n t.afii10103 = 0x0456;\n t.afii10104 = 0x0457;\n t.afii10105 = 0x0458;\n t.afii10106 = 0x0459;\n t.afii10107 = 0x045a;\n t.afii10108 = 0x045b;\n t.afii10109 = 0x045c;\n t.afii10110 = 0x045e;\n t.afii10145 = 0x040f;\n t.afii10146 = 0x0462;\n t.afii10147 = 0x0472;\n t.afii10148 = 0x0474;\n t.afii10192 = 0xf6c6;\n t.afii10193 = 0x045f;\n t.afii10194 = 0x0463;\n t.afii10195 = 0x0473;\n t.afii10196 = 0x0475;\n t.afii10831 = 0xf6c7;\n t.afii10832 = 0xf6c8;\n t.afii10846 = 0x04d9;\n t.afii299 = 0x200e;\n t.afii300 = 0x200f;\n t.afii301 = 0x200d;\n t.afii57381 = 0x066a;\n t.afii57388 = 0x060c;\n t.afii57392 = 0x0660;\n t.afii57393 = 0x0661;\n t.afii57394 = 0x0662;\n t.afii57395 = 0x0663;\n t.afii57396 = 0x0664;\n t.afii57397 = 0x0665;\n t.afii57398 = 0x0666;\n t.afii57399 = 0x0667;\n t.afii57400 = 0x0668;\n t.afii57401 = 0x0669;\n t.afii57403 = 0x061b;\n t.afii57407 = 0x061f;\n t.afii57409 = 0x0621;\n t.afii57410 = 0x0622;\n t.afii57411 = 0x0623;\n t.afii57412 = 0x0624;\n t.afii57413 = 0x0625;\n t.afii57414 = 0x0626;\n t.afii57415 = 0x0627;\n t.afii57416 = 0x0628;\n t.afii57417 = 0x0629;\n t.afii57418 = 0x062a;\n t.afii57419 = 0x062b;\n t.afii57420 = 0x062c;\n t.afii57421 = 0x062d;\n t.afii57422 = 0x062e;\n t.afii57423 = 0x062f;\n t.afii57424 = 0x0630;\n t.afii57425 = 0x0631;\n t.afii57426 = 0x0632;\n t.afii57427 = 0x0633;\n t.afii57428 = 0x0634;\n t.afii57429 = 0x0635;\n t.afii57430 = 0x0636;\n t.afii57431 = 0x0637;\n t.afii57432 = 0x0638;\n t.afii57433 = 0x0639;\n t.afii57434 = 0x063a;\n t.afii57440 = 0x0640;\n t.afii57441 = 0x0641;\n t.afii57442 = 0x0642;\n t.afii57443 = 0x0643;\n t.afii57444 = 0x0644;\n t.afii57445 = 0x0645;\n t.afii57446 = 0x0646;\n t.afii57448 = 0x0648;\n t.afii57449 = 0x0649;\n t.afii57450 = 0x064a;\n t.afii57451 = 0x064b;\n t.afii57452 = 0x064c;\n t.afii57453 = 0x064d;\n t.afii57454 = 0x064e;\n t.afii57455 = 0x064f;\n t.afii57456 = 0x0650;\n t.afii57457 = 0x0651;\n t.afii57458 = 0x0652;\n t.afii57470 = 0x0647;\n t.afii57505 = 0x06a4;\n t.afii57506 = 0x067e;\n t.afii57507 = 0x0686;\n t.afii57508 = 0x0698;\n t.afii57509 = 0x06af;\n t.afii57511 = 0x0679;\n t.afii57512 = 0x0688;\n t.afii57513 = 0x0691;\n t.afii57514 = 0x06ba;\n t.afii57519 = 0x06d2;\n t.afii57534 = 0x06d5;\n t.afii57636 = 0x20aa;\n t.afii57645 = 0x05be;\n t.afii57658 = 0x05c3;\n t.afii57664 = 0x05d0;\n t.afii57665 = 0x05d1;\n t.afii57666 = 0x05d2;\n t.afii57667 = 0x05d3;\n t.afii57668 = 0x05d4;\n t.afii57669 = 0x05d5;\n t.afii57670 = 0x05d6;\n t.afii57671 = 0x05d7;\n t.afii57672 = 0x05d8;\n t.afii57673 = 0x05d9;\n t.afii57674 = 0x05da;\n t.afii57675 = 0x05db;\n t.afii57676 = 0x05dc;\n t.afii57677 = 0x05dd;\n t.afii57678 = 0x05de;\n t.afii57679 = 0x05df;\n t.afii57680 = 0x05e0;\n t.afii57681 = 0x05e1;\n t.afii57682 = 0x05e2;\n t.afii57683 = 0x05e3;\n t.afii57684 = 0x05e4;\n t.afii57685 = 0x05e5;\n t.afii57686 = 0x05e6;\n t.afii57687 = 0x05e7;\n t.afii57688 = 0x05e8;\n t.afii57689 = 0x05e9;\n t.afii57690 = 0x05ea;\n t.afii57694 = 0xfb2a;\n t.afii57695 = 0xfb2b;\n t.afii57700 = 0xfb4b;\n t.afii57705 = 0xfb1f;\n t.afii57716 = 0x05f0;\n t.afii57717 = 0x05f1;\n t.afii57718 = 0x05f2;\n t.afii57723 = 0xfb35;\n t.afii57793 = 0x05b4;\n t.afii57794 = 0x05b5;\n t.afii57795 = 0x05b6;\n t.afii57796 = 0x05bb;\n t.afii57797 = 0x05b8;\n t.afii57798 = 0x05b7;\n t.afii57799 = 0x05b0;\n t.afii57800 = 0x05b2;\n t.afii57801 = 0x05b1;\n t.afii57802 = 0x05b3;\n t.afii57803 = 0x05c2;\n t.afii57804 = 0x05c1;\n t.afii57806 = 0x05b9;\n t.afii57807 = 0x05bc;\n t.afii57839 = 0x05bd;\n t.afii57841 = 0x05bf;\n t.afii57842 = 0x05c0;\n t.afii57929 = 0x02bc;\n t.afii61248 = 0x2105;\n t.afii61289 = 0x2113;\n t.afii61352 = 0x2116;\n t.afii61573 = 0x202c;\n t.afii61574 = 0x202d;\n t.afii61575 = 0x202e;\n t.afii61664 = 0x200c;\n t.afii63167 = 0x066d;\n t.afii64937 = 0x02bd;\n t.agrave = 0x00e0;\n t.agujarati = 0x0a85;\n t.agurmukhi = 0x0a05;\n t.ahiragana = 0x3042;\n t.ahookabove = 0x1ea3;\n t.aibengali = 0x0990;\n t.aibopomofo = 0x311e;\n t.aideva = 0x0910;\n t.aiecyrillic = 0x04d5;\n t.aigujarati = 0x0a90;\n t.aigurmukhi = 0x0a10;\n t.aimatragurmukhi = 0x0a48;\n t.ainarabic = 0x0639;\n t.ainfinalarabic = 0xfeca;\n t.aininitialarabic = 0xfecb;\n t.ainmedialarabic = 0xfecc;\n t.ainvertedbreve = 0x0203;\n t.aivowelsignbengali = 0x09c8;\n t.aivowelsigndeva = 0x0948;\n t.aivowelsigngujarati = 0x0ac8;\n t.akatakana = 0x30a2;\n t.akatakanahalfwidth = 0xff71;\n t.akorean = 0x314f;\n t.alef = 0x05d0;\n t.alefarabic = 0x0627;\n t.alefdageshhebrew = 0xfb30;\n t.aleffinalarabic = 0xfe8e;\n t.alefhamzaabovearabic = 0x0623;\n t.alefhamzaabovefinalarabic = 0xfe84;\n t.alefhamzabelowarabic = 0x0625;\n t.alefhamzabelowfinalarabic = 0xfe88;\n t.alefhebrew = 0x05d0;\n t.aleflamedhebrew = 0xfb4f;\n t.alefmaddaabovearabic = 0x0622;\n t.alefmaddaabovefinalarabic = 0xfe82;\n t.alefmaksuraarabic = 0x0649;\n t.alefmaksurafinalarabic = 0xfef0;\n t.alefmaksurainitialarabic = 0xfef3;\n t.alefmaksuramedialarabic = 0xfef4;\n t.alefpatahhebrew = 0xfb2e;\n t.alefqamatshebrew = 0xfb2f;\n t.aleph = 0x2135;\n t.allequal = 0x224c;\n t.alpha = 0x03b1;\n t.alphatonos = 0x03ac;\n t.amacron = 0x0101;\n t.amonospace = 0xff41;\n t.ampersand = 0x0026;\n t.ampersandmonospace = 0xff06;\n t.ampersandsmall = 0xf726;\n t.amsquare = 0x33c2;\n t.anbopomofo = 0x3122;\n t.angbopomofo = 0x3124;\n t.angbracketleft = 0x3008;\n t.angbracketright = 0x3009;\n t.angkhankhuthai = 0x0e5a;\n t.angle = 0x2220;\n t.anglebracketleft = 0x3008;\n t.anglebracketleftvertical = 0xfe3f;\n t.anglebracketright = 0x3009;\n t.anglebracketrightvertical = 0xfe40;\n t.angleleft = 0x2329;\n t.angleright = 0x232a;\n t.angstrom = 0x212b;\n t.anoteleia = 0x0387;\n t.anudattadeva = 0x0952;\n t.anusvarabengali = 0x0982;\n t.anusvaradeva = 0x0902;\n t.anusvaragujarati = 0x0a82;\n t.aogonek = 0x0105;\n t.apaatosquare = 0x3300;\n t.aparen = 0x249c;\n t.apostrophearmenian = 0x055a;\n t.apostrophemod = 0x02bc;\n t.apple = 0xf8ff;\n t.approaches = 0x2250;\n t.approxequal = 0x2248;\n t.approxequalorimage = 0x2252;\n t.approximatelyequal = 0x2245;\n t.araeaekorean = 0x318e;\n t.araeakorean = 0x318d;\n t.arc = 0x2312;\n t.arighthalfring = 0x1e9a;\n t.aring = 0x00e5;\n t.aringacute = 0x01fb;\n t.aringbelow = 0x1e01;\n t.arrowboth = 0x2194;\n t.arrowdashdown = 0x21e3;\n t.arrowdashleft = 0x21e0;\n t.arrowdashright = 0x21e2;\n t.arrowdashup = 0x21e1;\n t.arrowdblboth = 0x21d4;\n t.arrowdbldown = 0x21d3;\n t.arrowdblleft = 0x21d0;\n t.arrowdblright = 0x21d2;\n t.arrowdblup = 0x21d1;\n t.arrowdown = 0x2193;\n t.arrowdownleft = 0x2199;\n t.arrowdownright = 0x2198;\n t.arrowdownwhite = 0x21e9;\n t.arrowheaddownmod = 0x02c5;\n t.arrowheadleftmod = 0x02c2;\n t.arrowheadrightmod = 0x02c3;\n t.arrowheadupmod = 0x02c4;\n t.arrowhorizex = 0xf8e7;\n t.arrowleft = 0x2190;\n t.arrowleftdbl = 0x21d0;\n t.arrowleftdblstroke = 0x21cd;\n t.arrowleftoverright = 0x21c6;\n t.arrowleftwhite = 0x21e6;\n t.arrowright = 0x2192;\n t.arrowrightdblstroke = 0x21cf;\n t.arrowrightheavy = 0x279e;\n t.arrowrightoverleft = 0x21c4;\n t.arrowrightwhite = 0x21e8;\n t.arrowtableft = 0x21e4;\n t.arrowtabright = 0x21e5;\n t.arrowup = 0x2191;\n t.arrowupdn = 0x2195;\n t.arrowupdnbse = 0x21a8;\n t.arrowupdownbase = 0x21a8;\n t.arrowupleft = 0x2196;\n t.arrowupleftofdown = 0x21c5;\n t.arrowupright = 0x2197;\n t.arrowupwhite = 0x21e7;\n t.arrowvertex = 0xf8e6;\n t.asciicircum = 0x005e;\n t.asciicircummonospace = 0xff3e;\n t.asciitilde = 0x007e;\n t.asciitildemonospace = 0xff5e;\n t.ascript = 0x0251;\n t.ascriptturned = 0x0252;\n t.asmallhiragana = 0x3041;\n t.asmallkatakana = 0x30a1;\n t.asmallkatakanahalfwidth = 0xff67;\n t.asterisk = 0x002a;\n t.asteriskaltonearabic = 0x066d;\n t.asteriskarabic = 0x066d;\n t.asteriskmath = 0x2217;\n t.asteriskmonospace = 0xff0a;\n t.asterisksmall = 0xfe61;\n t.asterism = 0x2042;\n t.asuperior = 0xf6e9;\n t.asymptoticallyequal = 0x2243;\n t.at = 0x0040;\n t.atilde = 0x00e3;\n t.atmonospace = 0xff20;\n t.atsmall = 0xfe6b;\n t.aturned = 0x0250;\n t.aubengali = 0x0994;\n t.aubopomofo = 0x3120;\n t.audeva = 0x0914;\n t.augujarati = 0x0a94;\n t.augurmukhi = 0x0a14;\n t.aulengthmarkbengali = 0x09d7;\n t.aumatragurmukhi = 0x0a4c;\n t.auvowelsignbengali = 0x09cc;\n t.auvowelsigndeva = 0x094c;\n t.auvowelsigngujarati = 0x0acc;\n t.avagrahadeva = 0x093d;\n t.aybarmenian = 0x0561;\n t.ayin = 0x05e2;\n t.ayinaltonehebrew = 0xfb20;\n t.ayinhebrew = 0x05e2;\n t.b = 0x0062;\n t.babengali = 0x09ac;\n t.backslash = 0x005c;\n t.backslashmonospace = 0xff3c;\n t.badeva = 0x092c;\n t.bagujarati = 0x0aac;\n t.bagurmukhi = 0x0a2c;\n t.bahiragana = 0x3070;\n t.bahtthai = 0x0e3f;\n t.bakatakana = 0x30d0;\n t.bar = 0x007c;\n t.barmonospace = 0xff5c;\n t.bbopomofo = 0x3105;\n t.bcircle = 0x24d1;\n t.bdotaccent = 0x1e03;\n t.bdotbelow = 0x1e05;\n t.beamedsixteenthnotes = 0x266c;\n t.because = 0x2235;\n t.becyrillic = 0x0431;\n t.beharabic = 0x0628;\n t.behfinalarabic = 0xfe90;\n t.behinitialarabic = 0xfe91;\n t.behiragana = 0x3079;\n t.behmedialarabic = 0xfe92;\n t.behmeeminitialarabic = 0xfc9f;\n t.behmeemisolatedarabic = 0xfc08;\n t.behnoonfinalarabic = 0xfc6d;\n t.bekatakana = 0x30d9;\n t.benarmenian = 0x0562;\n t.bet = 0x05d1;\n t.beta = 0x03b2;\n t.betasymbolgreek = 0x03d0;\n t.betdagesh = 0xfb31;\n t.betdageshhebrew = 0xfb31;\n t.bethebrew = 0x05d1;\n t.betrafehebrew = 0xfb4c;\n t.bhabengali = 0x09ad;\n t.bhadeva = 0x092d;\n t.bhagujarati = 0x0aad;\n t.bhagurmukhi = 0x0a2d;\n t.bhook = 0x0253;\n t.bihiragana = 0x3073;\n t.bikatakana = 0x30d3;\n t.bilabialclick = 0x0298;\n t.bindigurmukhi = 0x0a02;\n t.birusquare = 0x3331;\n t.blackcircle = 0x25cf;\n t.blackdiamond = 0x25c6;\n t.blackdownpointingtriangle = 0x25bc;\n t.blackleftpointingpointer = 0x25c4;\n t.blackleftpointingtriangle = 0x25c0;\n t.blacklenticularbracketleft = 0x3010;\n t.blacklenticularbracketleftvertical = 0xfe3b;\n t.blacklenticularbracketright = 0x3011;\n t.blacklenticularbracketrightvertical = 0xfe3c;\n t.blacklowerlefttriangle = 0x25e3;\n t.blacklowerrighttriangle = 0x25e2;\n t.blackrectangle = 0x25ac;\n t.blackrightpointingpointer = 0x25ba;\n t.blackrightpointingtriangle = 0x25b6;\n t.blacksmallsquare = 0x25aa;\n t.blacksmilingface = 0x263b;\n t.blacksquare = 0x25a0;\n t.blackstar = 0x2605;\n t.blackupperlefttriangle = 0x25e4;\n t.blackupperrighttriangle = 0x25e5;\n t.blackuppointingsmalltriangle = 0x25b4;\n t.blackuppointingtriangle = 0x25b2;\n t.blank = 0x2423;\n t.blinebelow = 0x1e07;\n t.block = 0x2588;\n t.bmonospace = 0xff42;\n t.bobaimaithai = 0x0e1a;\n t.bohiragana = 0x307c;\n t.bokatakana = 0x30dc;\n t.bparen = 0x249d;\n t.bqsquare = 0x33c3;\n t.braceex = 0xf8f4;\n t.braceleft = 0x007b;\n t.braceleftbt = 0xf8f3;\n t.braceleftmid = 0xf8f2;\n t.braceleftmonospace = 0xff5b;\n t.braceleftsmall = 0xfe5b;\n t.bracelefttp = 0xf8f1;\n t.braceleftvertical = 0xfe37;\n t.braceright = 0x007d;\n t.bracerightbt = 0xf8fe;\n t.bracerightmid = 0xf8fd;\n t.bracerightmonospace = 0xff5d;\n t.bracerightsmall = 0xfe5c;\n t.bracerighttp = 0xf8fc;\n t.bracerightvertical = 0xfe38;\n t.bracketleft = 0x005b;\n t.bracketleftbt = 0xf8f0;\n t.bracketleftex = 0xf8ef;\n t.bracketleftmonospace = 0xff3b;\n t.bracketlefttp = 0xf8ee;\n t.bracketright = 0x005d;\n t.bracketrightbt = 0xf8fb;\n t.bracketrightex = 0xf8fa;\n t.bracketrightmonospace = 0xff3d;\n t.bracketrighttp = 0xf8f9;\n t.breve = 0x02d8;\n t.brevebelowcmb = 0x032e;\n t.brevecmb = 0x0306;\n t.breveinvertedbelowcmb = 0x032f;\n t.breveinvertedcmb = 0x0311;\n t.breveinverteddoublecmb = 0x0361;\n t.bridgebelowcmb = 0x032a;\n t.bridgeinvertedbelowcmb = 0x033a;\n t.brokenbar = 0x00a6;\n t.bstroke = 0x0180;\n t.bsuperior = 0xf6ea;\n t.btopbar = 0x0183;\n t.buhiragana = 0x3076;\n t.bukatakana = 0x30d6;\n t.bullet = 0x2022;\n t.bulletinverse = 0x25d8;\n t.bulletoperator = 0x2219;\n t.bullseye = 0x25ce;\n t.c = 0x0063;\n t.caarmenian = 0x056e;\n t.cabengali = 0x099a;\n t.cacute = 0x0107;\n t.cadeva = 0x091a;\n t.cagujarati = 0x0a9a;\n t.cagurmukhi = 0x0a1a;\n t.calsquare = 0x3388;\n t.candrabindubengali = 0x0981;\n t.candrabinducmb = 0x0310;\n t.candrabindudeva = 0x0901;\n t.candrabindugujarati = 0x0a81;\n t.capslock = 0x21ea;\n t.careof = 0x2105;\n t.caron = 0x02c7;\n t.caronbelowcmb = 0x032c;\n t.caroncmb = 0x030c;\n t.carriagereturn = 0x21b5;\n t.cbopomofo = 0x3118;\n t.ccaron = 0x010d;\n t.ccedilla = 0x00e7;\n t.ccedillaacute = 0x1e09;\n t.ccircle = 0x24d2;\n t.ccircumflex = 0x0109;\n t.ccurl = 0x0255;\n t.cdot = 0x010b;\n t.cdotaccent = 0x010b;\n t.cdsquare = 0x33c5;\n t.cedilla = 0x00b8;\n t.cedillacmb = 0x0327;\n t.cent = 0x00a2;\n t.centigrade = 0x2103;\n t.centinferior = 0xf6df;\n t.centmonospace = 0xffe0;\n t.centoldstyle = 0xf7a2;\n t.centsuperior = 0xf6e0;\n t.chaarmenian = 0x0579;\n t.chabengali = 0x099b;\n t.chadeva = 0x091b;\n t.chagujarati = 0x0a9b;\n t.chagurmukhi = 0x0a1b;\n t.chbopomofo = 0x3114;\n t.cheabkhasiancyrillic = 0x04bd;\n t.checkmark = 0x2713;\n t.checyrillic = 0x0447;\n t.chedescenderabkhasiancyrillic = 0x04bf;\n t.chedescendercyrillic = 0x04b7;\n t.chedieresiscyrillic = 0x04f5;\n t.cheharmenian = 0x0573;\n t.chekhakassiancyrillic = 0x04cc;\n t.cheverticalstrokecyrillic = 0x04b9;\n t.chi = 0x03c7;\n t.chieuchacirclekorean = 0x3277;\n t.chieuchaparenkorean = 0x3217;\n t.chieuchcirclekorean = 0x3269;\n t.chieuchkorean = 0x314a;\n t.chieuchparenkorean = 0x3209;\n t.chochangthai = 0x0e0a;\n t.chochanthai = 0x0e08;\n t.chochingthai = 0x0e09;\n t.chochoethai = 0x0e0c;\n t.chook = 0x0188;\n t.cieucacirclekorean = 0x3276;\n t.cieucaparenkorean = 0x3216;\n t.cieuccirclekorean = 0x3268;\n t.cieuckorean = 0x3148;\n t.cieucparenkorean = 0x3208;\n t.cieucuparenkorean = 0x321c;\n t.circle = 0x25cb;\n t.circlecopyrt = 0x00a9;\n t.circlemultiply = 0x2297;\n t.circleot = 0x2299;\n t.circleplus = 0x2295;\n t.circlepostalmark = 0x3036;\n t.circlewithlefthalfblack = 0x25d0;\n t.circlewithrighthalfblack = 0x25d1;\n t.circumflex = 0x02c6;\n t.circumflexbelowcmb = 0x032d;\n t.circumflexcmb = 0x0302;\n t.clear = 0x2327;\n t.clickalveolar = 0x01c2;\n t.clickdental = 0x01c0;\n t.clicklateral = 0x01c1;\n t.clickretroflex = 0x01c3;\n t.club = 0x2663;\n t.clubsuitblack = 0x2663;\n t.clubsuitwhite = 0x2667;\n t.cmcubedsquare = 0x33a4;\n t.cmonospace = 0xff43;\n t.cmsquaredsquare = 0x33a0;\n t.coarmenian = 0x0581;\n t.colon = 0x003a;\n t.colonmonetary = 0x20a1;\n t.colonmonospace = 0xff1a;\n t.colonsign = 0x20a1;\n t.colonsmall = 0xfe55;\n t.colontriangularhalfmod = 0x02d1;\n t.colontriangularmod = 0x02d0;\n t.comma = 0x002c;\n t.commaabovecmb = 0x0313;\n t.commaaboverightcmb = 0x0315;\n t.commaaccent = 0xf6c3;\n t.commaarabic = 0x060c;\n t.commaarmenian = 0x055d;\n t.commainferior = 0xf6e1;\n t.commamonospace = 0xff0c;\n t.commareversedabovecmb = 0x0314;\n t.commareversedmod = 0x02bd;\n t.commasmall = 0xfe50;\n t.commasuperior = 0xf6e2;\n t.commaturnedabovecmb = 0x0312;\n t.commaturnedmod = 0x02bb;\n t.compass = 0x263c;\n t.congruent = 0x2245;\n t.contourintegral = 0x222e;\n t.control = 0x2303;\n t.controlACK = 0x0006;\n t.controlBEL = 0x0007;\n t.controlBS = 0x0008;\n t.controlCAN = 0x0018;\n t.controlCR = 0x000d;\n t.controlDC1 = 0x0011;\n t.controlDC2 = 0x0012;\n t.controlDC3 = 0x0013;\n t.controlDC4 = 0x0014;\n t.controlDEL = 0x007f;\n t.controlDLE = 0x0010;\n t.controlEM = 0x0019;\n t.controlENQ = 0x0005;\n t.controlEOT = 0x0004;\n t.controlESC = 0x001b;\n t.controlETB = 0x0017;\n t.controlETX = 0x0003;\n t.controlFF = 0x000c;\n t.controlFS = 0x001c;\n t.controlGS = 0x001d;\n t.controlHT = 0x0009;\n t.controlLF = 0x000a;\n t.controlNAK = 0x0015;\n t.controlNULL = 0x0000;\n t.controlRS = 0x001e;\n t.controlSI = 0x000f;\n t.controlSO = 0x000e;\n t.controlSOT = 0x0002;\n t.controlSTX = 0x0001;\n t.controlSUB = 0x001a;\n t.controlSYN = 0x0016;\n t.controlUS = 0x001f;\n t.controlVT = 0x000b;\n t.copyright = 0x00a9;\n t.copyrightsans = 0xf8e9;\n t.copyrightserif = 0xf6d9;\n t.cornerbracketleft = 0x300c;\n t.cornerbracketlefthalfwidth = 0xff62;\n t.cornerbracketleftvertical = 0xfe41;\n t.cornerbracketright = 0x300d;\n t.cornerbracketrighthalfwidth = 0xff63;\n t.cornerbracketrightvertical = 0xfe42;\n t.corporationsquare = 0x337f;\n t.cosquare = 0x33c7;\n t.coverkgsquare = 0x33c6;\n t.cparen = 0x249e;\n t.cruzeiro = 0x20a2;\n t.cstretched = 0x0297;\n t.curlyand = 0x22cf;\n t.curlyor = 0x22ce;\n t.currency = 0x00a4;\n t.cyrBreve = 0xf6d1;\n t.cyrFlex = 0xf6d2;\n t.cyrbreve = 0xf6d4;\n t.cyrflex = 0xf6d5;\n t.d = 0x0064;\n t.daarmenian = 0x0564;\n t.dabengali = 0x09a6;\n t.dadarabic = 0x0636;\n t.dadeva = 0x0926;\n t.dadfinalarabic = 0xfebe;\n t.dadinitialarabic = 0xfebf;\n t.dadmedialarabic = 0xfec0;\n t.dagesh = 0x05bc;\n t.dageshhebrew = 0x05bc;\n t.dagger = 0x2020;\n t.daggerdbl = 0x2021;\n t.dagujarati = 0x0aa6;\n t.dagurmukhi = 0x0a26;\n t.dahiragana = 0x3060;\n t.dakatakana = 0x30c0;\n t.dalarabic = 0x062f;\n t.dalet = 0x05d3;\n t.daletdagesh = 0xfb33;\n t.daletdageshhebrew = 0xfb33;\n t.dalethebrew = 0x05d3;\n t.dalfinalarabic = 0xfeaa;\n t.dammaarabic = 0x064f;\n t.dammalowarabic = 0x064f;\n t.dammatanaltonearabic = 0x064c;\n t.dammatanarabic = 0x064c;\n t.danda = 0x0964;\n t.dargahebrew = 0x05a7;\n t.dargalefthebrew = 0x05a7;\n t.dasiapneumatacyrilliccmb = 0x0485;\n t.dblGrave = 0xf6d3;\n t.dblanglebracketleft = 0x300a;\n t.dblanglebracketleftvertical = 0xfe3d;\n t.dblanglebracketright = 0x300b;\n t.dblanglebracketrightvertical = 0xfe3e;\n t.dblarchinvertedbelowcmb = 0x032b;\n t.dblarrowleft = 0x21d4;\n t.dblarrowright = 0x21d2;\n t.dbldanda = 0x0965;\n t.dblgrave = 0xf6d6;\n t.dblgravecmb = 0x030f;\n t.dblintegral = 0x222c;\n t.dbllowline = 0x2017;\n t.dbllowlinecmb = 0x0333;\n t.dbloverlinecmb = 0x033f;\n t.dblprimemod = 0x02ba;\n t.dblverticalbar = 0x2016;\n t.dblverticallineabovecmb = 0x030e;\n t.dbopomofo = 0x3109;\n t.dbsquare = 0x33c8;\n t.dcaron = 0x010f;\n t.dcedilla = 0x1e11;\n t.dcircle = 0x24d3;\n t.dcircumflexbelow = 0x1e13;\n t.dcroat = 0x0111;\n t.ddabengali = 0x09a1;\n t.ddadeva = 0x0921;\n t.ddagujarati = 0x0aa1;\n t.ddagurmukhi = 0x0a21;\n t.ddalarabic = 0x0688;\n t.ddalfinalarabic = 0xfb89;\n t.dddhadeva = 0x095c;\n t.ddhabengali = 0x09a2;\n t.ddhadeva = 0x0922;\n t.ddhagujarati = 0x0aa2;\n t.ddhagurmukhi = 0x0a22;\n t.ddotaccent = 0x1e0b;\n t.ddotbelow = 0x1e0d;\n t.decimalseparatorarabic = 0x066b;\n t.decimalseparatorpersian = 0x066b;\n t.decyrillic = 0x0434;\n t.degree = 0x00b0;\n t.dehihebrew = 0x05ad;\n t.dehiragana = 0x3067;\n t.deicoptic = 0x03ef;\n t.dekatakana = 0x30c7;\n t.deleteleft = 0x232b;\n t.deleteright = 0x2326;\n t.delta = 0x03b4;\n t.deltaturned = 0x018d;\n t.denominatorminusonenumeratorbengali = 0x09f8;\n t.dezh = 0x02a4;\n t.dhabengali = 0x09a7;\n t.dhadeva = 0x0927;\n t.dhagujarati = 0x0aa7;\n t.dhagurmukhi = 0x0a27;\n t.dhook = 0x0257;\n t.dialytikatonos = 0x0385;\n t.dialytikatonoscmb = 0x0344;\n t.diamond = 0x2666;\n t.diamondsuitwhite = 0x2662;\n t.dieresis = 0x00a8;\n t.dieresisacute = 0xf6d7;\n t.dieresisbelowcmb = 0x0324;\n t.dieresiscmb = 0x0308;\n t.dieresisgrave = 0xf6d8;\n t.dieresistonos = 0x0385;\n t.dihiragana = 0x3062;\n t.dikatakana = 0x30c2;\n t.dittomark = 0x3003;\n t.divide = 0x00f7;\n t.divides = 0x2223;\n t.divisionslash = 0x2215;\n t.djecyrillic = 0x0452;\n t.dkshade = 0x2593;\n t.dlinebelow = 0x1e0f;\n t.dlsquare = 0x3397;\n t.dmacron = 0x0111;\n t.dmonospace = 0xff44;\n t.dnblock = 0x2584;\n t.dochadathai = 0x0e0e;\n t.dodekthai = 0x0e14;\n t.dohiragana = 0x3069;\n t.dokatakana = 0x30c9;\n t.dollar = 0x0024;\n t.dollarinferior = 0xf6e3;\n t.dollarmonospace = 0xff04;\n t.dollaroldstyle = 0xf724;\n t.dollarsmall = 0xfe69;\n t.dollarsuperior = 0xf6e4;\n t.dong = 0x20ab;\n t.dorusquare = 0x3326;\n t.dotaccent = 0x02d9;\n t.dotaccentcmb = 0x0307;\n t.dotbelowcmb = 0x0323;\n t.dotbelowcomb = 0x0323;\n t.dotkatakana = 0x30fb;\n t.dotlessi = 0x0131;\n t.dotlessj = 0xf6be;\n t.dotlessjstrokehook = 0x0284;\n t.dotmath = 0x22c5;\n t.dottedcircle = 0x25cc;\n t.doubleyodpatah = 0xfb1f;\n t.doubleyodpatahhebrew = 0xfb1f;\n t.downtackbelowcmb = 0x031e;\n t.downtackmod = 0x02d5;\n t.dparen = 0x249f;\n t.dsuperior = 0xf6eb;\n t.dtail = 0x0256;\n t.dtopbar = 0x018c;\n t.duhiragana = 0x3065;\n t.dukatakana = 0x30c5;\n t.dz = 0x01f3;\n t.dzaltone = 0x02a3;\n t.dzcaron = 0x01c6;\n t.dzcurl = 0x02a5;\n t.dzeabkhasiancyrillic = 0x04e1;\n t.dzecyrillic = 0x0455;\n t.dzhecyrillic = 0x045f;\n t.e = 0x0065;\n t.eacute = 0x00e9;\n t.earth = 0x2641;\n t.ebengali = 0x098f;\n t.ebopomofo = 0x311c;\n t.ebreve = 0x0115;\n t.ecandradeva = 0x090d;\n t.ecandragujarati = 0x0a8d;\n t.ecandravowelsigndeva = 0x0945;\n t.ecandravowelsigngujarati = 0x0ac5;\n t.ecaron = 0x011b;\n t.ecedillabreve = 0x1e1d;\n t.echarmenian = 0x0565;\n t.echyiwnarmenian = 0x0587;\n t.ecircle = 0x24d4;\n t.ecircumflex = 0x00ea;\n t.ecircumflexacute = 0x1ebf;\n t.ecircumflexbelow = 0x1e19;\n t.ecircumflexdotbelow = 0x1ec7;\n t.ecircumflexgrave = 0x1ec1;\n t.ecircumflexhookabove = 0x1ec3;\n t.ecircumflextilde = 0x1ec5;\n t.ecyrillic = 0x0454;\n t.edblgrave = 0x0205;\n t.edeva = 0x090f;\n t.edieresis = 0x00eb;\n t.edot = 0x0117;\n t.edotaccent = 0x0117;\n t.edotbelow = 0x1eb9;\n t.eegurmukhi = 0x0a0f;\n t.eematragurmukhi = 0x0a47;\n t.efcyrillic = 0x0444;\n t.egrave = 0x00e8;\n t.egujarati = 0x0a8f;\n t.eharmenian = 0x0567;\n t.ehbopomofo = 0x311d;\n t.ehiragana = 0x3048;\n t.ehookabove = 0x1ebb;\n t.eibopomofo = 0x311f;\n t.eight = 0x0038;\n t.eightarabic = 0x0668;\n t.eightbengali = 0x09ee;\n t.eightcircle = 0x2467;\n t.eightcircleinversesansserif = 0x2791;\n t.eightdeva = 0x096e;\n t.eighteencircle = 0x2471;\n t.eighteenparen = 0x2485;\n t.eighteenperiod = 0x2499;\n t.eightgujarati = 0x0aee;\n t.eightgurmukhi = 0x0a6e;\n t.eighthackarabic = 0x0668;\n t.eighthangzhou = 0x3028;\n t.eighthnotebeamed = 0x266b;\n t.eightideographicparen = 0x3227;\n t.eightinferior = 0x2088;\n t.eightmonospace = 0xff18;\n t.eightoldstyle = 0xf738;\n t.eightparen = 0x247b;\n t.eightperiod = 0x248f;\n t.eightpersian = 0x06f8;\n t.eightroman = 0x2177;\n t.eightsuperior = 0x2078;\n t.eightthai = 0x0e58;\n t.einvertedbreve = 0x0207;\n t.eiotifiedcyrillic = 0x0465;\n t.ekatakana = 0x30a8;\n t.ekatakanahalfwidth = 0xff74;\n t.ekonkargurmukhi = 0x0a74;\n t.ekorean = 0x3154;\n t.elcyrillic = 0x043b;\n t.element = 0x2208;\n t.elevencircle = 0x246a;\n t.elevenparen = 0x247e;\n t.elevenperiod = 0x2492;\n t.elevenroman = 0x217a;\n t.ellipsis = 0x2026;\n t.ellipsisvertical = 0x22ee;\n t.emacron = 0x0113;\n t.emacronacute = 0x1e17;\n t.emacrongrave = 0x1e15;\n t.emcyrillic = 0x043c;\n t.emdash = 0x2014;\n t.emdashvertical = 0xfe31;\n t.emonospace = 0xff45;\n t.emphasismarkarmenian = 0x055b;\n t.emptyset = 0x2205;\n t.enbopomofo = 0x3123;\n t.encyrillic = 0x043d;\n t.endash = 0x2013;\n t.endashvertical = 0xfe32;\n t.endescendercyrillic = 0x04a3;\n t.eng = 0x014b;\n t.engbopomofo = 0x3125;\n t.enghecyrillic = 0x04a5;\n t.enhookcyrillic = 0x04c8;\n t.enspace = 0x2002;\n t.eogonek = 0x0119;\n t.eokorean = 0x3153;\n t.eopen = 0x025b;\n t.eopenclosed = 0x029a;\n t.eopenreversed = 0x025c;\n t.eopenreversedclosed = 0x025e;\n t.eopenreversedhook = 0x025d;\n t.eparen = 0x24a0;\n t.epsilon = 0x03b5;\n t.epsilontonos = 0x03ad;\n t.equal = 0x003d;\n t.equalmonospace = 0xff1d;\n t.equalsmall = 0xfe66;\n t.equalsuperior = 0x207c;\n t.equivalence = 0x2261;\n t.erbopomofo = 0x3126;\n t.ercyrillic = 0x0440;\n t.ereversed = 0x0258;\n t.ereversedcyrillic = 0x044d;\n t.escyrillic = 0x0441;\n t.esdescendercyrillic = 0x04ab;\n t.esh = 0x0283;\n t.eshcurl = 0x0286;\n t.eshortdeva = 0x090e;\n t.eshortvowelsigndeva = 0x0946;\n t.eshreversedloop = 0x01aa;\n t.eshsquatreversed = 0x0285;\n t.esmallhiragana = 0x3047;\n t.esmallkatakana = 0x30a7;\n t.esmallkatakanahalfwidth = 0xff6a;\n t.estimated = 0x212e;\n t.esuperior = 0xf6ec;\n t.eta = 0x03b7;\n t.etarmenian = 0x0568;\n t.etatonos = 0x03ae;\n t.eth = 0x00f0;\n t.etilde = 0x1ebd;\n t.etildebelow = 0x1e1b;\n t.etnahtafoukhhebrew = 0x0591;\n t.etnahtafoukhlefthebrew = 0x0591;\n t.etnahtahebrew = 0x0591;\n t.etnahtalefthebrew = 0x0591;\n t.eturned = 0x01dd;\n t.eukorean = 0x3161;\n t.euro = 0x20ac;\n t.evowelsignbengali = 0x09c7;\n t.evowelsigndeva = 0x0947;\n t.evowelsigngujarati = 0x0ac7;\n t.exclam = 0x0021;\n t.exclamarmenian = 0x055c;\n t.exclamdbl = 0x203c;\n t.exclamdown = 0x00a1;\n t.exclamdownsmall = 0xf7a1;\n t.exclammonospace = 0xff01;\n t.exclamsmall = 0xf721;\n t.existential = 0x2203;\n t.ezh = 0x0292;\n t.ezhcaron = 0x01ef;\n t.ezhcurl = 0x0293;\n t.ezhreversed = 0x01b9;\n t.ezhtail = 0x01ba;\n t.f = 0x0066;\n t.fadeva = 0x095e;\n t.fagurmukhi = 0x0a5e;\n t.fahrenheit = 0x2109;\n t.fathaarabic = 0x064e;\n t.fathalowarabic = 0x064e;\n t.fathatanarabic = 0x064b;\n t.fbopomofo = 0x3108;\n t.fcircle = 0x24d5;\n t.fdotaccent = 0x1e1f;\n t.feharabic = 0x0641;\n t.feharmenian = 0x0586;\n t.fehfinalarabic = 0xfed2;\n t.fehinitialarabic = 0xfed3;\n t.fehmedialarabic = 0xfed4;\n t.feicoptic = 0x03e5;\n t.female = 0x2640;\n t.ff = 0xfb00;\n t.f_f = 0xfb00;\n t.ffi = 0xfb03;\n t.ffl = 0xfb04;\n t.fi = 0xfb01;\n t.fifteencircle = 0x246e;\n t.fifteenparen = 0x2482;\n t.fifteenperiod = 0x2496;\n t.figuredash = 0x2012;\n t.filledbox = 0x25a0;\n t.filledrect = 0x25ac;\n t.finalkaf = 0x05da;\n t.finalkafdagesh = 0xfb3a;\n t.finalkafdageshhebrew = 0xfb3a;\n t.finalkafhebrew = 0x05da;\n t.finalmem = 0x05dd;\n t.finalmemhebrew = 0x05dd;\n t.finalnun = 0x05df;\n t.finalnunhebrew = 0x05df;\n t.finalpe = 0x05e3;\n t.finalpehebrew = 0x05e3;\n t.finaltsadi = 0x05e5;\n t.finaltsadihebrew = 0x05e5;\n t.firsttonechinese = 0x02c9;\n t.fisheye = 0x25c9;\n t.fitacyrillic = 0x0473;\n t.five = 0x0035;\n t.fivearabic = 0x0665;\n t.fivebengali = 0x09eb;\n t.fivecircle = 0x2464;\n t.fivecircleinversesansserif = 0x278e;\n t.fivedeva = 0x096b;\n t.fiveeighths = 0x215d;\n t.fivegujarati = 0x0aeb;\n t.fivegurmukhi = 0x0a6b;\n t.fivehackarabic = 0x0665;\n t.fivehangzhou = 0x3025;\n t.fiveideographicparen = 0x3224;\n t.fiveinferior = 0x2085;\n t.fivemonospace = 0xff15;\n t.fiveoldstyle = 0xf735;\n t.fiveparen = 0x2478;\n t.fiveperiod = 0x248c;\n t.fivepersian = 0x06f5;\n t.fiveroman = 0x2174;\n t.fivesuperior = 0x2075;\n t.fivethai = 0x0e55;\n t.fl = 0xfb02;\n t.florin = 0x0192;\n t.fmonospace = 0xff46;\n t.fmsquare = 0x3399;\n t.fofanthai = 0x0e1f;\n t.fofathai = 0x0e1d;\n t.fongmanthai = 0x0e4f;\n t.forall = 0x2200;\n t.four = 0x0034;\n t.fourarabic = 0x0664;\n t.fourbengali = 0x09ea;\n t.fourcircle = 0x2463;\n t.fourcircleinversesansserif = 0x278d;\n t.fourdeva = 0x096a;\n t.fourgujarati = 0x0aea;\n t.fourgurmukhi = 0x0a6a;\n t.fourhackarabic = 0x0664;\n t.fourhangzhou = 0x3024;\n t.fourideographicparen = 0x3223;\n t.fourinferior = 0x2084;\n t.fourmonospace = 0xff14;\n t.fournumeratorbengali = 0x09f7;\n t.fouroldstyle = 0xf734;\n t.fourparen = 0x2477;\n t.fourperiod = 0x248b;\n t.fourpersian = 0x06f4;\n t.fourroman = 0x2173;\n t.foursuperior = 0x2074;\n t.fourteencircle = 0x246d;\n t.fourteenparen = 0x2481;\n t.fourteenperiod = 0x2495;\n t.fourthai = 0x0e54;\n t.fourthtonechinese = 0x02cb;\n t.fparen = 0x24a1;\n t.fraction = 0x2044;\n t.franc = 0x20a3;\n t.g = 0x0067;\n t.gabengali = 0x0997;\n t.gacute = 0x01f5;\n t.gadeva = 0x0917;\n t.gafarabic = 0x06af;\n t.gaffinalarabic = 0xfb93;\n t.gafinitialarabic = 0xfb94;\n t.gafmedialarabic = 0xfb95;\n t.gagujarati = 0x0a97;\n t.gagurmukhi = 0x0a17;\n t.gahiragana = 0x304c;\n t.gakatakana = 0x30ac;\n t.gamma = 0x03b3;\n t.gammalatinsmall = 0x0263;\n t.gammasuperior = 0x02e0;\n t.gangiacoptic = 0x03eb;\n t.gbopomofo = 0x310d;\n t.gbreve = 0x011f;\n t.gcaron = 0x01e7;\n t.gcedilla = 0x0123;\n t.gcircle = 0x24d6;\n t.gcircumflex = 0x011d;\n t.gcommaaccent = 0x0123;\n t.gdot = 0x0121;\n t.gdotaccent = 0x0121;\n t.gecyrillic = 0x0433;\n t.gehiragana = 0x3052;\n t.gekatakana = 0x30b2;\n t.geometricallyequal = 0x2251;\n t.gereshaccenthebrew = 0x059c;\n t.gereshhebrew = 0x05f3;\n t.gereshmuqdamhebrew = 0x059d;\n t.germandbls = 0x00df;\n t.gershayimaccenthebrew = 0x059e;\n t.gershayimhebrew = 0x05f4;\n t.getamark = 0x3013;\n t.ghabengali = 0x0998;\n t.ghadarmenian = 0x0572;\n t.ghadeva = 0x0918;\n t.ghagujarati = 0x0a98;\n t.ghagurmukhi = 0x0a18;\n t.ghainarabic = 0x063a;\n t.ghainfinalarabic = 0xfece;\n t.ghaininitialarabic = 0xfecf;\n t.ghainmedialarabic = 0xfed0;\n t.ghemiddlehookcyrillic = 0x0495;\n t.ghestrokecyrillic = 0x0493;\n t.gheupturncyrillic = 0x0491;\n t.ghhadeva = 0x095a;\n t.ghhagurmukhi = 0x0a5a;\n t.ghook = 0x0260;\n t.ghzsquare = 0x3393;\n t.gihiragana = 0x304e;\n t.gikatakana = 0x30ae;\n t.gimarmenian = 0x0563;\n t.gimel = 0x05d2;\n t.gimeldagesh = 0xfb32;\n t.gimeldageshhebrew = 0xfb32;\n t.gimelhebrew = 0x05d2;\n t.gjecyrillic = 0x0453;\n t.glottalinvertedstroke = 0x01be;\n t.glottalstop = 0x0294;\n t.glottalstopinverted = 0x0296;\n t.glottalstopmod = 0x02c0;\n t.glottalstopreversed = 0x0295;\n t.glottalstopreversedmod = 0x02c1;\n t.glottalstopreversedsuperior = 0x02e4;\n t.glottalstopstroke = 0x02a1;\n t.glottalstopstrokereversed = 0x02a2;\n t.gmacron = 0x1e21;\n t.gmonospace = 0xff47;\n t.gohiragana = 0x3054;\n t.gokatakana = 0x30b4;\n t.gparen = 0x24a2;\n t.gpasquare = 0x33ac;\n t.gradient = 0x2207;\n t.grave = 0x0060;\n t.gravebelowcmb = 0x0316;\n t.gravecmb = 0x0300;\n t.gravecomb = 0x0300;\n t.gravedeva = 0x0953;\n t.gravelowmod = 0x02ce;\n t.gravemonospace = 0xff40;\n t.gravetonecmb = 0x0340;\n t.greater = 0x003e;\n t.greaterequal = 0x2265;\n t.greaterequalorless = 0x22db;\n t.greatermonospace = 0xff1e;\n t.greaterorequivalent = 0x2273;\n t.greaterorless = 0x2277;\n t.greateroverequal = 0x2267;\n t.greatersmall = 0xfe65;\n t.gscript = 0x0261;\n t.gstroke = 0x01e5;\n t.guhiragana = 0x3050;\n t.guillemotleft = 0x00ab;\n t.guillemotright = 0x00bb;\n t.guilsinglleft = 0x2039;\n t.guilsinglright = 0x203a;\n t.gukatakana = 0x30b0;\n t.guramusquare = 0x3318;\n t.gysquare = 0x33c9;\n t.h = 0x0068;\n t.haabkhasiancyrillic = 0x04a9;\n t.haaltonearabic = 0x06c1;\n t.habengali = 0x09b9;\n t.hadescendercyrillic = 0x04b3;\n t.hadeva = 0x0939;\n t.hagujarati = 0x0ab9;\n t.hagurmukhi = 0x0a39;\n t.haharabic = 0x062d;\n t.hahfinalarabic = 0xfea2;\n t.hahinitialarabic = 0xfea3;\n t.hahiragana = 0x306f;\n t.hahmedialarabic = 0xfea4;\n t.haitusquare = 0x332a;\n t.hakatakana = 0x30cf;\n t.hakatakanahalfwidth = 0xff8a;\n t.halantgurmukhi = 0x0a4d;\n t.hamzaarabic = 0x0621;\n t.hamzalowarabic = 0x0621;\n t.hangulfiller = 0x3164;\n t.hardsigncyrillic = 0x044a;\n t.harpoonleftbarbup = 0x21bc;\n t.harpoonrightbarbup = 0x21c0;\n t.hasquare = 0x33ca;\n t.hatafpatah = 0x05b2;\n t.hatafpatah16 = 0x05b2;\n t.hatafpatah23 = 0x05b2;\n t.hatafpatah2f = 0x05b2;\n t.hatafpatahhebrew = 0x05b2;\n t.hatafpatahnarrowhebrew = 0x05b2;\n t.hatafpatahquarterhebrew = 0x05b2;\n t.hatafpatahwidehebrew = 0x05b2;\n t.hatafqamats = 0x05b3;\n t.hatafqamats1b = 0x05b3;\n t.hatafqamats28 = 0x05b3;\n t.hatafqamats34 = 0x05b3;\n t.hatafqamatshebrew = 0x05b3;\n t.hatafqamatsnarrowhebrew = 0x05b3;\n t.hatafqamatsquarterhebrew = 0x05b3;\n t.hatafqamatswidehebrew = 0x05b3;\n t.hatafsegol = 0x05b1;\n t.hatafsegol17 = 0x05b1;\n t.hatafsegol24 = 0x05b1;\n t.hatafsegol30 = 0x05b1;\n t.hatafsegolhebrew = 0x05b1;\n t.hatafsegolnarrowhebrew = 0x05b1;\n t.hatafsegolquarterhebrew = 0x05b1;\n t.hatafsegolwidehebrew = 0x05b1;\n t.hbar = 0x0127;\n t.hbopomofo = 0x310f;\n t.hbrevebelow = 0x1e2b;\n t.hcedilla = 0x1e29;\n t.hcircle = 0x24d7;\n t.hcircumflex = 0x0125;\n t.hdieresis = 0x1e27;\n t.hdotaccent = 0x1e23;\n t.hdotbelow = 0x1e25;\n t.he = 0x05d4;\n t.heart = 0x2665;\n t.heartsuitblack = 0x2665;\n t.heartsuitwhite = 0x2661;\n t.hedagesh = 0xfb34;\n t.hedageshhebrew = 0xfb34;\n t.hehaltonearabic = 0x06c1;\n t.heharabic = 0x0647;\n t.hehebrew = 0x05d4;\n t.hehfinalaltonearabic = 0xfba7;\n t.hehfinalalttwoarabic = 0xfeea;\n t.hehfinalarabic = 0xfeea;\n t.hehhamzaabovefinalarabic = 0xfba5;\n t.hehhamzaaboveisolatedarabic = 0xfba4;\n t.hehinitialaltonearabic = 0xfba8;\n t.hehinitialarabic = 0xfeeb;\n t.hehiragana = 0x3078;\n t.hehmedialaltonearabic = 0xfba9;\n t.hehmedialarabic = 0xfeec;\n t.heiseierasquare = 0x337b;\n t.hekatakana = 0x30d8;\n t.hekatakanahalfwidth = 0xff8d;\n t.hekutaarusquare = 0x3336;\n t.henghook = 0x0267;\n t.herutusquare = 0x3339;\n t.het = 0x05d7;\n t.hethebrew = 0x05d7;\n t.hhook = 0x0266;\n t.hhooksuperior = 0x02b1;\n t.hieuhacirclekorean = 0x327b;\n t.hieuhaparenkorean = 0x321b;\n t.hieuhcirclekorean = 0x326d;\n t.hieuhkorean = 0x314e;\n t.hieuhparenkorean = 0x320d;\n t.hihiragana = 0x3072;\n t.hikatakana = 0x30d2;\n t.hikatakanahalfwidth = 0xff8b;\n t.hiriq = 0x05b4;\n t.hiriq14 = 0x05b4;\n t.hiriq21 = 0x05b4;\n t.hiriq2d = 0x05b4;\n t.hiriqhebrew = 0x05b4;\n t.hiriqnarrowhebrew = 0x05b4;\n t.hiriqquarterhebrew = 0x05b4;\n t.hiriqwidehebrew = 0x05b4;\n t.hlinebelow = 0x1e96;\n t.hmonospace = 0xff48;\n t.hoarmenian = 0x0570;\n t.hohipthai = 0x0e2b;\n t.hohiragana = 0x307b;\n t.hokatakana = 0x30db;\n t.hokatakanahalfwidth = 0xff8e;\n t.holam = 0x05b9;\n t.holam19 = 0x05b9;\n t.holam26 = 0x05b9;\n t.holam32 = 0x05b9;\n t.holamhebrew = 0x05b9;\n t.holamnarrowhebrew = 0x05b9;\n t.holamquarterhebrew = 0x05b9;\n t.holamwidehebrew = 0x05b9;\n t.honokhukthai = 0x0e2e;\n t.hookabovecomb = 0x0309;\n t.hookcmb = 0x0309;\n t.hookpalatalizedbelowcmb = 0x0321;\n t.hookretroflexbelowcmb = 0x0322;\n t.hoonsquare = 0x3342;\n t.horicoptic = 0x03e9;\n t.horizontalbar = 0x2015;\n t.horncmb = 0x031b;\n t.hotsprings = 0x2668;\n t.house = 0x2302;\n t.hparen = 0x24a3;\n t.hsuperior = 0x02b0;\n t.hturned = 0x0265;\n t.huhiragana = 0x3075;\n t.huiitosquare = 0x3333;\n t.hukatakana = 0x30d5;\n t.hukatakanahalfwidth = 0xff8c;\n t.hungarumlaut = 0x02dd;\n t.hungarumlautcmb = 0x030b;\n t.hv = 0x0195;\n t.hyphen = 0x002d;\n t.hypheninferior = 0xf6e5;\n t.hyphenmonospace = 0xff0d;\n t.hyphensmall = 0xfe63;\n t.hyphensuperior = 0xf6e6;\n t.hyphentwo = 0x2010;\n t.i = 0x0069;\n t.iacute = 0x00ed;\n t.iacyrillic = 0x044f;\n t.ibengali = 0x0987;\n t.ibopomofo = 0x3127;\n t.ibreve = 0x012d;\n t.icaron = 0x01d0;\n t.icircle = 0x24d8;\n t.icircumflex = 0x00ee;\n t.icyrillic = 0x0456;\n t.idblgrave = 0x0209;\n t.ideographearthcircle = 0x328f;\n t.ideographfirecircle = 0x328b;\n t.ideographicallianceparen = 0x323f;\n t.ideographiccallparen = 0x323a;\n t.ideographiccentrecircle = 0x32a5;\n t.ideographicclose = 0x3006;\n t.ideographiccomma = 0x3001;\n t.ideographiccommaleft = 0xff64;\n t.ideographiccongratulationparen = 0x3237;\n t.ideographiccorrectcircle = 0x32a3;\n t.ideographicearthparen = 0x322f;\n t.ideographicenterpriseparen = 0x323d;\n t.ideographicexcellentcircle = 0x329d;\n t.ideographicfestivalparen = 0x3240;\n t.ideographicfinancialcircle = 0x3296;\n t.ideographicfinancialparen = 0x3236;\n t.ideographicfireparen = 0x322b;\n t.ideographichaveparen = 0x3232;\n t.ideographichighcircle = 0x32a4;\n t.ideographiciterationmark = 0x3005;\n t.ideographiclaborcircle = 0x3298;\n t.ideographiclaborparen = 0x3238;\n t.ideographicleftcircle = 0x32a7;\n t.ideographiclowcircle = 0x32a6;\n t.ideographicmedicinecircle = 0x32a9;\n t.ideographicmetalparen = 0x322e;\n t.ideographicmoonparen = 0x322a;\n t.ideographicnameparen = 0x3234;\n t.ideographicperiod = 0x3002;\n t.ideographicprintcircle = 0x329e;\n t.ideographicreachparen = 0x3243;\n t.ideographicrepresentparen = 0x3239;\n t.ideographicresourceparen = 0x323e;\n t.ideographicrightcircle = 0x32a8;\n t.ideographicsecretcircle = 0x3299;\n t.ideographicselfparen = 0x3242;\n t.ideographicsocietyparen = 0x3233;\n t.ideographicspace = 0x3000;\n t.ideographicspecialparen = 0x3235;\n t.ideographicstockparen = 0x3231;\n t.ideographicstudyparen = 0x323b;\n t.ideographicsunparen = 0x3230;\n t.ideographicsuperviseparen = 0x323c;\n t.ideographicwaterparen = 0x322c;\n t.ideographicwoodparen = 0x322d;\n t.ideographiczero = 0x3007;\n t.ideographmetalcircle = 0x328e;\n t.ideographmooncircle = 0x328a;\n t.ideographnamecircle = 0x3294;\n t.ideographsuncircle = 0x3290;\n t.ideographwatercircle = 0x328c;\n t.ideographwoodcircle = 0x328d;\n t.ideva = 0x0907;\n t.idieresis = 0x00ef;\n t.idieresisacute = 0x1e2f;\n t.idieresiscyrillic = 0x04e5;\n t.idotbelow = 0x1ecb;\n t.iebrevecyrillic = 0x04d7;\n t.iecyrillic = 0x0435;\n t.ieungacirclekorean = 0x3275;\n t.ieungaparenkorean = 0x3215;\n t.ieungcirclekorean = 0x3267;\n t.ieungkorean = 0x3147;\n t.ieungparenkorean = 0x3207;\n t.igrave = 0x00ec;\n t.igujarati = 0x0a87;\n t.igurmukhi = 0x0a07;\n t.ihiragana = 0x3044;\n t.ihookabove = 0x1ec9;\n t.iibengali = 0x0988;\n t.iicyrillic = 0x0438;\n t.iideva = 0x0908;\n t.iigujarati = 0x0a88;\n t.iigurmukhi = 0x0a08;\n t.iimatragurmukhi = 0x0a40;\n t.iinvertedbreve = 0x020b;\n t.iishortcyrillic = 0x0439;\n t.iivowelsignbengali = 0x09c0;\n t.iivowelsigndeva = 0x0940;\n t.iivowelsigngujarati = 0x0ac0;\n t.ij = 0x0133;\n t.ikatakana = 0x30a4;\n t.ikatakanahalfwidth = 0xff72;\n t.ikorean = 0x3163;\n t.ilde = 0x02dc;\n t.iluyhebrew = 0x05ac;\n t.imacron = 0x012b;\n t.imacroncyrillic = 0x04e3;\n t.imageorapproximatelyequal = 0x2253;\n t.imatragurmukhi = 0x0a3f;\n t.imonospace = 0xff49;\n t.increment = 0x2206;\n t.infinity = 0x221e;\n t.iniarmenian = 0x056b;\n t.integral = 0x222b;\n t.integralbottom = 0x2321;\n t.integralbt = 0x2321;\n t.integralex = 0xf8f5;\n t.integraltop = 0x2320;\n t.integraltp = 0x2320;\n t.intersection = 0x2229;\n t.intisquare = 0x3305;\n t.invbullet = 0x25d8;\n t.invcircle = 0x25d9;\n t.invsmileface = 0x263b;\n t.iocyrillic = 0x0451;\n t.iogonek = 0x012f;\n t.iota = 0x03b9;\n t.iotadieresis = 0x03ca;\n t.iotadieresistonos = 0x0390;\n t.iotalatin = 0x0269;\n t.iotatonos = 0x03af;\n t.iparen = 0x24a4;\n t.irigurmukhi = 0x0a72;\n t.ismallhiragana = 0x3043;\n t.ismallkatakana = 0x30a3;\n t.ismallkatakanahalfwidth = 0xff68;\n t.issharbengali = 0x09fa;\n t.istroke = 0x0268;\n t.isuperior = 0xf6ed;\n t.iterationhiragana = 0x309d;\n t.iterationkatakana = 0x30fd;\n t.itilde = 0x0129;\n t.itildebelow = 0x1e2d;\n t.iubopomofo = 0x3129;\n t.iucyrillic = 0x044e;\n t.ivowelsignbengali = 0x09bf;\n t.ivowelsigndeva = 0x093f;\n t.ivowelsigngujarati = 0x0abf;\n t.izhitsacyrillic = 0x0475;\n t.izhitsadblgravecyrillic = 0x0477;\n t.j = 0x006a;\n t.jaarmenian = 0x0571;\n t.jabengali = 0x099c;\n t.jadeva = 0x091c;\n t.jagujarati = 0x0a9c;\n t.jagurmukhi = 0x0a1c;\n t.jbopomofo = 0x3110;\n t.jcaron = 0x01f0;\n t.jcircle = 0x24d9;\n t.jcircumflex = 0x0135;\n t.jcrossedtail = 0x029d;\n t.jdotlessstroke = 0x025f;\n t.jecyrillic = 0x0458;\n t.jeemarabic = 0x062c;\n t.jeemfinalarabic = 0xfe9e;\n t.jeeminitialarabic = 0xfe9f;\n t.jeemmedialarabic = 0xfea0;\n t.jeharabic = 0x0698;\n t.jehfinalarabic = 0xfb8b;\n t.jhabengali = 0x099d;\n t.jhadeva = 0x091d;\n t.jhagujarati = 0x0a9d;\n t.jhagurmukhi = 0x0a1d;\n t.jheharmenian = 0x057b;\n t.jis = 0x3004;\n t.jmonospace = 0xff4a;\n t.jparen = 0x24a5;\n t.jsuperior = 0x02b2;\n t.k = 0x006b;\n t.kabashkircyrillic = 0x04a1;\n t.kabengali = 0x0995;\n t.kacute = 0x1e31;\n t.kacyrillic = 0x043a;\n t.kadescendercyrillic = 0x049b;\n t.kadeva = 0x0915;\n t.kaf = 0x05db;\n t.kafarabic = 0x0643;\n t.kafdagesh = 0xfb3b;\n t.kafdageshhebrew = 0xfb3b;\n t.kaffinalarabic = 0xfeda;\n t.kafhebrew = 0x05db;\n t.kafinitialarabic = 0xfedb;\n t.kafmedialarabic = 0xfedc;\n t.kafrafehebrew = 0xfb4d;\n t.kagujarati = 0x0a95;\n t.kagurmukhi = 0x0a15;\n t.kahiragana = 0x304b;\n t.kahookcyrillic = 0x04c4;\n t.kakatakana = 0x30ab;\n t.kakatakanahalfwidth = 0xff76;\n t.kappa = 0x03ba;\n t.kappasymbolgreek = 0x03f0;\n t.kapyeounmieumkorean = 0x3171;\n t.kapyeounphieuphkorean = 0x3184;\n t.kapyeounpieupkorean = 0x3178;\n t.kapyeounssangpieupkorean = 0x3179;\n t.karoriisquare = 0x330d;\n t.kashidaautoarabic = 0x0640;\n t.kashidaautonosidebearingarabic = 0x0640;\n t.kasmallkatakana = 0x30f5;\n t.kasquare = 0x3384;\n t.kasraarabic = 0x0650;\n t.kasratanarabic = 0x064d;\n t.kastrokecyrillic = 0x049f;\n t.katahiraprolongmarkhalfwidth = 0xff70;\n t.kaverticalstrokecyrillic = 0x049d;\n t.kbopomofo = 0x310e;\n t.kcalsquare = 0x3389;\n t.kcaron = 0x01e9;\n t.kcedilla = 0x0137;\n t.kcircle = 0x24da;\n t.kcommaaccent = 0x0137;\n t.kdotbelow = 0x1e33;\n t.keharmenian = 0x0584;\n t.kehiragana = 0x3051;\n t.kekatakana = 0x30b1;\n t.kekatakanahalfwidth = 0xff79;\n t.kenarmenian = 0x056f;\n t.kesmallkatakana = 0x30f6;\n t.kgreenlandic = 0x0138;\n t.khabengali = 0x0996;\n t.khacyrillic = 0x0445;\n t.khadeva = 0x0916;\n t.khagujarati = 0x0a96;\n t.khagurmukhi = 0x0a16;\n t.khaharabic = 0x062e;\n t.khahfinalarabic = 0xfea6;\n t.khahinitialarabic = 0xfea7;\n t.khahmedialarabic = 0xfea8;\n t.kheicoptic = 0x03e7;\n t.khhadeva = 0x0959;\n t.khhagurmukhi = 0x0a59;\n t.khieukhacirclekorean = 0x3278;\n t.khieukhaparenkorean = 0x3218;\n t.khieukhcirclekorean = 0x326a;\n t.khieukhkorean = 0x314b;\n t.khieukhparenkorean = 0x320a;\n t.khokhaithai = 0x0e02;\n t.khokhonthai = 0x0e05;\n t.khokhuatthai = 0x0e03;\n t.khokhwaithai = 0x0e04;\n t.khomutthai = 0x0e5b;\n t.khook = 0x0199;\n t.khorakhangthai = 0x0e06;\n t.khzsquare = 0x3391;\n t.kihiragana = 0x304d;\n t.kikatakana = 0x30ad;\n t.kikatakanahalfwidth = 0xff77;\n t.kiroguramusquare = 0x3315;\n t.kiromeetorusquare = 0x3316;\n t.kirosquare = 0x3314;\n t.kiyeokacirclekorean = 0x326e;\n t.kiyeokaparenkorean = 0x320e;\n t.kiyeokcirclekorean = 0x3260;\n t.kiyeokkorean = 0x3131;\n t.kiyeokparenkorean = 0x3200;\n t.kiyeoksioskorean = 0x3133;\n t.kjecyrillic = 0x045c;\n t.klinebelow = 0x1e35;\n t.klsquare = 0x3398;\n t.kmcubedsquare = 0x33a6;\n t.kmonospace = 0xff4b;\n t.kmsquaredsquare = 0x33a2;\n t.kohiragana = 0x3053;\n t.kohmsquare = 0x33c0;\n t.kokaithai = 0x0e01;\n t.kokatakana = 0x30b3;\n t.kokatakanahalfwidth = 0xff7a;\n t.kooposquare = 0x331e;\n t.koppacyrillic = 0x0481;\n t.koreanstandardsymbol = 0x327f;\n t.koroniscmb = 0x0343;\n t.kparen = 0x24a6;\n t.kpasquare = 0x33aa;\n t.ksicyrillic = 0x046f;\n t.ktsquare = 0x33cf;\n t.kturned = 0x029e;\n t.kuhiragana = 0x304f;\n t.kukatakana = 0x30af;\n t.kukatakanahalfwidth = 0xff78;\n t.kvsquare = 0x33b8;\n t.kwsquare = 0x33be;\n t.l = 0x006c;\n t.labengali = 0x09b2;\n t.lacute = 0x013a;\n t.ladeva = 0x0932;\n t.lagujarati = 0x0ab2;\n t.lagurmukhi = 0x0a32;\n t.lakkhangyaothai = 0x0e45;\n t.lamaleffinalarabic = 0xfefc;\n t.lamalefhamzaabovefinalarabic = 0xfef8;\n t.lamalefhamzaaboveisolatedarabic = 0xfef7;\n t.lamalefhamzabelowfinalarabic = 0xfefa;\n t.lamalefhamzabelowisolatedarabic = 0xfef9;\n t.lamalefisolatedarabic = 0xfefb;\n t.lamalefmaddaabovefinalarabic = 0xfef6;\n t.lamalefmaddaaboveisolatedarabic = 0xfef5;\n t.lamarabic = 0x0644;\n t.lambda = 0x03bb;\n t.lambdastroke = 0x019b;\n t.lamed = 0x05dc;\n t.lameddagesh = 0xfb3c;\n t.lameddageshhebrew = 0xfb3c;\n t.lamedhebrew = 0x05dc;\n t.lamfinalarabic = 0xfede;\n t.lamhahinitialarabic = 0xfcca;\n t.laminitialarabic = 0xfedf;\n t.lamjeeminitialarabic = 0xfcc9;\n t.lamkhahinitialarabic = 0xfccb;\n t.lamlamhehisolatedarabic = 0xfdf2;\n t.lammedialarabic = 0xfee0;\n t.lammeemhahinitialarabic = 0xfd88;\n t.lammeeminitialarabic = 0xfccc;\n t.largecircle = 0x25ef;\n t.lbar = 0x019a;\n t.lbelt = 0x026c;\n t.lbopomofo = 0x310c;\n t.lcaron = 0x013e;\n t.lcedilla = 0x013c;\n t.lcircle = 0x24db;\n t.lcircumflexbelow = 0x1e3d;\n t.lcommaaccent = 0x013c;\n t.ldot = 0x0140;\n t.ldotaccent = 0x0140;\n t.ldotbelow = 0x1e37;\n t.ldotbelowmacron = 0x1e39;\n t.leftangleabovecmb = 0x031a;\n t.lefttackbelowcmb = 0x0318;\n t.less = 0x003c;\n t.lessequal = 0x2264;\n t.lessequalorgreater = 0x22da;\n t.lessmonospace = 0xff1c;\n t.lessorequivalent = 0x2272;\n t.lessorgreater = 0x2276;\n t.lessoverequal = 0x2266;\n t.lesssmall = 0xfe64;\n t.lezh = 0x026e;\n t.lfblock = 0x258c;\n t.lhookretroflex = 0x026d;\n t.lira = 0x20a4;\n t.liwnarmenian = 0x056c;\n t.lj = 0x01c9;\n t.ljecyrillic = 0x0459;\n t.ll = 0xf6c0;\n t.lladeva = 0x0933;\n t.llagujarati = 0x0ab3;\n t.llinebelow = 0x1e3b;\n t.llladeva = 0x0934;\n t.llvocalicbengali = 0x09e1;\n t.llvocalicdeva = 0x0961;\n t.llvocalicvowelsignbengali = 0x09e3;\n t.llvocalicvowelsigndeva = 0x0963;\n t.lmiddletilde = 0x026b;\n t.lmonospace = 0xff4c;\n t.lmsquare = 0x33d0;\n t.lochulathai = 0x0e2c;\n t.logicaland = 0x2227;\n t.logicalnot = 0x00ac;\n t.logicalnotreversed = 0x2310;\n t.logicalor = 0x2228;\n t.lolingthai = 0x0e25;\n t.longs = 0x017f;\n t.lowlinecenterline = 0xfe4e;\n t.lowlinecmb = 0x0332;\n t.lowlinedashed = 0xfe4d;\n t.lozenge = 0x25ca;\n t.lparen = 0x24a7;\n t.lslash = 0x0142;\n t.lsquare = 0x2113;\n t.lsuperior = 0xf6ee;\n t.ltshade = 0x2591;\n t.luthai = 0x0e26;\n t.lvocalicbengali = 0x098c;\n t.lvocalicdeva = 0x090c;\n t.lvocalicvowelsignbengali = 0x09e2;\n t.lvocalicvowelsigndeva = 0x0962;\n t.lxsquare = 0x33d3;\n t.m = 0x006d;\n t.mabengali = 0x09ae;\n t.macron = 0x00af;\n t.macronbelowcmb = 0x0331;\n t.macroncmb = 0x0304;\n t.macronlowmod = 0x02cd;\n t.macronmonospace = 0xffe3;\n t.macute = 0x1e3f;\n t.madeva = 0x092e;\n t.magujarati = 0x0aae;\n t.magurmukhi = 0x0a2e;\n t.mahapakhhebrew = 0x05a4;\n t.mahapakhlefthebrew = 0x05a4;\n t.mahiragana = 0x307e;\n t.maichattawalowleftthai = 0xf895;\n t.maichattawalowrightthai = 0xf894;\n t.maichattawathai = 0x0e4b;\n t.maichattawaupperleftthai = 0xf893;\n t.maieklowleftthai = 0xf88c;\n t.maieklowrightthai = 0xf88b;\n t.maiekthai = 0x0e48;\n t.maiekupperleftthai = 0xf88a;\n t.maihanakatleftthai = 0xf884;\n t.maihanakatthai = 0x0e31;\n t.maitaikhuleftthai = 0xf889;\n t.maitaikhuthai = 0x0e47;\n t.maitholowleftthai = 0xf88f;\n t.maitholowrightthai = 0xf88e;\n t.maithothai = 0x0e49;\n t.maithoupperleftthai = 0xf88d;\n t.maitrilowleftthai = 0xf892;\n t.maitrilowrightthai = 0xf891;\n t.maitrithai = 0x0e4a;\n t.maitriupperleftthai = 0xf890;\n t.maiyamokthai = 0x0e46;\n t.makatakana = 0x30de;\n t.makatakanahalfwidth = 0xff8f;\n t.male = 0x2642;\n t.mansyonsquare = 0x3347;\n t.maqafhebrew = 0x05be;\n t.mars = 0x2642;\n t.masoracirclehebrew = 0x05af;\n t.masquare = 0x3383;\n t.mbopomofo = 0x3107;\n t.mbsquare = 0x33d4;\n t.mcircle = 0x24dc;\n t.mcubedsquare = 0x33a5;\n t.mdotaccent = 0x1e41;\n t.mdotbelow = 0x1e43;\n t.meemarabic = 0x0645;\n t.meemfinalarabic = 0xfee2;\n t.meeminitialarabic = 0xfee3;\n t.meemmedialarabic = 0xfee4;\n t.meemmeeminitialarabic = 0xfcd1;\n t.meemmeemisolatedarabic = 0xfc48;\n t.meetorusquare = 0x334d;\n t.mehiragana = 0x3081;\n t.meizierasquare = 0x337e;\n t.mekatakana = 0x30e1;\n t.mekatakanahalfwidth = 0xff92;\n t.mem = 0x05de;\n t.memdagesh = 0xfb3e;\n t.memdageshhebrew = 0xfb3e;\n t.memhebrew = 0x05de;\n t.menarmenian = 0x0574;\n t.merkhahebrew = 0x05a5;\n t.merkhakefulahebrew = 0x05a6;\n t.merkhakefulalefthebrew = 0x05a6;\n t.merkhalefthebrew = 0x05a5;\n t.mhook = 0x0271;\n t.mhzsquare = 0x3392;\n t.middledotkatakanahalfwidth = 0xff65;\n t.middot = 0x00b7;\n t.mieumacirclekorean = 0x3272;\n t.mieumaparenkorean = 0x3212;\n t.mieumcirclekorean = 0x3264;\n t.mieumkorean = 0x3141;\n t.mieumpansioskorean = 0x3170;\n t.mieumparenkorean = 0x3204;\n t.mieumpieupkorean = 0x316e;\n t.mieumsioskorean = 0x316f;\n t.mihiragana = 0x307f;\n t.mikatakana = 0x30df;\n t.mikatakanahalfwidth = 0xff90;\n t.minus = 0x2212;\n t.minusbelowcmb = 0x0320;\n t.minuscircle = 0x2296;\n t.minusmod = 0x02d7;\n t.minusplus = 0x2213;\n t.minute = 0x2032;\n t.miribaarusquare = 0x334a;\n t.mirisquare = 0x3349;\n t.mlonglegturned = 0x0270;\n t.mlsquare = 0x3396;\n t.mmcubedsquare = 0x33a3;\n t.mmonospace = 0xff4d;\n t.mmsquaredsquare = 0x339f;\n t.mohiragana = 0x3082;\n t.mohmsquare = 0x33c1;\n t.mokatakana = 0x30e2;\n t.mokatakanahalfwidth = 0xff93;\n t.molsquare = 0x33d6;\n t.momathai = 0x0e21;\n t.moverssquare = 0x33a7;\n t.moverssquaredsquare = 0x33a8;\n t.mparen = 0x24a8;\n t.mpasquare = 0x33ab;\n t.mssquare = 0x33b3;\n t.msuperior = 0xf6ef;\n t.mturned = 0x026f;\n t.mu = 0x00b5;\n t.mu1 = 0x00b5;\n t.muasquare = 0x3382;\n t.muchgreater = 0x226b;\n t.muchless = 0x226a;\n t.mufsquare = 0x338c;\n t.mugreek = 0x03bc;\n t.mugsquare = 0x338d;\n t.muhiragana = 0x3080;\n t.mukatakana = 0x30e0;\n t.mukatakanahalfwidth = 0xff91;\n t.mulsquare = 0x3395;\n t.multiply = 0x00d7;\n t.mumsquare = 0x339b;\n t.munahhebrew = 0x05a3;\n t.munahlefthebrew = 0x05a3;\n t.musicalnote = 0x266a;\n t.musicalnotedbl = 0x266b;\n t.musicflatsign = 0x266d;\n t.musicsharpsign = 0x266f;\n t.mussquare = 0x33b2;\n t.muvsquare = 0x33b6;\n t.muwsquare = 0x33bc;\n t.mvmegasquare = 0x33b9;\n t.mvsquare = 0x33b7;\n t.mwmegasquare = 0x33bf;\n t.mwsquare = 0x33bd;\n t.n = 0x006e;\n t.nabengali = 0x09a8;\n t.nabla = 0x2207;\n t.nacute = 0x0144;\n t.nadeva = 0x0928;\n t.nagujarati = 0x0aa8;\n t.nagurmukhi = 0x0a28;\n t.nahiragana = 0x306a;\n t.nakatakana = 0x30ca;\n t.nakatakanahalfwidth = 0xff85;\n t.napostrophe = 0x0149;\n t.nasquare = 0x3381;\n t.nbopomofo = 0x310b;\n t.nbspace = 0x00a0;\n t.ncaron = 0x0148;\n t.ncedilla = 0x0146;\n t.ncircle = 0x24dd;\n t.ncircumflexbelow = 0x1e4b;\n t.ncommaaccent = 0x0146;\n t.ndotaccent = 0x1e45;\n t.ndotbelow = 0x1e47;\n t.nehiragana = 0x306d;\n t.nekatakana = 0x30cd;\n t.nekatakanahalfwidth = 0xff88;\n t.newsheqelsign = 0x20aa;\n t.nfsquare = 0x338b;\n t.ngabengali = 0x0999;\n t.ngadeva = 0x0919;\n t.ngagujarati = 0x0a99;\n t.ngagurmukhi = 0x0a19;\n t.ngonguthai = 0x0e07;\n t.nhiragana = 0x3093;\n t.nhookleft = 0x0272;\n t.nhookretroflex = 0x0273;\n t.nieunacirclekorean = 0x326f;\n t.nieunaparenkorean = 0x320f;\n t.nieuncieuckorean = 0x3135;\n t.nieuncirclekorean = 0x3261;\n t.nieunhieuhkorean = 0x3136;\n t.nieunkorean = 0x3134;\n t.nieunpansioskorean = 0x3168;\n t.nieunparenkorean = 0x3201;\n t.nieunsioskorean = 0x3167;\n t.nieuntikeutkorean = 0x3166;\n t.nihiragana = 0x306b;\n t.nikatakana = 0x30cb;\n t.nikatakanahalfwidth = 0xff86;\n t.nikhahitleftthai = 0xf899;\n t.nikhahitthai = 0x0e4d;\n t.nine = 0x0039;\n t.ninearabic = 0x0669;\n t.ninebengali = 0x09ef;\n t.ninecircle = 0x2468;\n t.ninecircleinversesansserif = 0x2792;\n t.ninedeva = 0x096f;\n t.ninegujarati = 0x0aef;\n t.ninegurmukhi = 0x0a6f;\n t.ninehackarabic = 0x0669;\n t.ninehangzhou = 0x3029;\n t.nineideographicparen = 0x3228;\n t.nineinferior = 0x2089;\n t.ninemonospace = 0xff19;\n t.nineoldstyle = 0xf739;\n t.nineparen = 0x247c;\n t.nineperiod = 0x2490;\n t.ninepersian = 0x06f9;\n t.nineroman = 0x2178;\n t.ninesuperior = 0x2079;\n t.nineteencircle = 0x2472;\n t.nineteenparen = 0x2486;\n t.nineteenperiod = 0x249a;\n t.ninethai = 0x0e59;\n t.nj = 0x01cc;\n t.njecyrillic = 0x045a;\n t.nkatakana = 0x30f3;\n t.nkatakanahalfwidth = 0xff9d;\n t.nlegrightlong = 0x019e;\n t.nlinebelow = 0x1e49;\n t.nmonospace = 0xff4e;\n t.nmsquare = 0x339a;\n t.nnabengali = 0x09a3;\n t.nnadeva = 0x0923;\n t.nnagujarati = 0x0aa3;\n t.nnagurmukhi = 0x0a23;\n t.nnnadeva = 0x0929;\n t.nohiragana = 0x306e;\n t.nokatakana = 0x30ce;\n t.nokatakanahalfwidth = 0xff89;\n t.nonbreakingspace = 0x00a0;\n t.nonenthai = 0x0e13;\n t.nonuthai = 0x0e19;\n t.noonarabic = 0x0646;\n t.noonfinalarabic = 0xfee6;\n t.noonghunnaarabic = 0x06ba;\n t.noonghunnafinalarabic = 0xfb9f;\n t.nooninitialarabic = 0xfee7;\n t.noonjeeminitialarabic = 0xfcd2;\n t.noonjeemisolatedarabic = 0xfc4b;\n t.noonmedialarabic = 0xfee8;\n t.noonmeeminitialarabic = 0xfcd5;\n t.noonmeemisolatedarabic = 0xfc4e;\n t.noonnoonfinalarabic = 0xfc8d;\n t.notcontains = 0x220c;\n t.notelement = 0x2209;\n t.notelementof = 0x2209;\n t.notequal = 0x2260;\n t.notgreater = 0x226f;\n t.notgreaternorequal = 0x2271;\n t.notgreaternorless = 0x2279;\n t.notidentical = 0x2262;\n t.notless = 0x226e;\n t.notlessnorequal = 0x2270;\n t.notparallel = 0x2226;\n t.notprecedes = 0x2280;\n t.notsubset = 0x2284;\n t.notsucceeds = 0x2281;\n t.notsuperset = 0x2285;\n t.nowarmenian = 0x0576;\n t.nparen = 0x24a9;\n t.nssquare = 0x33b1;\n t.nsuperior = 0x207f;\n t.ntilde = 0x00f1;\n t.nu = 0x03bd;\n t.nuhiragana = 0x306c;\n t.nukatakana = 0x30cc;\n t.nukatakanahalfwidth = 0xff87;\n t.nuktabengali = 0x09bc;\n t.nuktadeva = 0x093c;\n t.nuktagujarati = 0x0abc;\n t.nuktagurmukhi = 0x0a3c;\n t.numbersign = 0x0023;\n t.numbersignmonospace = 0xff03;\n t.numbersignsmall = 0xfe5f;\n t.numeralsigngreek = 0x0374;\n t.numeralsignlowergreek = 0x0375;\n t.numero = 0x2116;\n t.nun = 0x05e0;\n t.nundagesh = 0xfb40;\n t.nundageshhebrew = 0xfb40;\n t.nunhebrew = 0x05e0;\n t.nvsquare = 0x33b5;\n t.nwsquare = 0x33bb;\n t.nyabengali = 0x099e;\n t.nyadeva = 0x091e;\n t.nyagujarati = 0x0a9e;\n t.nyagurmukhi = 0x0a1e;\n t.o = 0x006f;\n t.oacute = 0x00f3;\n t.oangthai = 0x0e2d;\n t.obarred = 0x0275;\n t.obarredcyrillic = 0x04e9;\n t.obarreddieresiscyrillic = 0x04eb;\n t.obengali = 0x0993;\n t.obopomofo = 0x311b;\n t.obreve = 0x014f;\n t.ocandradeva = 0x0911;\n t.ocandragujarati = 0x0a91;\n t.ocandravowelsigndeva = 0x0949;\n t.ocandravowelsigngujarati = 0x0ac9;\n t.ocaron = 0x01d2;\n t.ocircle = 0x24de;\n t.ocircumflex = 0x00f4;\n t.ocircumflexacute = 0x1ed1;\n t.ocircumflexdotbelow = 0x1ed9;\n t.ocircumflexgrave = 0x1ed3;\n t.ocircumflexhookabove = 0x1ed5;\n t.ocircumflextilde = 0x1ed7;\n t.ocyrillic = 0x043e;\n t.odblacute = 0x0151;\n t.odblgrave = 0x020d;\n t.odeva = 0x0913;\n t.odieresis = 0x00f6;\n t.odieresiscyrillic = 0x04e7;\n t.odotbelow = 0x1ecd;\n t.oe = 0x0153;\n t.oekorean = 0x315a;\n t.ogonek = 0x02db;\n t.ogonekcmb = 0x0328;\n t.ograve = 0x00f2;\n t.ogujarati = 0x0a93;\n t.oharmenian = 0x0585;\n t.ohiragana = 0x304a;\n t.ohookabove = 0x1ecf;\n t.ohorn = 0x01a1;\n t.ohornacute = 0x1edb;\n t.ohorndotbelow = 0x1ee3;\n t.ohorngrave = 0x1edd;\n t.ohornhookabove = 0x1edf;\n t.ohorntilde = 0x1ee1;\n t.ohungarumlaut = 0x0151;\n t.oi = 0x01a3;\n t.oinvertedbreve = 0x020f;\n t.okatakana = 0x30aa;\n t.okatakanahalfwidth = 0xff75;\n t.okorean = 0x3157;\n t.olehebrew = 0x05ab;\n t.omacron = 0x014d;\n t.omacronacute = 0x1e53;\n t.omacrongrave = 0x1e51;\n t.omdeva = 0x0950;\n t.omega = 0x03c9;\n t.omega1 = 0x03d6;\n t.omegacyrillic = 0x0461;\n t.omegalatinclosed = 0x0277;\n t.omegaroundcyrillic = 0x047b;\n t.omegatitlocyrillic = 0x047d;\n t.omegatonos = 0x03ce;\n t.omgujarati = 0x0ad0;\n t.omicron = 0x03bf;\n t.omicrontonos = 0x03cc;\n t.omonospace = 0xff4f;\n t.one = 0x0031;\n t.onearabic = 0x0661;\n t.onebengali = 0x09e7;\n t.onecircle = 0x2460;\n t.onecircleinversesansserif = 0x278a;\n t.onedeva = 0x0967;\n t.onedotenleader = 0x2024;\n t.oneeighth = 0x215b;\n t.onefitted = 0xf6dc;\n t.onegujarati = 0x0ae7;\n t.onegurmukhi = 0x0a67;\n t.onehackarabic = 0x0661;\n t.onehalf = 0x00bd;\n t.onehangzhou = 0x3021;\n t.oneideographicparen = 0x3220;\n t.oneinferior = 0x2081;\n t.onemonospace = 0xff11;\n t.onenumeratorbengali = 0x09f4;\n t.oneoldstyle = 0xf731;\n t.oneparen = 0x2474;\n t.oneperiod = 0x2488;\n t.onepersian = 0x06f1;\n t.onequarter = 0x00bc;\n t.oneroman = 0x2170;\n t.onesuperior = 0x00b9;\n t.onethai = 0x0e51;\n t.onethird = 0x2153;\n t.oogonek = 0x01eb;\n t.oogonekmacron = 0x01ed;\n t.oogurmukhi = 0x0a13;\n t.oomatragurmukhi = 0x0a4b;\n t.oopen = 0x0254;\n t.oparen = 0x24aa;\n t.openbullet = 0x25e6;\n t.option = 0x2325;\n t.ordfeminine = 0x00aa;\n t.ordmasculine = 0x00ba;\n t.orthogonal = 0x221f;\n t.oshortdeva = 0x0912;\n t.oshortvowelsigndeva = 0x094a;\n t.oslash = 0x00f8;\n t.oslashacute = 0x01ff;\n t.osmallhiragana = 0x3049;\n t.osmallkatakana = 0x30a9;\n t.osmallkatakanahalfwidth = 0xff6b;\n t.ostrokeacute = 0x01ff;\n t.osuperior = 0xf6f0;\n t.otcyrillic = 0x047f;\n t.otilde = 0x00f5;\n t.otildeacute = 0x1e4d;\n t.otildedieresis = 0x1e4f;\n t.oubopomofo = 0x3121;\n t.overline = 0x203e;\n t.overlinecenterline = 0xfe4a;\n t.overlinecmb = 0x0305;\n t.overlinedashed = 0xfe49;\n t.overlinedblwavy = 0xfe4c;\n t.overlinewavy = 0xfe4b;\n t.overscore = 0x00af;\n t.ovowelsignbengali = 0x09cb;\n t.ovowelsigndeva = 0x094b;\n t.ovowelsigngujarati = 0x0acb;\n t.p = 0x0070;\n t.paampssquare = 0x3380;\n t.paasentosquare = 0x332b;\n t.pabengali = 0x09aa;\n t.pacute = 0x1e55;\n t.padeva = 0x092a;\n t.pagedown = 0x21df;\n t.pageup = 0x21de;\n t.pagujarati = 0x0aaa;\n t.pagurmukhi = 0x0a2a;\n t.pahiragana = 0x3071;\n t.paiyannoithai = 0x0e2f;\n t.pakatakana = 0x30d1;\n t.palatalizationcyrilliccmb = 0x0484;\n t.palochkacyrillic = 0x04c0;\n t.pansioskorean = 0x317f;\n t.paragraph = 0x00b6;\n t.parallel = 0x2225;\n t.parenleft = 0x0028;\n t.parenleftaltonearabic = 0xfd3e;\n t.parenleftbt = 0xf8ed;\n t.parenleftex = 0xf8ec;\n t.parenleftinferior = 0x208d;\n t.parenleftmonospace = 0xff08;\n t.parenleftsmall = 0xfe59;\n t.parenleftsuperior = 0x207d;\n t.parenlefttp = 0xf8eb;\n t.parenleftvertical = 0xfe35;\n t.parenright = 0x0029;\n t.parenrightaltonearabic = 0xfd3f;\n t.parenrightbt = 0xf8f8;\n t.parenrightex = 0xf8f7;\n t.parenrightinferior = 0x208e;\n t.parenrightmonospace = 0xff09;\n t.parenrightsmall = 0xfe5a;\n t.parenrightsuperior = 0x207e;\n t.parenrighttp = 0xf8f6;\n t.parenrightvertical = 0xfe36;\n t.partialdiff = 0x2202;\n t.paseqhebrew = 0x05c0;\n t.pashtahebrew = 0x0599;\n t.pasquare = 0x33a9;\n t.patah = 0x05b7;\n t.patah11 = 0x05b7;\n t.patah1d = 0x05b7;\n t.patah2a = 0x05b7;\n t.patahhebrew = 0x05b7;\n t.patahnarrowhebrew = 0x05b7;\n t.patahquarterhebrew = 0x05b7;\n t.patahwidehebrew = 0x05b7;\n t.pazerhebrew = 0x05a1;\n t.pbopomofo = 0x3106;\n t.pcircle = 0x24df;\n t.pdotaccent = 0x1e57;\n t.pe = 0x05e4;\n t.pecyrillic = 0x043f;\n t.pedagesh = 0xfb44;\n t.pedageshhebrew = 0xfb44;\n t.peezisquare = 0x333b;\n t.pefinaldageshhebrew = 0xfb43;\n t.peharabic = 0x067e;\n t.peharmenian = 0x057a;\n t.pehebrew = 0x05e4;\n t.pehfinalarabic = 0xfb57;\n t.pehinitialarabic = 0xfb58;\n t.pehiragana = 0x307a;\n t.pehmedialarabic = 0xfb59;\n t.pekatakana = 0x30da;\n t.pemiddlehookcyrillic = 0x04a7;\n t.perafehebrew = 0xfb4e;\n t.percent = 0x0025;\n t.percentarabic = 0x066a;\n t.percentmonospace = 0xff05;\n t.percentsmall = 0xfe6a;\n t.period = 0x002e;\n t.periodarmenian = 0x0589;\n t.periodcentered = 0x00b7;\n t.periodhalfwidth = 0xff61;\n t.periodinferior = 0xf6e7;\n t.periodmonospace = 0xff0e;\n t.periodsmall = 0xfe52;\n t.periodsuperior = 0xf6e8;\n t.perispomenigreekcmb = 0x0342;\n t.perpendicular = 0x22a5;\n t.perthousand = 0x2030;\n t.peseta = 0x20a7;\n t.pfsquare = 0x338a;\n t.phabengali = 0x09ab;\n t.phadeva = 0x092b;\n t.phagujarati = 0x0aab;\n t.phagurmukhi = 0x0a2b;\n t.phi = 0x03c6;\n t.phi1 = 0x03d5;\n t.phieuphacirclekorean = 0x327a;\n t.phieuphaparenkorean = 0x321a;\n t.phieuphcirclekorean = 0x326c;\n t.phieuphkorean = 0x314d;\n t.phieuphparenkorean = 0x320c;\n t.philatin = 0x0278;\n t.phinthuthai = 0x0e3a;\n t.phisymbolgreek = 0x03d5;\n t.phook = 0x01a5;\n t.phophanthai = 0x0e1e;\n t.phophungthai = 0x0e1c;\n t.phosamphaothai = 0x0e20;\n t.pi = 0x03c0;\n t.pieupacirclekorean = 0x3273;\n t.pieupaparenkorean = 0x3213;\n t.pieupcieuckorean = 0x3176;\n t.pieupcirclekorean = 0x3265;\n t.pieupkiyeokkorean = 0x3172;\n t.pieupkorean = 0x3142;\n t.pieupparenkorean = 0x3205;\n t.pieupsioskiyeokkorean = 0x3174;\n t.pieupsioskorean = 0x3144;\n t.pieupsiostikeutkorean = 0x3175;\n t.pieupthieuthkorean = 0x3177;\n t.pieuptikeutkorean = 0x3173;\n t.pihiragana = 0x3074;\n t.pikatakana = 0x30d4;\n t.pisymbolgreek = 0x03d6;\n t.piwrarmenian = 0x0583;\n t.plus = 0x002b;\n t.plusbelowcmb = 0x031f;\n t.pluscircle = 0x2295;\n t.plusminus = 0x00b1;\n t.plusmod = 0x02d6;\n t.plusmonospace = 0xff0b;\n t.plussmall = 0xfe62;\n t.plussuperior = 0x207a;\n t.pmonospace = 0xff50;\n t.pmsquare = 0x33d8;\n t.pohiragana = 0x307d;\n t.pointingindexdownwhite = 0x261f;\n t.pointingindexleftwhite = 0x261c;\n t.pointingindexrightwhite = 0x261e;\n t.pointingindexupwhite = 0x261d;\n t.pokatakana = 0x30dd;\n t.poplathai = 0x0e1b;\n t.postalmark = 0x3012;\n t.postalmarkface = 0x3020;\n t.pparen = 0x24ab;\n t.precedes = 0x227a;\n t.prescription = 0x211e;\n t.primemod = 0x02b9;\n t.primereversed = 0x2035;\n t.product = 0x220f;\n t.projective = 0x2305;\n t.prolongedkana = 0x30fc;\n t.propellor = 0x2318;\n t.propersubset = 0x2282;\n t.propersuperset = 0x2283;\n t.proportion = 0x2237;\n t.proportional = 0x221d;\n t.psi = 0x03c8;\n t.psicyrillic = 0x0471;\n t.psilipneumatacyrilliccmb = 0x0486;\n t.pssquare = 0x33b0;\n t.puhiragana = 0x3077;\n t.pukatakana = 0x30d7;\n t.pvsquare = 0x33b4;\n t.pwsquare = 0x33ba;\n t.q = 0x0071;\n t.qadeva = 0x0958;\n t.qadmahebrew = 0x05a8;\n t.qafarabic = 0x0642;\n t.qaffinalarabic = 0xfed6;\n t.qafinitialarabic = 0xfed7;\n t.qafmedialarabic = 0xfed8;\n t.qamats = 0x05b8;\n t.qamats10 = 0x05b8;\n t.qamats1a = 0x05b8;\n t.qamats1c = 0x05b8;\n t.qamats27 = 0x05b8;\n t.qamats29 = 0x05b8;\n t.qamats33 = 0x05b8;\n t.qamatsde = 0x05b8;\n t.qamatshebrew = 0x05b8;\n t.qamatsnarrowhebrew = 0x05b8;\n t.qamatsqatanhebrew = 0x05b8;\n t.qamatsqatannarrowhebrew = 0x05b8;\n t.qamatsqatanquarterhebrew = 0x05b8;\n t.qamatsqatanwidehebrew = 0x05b8;\n t.qamatsquarterhebrew = 0x05b8;\n t.qamatswidehebrew = 0x05b8;\n t.qarneyparahebrew = 0x059f;\n t.qbopomofo = 0x3111;\n t.qcircle = 0x24e0;\n t.qhook = 0x02a0;\n t.qmonospace = 0xff51;\n t.qof = 0x05e7;\n t.qofdagesh = 0xfb47;\n t.qofdageshhebrew = 0xfb47;\n t.qofhebrew = 0x05e7;\n t.qparen = 0x24ac;\n t.quarternote = 0x2669;\n t.qubuts = 0x05bb;\n t.qubuts18 = 0x05bb;\n t.qubuts25 = 0x05bb;\n t.qubuts31 = 0x05bb;\n t.qubutshebrew = 0x05bb;\n t.qubutsnarrowhebrew = 0x05bb;\n t.qubutsquarterhebrew = 0x05bb;\n t.qubutswidehebrew = 0x05bb;\n t.question = 0x003f;\n t.questionarabic = 0x061f;\n t.questionarmenian = 0x055e;\n t.questiondown = 0x00bf;\n t.questiondownsmall = 0xf7bf;\n t.questiongreek = 0x037e;\n t.questionmonospace = 0xff1f;\n t.questionsmall = 0xf73f;\n t.quotedbl = 0x0022;\n t.quotedblbase = 0x201e;\n t.quotedblleft = 0x201c;\n t.quotedblmonospace = 0xff02;\n t.quotedblprime = 0x301e;\n t.quotedblprimereversed = 0x301d;\n t.quotedblright = 0x201d;\n t.quoteleft = 0x2018;\n t.quoteleftreversed = 0x201b;\n t.quotereversed = 0x201b;\n t.quoteright = 0x2019;\n t.quoterightn = 0x0149;\n t.quotesinglbase = 0x201a;\n t.quotesingle = 0x0027;\n t.quotesinglemonospace = 0xff07;\n t.r = 0x0072;\n t.raarmenian = 0x057c;\n t.rabengali = 0x09b0;\n t.racute = 0x0155;\n t.radeva = 0x0930;\n t.radical = 0x221a;\n t.radicalex = 0xf8e5;\n t.radoverssquare = 0x33ae;\n t.radoverssquaredsquare = 0x33af;\n t.radsquare = 0x33ad;\n t.rafe = 0x05bf;\n t.rafehebrew = 0x05bf;\n t.ragujarati = 0x0ab0;\n t.ragurmukhi = 0x0a30;\n t.rahiragana = 0x3089;\n t.rakatakana = 0x30e9;\n t.rakatakanahalfwidth = 0xff97;\n t.ralowerdiagonalbengali = 0x09f1;\n t.ramiddlediagonalbengali = 0x09f0;\n t.ramshorn = 0x0264;\n t.ratio = 0x2236;\n t.rbopomofo = 0x3116;\n t.rcaron = 0x0159;\n t.rcedilla = 0x0157;\n t.rcircle = 0x24e1;\n t.rcommaaccent = 0x0157;\n t.rdblgrave = 0x0211;\n t.rdotaccent = 0x1e59;\n t.rdotbelow = 0x1e5b;\n t.rdotbelowmacron = 0x1e5d;\n t.referencemark = 0x203b;\n t.reflexsubset = 0x2286;\n t.reflexsuperset = 0x2287;\n t.registered = 0x00ae;\n t.registersans = 0xf8e8;\n t.registerserif = 0xf6da;\n t.reharabic = 0x0631;\n t.reharmenian = 0x0580;\n t.rehfinalarabic = 0xfeae;\n t.rehiragana = 0x308c;\n t.rekatakana = 0x30ec;\n t.rekatakanahalfwidth = 0xff9a;\n t.resh = 0x05e8;\n t.reshdageshhebrew = 0xfb48;\n t.reshhebrew = 0x05e8;\n t.reversedtilde = 0x223d;\n t.reviahebrew = 0x0597;\n t.reviamugrashhebrew = 0x0597;\n t.revlogicalnot = 0x2310;\n t.rfishhook = 0x027e;\n t.rfishhookreversed = 0x027f;\n t.rhabengali = 0x09dd;\n t.rhadeva = 0x095d;\n t.rho = 0x03c1;\n t.rhook = 0x027d;\n t.rhookturned = 0x027b;\n t.rhookturnedsuperior = 0x02b5;\n t.rhosymbolgreek = 0x03f1;\n t.rhotichookmod = 0x02de;\n t.rieulacirclekorean = 0x3271;\n t.rieulaparenkorean = 0x3211;\n t.rieulcirclekorean = 0x3263;\n t.rieulhieuhkorean = 0x3140;\n t.rieulkiyeokkorean = 0x313a;\n t.rieulkiyeoksioskorean = 0x3169;\n t.rieulkorean = 0x3139;\n t.rieulmieumkorean = 0x313b;\n t.rieulpansioskorean = 0x316c;\n t.rieulparenkorean = 0x3203;\n t.rieulphieuphkorean = 0x313f;\n t.rieulpieupkorean = 0x313c;\n t.rieulpieupsioskorean = 0x316b;\n t.rieulsioskorean = 0x313d;\n t.rieulthieuthkorean = 0x313e;\n t.rieultikeutkorean = 0x316a;\n t.rieulyeorinhieuhkorean = 0x316d;\n t.rightangle = 0x221f;\n t.righttackbelowcmb = 0x0319;\n t.righttriangle = 0x22bf;\n t.rihiragana = 0x308a;\n t.rikatakana = 0x30ea;\n t.rikatakanahalfwidth = 0xff98;\n t.ring = 0x02da;\n t.ringbelowcmb = 0x0325;\n t.ringcmb = 0x030a;\n t.ringhalfleft = 0x02bf;\n t.ringhalfleftarmenian = 0x0559;\n t.ringhalfleftbelowcmb = 0x031c;\n t.ringhalfleftcentered = 0x02d3;\n t.ringhalfright = 0x02be;\n t.ringhalfrightbelowcmb = 0x0339;\n t.ringhalfrightcentered = 0x02d2;\n t.rinvertedbreve = 0x0213;\n t.rittorusquare = 0x3351;\n t.rlinebelow = 0x1e5f;\n t.rlongleg = 0x027c;\n t.rlonglegturned = 0x027a;\n t.rmonospace = 0xff52;\n t.rohiragana = 0x308d;\n t.rokatakana = 0x30ed;\n t.rokatakanahalfwidth = 0xff9b;\n t.roruathai = 0x0e23;\n t.rparen = 0x24ad;\n t.rrabengali = 0x09dc;\n t.rradeva = 0x0931;\n t.rragurmukhi = 0x0a5c;\n t.rreharabic = 0x0691;\n t.rrehfinalarabic = 0xfb8d;\n t.rrvocalicbengali = 0x09e0;\n t.rrvocalicdeva = 0x0960;\n t.rrvocalicgujarati = 0x0ae0;\n t.rrvocalicvowelsignbengali = 0x09c4;\n t.rrvocalicvowelsigndeva = 0x0944;\n t.rrvocalicvowelsigngujarati = 0x0ac4;\n t.rsuperior = 0xf6f1;\n t.rtblock = 0x2590;\n t.rturned = 0x0279;\n t.rturnedsuperior = 0x02b4;\n t.ruhiragana = 0x308b;\n t.rukatakana = 0x30eb;\n t.rukatakanahalfwidth = 0xff99;\n t.rupeemarkbengali = 0x09f2;\n t.rupeesignbengali = 0x09f3;\n t.rupiah = 0xf6dd;\n t.ruthai = 0x0e24;\n t.rvocalicbengali = 0x098b;\n t.rvocalicdeva = 0x090b;\n t.rvocalicgujarati = 0x0a8b;\n t.rvocalicvowelsignbengali = 0x09c3;\n t.rvocalicvowelsigndeva = 0x0943;\n t.rvocalicvowelsigngujarati = 0x0ac3;\n t.s = 0x0073;\n t.sabengali = 0x09b8;\n t.sacute = 0x015b;\n t.sacutedotaccent = 0x1e65;\n t.sadarabic = 0x0635;\n t.sadeva = 0x0938;\n t.sadfinalarabic = 0xfeba;\n t.sadinitialarabic = 0xfebb;\n t.sadmedialarabic = 0xfebc;\n t.sagujarati = 0x0ab8;\n t.sagurmukhi = 0x0a38;\n t.sahiragana = 0x3055;\n t.sakatakana = 0x30b5;\n t.sakatakanahalfwidth = 0xff7b;\n t.sallallahoualayhewasallamarabic = 0xfdfa;\n t.samekh = 0x05e1;\n t.samekhdagesh = 0xfb41;\n t.samekhdageshhebrew = 0xfb41;\n t.samekhhebrew = 0x05e1;\n t.saraaathai = 0x0e32;\n t.saraaethai = 0x0e41;\n t.saraaimaimalaithai = 0x0e44;\n t.saraaimaimuanthai = 0x0e43;\n t.saraamthai = 0x0e33;\n t.saraathai = 0x0e30;\n t.saraethai = 0x0e40;\n t.saraiileftthai = 0xf886;\n t.saraiithai = 0x0e35;\n t.saraileftthai = 0xf885;\n t.saraithai = 0x0e34;\n t.saraothai = 0x0e42;\n t.saraueeleftthai = 0xf888;\n t.saraueethai = 0x0e37;\n t.saraueleftthai = 0xf887;\n t.sarauethai = 0x0e36;\n t.sarauthai = 0x0e38;\n t.sarauuthai = 0x0e39;\n t.sbopomofo = 0x3119;\n t.scaron = 0x0161;\n t.scarondotaccent = 0x1e67;\n t.scedilla = 0x015f;\n t.schwa = 0x0259;\n t.schwacyrillic = 0x04d9;\n t.schwadieresiscyrillic = 0x04db;\n t.schwahook = 0x025a;\n t.scircle = 0x24e2;\n t.scircumflex = 0x015d;\n t.scommaaccent = 0x0219;\n t.sdotaccent = 0x1e61;\n t.sdotbelow = 0x1e63;\n t.sdotbelowdotaccent = 0x1e69;\n t.seagullbelowcmb = 0x033c;\n t.second = 0x2033;\n t.secondtonechinese = 0x02ca;\n t.section = 0x00a7;\n t.seenarabic = 0x0633;\n t.seenfinalarabic = 0xfeb2;\n t.seeninitialarabic = 0xfeb3;\n t.seenmedialarabic = 0xfeb4;\n t.segol = 0x05b6;\n t.segol13 = 0x05b6;\n t.segol1f = 0x05b6;\n t.segol2c = 0x05b6;\n t.segolhebrew = 0x05b6;\n t.segolnarrowhebrew = 0x05b6;\n t.segolquarterhebrew = 0x05b6;\n t.segoltahebrew = 0x0592;\n t.segolwidehebrew = 0x05b6;\n t.seharmenian = 0x057d;\n t.sehiragana = 0x305b;\n t.sekatakana = 0x30bb;\n t.sekatakanahalfwidth = 0xff7e;\n t.semicolon = 0x003b;\n t.semicolonarabic = 0x061b;\n t.semicolonmonospace = 0xff1b;\n t.semicolonsmall = 0xfe54;\n t.semivoicedmarkkana = 0x309c;\n t.semivoicedmarkkanahalfwidth = 0xff9f;\n t.sentisquare = 0x3322;\n t.sentosquare = 0x3323;\n t.seven = 0x0037;\n t.sevenarabic = 0x0667;\n t.sevenbengali = 0x09ed;\n t.sevencircle = 0x2466;\n t.sevencircleinversesansserif = 0x2790;\n t.sevendeva = 0x096d;\n t.seveneighths = 0x215e;\n t.sevengujarati = 0x0aed;\n t.sevengurmukhi = 0x0a6d;\n t.sevenhackarabic = 0x0667;\n t.sevenhangzhou = 0x3027;\n t.sevenideographicparen = 0x3226;\n t.seveninferior = 0x2087;\n t.sevenmonospace = 0xff17;\n t.sevenoldstyle = 0xf737;\n t.sevenparen = 0x247a;\n t.sevenperiod = 0x248e;\n t.sevenpersian = 0x06f7;\n t.sevenroman = 0x2176;\n t.sevensuperior = 0x2077;\n t.seventeencircle = 0x2470;\n t.seventeenparen = 0x2484;\n t.seventeenperiod = 0x2498;\n t.seventhai = 0x0e57;\n t.sfthyphen = 0x00ad;\n t.shaarmenian = 0x0577;\n t.shabengali = 0x09b6;\n t.shacyrillic = 0x0448;\n t.shaddaarabic = 0x0651;\n t.shaddadammaarabic = 0xfc61;\n t.shaddadammatanarabic = 0xfc5e;\n t.shaddafathaarabic = 0xfc60;\n t.shaddakasraarabic = 0xfc62;\n t.shaddakasratanarabic = 0xfc5f;\n t.shade = 0x2592;\n t.shadedark = 0x2593;\n t.shadelight = 0x2591;\n t.shademedium = 0x2592;\n t.shadeva = 0x0936;\n t.shagujarati = 0x0ab6;\n t.shagurmukhi = 0x0a36;\n t.shalshelethebrew = 0x0593;\n t.shbopomofo = 0x3115;\n t.shchacyrillic = 0x0449;\n t.sheenarabic = 0x0634;\n t.sheenfinalarabic = 0xfeb6;\n t.sheeninitialarabic = 0xfeb7;\n t.sheenmedialarabic = 0xfeb8;\n t.sheicoptic = 0x03e3;\n t.sheqel = 0x20aa;\n t.sheqelhebrew = 0x20aa;\n t.sheva = 0x05b0;\n t.sheva115 = 0x05b0;\n t.sheva15 = 0x05b0;\n t.sheva22 = 0x05b0;\n t.sheva2e = 0x05b0;\n t.shevahebrew = 0x05b0;\n t.shevanarrowhebrew = 0x05b0;\n t.shevaquarterhebrew = 0x05b0;\n t.shevawidehebrew = 0x05b0;\n t.shhacyrillic = 0x04bb;\n t.shimacoptic = 0x03ed;\n t.shin = 0x05e9;\n t.shindagesh = 0xfb49;\n t.shindageshhebrew = 0xfb49;\n t.shindageshshindot = 0xfb2c;\n t.shindageshshindothebrew = 0xfb2c;\n t.shindageshsindot = 0xfb2d;\n t.shindageshsindothebrew = 0xfb2d;\n t.shindothebrew = 0x05c1;\n t.shinhebrew = 0x05e9;\n t.shinshindot = 0xfb2a;\n t.shinshindothebrew = 0xfb2a;\n t.shinsindot = 0xfb2b;\n t.shinsindothebrew = 0xfb2b;\n t.shook = 0x0282;\n t.sigma = 0x03c3;\n t.sigma1 = 0x03c2;\n t.sigmafinal = 0x03c2;\n t.sigmalunatesymbolgreek = 0x03f2;\n t.sihiragana = 0x3057;\n t.sikatakana = 0x30b7;\n t.sikatakanahalfwidth = 0xff7c;\n t.siluqhebrew = 0x05bd;\n t.siluqlefthebrew = 0x05bd;\n t.similar = 0x223c;\n t.sindothebrew = 0x05c2;\n t.siosacirclekorean = 0x3274;\n t.siosaparenkorean = 0x3214;\n t.sioscieuckorean = 0x317e;\n t.sioscirclekorean = 0x3266;\n t.sioskiyeokkorean = 0x317a;\n t.sioskorean = 0x3145;\n t.siosnieunkorean = 0x317b;\n t.siosparenkorean = 0x3206;\n t.siospieupkorean = 0x317d;\n t.siostikeutkorean = 0x317c;\n t.six = 0x0036;\n t.sixarabic = 0x0666;\n t.sixbengali = 0x09ec;\n t.sixcircle = 0x2465;\n t.sixcircleinversesansserif = 0x278f;\n t.sixdeva = 0x096c;\n t.sixgujarati = 0x0aec;\n t.sixgurmukhi = 0x0a6c;\n t.sixhackarabic = 0x0666;\n t.sixhangzhou = 0x3026;\n t.sixideographicparen = 0x3225;\n t.sixinferior = 0x2086;\n t.sixmonospace = 0xff16;\n t.sixoldstyle = 0xf736;\n t.sixparen = 0x2479;\n t.sixperiod = 0x248d;\n t.sixpersian = 0x06f6;\n t.sixroman = 0x2175;\n t.sixsuperior = 0x2076;\n t.sixteencircle = 0x246f;\n t.sixteencurrencydenominatorbengali = 0x09f9;\n t.sixteenparen = 0x2483;\n t.sixteenperiod = 0x2497;\n t.sixthai = 0x0e56;\n t.slash = 0x002f;\n t.slashmonospace = 0xff0f;\n t.slong = 0x017f;\n t.slongdotaccent = 0x1e9b;\n t.smileface = 0x263a;\n t.smonospace = 0xff53;\n t.sofpasuqhebrew = 0x05c3;\n t.softhyphen = 0x00ad;\n t.softsigncyrillic = 0x044c;\n t.sohiragana = 0x305d;\n t.sokatakana = 0x30bd;\n t.sokatakanahalfwidth = 0xff7f;\n t.soliduslongoverlaycmb = 0x0338;\n t.solidusshortoverlaycmb = 0x0337;\n t.sorusithai = 0x0e29;\n t.sosalathai = 0x0e28;\n t.sosothai = 0x0e0b;\n t.sosuathai = 0x0e2a;\n t.space = 0x0020;\n t.spacehackarabic = 0x0020;\n t.spade = 0x2660;\n t.spadesuitblack = 0x2660;\n t.spadesuitwhite = 0x2664;\n t.sparen = 0x24ae;\n t.squarebelowcmb = 0x033b;\n t.squarecc = 0x33c4;\n t.squarecm = 0x339d;\n t.squarediagonalcrosshatchfill = 0x25a9;\n t.squarehorizontalfill = 0x25a4;\n t.squarekg = 0x338f;\n t.squarekm = 0x339e;\n t.squarekmcapital = 0x33ce;\n t.squareln = 0x33d1;\n t.squarelog = 0x33d2;\n t.squaremg = 0x338e;\n t.squaremil = 0x33d5;\n t.squaremm = 0x339c;\n t.squaremsquared = 0x33a1;\n t.squareorthogonalcrosshatchfill = 0x25a6;\n t.squareupperlefttolowerrightfill = 0x25a7;\n t.squareupperrighttolowerleftfill = 0x25a8;\n t.squareverticalfill = 0x25a5;\n t.squarewhitewithsmallblack = 0x25a3;\n t.srsquare = 0x33db;\n t.ssabengali = 0x09b7;\n t.ssadeva = 0x0937;\n t.ssagujarati = 0x0ab7;\n t.ssangcieuckorean = 0x3149;\n t.ssanghieuhkorean = 0x3185;\n t.ssangieungkorean = 0x3180;\n t.ssangkiyeokkorean = 0x3132;\n t.ssangnieunkorean = 0x3165;\n t.ssangpieupkorean = 0x3143;\n t.ssangsioskorean = 0x3146;\n t.ssangtikeutkorean = 0x3138;\n t.ssuperior = 0xf6f2;\n t.sterling = 0x00a3;\n t.sterlingmonospace = 0xffe1;\n t.strokelongoverlaycmb = 0x0336;\n t.strokeshortoverlaycmb = 0x0335;\n t.subset = 0x2282;\n t.subsetnotequal = 0x228a;\n t.subsetorequal = 0x2286;\n t.succeeds = 0x227b;\n t.suchthat = 0x220b;\n t.suhiragana = 0x3059;\n t.sukatakana = 0x30b9;\n t.sukatakanahalfwidth = 0xff7d;\n t.sukunarabic = 0x0652;\n t.summation = 0x2211;\n t.sun = 0x263c;\n t.superset = 0x2283;\n t.supersetnotequal = 0x228b;\n t.supersetorequal = 0x2287;\n t.svsquare = 0x33dc;\n t.syouwaerasquare = 0x337c;\n t.t = 0x0074;\n t.tabengali = 0x09a4;\n t.tackdown = 0x22a4;\n t.tackleft = 0x22a3;\n t.tadeva = 0x0924;\n t.tagujarati = 0x0aa4;\n t.tagurmukhi = 0x0a24;\n t.taharabic = 0x0637;\n t.tahfinalarabic = 0xfec2;\n t.tahinitialarabic = 0xfec3;\n t.tahiragana = 0x305f;\n t.tahmedialarabic = 0xfec4;\n t.taisyouerasquare = 0x337d;\n t.takatakana = 0x30bf;\n t.takatakanahalfwidth = 0xff80;\n t.tatweelarabic = 0x0640;\n t.tau = 0x03c4;\n t.tav = 0x05ea;\n t.tavdages = 0xfb4a;\n t.tavdagesh = 0xfb4a;\n t.tavdageshhebrew = 0xfb4a;\n t.tavhebrew = 0x05ea;\n t.tbar = 0x0167;\n t.tbopomofo = 0x310a;\n t.tcaron = 0x0165;\n t.tccurl = 0x02a8;\n t.tcedilla = 0x0163;\n t.tcheharabic = 0x0686;\n t.tchehfinalarabic = 0xfb7b;\n t.tchehinitialarabic = 0xfb7c;\n t.tchehmedialarabic = 0xfb7d;\n t.tcircle = 0x24e3;\n t.tcircumflexbelow = 0x1e71;\n t.tcommaaccent = 0x0163;\n t.tdieresis = 0x1e97;\n t.tdotaccent = 0x1e6b;\n t.tdotbelow = 0x1e6d;\n t.tecyrillic = 0x0442;\n t.tedescendercyrillic = 0x04ad;\n t.teharabic = 0x062a;\n t.tehfinalarabic = 0xfe96;\n t.tehhahinitialarabic = 0xfca2;\n t.tehhahisolatedarabic = 0xfc0c;\n t.tehinitialarabic = 0xfe97;\n t.tehiragana = 0x3066;\n t.tehjeeminitialarabic = 0xfca1;\n t.tehjeemisolatedarabic = 0xfc0b;\n t.tehmarbutaarabic = 0x0629;\n t.tehmarbutafinalarabic = 0xfe94;\n t.tehmedialarabic = 0xfe98;\n t.tehmeeminitialarabic = 0xfca4;\n t.tehmeemisolatedarabic = 0xfc0e;\n t.tehnoonfinalarabic = 0xfc73;\n t.tekatakana = 0x30c6;\n t.tekatakanahalfwidth = 0xff83;\n t.telephone = 0x2121;\n t.telephoneblack = 0x260e;\n t.telishagedolahebrew = 0x05a0;\n t.telishaqetanahebrew = 0x05a9;\n t.tencircle = 0x2469;\n t.tenideographicparen = 0x3229;\n t.tenparen = 0x247d;\n t.tenperiod = 0x2491;\n t.tenroman = 0x2179;\n t.tesh = 0x02a7;\n t.tet = 0x05d8;\n t.tetdagesh = 0xfb38;\n t.tetdageshhebrew = 0xfb38;\n t.tethebrew = 0x05d8;\n t.tetsecyrillic = 0x04b5;\n t.tevirhebrew = 0x059b;\n t.tevirlefthebrew = 0x059b;\n t.thabengali = 0x09a5;\n t.thadeva = 0x0925;\n t.thagujarati = 0x0aa5;\n t.thagurmukhi = 0x0a25;\n t.thalarabic = 0x0630;\n t.thalfinalarabic = 0xfeac;\n t.thanthakhatlowleftthai = 0xf898;\n t.thanthakhatlowrightthai = 0xf897;\n t.thanthakhatthai = 0x0e4c;\n t.thanthakhatupperleftthai = 0xf896;\n t.theharabic = 0x062b;\n t.thehfinalarabic = 0xfe9a;\n t.thehinitialarabic = 0xfe9b;\n t.thehmedialarabic = 0xfe9c;\n t.thereexists = 0x2203;\n t.therefore = 0x2234;\n t.theta = 0x03b8;\n t.theta1 = 0x03d1;\n t.thetasymbolgreek = 0x03d1;\n t.thieuthacirclekorean = 0x3279;\n t.thieuthaparenkorean = 0x3219;\n t.thieuthcirclekorean = 0x326b;\n t.thieuthkorean = 0x314c;\n t.thieuthparenkorean = 0x320b;\n t.thirteencircle = 0x246c;\n t.thirteenparen = 0x2480;\n t.thirteenperiod = 0x2494;\n t.thonangmonthothai = 0x0e11;\n t.thook = 0x01ad;\n t.thophuthaothai = 0x0e12;\n t.thorn = 0x00fe;\n t.thothahanthai = 0x0e17;\n t.thothanthai = 0x0e10;\n t.thothongthai = 0x0e18;\n t.thothungthai = 0x0e16;\n t.thousandcyrillic = 0x0482;\n t.thousandsseparatorarabic = 0x066c;\n t.thousandsseparatorpersian = 0x066c;\n t.three = 0x0033;\n t.threearabic = 0x0663;\n t.threebengali = 0x09e9;\n t.threecircle = 0x2462;\n t.threecircleinversesansserif = 0x278c;\n t.threedeva = 0x0969;\n t.threeeighths = 0x215c;\n t.threegujarati = 0x0ae9;\n t.threegurmukhi = 0x0a69;\n t.threehackarabic = 0x0663;\n t.threehangzhou = 0x3023;\n t.threeideographicparen = 0x3222;\n t.threeinferior = 0x2083;\n t.threemonospace = 0xff13;\n t.threenumeratorbengali = 0x09f6;\n t.threeoldstyle = 0xf733;\n t.threeparen = 0x2476;\n t.threeperiod = 0x248a;\n t.threepersian = 0x06f3;\n t.threequarters = 0x00be;\n t.threequartersemdash = 0xf6de;\n t.threeroman = 0x2172;\n t.threesuperior = 0x00b3;\n t.threethai = 0x0e53;\n t.thzsquare = 0x3394;\n t.tihiragana = 0x3061;\n t.tikatakana = 0x30c1;\n t.tikatakanahalfwidth = 0xff81;\n t.tikeutacirclekorean = 0x3270;\n t.tikeutaparenkorean = 0x3210;\n t.tikeutcirclekorean = 0x3262;\n t.tikeutkorean = 0x3137;\n t.tikeutparenkorean = 0x3202;\n t.tilde = 0x02dc;\n t.tildebelowcmb = 0x0330;\n t.tildecmb = 0x0303;\n t.tildecomb = 0x0303;\n t.tildedoublecmb = 0x0360;\n t.tildeoperator = 0x223c;\n t.tildeoverlaycmb = 0x0334;\n t.tildeverticalcmb = 0x033e;\n t.timescircle = 0x2297;\n t.tipehahebrew = 0x0596;\n t.tipehalefthebrew = 0x0596;\n t.tippigurmukhi = 0x0a70;\n t.titlocyrilliccmb = 0x0483;\n t.tiwnarmenian = 0x057f;\n t.tlinebelow = 0x1e6f;\n t.tmonospace = 0xff54;\n t.toarmenian = 0x0569;\n t.tohiragana = 0x3068;\n t.tokatakana = 0x30c8;\n t.tokatakanahalfwidth = 0xff84;\n t.tonebarextrahighmod = 0x02e5;\n t.tonebarextralowmod = 0x02e9;\n t.tonebarhighmod = 0x02e6;\n t.tonebarlowmod = 0x02e8;\n t.tonebarmidmod = 0x02e7;\n t.tonefive = 0x01bd;\n t.tonesix = 0x0185;\n t.tonetwo = 0x01a8;\n t.tonos = 0x0384;\n t.tonsquare = 0x3327;\n t.topatakthai = 0x0e0f;\n t.tortoiseshellbracketleft = 0x3014;\n t.tortoiseshellbracketleftsmall = 0xfe5d;\n t.tortoiseshellbracketleftvertical = 0xfe39;\n t.tortoiseshellbracketright = 0x3015;\n t.tortoiseshellbracketrightsmall = 0xfe5e;\n t.tortoiseshellbracketrightvertical = 0xfe3a;\n t.totaothai = 0x0e15;\n t.tpalatalhook = 0x01ab;\n t.tparen = 0x24af;\n t.trademark = 0x2122;\n t.trademarksans = 0xf8ea;\n t.trademarkserif = 0xf6db;\n t.tretroflexhook = 0x0288;\n t.triagdn = 0x25bc;\n t.triaglf = 0x25c4;\n t.triagrt = 0x25ba;\n t.triagup = 0x25b2;\n t.ts = 0x02a6;\n t.tsadi = 0x05e6;\n t.tsadidagesh = 0xfb46;\n t.tsadidageshhebrew = 0xfb46;\n t.tsadihebrew = 0x05e6;\n t.tsecyrillic = 0x0446;\n t.tsere = 0x05b5;\n t.tsere12 = 0x05b5;\n t.tsere1e = 0x05b5;\n t.tsere2b = 0x05b5;\n t.tserehebrew = 0x05b5;\n t.tserenarrowhebrew = 0x05b5;\n t.tserequarterhebrew = 0x05b5;\n t.tserewidehebrew = 0x05b5;\n t.tshecyrillic = 0x045b;\n t.tsuperior = 0xf6f3;\n t.ttabengali = 0x099f;\n t.ttadeva = 0x091f;\n t.ttagujarati = 0x0a9f;\n t.ttagurmukhi = 0x0a1f;\n t.tteharabic = 0x0679;\n t.ttehfinalarabic = 0xfb67;\n t.ttehinitialarabic = 0xfb68;\n t.ttehmedialarabic = 0xfb69;\n t.tthabengali = 0x09a0;\n t.tthadeva = 0x0920;\n t.tthagujarati = 0x0aa0;\n t.tthagurmukhi = 0x0a20;\n t.tturned = 0x0287;\n t.tuhiragana = 0x3064;\n t.tukatakana = 0x30c4;\n t.tukatakanahalfwidth = 0xff82;\n t.tusmallhiragana = 0x3063;\n t.tusmallkatakana = 0x30c3;\n t.tusmallkatakanahalfwidth = 0xff6f;\n t.twelvecircle = 0x246b;\n t.twelveparen = 0x247f;\n t.twelveperiod = 0x2493;\n t.twelveroman = 0x217b;\n t.twentycircle = 0x2473;\n t.twentyhangzhou = 0x5344;\n t.twentyparen = 0x2487;\n t.twentyperiod = 0x249b;\n t.two = 0x0032;\n t.twoarabic = 0x0662;\n t.twobengali = 0x09e8;\n t.twocircle = 0x2461;\n t.twocircleinversesansserif = 0x278b;\n t.twodeva = 0x0968;\n t.twodotenleader = 0x2025;\n t.twodotleader = 0x2025;\n t.twodotleadervertical = 0xfe30;\n t.twogujarati = 0x0ae8;\n t.twogurmukhi = 0x0a68;\n t.twohackarabic = 0x0662;\n t.twohangzhou = 0x3022;\n t.twoideographicparen = 0x3221;\n t.twoinferior = 0x2082;\n t.twomonospace = 0xff12;\n t.twonumeratorbengali = 0x09f5;\n t.twooldstyle = 0xf732;\n t.twoparen = 0x2475;\n t.twoperiod = 0x2489;\n t.twopersian = 0x06f2;\n t.tworoman = 0x2171;\n t.twostroke = 0x01bb;\n t.twosuperior = 0x00b2;\n t.twothai = 0x0e52;\n t.twothirds = 0x2154;\n t.u = 0x0075;\n t.uacute = 0x00fa;\n t.ubar = 0x0289;\n t.ubengali = 0x0989;\n t.ubopomofo = 0x3128;\n t.ubreve = 0x016d;\n t.ucaron = 0x01d4;\n t.ucircle = 0x24e4;\n t.ucircumflex = 0x00fb;\n t.ucircumflexbelow = 0x1e77;\n t.ucyrillic = 0x0443;\n t.udattadeva = 0x0951;\n t.udblacute = 0x0171;\n t.udblgrave = 0x0215;\n t.udeva = 0x0909;\n t.udieresis = 0x00fc;\n t.udieresisacute = 0x01d8;\n t.udieresisbelow = 0x1e73;\n t.udieresiscaron = 0x01da;\n t.udieresiscyrillic = 0x04f1;\n t.udieresisgrave = 0x01dc;\n t.udieresismacron = 0x01d6;\n t.udotbelow = 0x1ee5;\n t.ugrave = 0x00f9;\n t.ugujarati = 0x0a89;\n t.ugurmukhi = 0x0a09;\n t.uhiragana = 0x3046;\n t.uhookabove = 0x1ee7;\n t.uhorn = 0x01b0;\n t.uhornacute = 0x1ee9;\n t.uhorndotbelow = 0x1ef1;\n t.uhorngrave = 0x1eeb;\n t.uhornhookabove = 0x1eed;\n t.uhorntilde = 0x1eef;\n t.uhungarumlaut = 0x0171;\n t.uhungarumlautcyrillic = 0x04f3;\n t.uinvertedbreve = 0x0217;\n t.ukatakana = 0x30a6;\n t.ukatakanahalfwidth = 0xff73;\n t.ukcyrillic = 0x0479;\n t.ukorean = 0x315c;\n t.umacron = 0x016b;\n t.umacroncyrillic = 0x04ef;\n t.umacrondieresis = 0x1e7b;\n t.umatragurmukhi = 0x0a41;\n t.umonospace = 0xff55;\n t.underscore = 0x005f;\n t.underscoredbl = 0x2017;\n t.underscoremonospace = 0xff3f;\n t.underscorevertical = 0xfe33;\n t.underscorewavy = 0xfe4f;\n t.union = 0x222a;\n t.universal = 0x2200;\n t.uogonek = 0x0173;\n t.uparen = 0x24b0;\n t.upblock = 0x2580;\n t.upperdothebrew = 0x05c4;\n t.upsilon = 0x03c5;\n t.upsilondieresis = 0x03cb;\n t.upsilondieresistonos = 0x03b0;\n t.upsilonlatin = 0x028a;\n t.upsilontonos = 0x03cd;\n t.uptackbelowcmb = 0x031d;\n t.uptackmod = 0x02d4;\n t.uragurmukhi = 0x0a73;\n t.uring = 0x016f;\n t.ushortcyrillic = 0x045e;\n t.usmallhiragana = 0x3045;\n t.usmallkatakana = 0x30a5;\n t.usmallkatakanahalfwidth = 0xff69;\n t.ustraightcyrillic = 0x04af;\n t.ustraightstrokecyrillic = 0x04b1;\n t.utilde = 0x0169;\n t.utildeacute = 0x1e79;\n t.utildebelow = 0x1e75;\n t.uubengali = 0x098a;\n t.uudeva = 0x090a;\n t.uugujarati = 0x0a8a;\n t.uugurmukhi = 0x0a0a;\n t.uumatragurmukhi = 0x0a42;\n t.uuvowelsignbengali = 0x09c2;\n t.uuvowelsigndeva = 0x0942;\n t.uuvowelsigngujarati = 0x0ac2;\n t.uvowelsignbengali = 0x09c1;\n t.uvowelsigndeva = 0x0941;\n t.uvowelsigngujarati = 0x0ac1;\n t.v = 0x0076;\n t.vadeva = 0x0935;\n t.vagujarati = 0x0ab5;\n t.vagurmukhi = 0x0a35;\n t.vakatakana = 0x30f7;\n t.vav = 0x05d5;\n t.vavdagesh = 0xfb35;\n t.vavdagesh65 = 0xfb35;\n t.vavdageshhebrew = 0xfb35;\n t.vavhebrew = 0x05d5;\n t.vavholam = 0xfb4b;\n t.vavholamhebrew = 0xfb4b;\n t.vavvavhebrew = 0x05f0;\n t.vavyodhebrew = 0x05f1;\n t.vcircle = 0x24e5;\n t.vdotbelow = 0x1e7f;\n t.vecyrillic = 0x0432;\n t.veharabic = 0x06a4;\n t.vehfinalarabic = 0xfb6b;\n t.vehinitialarabic = 0xfb6c;\n t.vehmedialarabic = 0xfb6d;\n t.vekatakana = 0x30f9;\n t.venus = 0x2640;\n t.verticalbar = 0x007c;\n t.verticallineabovecmb = 0x030d;\n t.verticallinebelowcmb = 0x0329;\n t.verticallinelowmod = 0x02cc;\n t.verticallinemod = 0x02c8;\n t.vewarmenian = 0x057e;\n t.vhook = 0x028b;\n t.vikatakana = 0x30f8;\n t.viramabengali = 0x09cd;\n t.viramadeva = 0x094d;\n t.viramagujarati = 0x0acd;\n t.visargabengali = 0x0983;\n t.visargadeva = 0x0903;\n t.visargagujarati = 0x0a83;\n t.vmonospace = 0xff56;\n t.voarmenian = 0x0578;\n t.voicediterationhiragana = 0x309e;\n t.voicediterationkatakana = 0x30fe;\n t.voicedmarkkana = 0x309b;\n t.voicedmarkkanahalfwidth = 0xff9e;\n t.vokatakana = 0x30fa;\n t.vparen = 0x24b1;\n t.vtilde = 0x1e7d;\n t.vturned = 0x028c;\n t.vuhiragana = 0x3094;\n t.vukatakana = 0x30f4;\n t.w = 0x0077;\n t.wacute = 0x1e83;\n t.waekorean = 0x3159;\n t.wahiragana = 0x308f;\n t.wakatakana = 0x30ef;\n t.wakatakanahalfwidth = 0xff9c;\n t.wakorean = 0x3158;\n t.wasmallhiragana = 0x308e;\n t.wasmallkatakana = 0x30ee;\n t.wattosquare = 0x3357;\n t.wavedash = 0x301c;\n t.wavyunderscorevertical = 0xfe34;\n t.wawarabic = 0x0648;\n t.wawfinalarabic = 0xfeee;\n t.wawhamzaabovearabic = 0x0624;\n t.wawhamzaabovefinalarabic = 0xfe86;\n t.wbsquare = 0x33dd;\n t.wcircle = 0x24e6;\n t.wcircumflex = 0x0175;\n t.wdieresis = 0x1e85;\n t.wdotaccent = 0x1e87;\n t.wdotbelow = 0x1e89;\n t.wehiragana = 0x3091;\n t.weierstrass = 0x2118;\n t.wekatakana = 0x30f1;\n t.wekorean = 0x315e;\n t.weokorean = 0x315d;\n t.wgrave = 0x1e81;\n t.whitebullet = 0x25e6;\n t.whitecircle = 0x25cb;\n t.whitecircleinverse = 0x25d9;\n t.whitecornerbracketleft = 0x300e;\n t.whitecornerbracketleftvertical = 0xfe43;\n t.whitecornerbracketright = 0x300f;\n t.whitecornerbracketrightvertical = 0xfe44;\n t.whitediamond = 0x25c7;\n t.whitediamondcontainingblacksmalldiamond = 0x25c8;\n t.whitedownpointingsmalltriangle = 0x25bf;\n t.whitedownpointingtriangle = 0x25bd;\n t.whiteleftpointingsmalltriangle = 0x25c3;\n t.whiteleftpointingtriangle = 0x25c1;\n t.whitelenticularbracketleft = 0x3016;\n t.whitelenticularbracketright = 0x3017;\n t.whiterightpointingsmalltriangle = 0x25b9;\n t.whiterightpointingtriangle = 0x25b7;\n t.whitesmallsquare = 0x25ab;\n t.whitesmilingface = 0x263a;\n t.whitesquare = 0x25a1;\n t.whitestar = 0x2606;\n t.whitetelephone = 0x260f;\n t.whitetortoiseshellbracketleft = 0x3018;\n t.whitetortoiseshellbracketright = 0x3019;\n t.whiteuppointingsmalltriangle = 0x25b5;\n t.whiteuppointingtriangle = 0x25b3;\n t.wihiragana = 0x3090;\n t.wikatakana = 0x30f0;\n t.wikorean = 0x315f;\n t.wmonospace = 0xff57;\n t.wohiragana = 0x3092;\n t.wokatakana = 0x30f2;\n t.wokatakanahalfwidth = 0xff66;\n t.won = 0x20a9;\n t.wonmonospace = 0xffe6;\n t.wowaenthai = 0x0e27;\n t.wparen = 0x24b2;\n t.wring = 0x1e98;\n t.wsuperior = 0x02b7;\n t.wturned = 0x028d;\n t.wynn = 0x01bf;\n t.x = 0x0078;\n t.xabovecmb = 0x033d;\n t.xbopomofo = 0x3112;\n t.xcircle = 0x24e7;\n t.xdieresis = 0x1e8d;\n t.xdotaccent = 0x1e8b;\n t.xeharmenian = 0x056d;\n t.xi = 0x03be;\n t.xmonospace = 0xff58;\n t.xparen = 0x24b3;\n t.xsuperior = 0x02e3;\n t.y = 0x0079;\n t.yaadosquare = 0x334e;\n t.yabengali = 0x09af;\n t.yacute = 0x00fd;\n t.yadeva = 0x092f;\n t.yaekorean = 0x3152;\n t.yagujarati = 0x0aaf;\n t.yagurmukhi = 0x0a2f;\n t.yahiragana = 0x3084;\n t.yakatakana = 0x30e4;\n t.yakatakanahalfwidth = 0xff94;\n t.yakorean = 0x3151;\n t.yamakkanthai = 0x0e4e;\n t.yasmallhiragana = 0x3083;\n t.yasmallkatakana = 0x30e3;\n t.yasmallkatakanahalfwidth = 0xff6c;\n t.yatcyrillic = 0x0463;\n t.ycircle = 0x24e8;\n t.ycircumflex = 0x0177;\n t.ydieresis = 0x00ff;\n t.ydotaccent = 0x1e8f;\n t.ydotbelow = 0x1ef5;\n t.yeharabic = 0x064a;\n t.yehbarreearabic = 0x06d2;\n t.yehbarreefinalarabic = 0xfbaf;\n t.yehfinalarabic = 0xfef2;\n t.yehhamzaabovearabic = 0x0626;\n t.yehhamzaabovefinalarabic = 0xfe8a;\n t.yehhamzaaboveinitialarabic = 0xfe8b;\n t.yehhamzaabovemedialarabic = 0xfe8c;\n t.yehinitialarabic = 0xfef3;\n t.yehmedialarabic = 0xfef4;\n t.yehmeeminitialarabic = 0xfcdd;\n t.yehmeemisolatedarabic = 0xfc58;\n t.yehnoonfinalarabic = 0xfc94;\n t.yehthreedotsbelowarabic = 0x06d1;\n t.yekorean = 0x3156;\n t.yen = 0x00a5;\n t.yenmonospace = 0xffe5;\n t.yeokorean = 0x3155;\n t.yeorinhieuhkorean = 0x3186;\n t.yerahbenyomohebrew = 0x05aa;\n t.yerahbenyomolefthebrew = 0x05aa;\n t.yericyrillic = 0x044b;\n t.yerudieresiscyrillic = 0x04f9;\n t.yesieungkorean = 0x3181;\n t.yesieungpansioskorean = 0x3183;\n t.yesieungsioskorean = 0x3182;\n t.yetivhebrew = 0x059a;\n t.ygrave = 0x1ef3;\n t.yhook = 0x01b4;\n t.yhookabove = 0x1ef7;\n t.yiarmenian = 0x0575;\n t.yicyrillic = 0x0457;\n t.yikorean = 0x3162;\n t.yinyang = 0x262f;\n t.yiwnarmenian = 0x0582;\n t.ymonospace = 0xff59;\n t.yod = 0x05d9;\n t.yoddagesh = 0xfb39;\n t.yoddageshhebrew = 0xfb39;\n t.yodhebrew = 0x05d9;\n t.yodyodhebrew = 0x05f2;\n t.yodyodpatahhebrew = 0xfb1f;\n t.yohiragana = 0x3088;\n t.yoikorean = 0x3189;\n t.yokatakana = 0x30e8;\n t.yokatakanahalfwidth = 0xff96;\n t.yokorean = 0x315b;\n t.yosmallhiragana = 0x3087;\n t.yosmallkatakana = 0x30e7;\n t.yosmallkatakanahalfwidth = 0xff6e;\n t.yotgreek = 0x03f3;\n t.yoyaekorean = 0x3188;\n t.yoyakorean = 0x3187;\n t.yoyakthai = 0x0e22;\n t.yoyingthai = 0x0e0d;\n t.yparen = 0x24b4;\n t.ypogegrammeni = 0x037a;\n t.ypogegrammenigreekcmb = 0x0345;\n t.yr = 0x01a6;\n t.yring = 0x1e99;\n t.ysuperior = 0x02b8;\n t.ytilde = 0x1ef9;\n t.yturned = 0x028e;\n t.yuhiragana = 0x3086;\n t.yuikorean = 0x318c;\n t.yukatakana = 0x30e6;\n t.yukatakanahalfwidth = 0xff95;\n t.yukorean = 0x3160;\n t.yusbigcyrillic = 0x046b;\n t.yusbigiotifiedcyrillic = 0x046d;\n t.yuslittlecyrillic = 0x0467;\n t.yuslittleiotifiedcyrillic = 0x0469;\n t.yusmallhiragana = 0x3085;\n t.yusmallkatakana = 0x30e5;\n t.yusmallkatakanahalfwidth = 0xff6d;\n t.yuyekorean = 0x318b;\n t.yuyeokorean = 0x318a;\n t.yyabengali = 0x09df;\n t.yyadeva = 0x095f;\n t.z = 0x007a;\n t.zaarmenian = 0x0566;\n t.zacute = 0x017a;\n t.zadeva = 0x095b;\n t.zagurmukhi = 0x0a5b;\n t.zaharabic = 0x0638;\n t.zahfinalarabic = 0xfec6;\n t.zahinitialarabic = 0xfec7;\n t.zahiragana = 0x3056;\n t.zahmedialarabic = 0xfec8;\n t.zainarabic = 0x0632;\n t.zainfinalarabic = 0xfeb0;\n t.zakatakana = 0x30b6;\n t.zaqefgadolhebrew = 0x0595;\n t.zaqefqatanhebrew = 0x0594;\n t.zarqahebrew = 0x0598;\n t.zayin = 0x05d6;\n t.zayindagesh = 0xfb36;\n t.zayindageshhebrew = 0xfb36;\n t.zayinhebrew = 0x05d6;\n t.zbopomofo = 0x3117;\n t.zcaron = 0x017e;\n t.zcircle = 0x24e9;\n t.zcircumflex = 0x1e91;\n t.zcurl = 0x0291;\n t.zdot = 0x017c;\n t.zdotaccent = 0x017c;\n t.zdotbelow = 0x1e93;\n t.zecyrillic = 0x0437;\n t.zedescendercyrillic = 0x0499;\n t.zedieresiscyrillic = 0x04df;\n t.zehiragana = 0x305c;\n t.zekatakana = 0x30bc;\n t.zero = 0x0030;\n t.zeroarabic = 0x0660;\n t.zerobengali = 0x09e6;\n t.zerodeva = 0x0966;\n t.zerogujarati = 0x0ae6;\n t.zerogurmukhi = 0x0a66;\n t.zerohackarabic = 0x0660;\n t.zeroinferior = 0x2080;\n t.zeromonospace = 0xff10;\n t.zerooldstyle = 0xf730;\n t.zeropersian = 0x06f0;\n t.zerosuperior = 0x2070;\n t.zerothai = 0x0e50;\n t.zerowidthjoiner = 0xfeff;\n t.zerowidthnonjoiner = 0x200c;\n t.zerowidthspace = 0x200b;\n t.zeta = 0x03b6;\n t.zhbopomofo = 0x3113;\n t.zhearmenian = 0x056a;\n t.zhebrevecyrillic = 0x04c2;\n t.zhecyrillic = 0x0436;\n t.zhedescendercyrillic = 0x0497;\n t.zhedieresiscyrillic = 0x04dd;\n t.zihiragana = 0x3058;\n t.zikatakana = 0x30b8;\n t.zinorhebrew = 0x05ae;\n t.zlinebelow = 0x1e95;\n t.zmonospace = 0xff5a;\n t.zohiragana = 0x305e;\n t.zokatakana = 0x30be;\n t.zparen = 0x24b5;\n t.zretroflexhook = 0x0290;\n t.zstroke = 0x01b6;\n t.zuhiragana = 0x305a;\n t.zukatakana = 0x30ba;\n t[\".notdef\"] = 0x0000;\n t.angbracketleftbig = 0x2329;\n t.angbracketleftBig = 0x2329;\n t.angbracketleftbigg = 0x2329;\n t.angbracketleftBigg = 0x2329;\n t.angbracketrightBig = 0x232a;\n t.angbracketrightbig = 0x232a;\n t.angbracketrightBigg = 0x232a;\n t.angbracketrightbigg = 0x232a;\n t.arrowhookleft = 0x21aa;\n t.arrowhookright = 0x21a9;\n t.arrowlefttophalf = 0x21bc;\n t.arrowleftbothalf = 0x21bd;\n t.arrownortheast = 0x2197;\n t.arrownorthwest = 0x2196;\n t.arrowrighttophalf = 0x21c0;\n t.arrowrightbothalf = 0x21c1;\n t.arrowsoutheast = 0x2198;\n t.arrowsouthwest = 0x2199;\n t.backslashbig = 0x2216;\n t.backslashBig = 0x2216;\n t.backslashBigg = 0x2216;\n t.backslashbigg = 0x2216;\n t.bardbl = 0x2016;\n t.bracehtipdownleft = 0xfe37;\n t.bracehtipdownright = 0xfe37;\n t.bracehtipupleft = 0xfe38;\n t.bracehtipupright = 0xfe38;\n t.braceleftBig = 0x007b;\n t.braceleftbig = 0x007b;\n t.braceleftbigg = 0x007b;\n t.braceleftBigg = 0x007b;\n t.bracerightBig = 0x007d;\n t.bracerightbig = 0x007d;\n t.bracerightbigg = 0x007d;\n t.bracerightBigg = 0x007d;\n t.bracketleftbig = 0x005b;\n t.bracketleftBig = 0x005b;\n t.bracketleftbigg = 0x005b;\n t.bracketleftBigg = 0x005b;\n t.bracketrightBig = 0x005d;\n t.bracketrightbig = 0x005d;\n t.bracketrightbigg = 0x005d;\n t.bracketrightBigg = 0x005d;\n t.ceilingleftbig = 0x2308;\n t.ceilingleftBig = 0x2308;\n t.ceilingleftBigg = 0x2308;\n t.ceilingleftbigg = 0x2308;\n t.ceilingrightbig = 0x2309;\n t.ceilingrightBig = 0x2309;\n t.ceilingrightbigg = 0x2309;\n t.ceilingrightBigg = 0x2309;\n t.circledotdisplay = 0x2299;\n t.circledottext = 0x2299;\n t.circlemultiplydisplay = 0x2297;\n t.circlemultiplytext = 0x2297;\n t.circleplusdisplay = 0x2295;\n t.circleplustext = 0x2295;\n t.contintegraldisplay = 0x222e;\n t.contintegraltext = 0x222e;\n t.coproductdisplay = 0x2210;\n t.coproducttext = 0x2210;\n t.floorleftBig = 0x230a;\n t.floorleftbig = 0x230a;\n t.floorleftbigg = 0x230a;\n t.floorleftBigg = 0x230a;\n t.floorrightbig = 0x230b;\n t.floorrightBig = 0x230b;\n t.floorrightBigg = 0x230b;\n t.floorrightbigg = 0x230b;\n t.hatwide = 0x0302;\n t.hatwider = 0x0302;\n t.hatwidest = 0x0302;\n t.intercal = 0x1d40;\n t.integraldisplay = 0x222b;\n t.integraltext = 0x222b;\n t.intersectiondisplay = 0x22c2;\n t.intersectiontext = 0x22c2;\n t.logicalanddisplay = 0x2227;\n t.logicalandtext = 0x2227;\n t.logicalordisplay = 0x2228;\n t.logicalortext = 0x2228;\n t.parenleftBig = 0x0028;\n t.parenleftbig = 0x0028;\n t.parenleftBigg = 0x0028;\n t.parenleftbigg = 0x0028;\n t.parenrightBig = 0x0029;\n t.parenrightbig = 0x0029;\n t.parenrightBigg = 0x0029;\n t.parenrightbigg = 0x0029;\n t.prime = 0x2032;\n t.productdisplay = 0x220f;\n t.producttext = 0x220f;\n t.radicalbig = 0x221a;\n t.radicalBig = 0x221a;\n t.radicalBigg = 0x221a;\n t.radicalbigg = 0x221a;\n t.radicalbt = 0x221a;\n t.radicaltp = 0x221a;\n t.radicalvertex = 0x221a;\n t.slashbig = 0x002f;\n t.slashBig = 0x002f;\n t.slashBigg = 0x002f;\n t.slashbigg = 0x002f;\n t.summationdisplay = 0x2211;\n t.summationtext = 0x2211;\n t.tildewide = 0x02dc;\n t.tildewider = 0x02dc;\n t.tildewidest = 0x02dc;\n t.uniondisplay = 0x22c3;\n t.unionmultidisplay = 0x228e;\n t.unionmultitext = 0x228e;\n t.unionsqdisplay = 0x2294;\n t.unionsqtext = 0x2294;\n t.uniontext = 0x22c3;\n t.vextenddouble = 0x2225;\n t.vextendsingle = 0x2223;\n});\nvar getDingbatsGlyphsUnicode = getLookupTableFactory(function (t) {\n t.space = 0x0020;\n t.a1 = 0x2701;\n t.a2 = 0x2702;\n t.a202 = 0x2703;\n t.a3 = 0x2704;\n t.a4 = 0x260e;\n t.a5 = 0x2706;\n t.a119 = 0x2707;\n t.a118 = 0x2708;\n t.a117 = 0x2709;\n t.a11 = 0x261b;\n t.a12 = 0x261e;\n t.a13 = 0x270c;\n t.a14 = 0x270d;\n t.a15 = 0x270e;\n t.a16 = 0x270f;\n t.a105 = 0x2710;\n t.a17 = 0x2711;\n t.a18 = 0x2712;\n t.a19 = 0x2713;\n t.a20 = 0x2714;\n t.a21 = 0x2715;\n t.a22 = 0x2716;\n t.a23 = 0x2717;\n t.a24 = 0x2718;\n t.a25 = 0x2719;\n t.a26 = 0x271a;\n t.a27 = 0x271b;\n t.a28 = 0x271c;\n t.a6 = 0x271d;\n t.a7 = 0x271e;\n t.a8 = 0x271f;\n t.a9 = 0x2720;\n t.a10 = 0x2721;\n t.a29 = 0x2722;\n t.a30 = 0x2723;\n t.a31 = 0x2724;\n t.a32 = 0x2725;\n t.a33 = 0x2726;\n t.a34 = 0x2727;\n t.a35 = 0x2605;\n t.a36 = 0x2729;\n t.a37 = 0x272a;\n t.a38 = 0x272b;\n t.a39 = 0x272c;\n t.a40 = 0x272d;\n t.a41 = 0x272e;\n t.a42 = 0x272f;\n t.a43 = 0x2730;\n t.a44 = 0x2731;\n t.a45 = 0x2732;\n t.a46 = 0x2733;\n t.a47 = 0x2734;\n t.a48 = 0x2735;\n t.a49 = 0x2736;\n t.a50 = 0x2737;\n t.a51 = 0x2738;\n t.a52 = 0x2739;\n t.a53 = 0x273a;\n t.a54 = 0x273b;\n t.a55 = 0x273c;\n t.a56 = 0x273d;\n t.a57 = 0x273e;\n t.a58 = 0x273f;\n t.a59 = 0x2740;\n t.a60 = 0x2741;\n t.a61 = 0x2742;\n t.a62 = 0x2743;\n t.a63 = 0x2744;\n t.a64 = 0x2745;\n t.a65 = 0x2746;\n t.a66 = 0x2747;\n t.a67 = 0x2748;\n t.a68 = 0x2749;\n t.a69 = 0x274a;\n t.a70 = 0x274b;\n t.a71 = 0x25cf;\n t.a72 = 0x274d;\n t.a73 = 0x25a0;\n t.a74 = 0x274f;\n t.a203 = 0x2750;\n t.a75 = 0x2751;\n t.a204 = 0x2752;\n t.a76 = 0x25b2;\n t.a77 = 0x25bc;\n t.a78 = 0x25c6;\n t.a79 = 0x2756;\n t.a81 = 0x25d7;\n t.a82 = 0x2758;\n t.a83 = 0x2759;\n t.a84 = 0x275a;\n t.a97 = 0x275b;\n t.a98 = 0x275c;\n t.a99 = 0x275d;\n t.a100 = 0x275e;\n t.a101 = 0x2761;\n t.a102 = 0x2762;\n t.a103 = 0x2763;\n t.a104 = 0x2764;\n t.a106 = 0x2765;\n t.a107 = 0x2766;\n t.a108 = 0x2767;\n t.a112 = 0x2663;\n t.a111 = 0x2666;\n t.a110 = 0x2665;\n t.a109 = 0x2660;\n t.a120 = 0x2460;\n t.a121 = 0x2461;\n t.a122 = 0x2462;\n t.a123 = 0x2463;\n t.a124 = 0x2464;\n t.a125 = 0x2465;\n t.a126 = 0x2466;\n t.a127 = 0x2467;\n t.a128 = 0x2468;\n t.a129 = 0x2469;\n t.a130 = 0x2776;\n t.a131 = 0x2777;\n t.a132 = 0x2778;\n t.a133 = 0x2779;\n t.a134 = 0x277a;\n t.a135 = 0x277b;\n t.a136 = 0x277c;\n t.a137 = 0x277d;\n t.a138 = 0x277e;\n t.a139 = 0x277f;\n t.a140 = 0x2780;\n t.a141 = 0x2781;\n t.a142 = 0x2782;\n t.a143 = 0x2783;\n t.a144 = 0x2784;\n t.a145 = 0x2785;\n t.a146 = 0x2786;\n t.a147 = 0x2787;\n t.a148 = 0x2788;\n t.a149 = 0x2789;\n t.a150 = 0x278a;\n t.a151 = 0x278b;\n t.a152 = 0x278c;\n t.a153 = 0x278d;\n t.a154 = 0x278e;\n t.a155 = 0x278f;\n t.a156 = 0x2790;\n t.a157 = 0x2791;\n t.a158 = 0x2792;\n t.a159 = 0x2793;\n t.a160 = 0x2794;\n t.a161 = 0x2192;\n t.a163 = 0x2194;\n t.a164 = 0x2195;\n t.a196 = 0x2798;\n t.a165 = 0x2799;\n t.a192 = 0x279a;\n t.a166 = 0x279b;\n t.a167 = 0x279c;\n t.a168 = 0x279d;\n t.a169 = 0x279e;\n t.a170 = 0x279f;\n t.a171 = 0x27a0;\n t.a172 = 0x27a1;\n t.a173 = 0x27a2;\n t.a162 = 0x27a3;\n t.a174 = 0x27a4;\n t.a175 = 0x27a5;\n t.a176 = 0x27a6;\n t.a177 = 0x27a7;\n t.a178 = 0x27a8;\n t.a179 = 0x27a9;\n t.a193 = 0x27aa;\n t.a180 = 0x27ab;\n t.a199 = 0x27ac;\n t.a181 = 0x27ad;\n t.a200 = 0x27ae;\n t.a182 = 0x27af;\n t.a201 = 0x27b1;\n t.a183 = 0x27b2;\n t.a184 = 0x27b3;\n t.a197 = 0x27b4;\n t.a185 = 0x27b5;\n t.a194 = 0x27b6;\n t.a198 = 0x27b7;\n t.a186 = 0x27b8;\n t.a195 = 0x27b9;\n t.a187 = 0x27ba;\n t.a188 = 0x27bb;\n t.a189 = 0x27bc;\n t.a190 = 0x27bd;\n t.a191 = 0x27be;\n t.a89 = 0x2768;\n t.a90 = 0x2769;\n t.a93 = 0x276a;\n t.a94 = 0x276b;\n t.a91 = 0x276c;\n t.a92 = 0x276d;\n t.a205 = 0x276e;\n t.a85 = 0x276f;\n t.a206 = 0x2770;\n t.a86 = 0x2771;\n t.a87 = 0x2772;\n t.a88 = 0x2773;\n t.a95 = 0x2774;\n t.a96 = 0x2775;\n t[\".notdef\"] = 0x0000;\n});\nexports.getGlyphsUnicode = getGlyphsUnicode;\nexports.getDingbatsGlyphsUnicode = getDingbatsGlyphsUnicode;\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getSupplementalGlyphMapForCalibri = exports.getSupplementalGlyphMapForArialBlack = exports.getGlyphMapForStandardFonts = exports.getSymbolsFonts = exports.getSerifFonts = exports.getNonStdFontMap = exports.getStdFontMap = void 0;\n\nvar _core_utils = __w_pdfjs_require__(8);\n\nconst getStdFontMap = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.ArialNarrow = \"Helvetica\";\n t[\"ArialNarrow-Bold\"] = \"Helvetica-Bold\";\n t[\"ArialNarrow-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"ArialNarrow-Italic\"] = \"Helvetica-Oblique\";\n t.ArialBlack = \"Helvetica\";\n t[\"ArialBlack-Bold\"] = \"Helvetica-Bold\";\n t[\"ArialBlack-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"ArialBlack-Italic\"] = \"Helvetica-Oblique\";\n t[\"Arial-Black\"] = \"Helvetica\";\n t[\"Arial-Black-Bold\"] = \"Helvetica-Bold\";\n t[\"Arial-Black-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"Arial-Black-Italic\"] = \"Helvetica-Oblique\";\n t.Arial = \"Helvetica\";\n t[\"Arial-Bold\"] = \"Helvetica-Bold\";\n t[\"Arial-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"Arial-Italic\"] = \"Helvetica-Oblique\";\n t[\"Arial-BoldItalicMT\"] = \"Helvetica-BoldOblique\";\n t[\"Arial-BoldMT\"] = \"Helvetica-Bold\";\n t[\"Arial-ItalicMT\"] = \"Helvetica-Oblique\";\n t.ArialMT = \"Helvetica\";\n t[\"Courier-Bold\"] = \"Courier-Bold\";\n t[\"Courier-BoldItalic\"] = \"Courier-BoldOblique\";\n t[\"Courier-Italic\"] = \"Courier-Oblique\";\n t.CourierNew = \"Courier\";\n t[\"CourierNew-Bold\"] = \"Courier-Bold\";\n t[\"CourierNew-BoldItalic\"] = \"Courier-BoldOblique\";\n t[\"CourierNew-Italic\"] = \"Courier-Oblique\";\n t[\"CourierNewPS-BoldItalicMT\"] = \"Courier-BoldOblique\";\n t[\"CourierNewPS-BoldMT\"] = \"Courier-Bold\";\n t[\"CourierNewPS-ItalicMT\"] = \"Courier-Oblique\";\n t.CourierNewPSMT = \"Courier\";\n t.Helvetica = \"Helvetica\";\n t[\"Helvetica-Bold\"] = \"Helvetica-Bold\";\n t[\"Helvetica-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"Helvetica-BoldOblique\"] = \"Helvetica-BoldOblique\";\n t[\"Helvetica-Italic\"] = \"Helvetica-Oblique\";\n t[\"Helvetica-Oblique\"] = \"Helvetica-Oblique\";\n t[\"Symbol-Bold\"] = \"Symbol\";\n t[\"Symbol-BoldItalic\"] = \"Symbol\";\n t[\"Symbol-Italic\"] = \"Symbol\";\n t.TimesNewRoman = \"Times-Roman\";\n t[\"TimesNewRoman-Bold\"] = \"Times-Bold\";\n t[\"TimesNewRoman-BoldItalic\"] = \"Times-BoldItalic\";\n t[\"TimesNewRoman-Italic\"] = \"Times-Italic\";\n t.TimesNewRomanPS = \"Times-Roman\";\n t[\"TimesNewRomanPS-Bold\"] = \"Times-Bold\";\n t[\"TimesNewRomanPS-BoldItalic\"] = \"Times-BoldItalic\";\n t[\"TimesNewRomanPS-BoldItalicMT\"] = \"Times-BoldItalic\";\n t[\"TimesNewRomanPS-BoldMT\"] = \"Times-Bold\";\n t[\"TimesNewRomanPS-Italic\"] = \"Times-Italic\";\n t[\"TimesNewRomanPS-ItalicMT\"] = \"Times-Italic\";\n t.TimesNewRomanPSMT = \"Times-Roman\";\n t[\"TimesNewRomanPSMT-Bold\"] = \"Times-Bold\";\n t[\"TimesNewRomanPSMT-BoldItalic\"] = \"Times-BoldItalic\";\n t[\"TimesNewRomanPSMT-Italic\"] = \"Times-Italic\";\n});\nexports.getStdFontMap = getStdFontMap;\nconst getNonStdFontMap = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.Calibri = \"Helvetica\";\n t[\"Calibri-Bold\"] = \"Helvetica-Bold\";\n t[\"Calibri-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"Calibri-Italic\"] = \"Helvetica-Oblique\";\n t.CenturyGothic = \"Helvetica\";\n t[\"CenturyGothic-Bold\"] = \"Helvetica-Bold\";\n t[\"CenturyGothic-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"CenturyGothic-Italic\"] = \"Helvetica-Oblique\";\n t.ComicSansMS = \"Comic Sans MS\";\n t[\"ComicSansMS-Bold\"] = \"Comic Sans MS-Bold\";\n t[\"ComicSansMS-BoldItalic\"] = \"Comic Sans MS-BoldItalic\";\n t[\"ComicSansMS-Italic\"] = \"Comic Sans MS-Italic\";\n t.LucidaConsole = \"Courier\";\n t[\"LucidaConsole-Bold\"] = \"Courier-Bold\";\n t[\"LucidaConsole-BoldItalic\"] = \"Courier-BoldOblique\";\n t[\"LucidaConsole-Italic\"] = \"Courier-Oblique\";\n t[\"LucidaSans-Demi\"] = \"Helvetica-Bold\";\n t[\"MS-Gothic\"] = \"MS Gothic\";\n t[\"MS-Gothic-Bold\"] = \"MS Gothic-Bold\";\n t[\"MS-Gothic-BoldItalic\"] = \"MS Gothic-BoldItalic\";\n t[\"MS-Gothic-Italic\"] = \"MS Gothic-Italic\";\n t[\"MS-Mincho\"] = \"MS Mincho\";\n t[\"MS-Mincho-Bold\"] = \"MS Mincho-Bold\";\n t[\"MS-Mincho-BoldItalic\"] = \"MS Mincho-BoldItalic\";\n t[\"MS-Mincho-Italic\"] = \"MS Mincho-Italic\";\n t[\"MS-PGothic\"] = \"MS PGothic\";\n t[\"MS-PGothic-Bold\"] = \"MS PGothic-Bold\";\n t[\"MS-PGothic-BoldItalic\"] = \"MS PGothic-BoldItalic\";\n t[\"MS-PGothic-Italic\"] = \"MS PGothic-Italic\";\n t[\"MS-PMincho\"] = \"MS PMincho\";\n t[\"MS-PMincho-Bold\"] = \"MS PMincho-Bold\";\n t[\"MS-PMincho-BoldItalic\"] = \"MS PMincho-BoldItalic\";\n t[\"MS-PMincho-Italic\"] = \"MS PMincho-Italic\";\n t.NuptialScript = \"Times-Italic\";\n t.SegoeUISymbol = \"Helvetica\";\n t.Wingdings = \"ZapfDingbats\";\n t[\"Wingdings-Regular\"] = \"ZapfDingbats\";\n});\nexports.getNonStdFontMap = getNonStdFontMap;\nconst getSerifFonts = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[\"Adobe Jenson\"] = true;\n t[\"Adobe Text\"] = true;\n t.Albertus = true;\n t.Aldus = true;\n t.Alexandria = true;\n t.Algerian = true;\n t[\"American Typewriter\"] = true;\n t.Antiqua = true;\n t.Apex = true;\n t.Arno = true;\n t.Aster = true;\n t.Aurora = true;\n t.Baskerville = true;\n t.Bell = true;\n t.Bembo = true;\n t[\"Bembo Schoolbook\"] = true;\n t.Benguiat = true;\n t[\"Berkeley Old Style\"] = true;\n t[\"Bernhard Modern\"] = true;\n t[\"Berthold City\"] = true;\n t.Bodoni = true;\n t[\"Bauer Bodoni\"] = true;\n t[\"Book Antiqua\"] = true;\n t.Bookman = true;\n t[\"Bordeaux Roman\"] = true;\n t[\"Californian FB\"] = true;\n t.Calisto = true;\n t.Calvert = true;\n t.Capitals = true;\n t.Cambria = true;\n t.Cartier = true;\n t.Caslon = true;\n t.Catull = true;\n t.Centaur = true;\n t[\"Century Old Style\"] = true;\n t[\"Century Schoolbook\"] = true;\n t.Chaparral = true;\n t[\"Charis SIL\"] = true;\n t.Cheltenham = true;\n t[\"Cholla Slab\"] = true;\n t.Clarendon = true;\n t.Clearface = true;\n t.Cochin = true;\n t.Colonna = true;\n t[\"Computer Modern\"] = true;\n t[\"Concrete Roman\"] = true;\n t.Constantia = true;\n t[\"Cooper Black\"] = true;\n t.Corona = true;\n t.Ecotype = true;\n t.Egyptienne = true;\n t.Elephant = true;\n t.Excelsior = true;\n t.Fairfield = true;\n t[\"FF Scala\"] = true;\n t.Folkard = true;\n t.Footlight = true;\n t.FreeSerif = true;\n t[\"Friz Quadrata\"] = true;\n t.Garamond = true;\n t.Gentium = true;\n t.Georgia = true;\n t.Gloucester = true;\n t[\"Goudy Old Style\"] = true;\n t[\"Goudy Schoolbook\"] = true;\n t[\"Goudy Pro Font\"] = true;\n t.Granjon = true;\n t[\"Guardian Egyptian\"] = true;\n t.Heather = true;\n t.Hercules = true;\n t[\"High Tower Text\"] = true;\n t.Hiroshige = true;\n t[\"Hoefler Text\"] = true;\n t[\"Humana Serif\"] = true;\n t.Imprint = true;\n t[\"Ionic No. 5\"] = true;\n t.Janson = true;\n t.Joanna = true;\n t.Korinna = true;\n t.Lexicon = true;\n t[\"Liberation Serif\"] = true;\n t[\"Linux Libertine\"] = true;\n t.Literaturnaya = true;\n t.Lucida = true;\n t[\"Lucida Bright\"] = true;\n t.Melior = true;\n t.Memphis = true;\n t.Miller = true;\n t.Minion = true;\n t.Modern = true;\n t[\"Mona Lisa\"] = true;\n t[\"Mrs Eaves\"] = true;\n t[\"MS Serif\"] = true;\n t[\"Museo Slab\"] = true;\n t[\"New York\"] = true;\n t[\"Nimbus Roman\"] = true;\n t[\"NPS Rawlinson Roadway\"] = true;\n t.NuptialScript = true;\n t.Palatino = true;\n t.Perpetua = true;\n t.Plantin = true;\n t[\"Plantin Schoolbook\"] = true;\n t.Playbill = true;\n t[\"Poor Richard\"] = true;\n t[\"Rawlinson Roadway\"] = true;\n t.Renault = true;\n t.Requiem = true;\n t.Rockwell = true;\n t.Roman = true;\n t[\"Rotis Serif\"] = true;\n t.Sabon = true;\n t.Scala = true;\n t.Seagull = true;\n t.Sistina = true;\n t.Souvenir = true;\n t.STIX = true;\n t[\"Stone Informal\"] = true;\n t[\"Stone Serif\"] = true;\n t.Sylfaen = true;\n t.Times = true;\n t.Trajan = true;\n t[\"Trinité\"] = true;\n t[\"Trump Mediaeval\"] = true;\n t.Utopia = true;\n t[\"Vale Type\"] = true;\n t[\"Bitstream Vera\"] = true;\n t[\"Vera Serif\"] = true;\n t.Versailles = true;\n t.Wanted = true;\n t.Weiss = true;\n t[\"Wide Latin\"] = true;\n t.Windsor = true;\n t.XITS = true;\n});\nexports.getSerifFonts = getSerifFonts;\nconst getSymbolsFonts = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.Dingbats = true;\n t.Symbol = true;\n t.ZapfDingbats = true;\n});\nexports.getSymbolsFonts = getSymbolsFonts;\nconst getGlyphMapForStandardFonts = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[2] = 10;\n t[3] = 32;\n t[4] = 33;\n t[5] = 34;\n t[6] = 35;\n t[7] = 36;\n t[8] = 37;\n t[9] = 38;\n t[10] = 39;\n t[11] = 40;\n t[12] = 41;\n t[13] = 42;\n t[14] = 43;\n t[15] = 44;\n t[16] = 45;\n t[17] = 46;\n t[18] = 47;\n t[19] = 48;\n t[20] = 49;\n t[21] = 50;\n t[22] = 51;\n t[23] = 52;\n t[24] = 53;\n t[25] = 54;\n t[26] = 55;\n t[27] = 56;\n t[28] = 57;\n t[29] = 58;\n t[30] = 894;\n t[31] = 60;\n t[32] = 61;\n t[33] = 62;\n t[34] = 63;\n t[35] = 64;\n t[36] = 65;\n t[37] = 66;\n t[38] = 67;\n t[39] = 68;\n t[40] = 69;\n t[41] = 70;\n t[42] = 71;\n t[43] = 72;\n t[44] = 73;\n t[45] = 74;\n t[46] = 75;\n t[47] = 76;\n t[48] = 77;\n t[49] = 78;\n t[50] = 79;\n t[51] = 80;\n t[52] = 81;\n t[53] = 82;\n t[54] = 83;\n t[55] = 84;\n t[56] = 85;\n t[57] = 86;\n t[58] = 87;\n t[59] = 88;\n t[60] = 89;\n t[61] = 90;\n t[62] = 91;\n t[63] = 92;\n t[64] = 93;\n t[65] = 94;\n t[66] = 95;\n t[67] = 96;\n t[68] = 97;\n t[69] = 98;\n t[70] = 99;\n t[71] = 100;\n t[72] = 101;\n t[73] = 102;\n t[74] = 103;\n t[75] = 104;\n t[76] = 105;\n t[77] = 106;\n t[78] = 107;\n t[79] = 108;\n t[80] = 109;\n t[81] = 110;\n t[82] = 111;\n t[83] = 112;\n t[84] = 113;\n t[85] = 114;\n t[86] = 115;\n t[87] = 116;\n t[88] = 117;\n t[89] = 118;\n t[90] = 119;\n t[91] = 120;\n t[92] = 121;\n t[93] = 122;\n t[94] = 123;\n t[95] = 124;\n t[96] = 125;\n t[97] = 126;\n t[98] = 196;\n t[99] = 197;\n t[100] = 199;\n t[101] = 201;\n t[102] = 209;\n t[103] = 214;\n t[104] = 220;\n t[105] = 225;\n t[106] = 224;\n t[107] = 226;\n t[108] = 228;\n t[109] = 227;\n t[110] = 229;\n t[111] = 231;\n t[112] = 233;\n t[113] = 232;\n t[114] = 234;\n t[115] = 235;\n t[116] = 237;\n t[117] = 236;\n t[118] = 238;\n t[119] = 239;\n t[120] = 241;\n t[121] = 243;\n t[122] = 242;\n t[123] = 244;\n t[124] = 246;\n t[125] = 245;\n t[126] = 250;\n t[127] = 249;\n t[128] = 251;\n t[129] = 252;\n t[130] = 8224;\n t[131] = 176;\n t[132] = 162;\n t[133] = 163;\n t[134] = 167;\n t[135] = 8226;\n t[136] = 182;\n t[137] = 223;\n t[138] = 174;\n t[139] = 169;\n t[140] = 8482;\n t[141] = 180;\n t[142] = 168;\n t[143] = 8800;\n t[144] = 198;\n t[145] = 216;\n t[146] = 8734;\n t[147] = 177;\n t[148] = 8804;\n t[149] = 8805;\n t[150] = 165;\n t[151] = 181;\n t[152] = 8706;\n t[153] = 8721;\n t[154] = 8719;\n t[156] = 8747;\n t[157] = 170;\n t[158] = 186;\n t[159] = 8486;\n t[160] = 230;\n t[161] = 248;\n t[162] = 191;\n t[163] = 161;\n t[164] = 172;\n t[165] = 8730;\n t[166] = 402;\n t[167] = 8776;\n t[168] = 8710;\n t[169] = 171;\n t[170] = 187;\n t[171] = 8230;\n t[210] = 218;\n t[223] = 711;\n t[224] = 321;\n t[225] = 322;\n t[227] = 353;\n t[229] = 382;\n t[234] = 253;\n t[252] = 263;\n t[253] = 268;\n t[254] = 269;\n t[258] = 258;\n t[260] = 260;\n t[261] = 261;\n t[265] = 280;\n t[266] = 281;\n t[268] = 283;\n t[269] = 313;\n t[275] = 323;\n t[276] = 324;\n t[278] = 328;\n t[284] = 345;\n t[285] = 346;\n t[286] = 347;\n t[292] = 367;\n t[295] = 377;\n t[296] = 378;\n t[298] = 380;\n t[305] = 963;\n t[306] = 964;\n t[307] = 966;\n t[308] = 8215;\n t[309] = 8252;\n t[310] = 8319;\n t[311] = 8359;\n t[312] = 8592;\n t[313] = 8593;\n t[337] = 9552;\n t[493] = 1039;\n t[494] = 1040;\n t[705] = 1524;\n t[706] = 8362;\n t[710] = 64288;\n t[711] = 64298;\n t[759] = 1617;\n t[761] = 1776;\n t[763] = 1778;\n t[775] = 1652;\n t[777] = 1764;\n t[778] = 1780;\n t[779] = 1781;\n t[780] = 1782;\n t[782] = 771;\n t[783] = 64726;\n t[786] = 8363;\n t[788] = 8532;\n t[790] = 768;\n t[791] = 769;\n t[792] = 768;\n t[795] = 803;\n t[797] = 64336;\n t[798] = 64337;\n t[799] = 64342;\n t[800] = 64343;\n t[801] = 64344;\n t[802] = 64345;\n t[803] = 64362;\n t[804] = 64363;\n t[805] = 64364;\n t[2424] = 7821;\n t[2425] = 7822;\n t[2426] = 7823;\n t[2427] = 7824;\n t[2428] = 7825;\n t[2429] = 7826;\n t[2430] = 7827;\n t[2433] = 7682;\n t[2678] = 8045;\n t[2679] = 8046;\n t[2830] = 1552;\n t[2838] = 686;\n t[2840] = 751;\n t[2842] = 753;\n t[2843] = 754;\n t[2844] = 755;\n t[2846] = 757;\n t[2856] = 767;\n t[2857] = 848;\n t[2858] = 849;\n t[2862] = 853;\n t[2863] = 854;\n t[2864] = 855;\n t[2865] = 861;\n t[2866] = 862;\n t[2906] = 7460;\n t[2908] = 7462;\n t[2909] = 7463;\n t[2910] = 7464;\n t[2912] = 7466;\n t[2913] = 7467;\n t[2914] = 7468;\n t[2916] = 7470;\n t[2917] = 7471;\n t[2918] = 7472;\n t[2920] = 7474;\n t[2921] = 7475;\n t[2922] = 7476;\n t[2924] = 7478;\n t[2925] = 7479;\n t[2926] = 7480;\n t[2928] = 7482;\n t[2929] = 7483;\n t[2930] = 7484;\n t[2932] = 7486;\n t[2933] = 7487;\n t[2934] = 7488;\n t[2936] = 7490;\n t[2937] = 7491;\n t[2938] = 7492;\n t[2940] = 7494;\n t[2941] = 7495;\n t[2942] = 7496;\n t[2944] = 7498;\n t[2946] = 7500;\n t[2948] = 7502;\n t[2950] = 7504;\n t[2951] = 7505;\n t[2952] = 7506;\n t[2954] = 7508;\n t[2955] = 7509;\n t[2956] = 7510;\n t[2958] = 7512;\n t[2959] = 7513;\n t[2960] = 7514;\n t[2962] = 7516;\n t[2963] = 7517;\n t[2964] = 7518;\n t[2966] = 7520;\n t[2967] = 7521;\n t[2968] = 7522;\n t[2970] = 7524;\n t[2971] = 7525;\n t[2972] = 7526;\n t[2974] = 7528;\n t[2975] = 7529;\n t[2976] = 7530;\n t[2978] = 1537;\n t[2979] = 1538;\n t[2980] = 1539;\n t[2982] = 1549;\n t[2983] = 1551;\n t[2984] = 1552;\n t[2986] = 1554;\n t[2987] = 1555;\n t[2988] = 1556;\n t[2990] = 1623;\n t[2991] = 1624;\n t[2995] = 1775;\n t[2999] = 1791;\n t[3002] = 64290;\n t[3003] = 64291;\n t[3004] = 64292;\n t[3006] = 64294;\n t[3007] = 64295;\n t[3008] = 64296;\n t[3011] = 1900;\n t[3014] = 8223;\n t[3015] = 8244;\n t[3017] = 7532;\n t[3018] = 7533;\n t[3019] = 7534;\n t[3075] = 7590;\n t[3076] = 7591;\n t[3079] = 7594;\n t[3080] = 7595;\n t[3083] = 7598;\n t[3084] = 7599;\n t[3087] = 7602;\n t[3088] = 7603;\n t[3091] = 7606;\n t[3092] = 7607;\n t[3095] = 7610;\n t[3096] = 7611;\n t[3099] = 7614;\n t[3100] = 7615;\n t[3103] = 7618;\n t[3104] = 7619;\n t[3107] = 8337;\n t[3108] = 8338;\n t[3116] = 1884;\n t[3119] = 1885;\n t[3120] = 1885;\n t[3123] = 1886;\n t[3124] = 1886;\n t[3127] = 1887;\n t[3128] = 1887;\n t[3131] = 1888;\n t[3132] = 1888;\n t[3135] = 1889;\n t[3136] = 1889;\n t[3139] = 1890;\n t[3140] = 1890;\n t[3143] = 1891;\n t[3144] = 1891;\n t[3147] = 1892;\n t[3148] = 1892;\n t[3153] = 580;\n t[3154] = 581;\n t[3157] = 584;\n t[3158] = 585;\n t[3161] = 588;\n t[3162] = 589;\n t[3165] = 891;\n t[3166] = 892;\n t[3169] = 1274;\n t[3170] = 1275;\n t[3173] = 1278;\n t[3174] = 1279;\n t[3181] = 7622;\n t[3182] = 7623;\n t[3282] = 11799;\n t[3316] = 578;\n t[3379] = 42785;\n t[3393] = 1159;\n t[3416] = 8377;\n});\nexports.getGlyphMapForStandardFonts = getGlyphMapForStandardFonts;\nconst getSupplementalGlyphMapForArialBlack = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[227] = 322;\n t[264] = 261;\n t[291] = 346;\n});\nexports.getSupplementalGlyphMapForArialBlack = getSupplementalGlyphMapForArialBlack;\nconst getSupplementalGlyphMapForCalibri = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[1] = 32;\n t[4] = 65;\n t[17] = 66;\n t[18] = 67;\n t[24] = 68;\n t[28] = 69;\n t[38] = 70;\n t[39] = 71;\n t[44] = 72;\n t[47] = 73;\n t[58] = 74;\n t[60] = 75;\n t[62] = 76;\n t[68] = 77;\n t[69] = 78;\n t[75] = 79;\n t[87] = 80;\n t[89] = 81;\n t[90] = 82;\n t[94] = 83;\n t[100] = 84;\n t[104] = 85;\n t[115] = 86;\n t[116] = 87;\n t[121] = 88;\n t[122] = 89;\n t[127] = 90;\n t[258] = 97;\n t[268] = 261;\n t[271] = 98;\n t[272] = 99;\n t[273] = 263;\n t[282] = 100;\n t[286] = 101;\n t[295] = 281;\n t[296] = 102;\n t[336] = 103;\n t[346] = 104;\n t[349] = 105;\n t[361] = 106;\n t[364] = 107;\n t[367] = 108;\n t[371] = 322;\n t[373] = 109;\n t[374] = 110;\n t[381] = 111;\n t[383] = 243;\n t[393] = 112;\n t[395] = 113;\n t[396] = 114;\n t[400] = 115;\n t[401] = 347;\n t[410] = 116;\n t[437] = 117;\n t[448] = 118;\n t[449] = 119;\n t[454] = 120;\n t[455] = 121;\n t[460] = 122;\n t[463] = 380;\n t[853] = 44;\n t[855] = 58;\n t[856] = 46;\n t[876] = 47;\n t[878] = 45;\n t[882] = 45;\n t[894] = 40;\n t[895] = 41;\n t[896] = 91;\n t[897] = 93;\n t[923] = 64;\n t[1004] = 48;\n t[1005] = 49;\n t[1006] = 50;\n t[1007] = 51;\n t[1008] = 52;\n t[1009] = 53;\n t[1010] = 54;\n t[1011] = 55;\n t[1012] = 56;\n t[1013] = 57;\n t[1081] = 37;\n t[1085] = 43;\n t[1086] = 45;\n});\nexports.getSupplementalGlyphMapForCalibri = getSupplementalGlyphMapForCalibri;\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getLookupTableFactory = __w_pdfjs_require__(8).getLookupTableFactory;\nvar getSpecialPUASymbols = getLookupTableFactory(function (t) {\n t[63721] = 0x00a9;\n t[63193] = 0x00a9;\n t[63720] = 0x00ae;\n t[63194] = 0x00ae;\n t[63722] = 0x2122;\n t[63195] = 0x2122;\n t[63729] = 0x23a7;\n t[63730] = 0x23a8;\n t[63731] = 0x23a9;\n t[63740] = 0x23ab;\n t[63741] = 0x23ac;\n t[63742] = 0x23ad;\n t[63726] = 0x23a1;\n t[63727] = 0x23a2;\n t[63728] = 0x23a3;\n t[63737] = 0x23a4;\n t[63738] = 0x23a5;\n t[63739] = 0x23a6;\n t[63723] = 0x239b;\n t[63724] = 0x239c;\n t[63725] = 0x239d;\n t[63734] = 0x239e;\n t[63735] = 0x239f;\n t[63736] = 0x23a0;\n});\nfunction mapSpecialUnicodeValues(code) {\n if (code >= 0xfff0 && code <= 0xffff) {\n return 0;\n } else if (code >= 0xf600 && code <= 0xf8ff) {\n return getSpecialPUASymbols()[code] || code;\n } else if (code === 0x00ad) {\n return 0x002d;\n }\n return code;\n}\nfunction getUnicodeForGlyph(name, glyphsUnicodeMap) {\n var unicode = glyphsUnicodeMap[name];\n if (unicode !== undefined) {\n return unicode;\n }\n if (!name) {\n return -1;\n }\n if (name[0] === \"u\") {\n var nameLen = name.length, hexStr;\n if (nameLen === 7 && name[1] === \"n\" && name[2] === \"i\") {\n hexStr = name.substring(3);\n } else if (nameLen >= 5 && nameLen <= 7) {\n hexStr = name.substring(1);\n } else {\n return -1;\n }\n if (hexStr === hexStr.toUpperCase()) {\n unicode = parseInt(hexStr, 16);\n if (unicode >= 0) {\n return unicode;\n }\n }\n }\n return -1;\n}\nvar UnicodeRanges = [\n {\n begin: 0x0000,\n end: 0x007f\n },\n {\n begin: 0x0080,\n end: 0x00ff\n },\n {\n begin: 0x0100,\n end: 0x017f\n },\n {\n begin: 0x0180,\n end: 0x024f\n },\n {\n begin: 0x0250,\n end: 0x02af\n },\n {\n begin: 0x02b0,\n end: 0x02ff\n },\n {\n begin: 0x0300,\n end: 0x036f\n },\n {\n begin: 0x0370,\n end: 0x03ff\n },\n {\n begin: 0x2c80,\n end: 0x2cff\n },\n {\n begin: 0x0400,\n end: 0x04ff\n },\n {\n begin: 0x0530,\n end: 0x058f\n },\n {\n begin: 0x0590,\n end: 0x05ff\n },\n {\n begin: 0xa500,\n end: 0xa63f\n },\n {\n begin: 0x0600,\n end: 0x06ff\n },\n {\n begin: 0x07c0,\n end: 0x07ff\n },\n {\n begin: 0x0900,\n end: 0x097f\n },\n {\n begin: 0x0980,\n end: 0x09ff\n },\n {\n begin: 0x0a00,\n end: 0x0a7f\n },\n {\n begin: 0x0a80,\n end: 0x0aff\n },\n {\n begin: 0x0b00,\n end: 0x0b7f\n },\n {\n begin: 0x0b80,\n end: 0x0bff\n },\n {\n begin: 0x0c00,\n end: 0x0c7f\n },\n {\n begin: 0x0c80,\n end: 0x0cff\n },\n {\n begin: 0x0d00,\n end: 0x0d7f\n },\n {\n begin: 0x0e00,\n end: 0x0e7f\n },\n {\n begin: 0x0e80,\n end: 0x0eff\n },\n {\n begin: 0x10a0,\n end: 0x10ff\n },\n {\n begin: 0x1b00,\n end: 0x1b7f\n },\n {\n begin: 0x1100,\n end: 0x11ff\n },\n {\n begin: 0x1e00,\n end: 0x1eff\n },\n {\n begin: 0x1f00,\n end: 0x1fff\n },\n {\n begin: 0x2000,\n end: 0x206f\n },\n {\n begin: 0x2070,\n end: 0x209f\n },\n {\n begin: 0x20a0,\n end: 0x20cf\n },\n {\n begin: 0x20d0,\n end: 0x20ff\n },\n {\n begin: 0x2100,\n end: 0x214f\n },\n {\n begin: 0x2150,\n end: 0x218f\n },\n {\n begin: 0x2190,\n end: 0x21ff\n },\n {\n begin: 0x2200,\n end: 0x22ff\n },\n {\n begin: 0x2300,\n end: 0x23ff\n },\n {\n begin: 0x2400,\n end: 0x243f\n },\n {\n begin: 0x2440,\n end: 0x245f\n },\n {\n begin: 0x2460,\n end: 0x24ff\n },\n {\n begin: 0x2500,\n end: 0x257f\n },\n {\n begin: 0x2580,\n end: 0x259f\n },\n {\n begin: 0x25a0,\n end: 0x25ff\n },\n {\n begin: 0x2600,\n end: 0x26ff\n },\n {\n begin: 0x2700,\n end: 0x27bf\n },\n {\n begin: 0x3000,\n end: 0x303f\n },\n {\n begin: 0x3040,\n end: 0x309f\n },\n {\n begin: 0x30a0,\n end: 0x30ff\n },\n {\n begin: 0x3100,\n end: 0x312f\n },\n {\n begin: 0x3130,\n end: 0x318f\n },\n {\n begin: 0xa840,\n end: 0xa87f\n },\n {\n begin: 0x3200,\n end: 0x32ff\n },\n {\n begin: 0x3300,\n end: 0x33ff\n },\n {\n begin: 0xac00,\n end: 0xd7af\n },\n {\n begin: 0xd800,\n end: 0xdfff\n },\n {\n begin: 0x10900,\n end: 0x1091f\n },\n {\n begin: 0x4e00,\n end: 0x9fff\n },\n {\n begin: 0xe000,\n end: 0xf8ff\n },\n {\n begin: 0x31c0,\n end: 0x31ef\n },\n {\n begin: 0xfb00,\n end: 0xfb4f\n },\n {\n begin: 0xfb50,\n end: 0xfdff\n },\n {\n begin: 0xfe20,\n end: 0xfe2f\n },\n {\n begin: 0xfe10,\n end: 0xfe1f\n },\n {\n begin: 0xfe50,\n end: 0xfe6f\n },\n {\n begin: 0xfe70,\n end: 0xfeff\n },\n {\n begin: 0xff00,\n end: 0xffef\n },\n {\n begin: 0xfff0,\n end: 0xffff\n },\n {\n begin: 0x0f00,\n end: 0x0fff\n },\n {\n begin: 0x0700,\n end: 0x074f\n },\n {\n begin: 0x0780,\n end: 0x07bf\n },\n {\n begin: 0x0d80,\n end: 0x0dff\n },\n {\n begin: 0x1000,\n end: 0x109f\n },\n {\n begin: 0x1200,\n end: 0x137f\n },\n {\n begin: 0x13a0,\n end: 0x13ff\n },\n {\n begin: 0x1400,\n end: 0x167f\n },\n {\n begin: 0x1680,\n end: 0x169f\n },\n {\n begin: 0x16a0,\n end: 0x16ff\n },\n {\n begin: 0x1780,\n end: 0x17ff\n },\n {\n begin: 0x1800,\n end: 0x18af\n },\n {\n begin: 0x2800,\n end: 0x28ff\n },\n {\n begin: 0xa000,\n end: 0xa48f\n },\n {\n begin: 0x1700,\n end: 0x171f\n },\n {\n begin: 0x10300,\n end: 0x1032f\n },\n {\n begin: 0x10330,\n end: 0x1034f\n },\n {\n begin: 0x10400,\n end: 0x1044f\n },\n {\n begin: 0x1d000,\n end: 0x1d0ff\n },\n {\n begin: 0x1d400,\n end: 0x1d7ff\n },\n {\n begin: 0xff000,\n end: 0xffffd\n },\n {\n begin: 0xfe00,\n end: 0xfe0f\n },\n {\n begin: 0xe0000,\n end: 0xe007f\n },\n {\n begin: 0x1900,\n end: 0x194f\n },\n {\n begin: 0x1950,\n end: 0x197f\n },\n {\n begin: 0x1980,\n end: 0x19df\n },\n {\n begin: 0x1a00,\n end: 0x1a1f\n },\n {\n begin: 0x2c00,\n end: 0x2c5f\n },\n {\n begin: 0x2d30,\n end: 0x2d7f\n },\n {\n begin: 0x4dc0,\n end: 0x4dff\n },\n {\n begin: 0xa800,\n end: 0xa82f\n },\n {\n begin: 0x10000,\n end: 0x1007f\n },\n {\n begin: 0x10140,\n end: 0x1018f\n },\n {\n begin: 0x10380,\n end: 0x1039f\n },\n {\n begin: 0x103a0,\n end: 0x103df\n },\n {\n begin: 0x10450,\n end: 0x1047f\n },\n {\n begin: 0x10480,\n end: 0x104af\n },\n {\n begin: 0x10800,\n end: 0x1083f\n },\n {\n begin: 0x10a00,\n end: 0x10a5f\n },\n {\n begin: 0x1d300,\n end: 0x1d35f\n },\n {\n begin: 0x12000,\n end: 0x123ff\n },\n {\n begin: 0x1d360,\n end: 0x1d37f\n },\n {\n begin: 0x1b80,\n end: 0x1bbf\n },\n {\n begin: 0x1c00,\n end: 0x1c4f\n },\n {\n begin: 0x1c50,\n end: 0x1c7f\n },\n {\n begin: 0xa880,\n end: 0xa8df\n },\n {\n begin: 0xa900,\n end: 0xa92f\n },\n {\n begin: 0xa930,\n end: 0xa95f\n },\n {\n begin: 0xaa00,\n end: 0xaa5f\n },\n {\n begin: 0x10190,\n end: 0x101cf\n },\n {\n begin: 0x101d0,\n end: 0x101ff\n },\n {\n begin: 0x102a0,\n end: 0x102df\n },\n {\n begin: 0x1f030,\n end: 0x1f09f\n }\n];\nfunction getUnicodeRangeFor(value) {\n for (var i = 0, ii = UnicodeRanges.length; i < ii; i++) {\n var range = UnicodeRanges[i];\n if (value >= range.begin && value < range.end) {\n return i;\n }\n }\n return -1;\n}\nfunction isRTLRangeFor(value) {\n var range = UnicodeRanges[13];\n if (value >= range.begin && value < range.end) {\n return true;\n }\n range = UnicodeRanges[11];\n if (value >= range.begin && value < range.end) {\n return true;\n }\n return false;\n}\nvar getNormalizedUnicodes = getLookupTableFactory(function (t) {\n t[\"\\u00A8\"] = \"\\u0020\\u0308\";\n t[\"\\u00AF\"] = \"\\u0020\\u0304\";\n t[\"\\u00B4\"] = \"\\u0020\\u0301\";\n t[\"\\u00B5\"] = \"\\u03BC\";\n t[\"\\u00B8\"] = \"\\u0020\\u0327\";\n t[\"\\u0132\"] = \"\\u0049\\u004A\";\n t[\"\\u0133\"] = \"\\u0069\\u006A\";\n t[\"\\u013F\"] = \"\\u004C\\u00B7\";\n t[\"\\u0140\"] = \"\\u006C\\u00B7\";\n t[\"\\u0149\"] = \"\\u02BC\\u006E\";\n t[\"\\u017F\"] = \"\\u0073\";\n t[\"\\u01C4\"] = \"\\u0044\\u017D\";\n t[\"\\u01C5\"] = \"\\u0044\\u017E\";\n t[\"\\u01C6\"] = \"\\u0064\\u017E\";\n t[\"\\u01C7\"] = \"\\u004C\\u004A\";\n t[\"\\u01C8\"] = \"\\u004C\\u006A\";\n t[\"\\u01C9\"] = \"\\u006C\\u006A\";\n t[\"\\u01CA\"] = \"\\u004E\\u004A\";\n t[\"\\u01CB\"] = \"\\u004E\\u006A\";\n t[\"\\u01CC\"] = \"\\u006E\\u006A\";\n t[\"\\u01F1\"] = \"\\u0044\\u005A\";\n t[\"\\u01F2\"] = \"\\u0044\\u007A\";\n t[\"\\u01F3\"] = \"\\u0064\\u007A\";\n t[\"\\u02D8\"] = \"\\u0020\\u0306\";\n t[\"\\u02D9\"] = \"\\u0020\\u0307\";\n t[\"\\u02DA\"] = \"\\u0020\\u030A\";\n t[\"\\u02DB\"] = \"\\u0020\\u0328\";\n t[\"\\u02DC\"] = \"\\u0020\\u0303\";\n t[\"\\u02DD\"] = \"\\u0020\\u030B\";\n t[\"\\u037A\"] = \"\\u0020\\u0345\";\n t[\"\\u0384\"] = \"\\u0020\\u0301\";\n t[\"\\u03D0\"] = \"\\u03B2\";\n t[\"\\u03D1\"] = \"\\u03B8\";\n t[\"\\u03D2\"] = \"\\u03A5\";\n t[\"\\u03D5\"] = \"\\u03C6\";\n t[\"\\u03D6\"] = \"\\u03C0\";\n t[\"\\u03F0\"] = \"\\u03BA\";\n t[\"\\u03F1\"] = \"\\u03C1\";\n t[\"\\u03F2\"] = \"\\u03C2\";\n t[\"\\u03F4\"] = \"\\u0398\";\n t[\"\\u03F5\"] = \"\\u03B5\";\n t[\"\\u03F9\"] = \"\\u03A3\";\n t[\"\\u0587\"] = \"\\u0565\\u0582\";\n t[\"\\u0675\"] = \"\\u0627\\u0674\";\n t[\"\\u0676\"] = \"\\u0648\\u0674\";\n t[\"\\u0677\"] = \"\\u06C7\\u0674\";\n t[\"\\u0678\"] = \"\\u064A\\u0674\";\n t[\"\\u0E33\"] = \"\\u0E4D\\u0E32\";\n t[\"\\u0EB3\"] = \"\\u0ECD\\u0EB2\";\n t[\"\\u0EDC\"] = \"\\u0EAB\\u0E99\";\n t[\"\\u0EDD\"] = \"\\u0EAB\\u0EA1\";\n t[\"\\u0F77\"] = \"\\u0FB2\\u0F81\";\n t[\"\\u0F79\"] = \"\\u0FB3\\u0F81\";\n t[\"\\u1E9A\"] = \"\\u0061\\u02BE\";\n t[\"\\u1FBD\"] = \"\\u0020\\u0313\";\n t[\"\\u1FBF\"] = \"\\u0020\\u0313\";\n t[\"\\u1FC0\"] = \"\\u0020\\u0342\";\n t[\"\\u1FFE\"] = \"\\u0020\\u0314\";\n t[\"\\u2002\"] = \"\\u0020\";\n t[\"\\u2003\"] = \"\\u0020\";\n t[\"\\u2004\"] = \"\\u0020\";\n t[\"\\u2005\"] = \"\\u0020\";\n t[\"\\u2006\"] = \"\\u0020\";\n t[\"\\u2008\"] = \"\\u0020\";\n t[\"\\u2009\"] = \"\\u0020\";\n t[\"\\u200A\"] = \"\\u0020\";\n t[\"\\u2017\"] = \"\\u0020\\u0333\";\n t[\"\\u2024\"] = \"\\u002E\";\n t[\"\\u2025\"] = \"\\u002E\\u002E\";\n t[\"\\u2026\"] = \"\\u002E\\u002E\\u002E\";\n t[\"\\u2033\"] = \"\\u2032\\u2032\";\n t[\"\\u2034\"] = \"\\u2032\\u2032\\u2032\";\n t[\"\\u2036\"] = \"\\u2035\\u2035\";\n t[\"\\u2037\"] = \"\\u2035\\u2035\\u2035\";\n t[\"\\u203C\"] = \"\\u0021\\u0021\";\n t[\"\\u203E\"] = \"\\u0020\\u0305\";\n t[\"\\u2047\"] = \"\\u003F\\u003F\";\n t[\"\\u2048\"] = \"\\u003F\\u0021\";\n t[\"\\u2049\"] = \"\\u0021\\u003F\";\n t[\"\\u2057\"] = \"\\u2032\\u2032\\u2032\\u2032\";\n t[\"\\u205F\"] = \"\\u0020\";\n t[\"\\u20A8\"] = \"\\u0052\\u0073\";\n t[\"\\u2100\"] = \"\\u0061\\u002F\\u0063\";\n t[\"\\u2101\"] = \"\\u0061\\u002F\\u0073\";\n t[\"\\u2103\"] = \"\\u00B0\\u0043\";\n t[\"\\u2105\"] = \"\\u0063\\u002F\\u006F\";\n t[\"\\u2106\"] = \"\\u0063\\u002F\\u0075\";\n t[\"\\u2107\"] = \"\\u0190\";\n t[\"\\u2109\"] = \"\\u00B0\\u0046\";\n t[\"\\u2116\"] = \"\\u004E\\u006F\";\n t[\"\\u2121\"] = \"\\u0054\\u0045\\u004C\";\n t[\"\\u2135\"] = \"\\u05D0\";\n t[\"\\u2136\"] = \"\\u05D1\";\n t[\"\\u2137\"] = \"\\u05D2\";\n t[\"\\u2138\"] = \"\\u05D3\";\n t[\"\\u213B\"] = \"\\u0046\\u0041\\u0058\";\n t[\"\\u2160\"] = \"\\u0049\";\n t[\"\\u2161\"] = \"\\u0049\\u0049\";\n t[\"\\u2162\"] = \"\\u0049\\u0049\\u0049\";\n t[\"\\u2163\"] = \"\\u0049\\u0056\";\n t[\"\\u2164\"] = \"\\u0056\";\n t[\"\\u2165\"] = \"\\u0056\\u0049\";\n t[\"\\u2166\"] = \"\\u0056\\u0049\\u0049\";\n t[\"\\u2167\"] = \"\\u0056\\u0049\\u0049\\u0049\";\n t[\"\\u2168\"] = \"\\u0049\\u0058\";\n t[\"\\u2169\"] = \"\\u0058\";\n t[\"\\u216A\"] = \"\\u0058\\u0049\";\n t[\"\\u216B\"] = \"\\u0058\\u0049\\u0049\";\n t[\"\\u216C\"] = \"\\u004C\";\n t[\"\\u216D\"] = \"\\u0043\";\n t[\"\\u216E\"] = \"\\u0044\";\n t[\"\\u216F\"] = \"\\u004D\";\n t[\"\\u2170\"] = \"\\u0069\";\n t[\"\\u2171\"] = \"\\u0069\\u0069\";\n t[\"\\u2172\"] = \"\\u0069\\u0069\\u0069\";\n t[\"\\u2173\"] = \"\\u0069\\u0076\";\n t[\"\\u2174\"] = \"\\u0076\";\n t[\"\\u2175\"] = \"\\u0076\\u0069\";\n t[\"\\u2176\"] = \"\\u0076\\u0069\\u0069\";\n t[\"\\u2177\"] = \"\\u0076\\u0069\\u0069\\u0069\";\n t[\"\\u2178\"] = \"\\u0069\\u0078\";\n t[\"\\u2179\"] = \"\\u0078\";\n t[\"\\u217A\"] = \"\\u0078\\u0069\";\n t[\"\\u217B\"] = \"\\u0078\\u0069\\u0069\";\n t[\"\\u217C\"] = \"\\u006C\";\n t[\"\\u217D\"] = \"\\u0063\";\n t[\"\\u217E\"] = \"\\u0064\";\n t[\"\\u217F\"] = \"\\u006D\";\n t[\"\\u222C\"] = \"\\u222B\\u222B\";\n t[\"\\u222D\"] = \"\\u222B\\u222B\\u222B\";\n t[\"\\u222F\"] = \"\\u222E\\u222E\";\n t[\"\\u2230\"] = \"\\u222E\\u222E\\u222E\";\n t[\"\\u2474\"] = \"\\u0028\\u0031\\u0029\";\n t[\"\\u2475\"] = \"\\u0028\\u0032\\u0029\";\n t[\"\\u2476\"] = \"\\u0028\\u0033\\u0029\";\n t[\"\\u2477\"] = \"\\u0028\\u0034\\u0029\";\n t[\"\\u2478\"] = \"\\u0028\\u0035\\u0029\";\n t[\"\\u2479\"] = \"\\u0028\\u0036\\u0029\";\n t[\"\\u247A\"] = \"\\u0028\\u0037\\u0029\";\n t[\"\\u247B\"] = \"\\u0028\\u0038\\u0029\";\n t[\"\\u247C\"] = \"\\u0028\\u0039\\u0029\";\n t[\"\\u247D\"] = \"\\u0028\\u0031\\u0030\\u0029\";\n t[\"\\u247E\"] = \"\\u0028\\u0031\\u0031\\u0029\";\n t[\"\\u247F\"] = \"\\u0028\\u0031\\u0032\\u0029\";\n t[\"\\u2480\"] = \"\\u0028\\u0031\\u0033\\u0029\";\n t[\"\\u2481\"] = \"\\u0028\\u0031\\u0034\\u0029\";\n t[\"\\u2482\"] = \"\\u0028\\u0031\\u0035\\u0029\";\n t[\"\\u2483\"] = \"\\u0028\\u0031\\u0036\\u0029\";\n t[\"\\u2484\"] = \"\\u0028\\u0031\\u0037\\u0029\";\n t[\"\\u2485\"] = \"\\u0028\\u0031\\u0038\\u0029\";\n t[\"\\u2486\"] = \"\\u0028\\u0031\\u0039\\u0029\";\n t[\"\\u2487\"] = \"\\u0028\\u0032\\u0030\\u0029\";\n t[\"\\u2488\"] = \"\\u0031\\u002E\";\n t[\"\\u2489\"] = \"\\u0032\\u002E\";\n t[\"\\u248A\"] = \"\\u0033\\u002E\";\n t[\"\\u248B\"] = \"\\u0034\\u002E\";\n t[\"\\u248C\"] = \"\\u0035\\u002E\";\n t[\"\\u248D\"] = \"\\u0036\\u002E\";\n t[\"\\u248E\"] = \"\\u0037\\u002E\";\n t[\"\\u248F\"] = \"\\u0038\\u002E\";\n t[\"\\u2490\"] = \"\\u0039\\u002E\";\n t[\"\\u2491\"] = \"\\u0031\\u0030\\u002E\";\n t[\"\\u2492\"] = \"\\u0031\\u0031\\u002E\";\n t[\"\\u2493\"] = \"\\u0031\\u0032\\u002E\";\n t[\"\\u2494\"] = \"\\u0031\\u0033\\u002E\";\n t[\"\\u2495\"] = \"\\u0031\\u0034\\u002E\";\n t[\"\\u2496\"] = \"\\u0031\\u0035\\u002E\";\n t[\"\\u2497\"] = \"\\u0031\\u0036\\u002E\";\n t[\"\\u2498\"] = \"\\u0031\\u0037\\u002E\";\n t[\"\\u2499\"] = \"\\u0031\\u0038\\u002E\";\n t[\"\\u249A\"] = \"\\u0031\\u0039\\u002E\";\n t[\"\\u249B\"] = \"\\u0032\\u0030\\u002E\";\n t[\"\\u249C\"] = \"\\u0028\\u0061\\u0029\";\n t[\"\\u249D\"] = \"\\u0028\\u0062\\u0029\";\n t[\"\\u249E\"] = \"\\u0028\\u0063\\u0029\";\n t[\"\\u249F\"] = \"\\u0028\\u0064\\u0029\";\n t[\"\\u24A0\"] = \"\\u0028\\u0065\\u0029\";\n t[\"\\u24A1\"] = \"\\u0028\\u0066\\u0029\";\n t[\"\\u24A2\"] = \"\\u0028\\u0067\\u0029\";\n t[\"\\u24A3\"] = \"\\u0028\\u0068\\u0029\";\n t[\"\\u24A4\"] = \"\\u0028\\u0069\\u0029\";\n t[\"\\u24A5\"] = \"\\u0028\\u006A\\u0029\";\n t[\"\\u24A6\"] = \"\\u0028\\u006B\\u0029\";\n t[\"\\u24A7\"] = \"\\u0028\\u006C\\u0029\";\n t[\"\\u24A8\"] = \"\\u0028\\u006D\\u0029\";\n t[\"\\u24A9\"] = \"\\u0028\\u006E\\u0029\";\n t[\"\\u24AA\"] = \"\\u0028\\u006F\\u0029\";\n t[\"\\u24AB\"] = \"\\u0028\\u0070\\u0029\";\n t[\"\\u24AC\"] = \"\\u0028\\u0071\\u0029\";\n t[\"\\u24AD\"] = \"\\u0028\\u0072\\u0029\";\n t[\"\\u24AE\"] = \"\\u0028\\u0073\\u0029\";\n t[\"\\u24AF\"] = \"\\u0028\\u0074\\u0029\";\n t[\"\\u24B0\"] = \"\\u0028\\u0075\\u0029\";\n t[\"\\u24B1\"] = \"\\u0028\\u0076\\u0029\";\n t[\"\\u24B2\"] = \"\\u0028\\u0077\\u0029\";\n t[\"\\u24B3\"] = \"\\u0028\\u0078\\u0029\";\n t[\"\\u24B4\"] = \"\\u0028\\u0079\\u0029\";\n t[\"\\u24B5\"] = \"\\u0028\\u007A\\u0029\";\n t[\"\\u2A0C\"] = \"\\u222B\\u222B\\u222B\\u222B\";\n t[\"\\u2A74\"] = \"\\u003A\\u003A\\u003D\";\n t[\"\\u2A75\"] = \"\\u003D\\u003D\";\n t[\"\\u2A76\"] = \"\\u003D\\u003D\\u003D\";\n t[\"\\u2E9F\"] = \"\\u6BCD\";\n t[\"\\u2EF3\"] = \"\\u9F9F\";\n t[\"\\u2F00\"] = \"\\u4E00\";\n t[\"\\u2F01\"] = \"\\u4E28\";\n t[\"\\u2F02\"] = \"\\u4E36\";\n t[\"\\u2F03\"] = \"\\u4E3F\";\n t[\"\\u2F04\"] = \"\\u4E59\";\n t[\"\\u2F05\"] = \"\\u4E85\";\n t[\"\\u2F06\"] = \"\\u4E8C\";\n t[\"\\u2F07\"] = \"\\u4EA0\";\n t[\"\\u2F08\"] = \"\\u4EBA\";\n t[\"\\u2F09\"] = \"\\u513F\";\n t[\"\\u2F0A\"] = \"\\u5165\";\n t[\"\\u2F0B\"] = \"\\u516B\";\n t[\"\\u2F0C\"] = \"\\u5182\";\n t[\"\\u2F0D\"] = \"\\u5196\";\n t[\"\\u2F0E\"] = \"\\u51AB\";\n t[\"\\u2F0F\"] = \"\\u51E0\";\n t[\"\\u2F10\"] = \"\\u51F5\";\n t[\"\\u2F11\"] = \"\\u5200\";\n t[\"\\u2F12\"] = \"\\u529B\";\n t[\"\\u2F13\"] = \"\\u52F9\";\n t[\"\\u2F14\"] = \"\\u5315\";\n t[\"\\u2F15\"] = \"\\u531A\";\n t[\"\\u2F16\"] = \"\\u5338\";\n t[\"\\u2F17\"] = \"\\u5341\";\n t[\"\\u2F18\"] = \"\\u535C\";\n t[\"\\u2F19\"] = \"\\u5369\";\n t[\"\\u2F1A\"] = \"\\u5382\";\n t[\"\\u2F1B\"] = \"\\u53B6\";\n t[\"\\u2F1C\"] = \"\\u53C8\";\n t[\"\\u2F1D\"] = \"\\u53E3\";\n t[\"\\u2F1E\"] = \"\\u56D7\";\n t[\"\\u2F1F\"] = \"\\u571F\";\n t[\"\\u2F20\"] = \"\\u58EB\";\n t[\"\\u2F21\"] = \"\\u5902\";\n t[\"\\u2F22\"] = \"\\u590A\";\n t[\"\\u2F23\"] = \"\\u5915\";\n t[\"\\u2F24\"] = \"\\u5927\";\n t[\"\\u2F25\"] = \"\\u5973\";\n t[\"\\u2F26\"] = \"\\u5B50\";\n t[\"\\u2F27\"] = \"\\u5B80\";\n t[\"\\u2F28\"] = \"\\u5BF8\";\n t[\"\\u2F29\"] = \"\\u5C0F\";\n t[\"\\u2F2A\"] = \"\\u5C22\";\n t[\"\\u2F2B\"] = \"\\u5C38\";\n t[\"\\u2F2C\"] = \"\\u5C6E\";\n t[\"\\u2F2D\"] = \"\\u5C71\";\n t[\"\\u2F2E\"] = \"\\u5DDB\";\n t[\"\\u2F2F\"] = \"\\u5DE5\";\n t[\"\\u2F30\"] = \"\\u5DF1\";\n t[\"\\u2F31\"] = \"\\u5DFE\";\n t[\"\\u2F32\"] = \"\\u5E72\";\n t[\"\\u2F33\"] = \"\\u5E7A\";\n t[\"\\u2F34\"] = \"\\u5E7F\";\n t[\"\\u2F35\"] = \"\\u5EF4\";\n t[\"\\u2F36\"] = \"\\u5EFE\";\n t[\"\\u2F37\"] = \"\\u5F0B\";\n t[\"\\u2F38\"] = \"\\u5F13\";\n t[\"\\u2F39\"] = \"\\u5F50\";\n t[\"\\u2F3A\"] = \"\\u5F61\";\n t[\"\\u2F3B\"] = \"\\u5F73\";\n t[\"\\u2F3C\"] = \"\\u5FC3\";\n t[\"\\u2F3D\"] = \"\\u6208\";\n t[\"\\u2F3E\"] = \"\\u6236\";\n t[\"\\u2F3F\"] = \"\\u624B\";\n t[\"\\u2F40\"] = \"\\u652F\";\n t[\"\\u2F41\"] = \"\\u6534\";\n t[\"\\u2F42\"] = \"\\u6587\";\n t[\"\\u2F43\"] = \"\\u6597\";\n t[\"\\u2F44\"] = \"\\u65A4\";\n t[\"\\u2F45\"] = \"\\u65B9\";\n t[\"\\u2F46\"] = \"\\u65E0\";\n t[\"\\u2F47\"] = \"\\u65E5\";\n t[\"\\u2F48\"] = \"\\u66F0\";\n t[\"\\u2F49\"] = \"\\u6708\";\n t[\"\\u2F4A\"] = \"\\u6728\";\n t[\"\\u2F4B\"] = \"\\u6B20\";\n t[\"\\u2F4C\"] = \"\\u6B62\";\n t[\"\\u2F4D\"] = \"\\u6B79\";\n t[\"\\u2F4E\"] = \"\\u6BB3\";\n t[\"\\u2F4F\"] = \"\\u6BCB\";\n t[\"\\u2F50\"] = \"\\u6BD4\";\n t[\"\\u2F51\"] = \"\\u6BDB\";\n t[\"\\u2F52\"] = \"\\u6C0F\";\n t[\"\\u2F53\"] = \"\\u6C14\";\n t[\"\\u2F54\"] = \"\\u6C34\";\n t[\"\\u2F55\"] = \"\\u706B\";\n t[\"\\u2F56\"] = \"\\u722A\";\n t[\"\\u2F57\"] = \"\\u7236\";\n t[\"\\u2F58\"] = \"\\u723B\";\n t[\"\\u2F59\"] = \"\\u723F\";\n t[\"\\u2F5A\"] = \"\\u7247\";\n t[\"\\u2F5B\"] = \"\\u7259\";\n t[\"\\u2F5C\"] = \"\\u725B\";\n t[\"\\u2F5D\"] = \"\\u72AC\";\n t[\"\\u2F5E\"] = \"\\u7384\";\n t[\"\\u2F5F\"] = \"\\u7389\";\n t[\"\\u2F60\"] = \"\\u74DC\";\n t[\"\\u2F61\"] = \"\\u74E6\";\n t[\"\\u2F62\"] = \"\\u7518\";\n t[\"\\u2F63\"] = \"\\u751F\";\n t[\"\\u2F64\"] = \"\\u7528\";\n t[\"\\u2F65\"] = \"\\u7530\";\n t[\"\\u2F66\"] = \"\\u758B\";\n t[\"\\u2F67\"] = \"\\u7592\";\n t[\"\\u2F68\"] = \"\\u7676\";\n t[\"\\u2F69\"] = \"\\u767D\";\n t[\"\\u2F6A\"] = \"\\u76AE\";\n t[\"\\u2F6B\"] = \"\\u76BF\";\n t[\"\\u2F6C\"] = \"\\u76EE\";\n t[\"\\u2F6D\"] = \"\\u77DB\";\n t[\"\\u2F6E\"] = \"\\u77E2\";\n t[\"\\u2F6F\"] = \"\\u77F3\";\n t[\"\\u2F70\"] = \"\\u793A\";\n t[\"\\u2F71\"] = \"\\u79B8\";\n t[\"\\u2F72\"] = \"\\u79BE\";\n t[\"\\u2F73\"] = \"\\u7A74\";\n t[\"\\u2F74\"] = \"\\u7ACB\";\n t[\"\\u2F75\"] = \"\\u7AF9\";\n t[\"\\u2F76\"] = \"\\u7C73\";\n t[\"\\u2F77\"] = \"\\u7CF8\";\n t[\"\\u2F78\"] = \"\\u7F36\";\n t[\"\\u2F79\"] = \"\\u7F51\";\n t[\"\\u2F7A\"] = \"\\u7F8A\";\n t[\"\\u2F7B\"] = \"\\u7FBD\";\n t[\"\\u2F7C\"] = \"\\u8001\";\n t[\"\\u2F7D\"] = \"\\u800C\";\n t[\"\\u2F7E\"] = \"\\u8012\";\n t[\"\\u2F7F\"] = \"\\u8033\";\n t[\"\\u2F80\"] = \"\\u807F\";\n t[\"\\u2F81\"] = \"\\u8089\";\n t[\"\\u2F82\"] = \"\\u81E3\";\n t[\"\\u2F83\"] = \"\\u81EA\";\n t[\"\\u2F84\"] = \"\\u81F3\";\n t[\"\\u2F85\"] = \"\\u81FC\";\n t[\"\\u2F86\"] = \"\\u820C\";\n t[\"\\u2F87\"] = \"\\u821B\";\n t[\"\\u2F88\"] = \"\\u821F\";\n t[\"\\u2F89\"] = \"\\u826E\";\n t[\"\\u2F8A\"] = \"\\u8272\";\n t[\"\\u2F8B\"] = \"\\u8278\";\n t[\"\\u2F8C\"] = \"\\u864D\";\n t[\"\\u2F8D\"] = \"\\u866B\";\n t[\"\\u2F8E\"] = \"\\u8840\";\n t[\"\\u2F8F\"] = \"\\u884C\";\n t[\"\\u2F90\"] = \"\\u8863\";\n t[\"\\u2F91\"] = \"\\u897E\";\n t[\"\\u2F92\"] = \"\\u898B\";\n t[\"\\u2F93\"] = \"\\u89D2\";\n t[\"\\u2F94\"] = \"\\u8A00\";\n t[\"\\u2F95\"] = \"\\u8C37\";\n t[\"\\u2F96\"] = \"\\u8C46\";\n t[\"\\u2F97\"] = \"\\u8C55\";\n t[\"\\u2F98\"] = \"\\u8C78\";\n t[\"\\u2F99\"] = \"\\u8C9D\";\n t[\"\\u2F9A\"] = \"\\u8D64\";\n t[\"\\u2F9B\"] = \"\\u8D70\";\n t[\"\\u2F9C\"] = \"\\u8DB3\";\n t[\"\\u2F9D\"] = \"\\u8EAB\";\n t[\"\\u2F9E\"] = \"\\u8ECA\";\n t[\"\\u2F9F\"] = \"\\u8F9B\";\n t[\"\\u2FA0\"] = \"\\u8FB0\";\n t[\"\\u2FA1\"] = \"\\u8FB5\";\n t[\"\\u2FA2\"] = \"\\u9091\";\n t[\"\\u2FA3\"] = \"\\u9149\";\n t[\"\\u2FA4\"] = \"\\u91C6\";\n t[\"\\u2FA5\"] = \"\\u91CC\";\n t[\"\\u2FA6\"] = \"\\u91D1\";\n t[\"\\u2FA7\"] = \"\\u9577\";\n t[\"\\u2FA8\"] = \"\\u9580\";\n t[\"\\u2FA9\"] = \"\\u961C\";\n t[\"\\u2FAA\"] = \"\\u96B6\";\n t[\"\\u2FAB\"] = \"\\u96B9\";\n t[\"\\u2FAC\"] = \"\\u96E8\";\n t[\"\\u2FAD\"] = \"\\u9751\";\n t[\"\\u2FAE\"] = \"\\u975E\";\n t[\"\\u2FAF\"] = \"\\u9762\";\n t[\"\\u2FB0\"] = \"\\u9769\";\n t[\"\\u2FB1\"] = \"\\u97CB\";\n t[\"\\u2FB2\"] = \"\\u97ED\";\n t[\"\\u2FB3\"] = \"\\u97F3\";\n t[\"\\u2FB4\"] = \"\\u9801\";\n t[\"\\u2FB5\"] = \"\\u98A8\";\n t[\"\\u2FB6\"] = \"\\u98DB\";\n t[\"\\u2FB7\"] = \"\\u98DF\";\n t[\"\\u2FB8\"] = \"\\u9996\";\n t[\"\\u2FB9\"] = \"\\u9999\";\n t[\"\\u2FBA\"] = \"\\u99AC\";\n t[\"\\u2FBB\"] = \"\\u9AA8\";\n t[\"\\u2FBC\"] = \"\\u9AD8\";\n t[\"\\u2FBD\"] = \"\\u9ADF\";\n t[\"\\u2FBE\"] = \"\\u9B25\";\n t[\"\\u2FBF\"] = \"\\u9B2F\";\n t[\"\\u2FC0\"] = \"\\u9B32\";\n t[\"\\u2FC1\"] = \"\\u9B3C\";\n t[\"\\u2FC2\"] = \"\\u9B5A\";\n t[\"\\u2FC3\"] = \"\\u9CE5\";\n t[\"\\u2FC4\"] = \"\\u9E75\";\n t[\"\\u2FC5\"] = \"\\u9E7F\";\n t[\"\\u2FC6\"] = \"\\u9EA5\";\n t[\"\\u2FC7\"] = \"\\u9EBB\";\n t[\"\\u2FC8\"] = \"\\u9EC3\";\n t[\"\\u2FC9\"] = \"\\u9ECD\";\n t[\"\\u2FCA\"] = \"\\u9ED1\";\n t[\"\\u2FCB\"] = \"\\u9EF9\";\n t[\"\\u2FCC\"] = \"\\u9EFD\";\n t[\"\\u2FCD\"] = \"\\u9F0E\";\n t[\"\\u2FCE\"] = \"\\u9F13\";\n t[\"\\u2FCF\"] = \"\\u9F20\";\n t[\"\\u2FD0\"] = \"\\u9F3B\";\n t[\"\\u2FD1\"] = \"\\u9F4A\";\n t[\"\\u2FD2\"] = \"\\u9F52\";\n t[\"\\u2FD3\"] = \"\\u9F8D\";\n t[\"\\u2FD4\"] = \"\\u9F9C\";\n t[\"\\u2FD5\"] = \"\\u9FA0\";\n t[\"\\u3036\"] = \"\\u3012\";\n t[\"\\u3038\"] = \"\\u5341\";\n t[\"\\u3039\"] = \"\\u5344\";\n t[\"\\u303A\"] = \"\\u5345\";\n t[\"\\u309B\"] = \"\\u0020\\u3099\";\n t[\"\\u309C\"] = \"\\u0020\\u309A\";\n t[\"\\u3131\"] = \"\\u1100\";\n t[\"\\u3132\"] = \"\\u1101\";\n t[\"\\u3133\"] = \"\\u11AA\";\n t[\"\\u3134\"] = \"\\u1102\";\n t[\"\\u3135\"] = \"\\u11AC\";\n t[\"\\u3136\"] = \"\\u11AD\";\n t[\"\\u3137\"] = \"\\u1103\";\n t[\"\\u3138\"] = \"\\u1104\";\n t[\"\\u3139\"] = \"\\u1105\";\n t[\"\\u313A\"] = \"\\u11B0\";\n t[\"\\u313B\"] = \"\\u11B1\";\n t[\"\\u313C\"] = \"\\u11B2\";\n t[\"\\u313D\"] = \"\\u11B3\";\n t[\"\\u313E\"] = \"\\u11B4\";\n t[\"\\u313F\"] = \"\\u11B5\";\n t[\"\\u3140\"] = \"\\u111A\";\n t[\"\\u3141\"] = \"\\u1106\";\n t[\"\\u3142\"] = \"\\u1107\";\n t[\"\\u3143\"] = \"\\u1108\";\n t[\"\\u3144\"] = \"\\u1121\";\n t[\"\\u3145\"] = \"\\u1109\";\n t[\"\\u3146\"] = \"\\u110A\";\n t[\"\\u3147\"] = \"\\u110B\";\n t[\"\\u3148\"] = \"\\u110C\";\n t[\"\\u3149\"] = \"\\u110D\";\n t[\"\\u314A\"] = \"\\u110E\";\n t[\"\\u314B\"] = \"\\u110F\";\n t[\"\\u314C\"] = \"\\u1110\";\n t[\"\\u314D\"] = \"\\u1111\";\n t[\"\\u314E\"] = \"\\u1112\";\n t[\"\\u314F\"] = \"\\u1161\";\n t[\"\\u3150\"] = \"\\u1162\";\n t[\"\\u3151\"] = \"\\u1163\";\n t[\"\\u3152\"] = \"\\u1164\";\n t[\"\\u3153\"] = \"\\u1165\";\n t[\"\\u3154\"] = \"\\u1166\";\n t[\"\\u3155\"] = \"\\u1167\";\n t[\"\\u3156\"] = \"\\u1168\";\n t[\"\\u3157\"] = \"\\u1169\";\n t[\"\\u3158\"] = \"\\u116A\";\n t[\"\\u3159\"] = \"\\u116B\";\n t[\"\\u315A\"] = \"\\u116C\";\n t[\"\\u315B\"] = \"\\u116D\";\n t[\"\\u315C\"] = \"\\u116E\";\n t[\"\\u315D\"] = \"\\u116F\";\n t[\"\\u315E\"] = \"\\u1170\";\n t[\"\\u315F\"] = \"\\u1171\";\n t[\"\\u3160\"] = \"\\u1172\";\n t[\"\\u3161\"] = \"\\u1173\";\n t[\"\\u3162\"] = \"\\u1174\";\n t[\"\\u3163\"] = \"\\u1175\";\n t[\"\\u3164\"] = \"\\u1160\";\n t[\"\\u3165\"] = \"\\u1114\";\n t[\"\\u3166\"] = \"\\u1115\";\n t[\"\\u3167\"] = \"\\u11C7\";\n t[\"\\u3168\"] = \"\\u11C8\";\n t[\"\\u3169\"] = \"\\u11CC\";\n t[\"\\u316A\"] = \"\\u11CE\";\n t[\"\\u316B\"] = \"\\u11D3\";\n t[\"\\u316C\"] = \"\\u11D7\";\n t[\"\\u316D\"] = \"\\u11D9\";\n t[\"\\u316E\"] = \"\\u111C\";\n t[\"\\u316F\"] = \"\\u11DD\";\n t[\"\\u3170\"] = \"\\u11DF\";\n t[\"\\u3171\"] = \"\\u111D\";\n t[\"\\u3172\"] = \"\\u111E\";\n t[\"\\u3173\"] = \"\\u1120\";\n t[\"\\u3174\"] = \"\\u1122\";\n t[\"\\u3175\"] = \"\\u1123\";\n t[\"\\u3176\"] = \"\\u1127\";\n t[\"\\u3177\"] = \"\\u1129\";\n t[\"\\u3178\"] = \"\\u112B\";\n t[\"\\u3179\"] = \"\\u112C\";\n t[\"\\u317A\"] = \"\\u112D\";\n t[\"\\u317B\"] = \"\\u112E\";\n t[\"\\u317C\"] = \"\\u112F\";\n t[\"\\u317D\"] = \"\\u1132\";\n t[\"\\u317E\"] = \"\\u1136\";\n t[\"\\u317F\"] = \"\\u1140\";\n t[\"\\u3180\"] = \"\\u1147\";\n t[\"\\u3181\"] = \"\\u114C\";\n t[\"\\u3182\"] = \"\\u11F1\";\n t[\"\\u3183\"] = \"\\u11F2\";\n t[\"\\u3184\"] = \"\\u1157\";\n t[\"\\u3185\"] = \"\\u1158\";\n t[\"\\u3186\"] = \"\\u1159\";\n t[\"\\u3187\"] = \"\\u1184\";\n t[\"\\u3188\"] = \"\\u1185\";\n t[\"\\u3189\"] = \"\\u1188\";\n t[\"\\u318A\"] = \"\\u1191\";\n t[\"\\u318B\"] = \"\\u1192\";\n t[\"\\u318C\"] = \"\\u1194\";\n t[\"\\u318D\"] = \"\\u119E\";\n t[\"\\u318E\"] = \"\\u11A1\";\n t[\"\\u3200\"] = \"\\u0028\\u1100\\u0029\";\n t[\"\\u3201\"] = \"\\u0028\\u1102\\u0029\";\n t[\"\\u3202\"] = \"\\u0028\\u1103\\u0029\";\n t[\"\\u3203\"] = \"\\u0028\\u1105\\u0029\";\n t[\"\\u3204\"] = \"\\u0028\\u1106\\u0029\";\n t[\"\\u3205\"] = \"\\u0028\\u1107\\u0029\";\n t[\"\\u3206\"] = \"\\u0028\\u1109\\u0029\";\n t[\"\\u3207\"] = \"\\u0028\\u110B\\u0029\";\n t[\"\\u3208\"] = \"\\u0028\\u110C\\u0029\";\n t[\"\\u3209\"] = \"\\u0028\\u110E\\u0029\";\n t[\"\\u320A\"] = \"\\u0028\\u110F\\u0029\";\n t[\"\\u320B\"] = \"\\u0028\\u1110\\u0029\";\n t[\"\\u320C\"] = \"\\u0028\\u1111\\u0029\";\n t[\"\\u320D\"] = \"\\u0028\\u1112\\u0029\";\n t[\"\\u320E\"] = \"\\u0028\\u1100\\u1161\\u0029\";\n t[\"\\u320F\"] = \"\\u0028\\u1102\\u1161\\u0029\";\n t[\"\\u3210\"] = \"\\u0028\\u1103\\u1161\\u0029\";\n t[\"\\u3211\"] = \"\\u0028\\u1105\\u1161\\u0029\";\n t[\"\\u3212\"] = \"\\u0028\\u1106\\u1161\\u0029\";\n t[\"\\u3213\"] = \"\\u0028\\u1107\\u1161\\u0029\";\n t[\"\\u3214\"] = \"\\u0028\\u1109\\u1161\\u0029\";\n t[\"\\u3215\"] = \"\\u0028\\u110B\\u1161\\u0029\";\n t[\"\\u3216\"] = \"\\u0028\\u110C\\u1161\\u0029\";\n t[\"\\u3217\"] = \"\\u0028\\u110E\\u1161\\u0029\";\n t[\"\\u3218\"] = \"\\u0028\\u110F\\u1161\\u0029\";\n t[\"\\u3219\"] = \"\\u0028\\u1110\\u1161\\u0029\";\n t[\"\\u321A\"] = \"\\u0028\\u1111\\u1161\\u0029\";\n t[\"\\u321B\"] = \"\\u0028\\u1112\\u1161\\u0029\";\n t[\"\\u321C\"] = \"\\u0028\\u110C\\u116E\\u0029\";\n t[\"\\u321D\"] = \"\\u0028\\u110B\\u1169\\u110C\\u1165\\u11AB\\u0029\";\n t[\"\\u321E\"] = \"\\u0028\\u110B\\u1169\\u1112\\u116E\\u0029\";\n t[\"\\u3220\"] = \"\\u0028\\u4E00\\u0029\";\n t[\"\\u3221\"] = \"\\u0028\\u4E8C\\u0029\";\n t[\"\\u3222\"] = \"\\u0028\\u4E09\\u0029\";\n t[\"\\u3223\"] = \"\\u0028\\u56DB\\u0029\";\n t[\"\\u3224\"] = \"\\u0028\\u4E94\\u0029\";\n t[\"\\u3225\"] = \"\\u0028\\u516D\\u0029\";\n t[\"\\u3226\"] = \"\\u0028\\u4E03\\u0029\";\n t[\"\\u3227\"] = \"\\u0028\\u516B\\u0029\";\n t[\"\\u3228\"] = \"\\u0028\\u4E5D\\u0029\";\n t[\"\\u3229\"] = \"\\u0028\\u5341\\u0029\";\n t[\"\\u322A\"] = \"\\u0028\\u6708\\u0029\";\n t[\"\\u322B\"] = \"\\u0028\\u706B\\u0029\";\n t[\"\\u322C\"] = \"\\u0028\\u6C34\\u0029\";\n t[\"\\u322D\"] = \"\\u0028\\u6728\\u0029\";\n t[\"\\u322E\"] = \"\\u0028\\u91D1\\u0029\";\n t[\"\\u322F\"] = \"\\u0028\\u571F\\u0029\";\n t[\"\\u3230\"] = \"\\u0028\\u65E5\\u0029\";\n t[\"\\u3231\"] = \"\\u0028\\u682A\\u0029\";\n t[\"\\u3232\"] = \"\\u0028\\u6709\\u0029\";\n t[\"\\u3233\"] = \"\\u0028\\u793E\\u0029\";\n t[\"\\u3234\"] = \"\\u0028\\u540D\\u0029\";\n t[\"\\u3235\"] = \"\\u0028\\u7279\\u0029\";\n t[\"\\u3236\"] = \"\\u0028\\u8CA1\\u0029\";\n t[\"\\u3237\"] = \"\\u0028\\u795D\\u0029\";\n t[\"\\u3238\"] = \"\\u0028\\u52B4\\u0029\";\n t[\"\\u3239\"] = \"\\u0028\\u4EE3\\u0029\";\n t[\"\\u323A\"] = \"\\u0028\\u547C\\u0029\";\n t[\"\\u323B\"] = \"\\u0028\\u5B66\\u0029\";\n t[\"\\u323C\"] = \"\\u0028\\u76E3\\u0029\";\n t[\"\\u323D\"] = \"\\u0028\\u4F01\\u0029\";\n t[\"\\u323E\"] = \"\\u0028\\u8CC7\\u0029\";\n t[\"\\u323F\"] = \"\\u0028\\u5354\\u0029\";\n t[\"\\u3240\"] = \"\\u0028\\u796D\\u0029\";\n t[\"\\u3241\"] = \"\\u0028\\u4F11\\u0029\";\n t[\"\\u3242\"] = \"\\u0028\\u81EA\\u0029\";\n t[\"\\u3243\"] = \"\\u0028\\u81F3\\u0029\";\n t[\"\\u32C0\"] = \"\\u0031\\u6708\";\n t[\"\\u32C1\"] = \"\\u0032\\u6708\";\n t[\"\\u32C2\"] = \"\\u0033\\u6708\";\n t[\"\\u32C3\"] = \"\\u0034\\u6708\";\n t[\"\\u32C4\"] = \"\\u0035\\u6708\";\n t[\"\\u32C5\"] = \"\\u0036\\u6708\";\n t[\"\\u32C6\"] = \"\\u0037\\u6708\";\n t[\"\\u32C7\"] = \"\\u0038\\u6708\";\n t[\"\\u32C8\"] = \"\\u0039\\u6708\";\n t[\"\\u32C9\"] = \"\\u0031\\u0030\\u6708\";\n t[\"\\u32CA\"] = \"\\u0031\\u0031\\u6708\";\n t[\"\\u32CB\"] = \"\\u0031\\u0032\\u6708\";\n t[\"\\u3358\"] = \"\\u0030\\u70B9\";\n t[\"\\u3359\"] = \"\\u0031\\u70B9\";\n t[\"\\u335A\"] = \"\\u0032\\u70B9\";\n t[\"\\u335B\"] = \"\\u0033\\u70B9\";\n t[\"\\u335C\"] = \"\\u0034\\u70B9\";\n t[\"\\u335D\"] = \"\\u0035\\u70B9\";\n t[\"\\u335E\"] = \"\\u0036\\u70B9\";\n t[\"\\u335F\"] = \"\\u0037\\u70B9\";\n t[\"\\u3360\"] = \"\\u0038\\u70B9\";\n t[\"\\u3361\"] = \"\\u0039\\u70B9\";\n t[\"\\u3362\"] = \"\\u0031\\u0030\\u70B9\";\n t[\"\\u3363\"] = \"\\u0031\\u0031\\u70B9\";\n t[\"\\u3364\"] = \"\\u0031\\u0032\\u70B9\";\n t[\"\\u3365\"] = \"\\u0031\\u0033\\u70B9\";\n t[\"\\u3366\"] = \"\\u0031\\u0034\\u70B9\";\n t[\"\\u3367\"] = \"\\u0031\\u0035\\u70B9\";\n t[\"\\u3368\"] = \"\\u0031\\u0036\\u70B9\";\n t[\"\\u3369\"] = \"\\u0031\\u0037\\u70B9\";\n t[\"\\u336A\"] = \"\\u0031\\u0038\\u70B9\";\n t[\"\\u336B\"] = \"\\u0031\\u0039\\u70B9\";\n t[\"\\u336C\"] = \"\\u0032\\u0030\\u70B9\";\n t[\"\\u336D\"] = \"\\u0032\\u0031\\u70B9\";\n t[\"\\u336E\"] = \"\\u0032\\u0032\\u70B9\";\n t[\"\\u336F\"] = \"\\u0032\\u0033\\u70B9\";\n t[\"\\u3370\"] = \"\\u0032\\u0034\\u70B9\";\n t[\"\\u33E0\"] = \"\\u0031\\u65E5\";\n t[\"\\u33E1\"] = \"\\u0032\\u65E5\";\n t[\"\\u33E2\"] = \"\\u0033\\u65E5\";\n t[\"\\u33E3\"] = \"\\u0034\\u65E5\";\n t[\"\\u33E4\"] = \"\\u0035\\u65E5\";\n t[\"\\u33E5\"] = \"\\u0036\\u65E5\";\n t[\"\\u33E6\"] = \"\\u0037\\u65E5\";\n t[\"\\u33E7\"] = \"\\u0038\\u65E5\";\n t[\"\\u33E8\"] = \"\\u0039\\u65E5\";\n t[\"\\u33E9\"] = \"\\u0031\\u0030\\u65E5\";\n t[\"\\u33EA\"] = \"\\u0031\\u0031\\u65E5\";\n t[\"\\u33EB\"] = \"\\u0031\\u0032\\u65E5\";\n t[\"\\u33EC\"] = \"\\u0031\\u0033\\u65E5\";\n t[\"\\u33ED\"] = \"\\u0031\\u0034\\u65E5\";\n t[\"\\u33EE\"] = \"\\u0031\\u0035\\u65E5\";\n t[\"\\u33EF\"] = \"\\u0031\\u0036\\u65E5\";\n t[\"\\u33F0\"] = \"\\u0031\\u0037\\u65E5\";\n t[\"\\u33F1\"] = \"\\u0031\\u0038\\u65E5\";\n t[\"\\u33F2\"] = \"\\u0031\\u0039\\u65E5\";\n t[\"\\u33F3\"] = \"\\u0032\\u0030\\u65E5\";\n t[\"\\u33F4\"] = \"\\u0032\\u0031\\u65E5\";\n t[\"\\u33F5\"] = \"\\u0032\\u0032\\u65E5\";\n t[\"\\u33F6\"] = \"\\u0032\\u0033\\u65E5\";\n t[\"\\u33F7\"] = \"\\u0032\\u0034\\u65E5\";\n t[\"\\u33F8\"] = \"\\u0032\\u0035\\u65E5\";\n t[\"\\u33F9\"] = \"\\u0032\\u0036\\u65E5\";\n t[\"\\u33FA\"] = \"\\u0032\\u0037\\u65E5\";\n t[\"\\u33FB\"] = \"\\u0032\\u0038\\u65E5\";\n t[\"\\u33FC\"] = \"\\u0032\\u0039\\u65E5\";\n t[\"\\u33FD\"] = \"\\u0033\\u0030\\u65E5\";\n t[\"\\u33FE\"] = \"\\u0033\\u0031\\u65E5\";\n t[\"\\uFB00\"] = \"\\u0066\\u0066\";\n t[\"\\uFB01\"] = \"\\u0066\\u0069\";\n t[\"\\uFB02\"] = \"\\u0066\\u006C\";\n t[\"\\uFB03\"] = \"\\u0066\\u0066\\u0069\";\n t[\"\\uFB04\"] = \"\\u0066\\u0066\\u006C\";\n t[\"\\uFB05\"] = \"\\u017F\\u0074\";\n t[\"\\uFB06\"] = \"\\u0073\\u0074\";\n t[\"\\uFB13\"] = \"\\u0574\\u0576\";\n t[\"\\uFB14\"] = \"\\u0574\\u0565\";\n t[\"\\uFB15\"] = \"\\u0574\\u056B\";\n t[\"\\uFB16\"] = \"\\u057E\\u0576\";\n t[\"\\uFB17\"] = \"\\u0574\\u056D\";\n t[\"\\uFB4F\"] = \"\\u05D0\\u05DC\";\n t[\"\\uFB50\"] = \"\\u0671\";\n t[\"\\uFB51\"] = \"\\u0671\";\n t[\"\\uFB52\"] = \"\\u067B\";\n t[\"\\uFB53\"] = \"\\u067B\";\n t[\"\\uFB54\"] = \"\\u067B\";\n t[\"\\uFB55\"] = \"\\u067B\";\n t[\"\\uFB56\"] = \"\\u067E\";\n t[\"\\uFB57\"] = \"\\u067E\";\n t[\"\\uFB58\"] = \"\\u067E\";\n t[\"\\uFB59\"] = \"\\u067E\";\n t[\"\\uFB5A\"] = \"\\u0680\";\n t[\"\\uFB5B\"] = \"\\u0680\";\n t[\"\\uFB5C\"] = \"\\u0680\";\n t[\"\\uFB5D\"] = \"\\u0680\";\n t[\"\\uFB5E\"] = \"\\u067A\";\n t[\"\\uFB5F\"] = \"\\u067A\";\n t[\"\\uFB60\"] = \"\\u067A\";\n t[\"\\uFB61\"] = \"\\u067A\";\n t[\"\\uFB62\"] = \"\\u067F\";\n t[\"\\uFB63\"] = \"\\u067F\";\n t[\"\\uFB64\"] = \"\\u067F\";\n t[\"\\uFB65\"] = \"\\u067F\";\n t[\"\\uFB66\"] = \"\\u0679\";\n t[\"\\uFB67\"] = \"\\u0679\";\n t[\"\\uFB68\"] = \"\\u0679\";\n t[\"\\uFB69\"] = \"\\u0679\";\n t[\"\\uFB6A\"] = \"\\u06A4\";\n t[\"\\uFB6B\"] = \"\\u06A4\";\n t[\"\\uFB6C\"] = \"\\u06A4\";\n t[\"\\uFB6D\"] = \"\\u06A4\";\n t[\"\\uFB6E\"] = \"\\u06A6\";\n t[\"\\uFB6F\"] = \"\\u06A6\";\n t[\"\\uFB70\"] = \"\\u06A6\";\n t[\"\\uFB71\"] = \"\\u06A6\";\n t[\"\\uFB72\"] = \"\\u0684\";\n t[\"\\uFB73\"] = \"\\u0684\";\n t[\"\\uFB74\"] = \"\\u0684\";\n t[\"\\uFB75\"] = \"\\u0684\";\n t[\"\\uFB76\"] = \"\\u0683\";\n t[\"\\uFB77\"] = \"\\u0683\";\n t[\"\\uFB78\"] = \"\\u0683\";\n t[\"\\uFB79\"] = \"\\u0683\";\n t[\"\\uFB7A\"] = \"\\u0686\";\n t[\"\\uFB7B\"] = \"\\u0686\";\n t[\"\\uFB7C\"] = \"\\u0686\";\n t[\"\\uFB7D\"] = \"\\u0686\";\n t[\"\\uFB7E\"] = \"\\u0687\";\n t[\"\\uFB7F\"] = \"\\u0687\";\n t[\"\\uFB80\"] = \"\\u0687\";\n t[\"\\uFB81\"] = \"\\u0687\";\n t[\"\\uFB82\"] = \"\\u068D\";\n t[\"\\uFB83\"] = \"\\u068D\";\n t[\"\\uFB84\"] = \"\\u068C\";\n t[\"\\uFB85\"] = \"\\u068C\";\n t[\"\\uFB86\"] = \"\\u068E\";\n t[\"\\uFB87\"] = \"\\u068E\";\n t[\"\\uFB88\"] = \"\\u0688\";\n t[\"\\uFB89\"] = \"\\u0688\";\n t[\"\\uFB8A\"] = \"\\u0698\";\n t[\"\\uFB8B\"] = \"\\u0698\";\n t[\"\\uFB8C\"] = \"\\u0691\";\n t[\"\\uFB8D\"] = \"\\u0691\";\n t[\"\\uFB8E\"] = \"\\u06A9\";\n t[\"\\uFB8F\"] = \"\\u06A9\";\n t[\"\\uFB90\"] = \"\\u06A9\";\n t[\"\\uFB91\"] = \"\\u06A9\";\n t[\"\\uFB92\"] = \"\\u06AF\";\n t[\"\\uFB93\"] = \"\\u06AF\";\n t[\"\\uFB94\"] = \"\\u06AF\";\n t[\"\\uFB95\"] = \"\\u06AF\";\n t[\"\\uFB96\"] = \"\\u06B3\";\n t[\"\\uFB97\"] = \"\\u06B3\";\n t[\"\\uFB98\"] = \"\\u06B3\";\n t[\"\\uFB99\"] = \"\\u06B3\";\n t[\"\\uFB9A\"] = \"\\u06B1\";\n t[\"\\uFB9B\"] = \"\\u06B1\";\n t[\"\\uFB9C\"] = \"\\u06B1\";\n t[\"\\uFB9D\"] = \"\\u06B1\";\n t[\"\\uFB9E\"] = \"\\u06BA\";\n t[\"\\uFB9F\"] = \"\\u06BA\";\n t[\"\\uFBA0\"] = \"\\u06BB\";\n t[\"\\uFBA1\"] = \"\\u06BB\";\n t[\"\\uFBA2\"] = \"\\u06BB\";\n t[\"\\uFBA3\"] = \"\\u06BB\";\n t[\"\\uFBA4\"] = \"\\u06C0\";\n t[\"\\uFBA5\"] = \"\\u06C0\";\n t[\"\\uFBA6\"] = \"\\u06C1\";\n t[\"\\uFBA7\"] = \"\\u06C1\";\n t[\"\\uFBA8\"] = \"\\u06C1\";\n t[\"\\uFBA9\"] = \"\\u06C1\";\n t[\"\\uFBAA\"] = \"\\u06BE\";\n t[\"\\uFBAB\"] = \"\\u06BE\";\n t[\"\\uFBAC\"] = \"\\u06BE\";\n t[\"\\uFBAD\"] = \"\\u06BE\";\n t[\"\\uFBAE\"] = \"\\u06D2\";\n t[\"\\uFBAF\"] = \"\\u06D2\";\n t[\"\\uFBB0\"] = \"\\u06D3\";\n t[\"\\uFBB1\"] = \"\\u06D3\";\n t[\"\\uFBD3\"] = \"\\u06AD\";\n t[\"\\uFBD4\"] = \"\\u06AD\";\n t[\"\\uFBD5\"] = \"\\u06AD\";\n t[\"\\uFBD6\"] = \"\\u06AD\";\n t[\"\\uFBD7\"] = \"\\u06C7\";\n t[\"\\uFBD8\"] = \"\\u06C7\";\n t[\"\\uFBD9\"] = \"\\u06C6\";\n t[\"\\uFBDA\"] = \"\\u06C6\";\n t[\"\\uFBDB\"] = \"\\u06C8\";\n t[\"\\uFBDC\"] = \"\\u06C8\";\n t[\"\\uFBDD\"] = \"\\u0677\";\n t[\"\\uFBDE\"] = \"\\u06CB\";\n t[\"\\uFBDF\"] = \"\\u06CB\";\n t[\"\\uFBE0\"] = \"\\u06C5\";\n t[\"\\uFBE1\"] = \"\\u06C5\";\n t[\"\\uFBE2\"] = \"\\u06C9\";\n t[\"\\uFBE3\"] = \"\\u06C9\";\n t[\"\\uFBE4\"] = \"\\u06D0\";\n t[\"\\uFBE5\"] = \"\\u06D0\";\n t[\"\\uFBE6\"] = \"\\u06D0\";\n t[\"\\uFBE7\"] = \"\\u06D0\";\n t[\"\\uFBE8\"] = \"\\u0649\";\n t[\"\\uFBE9\"] = \"\\u0649\";\n t[\"\\uFBEA\"] = \"\\u0626\\u0627\";\n t[\"\\uFBEB\"] = \"\\u0626\\u0627\";\n t[\"\\uFBEC\"] = \"\\u0626\\u06D5\";\n t[\"\\uFBED\"] = \"\\u0626\\u06D5\";\n t[\"\\uFBEE\"] = \"\\u0626\\u0648\";\n t[\"\\uFBEF\"] = \"\\u0626\\u0648\";\n t[\"\\uFBF0\"] = \"\\u0626\\u06C7\";\n t[\"\\uFBF1\"] = \"\\u0626\\u06C7\";\n t[\"\\uFBF2\"] = \"\\u0626\\u06C6\";\n t[\"\\uFBF3\"] = \"\\u0626\\u06C6\";\n t[\"\\uFBF4\"] = \"\\u0626\\u06C8\";\n t[\"\\uFBF5\"] = \"\\u0626\\u06C8\";\n t[\"\\uFBF6\"] = \"\\u0626\\u06D0\";\n t[\"\\uFBF7\"] = \"\\u0626\\u06D0\";\n t[\"\\uFBF8\"] = \"\\u0626\\u06D0\";\n t[\"\\uFBF9\"] = \"\\u0626\\u0649\";\n t[\"\\uFBFA\"] = \"\\u0626\\u0649\";\n t[\"\\uFBFB\"] = \"\\u0626\\u0649\";\n t[\"\\uFBFC\"] = \"\\u06CC\";\n t[\"\\uFBFD\"] = \"\\u06CC\";\n t[\"\\uFBFE\"] = \"\\u06CC\";\n t[\"\\uFBFF\"] = \"\\u06CC\";\n t[\"\\uFC00\"] = \"\\u0626\\u062C\";\n t[\"\\uFC01\"] = \"\\u0626\\u062D\";\n t[\"\\uFC02\"] = \"\\u0626\\u0645\";\n t[\"\\uFC03\"] = \"\\u0626\\u0649\";\n t[\"\\uFC04\"] = \"\\u0626\\u064A\";\n t[\"\\uFC05\"] = \"\\u0628\\u062C\";\n t[\"\\uFC06\"] = \"\\u0628\\u062D\";\n t[\"\\uFC07\"] = \"\\u0628\\u062E\";\n t[\"\\uFC08\"] = \"\\u0628\\u0645\";\n t[\"\\uFC09\"] = \"\\u0628\\u0649\";\n t[\"\\uFC0A\"] = \"\\u0628\\u064A\";\n t[\"\\uFC0B\"] = \"\\u062A\\u062C\";\n t[\"\\uFC0C\"] = \"\\u062A\\u062D\";\n t[\"\\uFC0D\"] = \"\\u062A\\u062E\";\n t[\"\\uFC0E\"] = \"\\u062A\\u0645\";\n t[\"\\uFC0F\"] = \"\\u062A\\u0649\";\n t[\"\\uFC10\"] = \"\\u062A\\u064A\";\n t[\"\\uFC11\"] = \"\\u062B\\u062C\";\n t[\"\\uFC12\"] = \"\\u062B\\u0645\";\n t[\"\\uFC13\"] = \"\\u062B\\u0649\";\n t[\"\\uFC14\"] = \"\\u062B\\u064A\";\n t[\"\\uFC15\"] = \"\\u062C\\u062D\";\n t[\"\\uFC16\"] = \"\\u062C\\u0645\";\n t[\"\\uFC17\"] = \"\\u062D\\u062C\";\n t[\"\\uFC18\"] = \"\\u062D\\u0645\";\n t[\"\\uFC19\"] = \"\\u062E\\u062C\";\n t[\"\\uFC1A\"] = \"\\u062E\\u062D\";\n t[\"\\uFC1B\"] = \"\\u062E\\u0645\";\n t[\"\\uFC1C\"] = \"\\u0633\\u062C\";\n t[\"\\uFC1D\"] = \"\\u0633\\u062D\";\n t[\"\\uFC1E\"] = \"\\u0633\\u062E\";\n t[\"\\uFC1F\"] = \"\\u0633\\u0645\";\n t[\"\\uFC20\"] = \"\\u0635\\u062D\";\n t[\"\\uFC21\"] = \"\\u0635\\u0645\";\n t[\"\\uFC22\"] = \"\\u0636\\u062C\";\n t[\"\\uFC23\"] = \"\\u0636\\u062D\";\n t[\"\\uFC24\"] = \"\\u0636\\u062E\";\n t[\"\\uFC25\"] = \"\\u0636\\u0645\";\n t[\"\\uFC26\"] = \"\\u0637\\u062D\";\n t[\"\\uFC27\"] = \"\\u0637\\u0645\";\n t[\"\\uFC28\"] = \"\\u0638\\u0645\";\n t[\"\\uFC29\"] = \"\\u0639\\u062C\";\n t[\"\\uFC2A\"] = \"\\u0639\\u0645\";\n t[\"\\uFC2B\"] = \"\\u063A\\u062C\";\n t[\"\\uFC2C\"] = \"\\u063A\\u0645\";\n t[\"\\uFC2D\"] = \"\\u0641\\u062C\";\n t[\"\\uFC2E\"] = \"\\u0641\\u062D\";\n t[\"\\uFC2F\"] = \"\\u0641\\u062E\";\n t[\"\\uFC30\"] = \"\\u0641\\u0645\";\n t[\"\\uFC31\"] = \"\\u0641\\u0649\";\n t[\"\\uFC32\"] = \"\\u0641\\u064A\";\n t[\"\\uFC33\"] = \"\\u0642\\u062D\";\n t[\"\\uFC34\"] = \"\\u0642\\u0645\";\n t[\"\\uFC35\"] = \"\\u0642\\u0649\";\n t[\"\\uFC36\"] = \"\\u0642\\u064A\";\n t[\"\\uFC37\"] = \"\\u0643\\u0627\";\n t[\"\\uFC38\"] = \"\\u0643\\u062C\";\n t[\"\\uFC39\"] = \"\\u0643\\u062D\";\n t[\"\\uFC3A\"] = \"\\u0643\\u062E\";\n t[\"\\uFC3B\"] = \"\\u0643\\u0644\";\n t[\"\\uFC3C\"] = \"\\u0643\\u0645\";\n t[\"\\uFC3D\"] = \"\\u0643\\u0649\";\n t[\"\\uFC3E\"] = \"\\u0643\\u064A\";\n t[\"\\uFC3F\"] = \"\\u0644\\u062C\";\n t[\"\\uFC40\"] = \"\\u0644\\u062D\";\n t[\"\\uFC41\"] = \"\\u0644\\u062E\";\n t[\"\\uFC42\"] = \"\\u0644\\u0645\";\n t[\"\\uFC43\"] = \"\\u0644\\u0649\";\n t[\"\\uFC44\"] = \"\\u0644\\u064A\";\n t[\"\\uFC45\"] = \"\\u0645\\u062C\";\n t[\"\\uFC46\"] = \"\\u0645\\u062D\";\n t[\"\\uFC47\"] = \"\\u0645\\u062E\";\n t[\"\\uFC48\"] = \"\\u0645\\u0645\";\n t[\"\\uFC49\"] = \"\\u0645\\u0649\";\n t[\"\\uFC4A\"] = \"\\u0645\\u064A\";\n t[\"\\uFC4B\"] = \"\\u0646\\u062C\";\n t[\"\\uFC4C\"] = \"\\u0646\\u062D\";\n t[\"\\uFC4D\"] = \"\\u0646\\u062E\";\n t[\"\\uFC4E\"] = \"\\u0646\\u0645\";\n t[\"\\uFC4F\"] = \"\\u0646\\u0649\";\n t[\"\\uFC50\"] = \"\\u0646\\u064A\";\n t[\"\\uFC51\"] = \"\\u0647\\u062C\";\n t[\"\\uFC52\"] = \"\\u0647\\u0645\";\n t[\"\\uFC53\"] = \"\\u0647\\u0649\";\n t[\"\\uFC54\"] = \"\\u0647\\u064A\";\n t[\"\\uFC55\"] = \"\\u064A\\u062C\";\n t[\"\\uFC56\"] = \"\\u064A\\u062D\";\n t[\"\\uFC57\"] = \"\\u064A\\u062E\";\n t[\"\\uFC58\"] = \"\\u064A\\u0645\";\n t[\"\\uFC59\"] = \"\\u064A\\u0649\";\n t[\"\\uFC5A\"] = \"\\u064A\\u064A\";\n t[\"\\uFC5B\"] = \"\\u0630\\u0670\";\n t[\"\\uFC5C\"] = \"\\u0631\\u0670\";\n t[\"\\uFC5D\"] = \"\\u0649\\u0670\";\n t[\"\\uFC5E\"] = \"\\u0020\\u064C\\u0651\";\n t[\"\\uFC5F\"] = \"\\u0020\\u064D\\u0651\";\n t[\"\\uFC60\"] = \"\\u0020\\u064E\\u0651\";\n t[\"\\uFC61\"] = \"\\u0020\\u064F\\u0651\";\n t[\"\\uFC62\"] = \"\\u0020\\u0650\\u0651\";\n t[\"\\uFC63\"] = \"\\u0020\\u0651\\u0670\";\n t[\"\\uFC64\"] = \"\\u0626\\u0631\";\n t[\"\\uFC65\"] = \"\\u0626\\u0632\";\n t[\"\\uFC66\"] = \"\\u0626\\u0645\";\n t[\"\\uFC67\"] = \"\\u0626\\u0646\";\n t[\"\\uFC68\"] = \"\\u0626\\u0649\";\n t[\"\\uFC69\"] = \"\\u0626\\u064A\";\n t[\"\\uFC6A\"] = \"\\u0628\\u0631\";\n t[\"\\uFC6B\"] = \"\\u0628\\u0632\";\n t[\"\\uFC6C\"] = \"\\u0628\\u0645\";\n t[\"\\uFC6D\"] = \"\\u0628\\u0646\";\n t[\"\\uFC6E\"] = \"\\u0628\\u0649\";\n t[\"\\uFC6F\"] = \"\\u0628\\u064A\";\n t[\"\\uFC70\"] = \"\\u062A\\u0631\";\n t[\"\\uFC71\"] = \"\\u062A\\u0632\";\n t[\"\\uFC72\"] = \"\\u062A\\u0645\";\n t[\"\\uFC73\"] = \"\\u062A\\u0646\";\n t[\"\\uFC74\"] = \"\\u062A\\u0649\";\n t[\"\\uFC75\"] = \"\\u062A\\u064A\";\n t[\"\\uFC76\"] = \"\\u062B\\u0631\";\n t[\"\\uFC77\"] = \"\\u062B\\u0632\";\n t[\"\\uFC78\"] = \"\\u062B\\u0645\";\n t[\"\\uFC79\"] = \"\\u062B\\u0646\";\n t[\"\\uFC7A\"] = \"\\u062B\\u0649\";\n t[\"\\uFC7B\"] = \"\\u062B\\u064A\";\n t[\"\\uFC7C\"] = \"\\u0641\\u0649\";\n t[\"\\uFC7D\"] = \"\\u0641\\u064A\";\n t[\"\\uFC7E\"] = \"\\u0642\\u0649\";\n t[\"\\uFC7F\"] = \"\\u0642\\u064A\";\n t[\"\\uFC80\"] = \"\\u0643\\u0627\";\n t[\"\\uFC81\"] = \"\\u0643\\u0644\";\n t[\"\\uFC82\"] = \"\\u0643\\u0645\";\n t[\"\\uFC83\"] = \"\\u0643\\u0649\";\n t[\"\\uFC84\"] = \"\\u0643\\u064A\";\n t[\"\\uFC85\"] = \"\\u0644\\u0645\";\n t[\"\\uFC86\"] = \"\\u0644\\u0649\";\n t[\"\\uFC87\"] = \"\\u0644\\u064A\";\n t[\"\\uFC88\"] = \"\\u0645\\u0627\";\n t[\"\\uFC89\"] = \"\\u0645\\u0645\";\n t[\"\\uFC8A\"] = \"\\u0646\\u0631\";\n t[\"\\uFC8B\"] = \"\\u0646\\u0632\";\n t[\"\\uFC8C\"] = \"\\u0646\\u0645\";\n t[\"\\uFC8D\"] = \"\\u0646\\u0646\";\n t[\"\\uFC8E\"] = \"\\u0646\\u0649\";\n t[\"\\uFC8F\"] = \"\\u0646\\u064A\";\n t[\"\\uFC90\"] = \"\\u0649\\u0670\";\n t[\"\\uFC91\"] = \"\\u064A\\u0631\";\n t[\"\\uFC92\"] = \"\\u064A\\u0632\";\n t[\"\\uFC93\"] = \"\\u064A\\u0645\";\n t[\"\\uFC94\"] = \"\\u064A\\u0646\";\n t[\"\\uFC95\"] = \"\\u064A\\u0649\";\n t[\"\\uFC96\"] = \"\\u064A\\u064A\";\n t[\"\\uFC97\"] = \"\\u0626\\u062C\";\n t[\"\\uFC98\"] = \"\\u0626\\u062D\";\n t[\"\\uFC99\"] = \"\\u0626\\u062E\";\n t[\"\\uFC9A\"] = \"\\u0626\\u0645\";\n t[\"\\uFC9B\"] = \"\\u0626\\u0647\";\n t[\"\\uFC9C\"] = \"\\u0628\\u062C\";\n t[\"\\uFC9D\"] = \"\\u0628\\u062D\";\n t[\"\\uFC9E\"] = \"\\u0628\\u062E\";\n t[\"\\uFC9F\"] = \"\\u0628\\u0645\";\n t[\"\\uFCA0\"] = \"\\u0628\\u0647\";\n t[\"\\uFCA1\"] = \"\\u062A\\u062C\";\n t[\"\\uFCA2\"] = \"\\u062A\\u062D\";\n t[\"\\uFCA3\"] = \"\\u062A\\u062E\";\n t[\"\\uFCA4\"] = \"\\u062A\\u0645\";\n t[\"\\uFCA5\"] = \"\\u062A\\u0647\";\n t[\"\\uFCA6\"] = \"\\u062B\\u0645\";\n t[\"\\uFCA7\"] = \"\\u062C\\u062D\";\n t[\"\\uFCA8\"] = \"\\u062C\\u0645\";\n t[\"\\uFCA9\"] = \"\\u062D\\u062C\";\n t[\"\\uFCAA\"] = \"\\u062D\\u0645\";\n t[\"\\uFCAB\"] = \"\\u062E\\u062C\";\n t[\"\\uFCAC\"] = \"\\u062E\\u0645\";\n t[\"\\uFCAD\"] = \"\\u0633\\u062C\";\n t[\"\\uFCAE\"] = \"\\u0633\\u062D\";\n t[\"\\uFCAF\"] = \"\\u0633\\u062E\";\n t[\"\\uFCB0\"] = \"\\u0633\\u0645\";\n t[\"\\uFCB1\"] = \"\\u0635\\u062D\";\n t[\"\\uFCB2\"] = \"\\u0635\\u062E\";\n t[\"\\uFCB3\"] = \"\\u0635\\u0645\";\n t[\"\\uFCB4\"] = \"\\u0636\\u062C\";\n t[\"\\uFCB5\"] = \"\\u0636\\u062D\";\n t[\"\\uFCB6\"] = \"\\u0636\\u062E\";\n t[\"\\uFCB7\"] = \"\\u0636\\u0645\";\n t[\"\\uFCB8\"] = \"\\u0637\\u062D\";\n t[\"\\uFCB9\"] = \"\\u0638\\u0645\";\n t[\"\\uFCBA\"] = \"\\u0639\\u062C\";\n t[\"\\uFCBB\"] = \"\\u0639\\u0645\";\n t[\"\\uFCBC\"] = \"\\u063A\\u062C\";\n t[\"\\uFCBD\"] = \"\\u063A\\u0645\";\n t[\"\\uFCBE\"] = \"\\u0641\\u062C\";\n t[\"\\uFCBF\"] = \"\\u0641\\u062D\";\n t[\"\\uFCC0\"] = \"\\u0641\\u062E\";\n t[\"\\uFCC1\"] = \"\\u0641\\u0645\";\n t[\"\\uFCC2\"] = \"\\u0642\\u062D\";\n t[\"\\uFCC3\"] = \"\\u0642\\u0645\";\n t[\"\\uFCC4\"] = \"\\u0643\\u062C\";\n t[\"\\uFCC5\"] = \"\\u0643\\u062D\";\n t[\"\\uFCC6\"] = \"\\u0643\\u062E\";\n t[\"\\uFCC7\"] = \"\\u0643\\u0644\";\n t[\"\\uFCC8\"] = \"\\u0643\\u0645\";\n t[\"\\uFCC9\"] = \"\\u0644\\u062C\";\n t[\"\\uFCCA\"] = \"\\u0644\\u062D\";\n t[\"\\uFCCB\"] = \"\\u0644\\u062E\";\n t[\"\\uFCCC\"] = \"\\u0644\\u0645\";\n t[\"\\uFCCD\"] = \"\\u0644\\u0647\";\n t[\"\\uFCCE\"] = \"\\u0645\\u062C\";\n t[\"\\uFCCF\"] = \"\\u0645\\u062D\";\n t[\"\\uFCD0\"] = \"\\u0645\\u062E\";\n t[\"\\uFCD1\"] = \"\\u0645\\u0645\";\n t[\"\\uFCD2\"] = \"\\u0646\\u062C\";\n t[\"\\uFCD3\"] = \"\\u0646\\u062D\";\n t[\"\\uFCD4\"] = \"\\u0646\\u062E\";\n t[\"\\uFCD5\"] = \"\\u0646\\u0645\";\n t[\"\\uFCD6\"] = \"\\u0646\\u0647\";\n t[\"\\uFCD7\"] = \"\\u0647\\u062C\";\n t[\"\\uFCD8\"] = \"\\u0647\\u0645\";\n t[\"\\uFCD9\"] = \"\\u0647\\u0670\";\n t[\"\\uFCDA\"] = \"\\u064A\\u062C\";\n t[\"\\uFCDB\"] = \"\\u064A\\u062D\";\n t[\"\\uFCDC\"] = \"\\u064A\\u062E\";\n t[\"\\uFCDD\"] = \"\\u064A\\u0645\";\n t[\"\\uFCDE\"] = \"\\u064A\\u0647\";\n t[\"\\uFCDF\"] = \"\\u0626\\u0645\";\n t[\"\\uFCE0\"] = \"\\u0626\\u0647\";\n t[\"\\uFCE1\"] = \"\\u0628\\u0645\";\n t[\"\\uFCE2\"] = \"\\u0628\\u0647\";\n t[\"\\uFCE3\"] = \"\\u062A\\u0645\";\n t[\"\\uFCE4\"] = \"\\u062A\\u0647\";\n t[\"\\uFCE5\"] = \"\\u062B\\u0645\";\n t[\"\\uFCE6\"] = \"\\u062B\\u0647\";\n t[\"\\uFCE7\"] = \"\\u0633\\u0645\";\n t[\"\\uFCE8\"] = \"\\u0633\\u0647\";\n t[\"\\uFCE9\"] = \"\\u0634\\u0645\";\n t[\"\\uFCEA\"] = \"\\u0634\\u0647\";\n t[\"\\uFCEB\"] = \"\\u0643\\u0644\";\n t[\"\\uFCEC\"] = \"\\u0643\\u0645\";\n t[\"\\uFCED\"] = \"\\u0644\\u0645\";\n t[\"\\uFCEE\"] = \"\\u0646\\u0645\";\n t[\"\\uFCEF\"] = \"\\u0646\\u0647\";\n t[\"\\uFCF0\"] = \"\\u064A\\u0645\";\n t[\"\\uFCF1\"] = \"\\u064A\\u0647\";\n t[\"\\uFCF2\"] = \"\\u0640\\u064E\\u0651\";\n t[\"\\uFCF3\"] = \"\\u0640\\u064F\\u0651\";\n t[\"\\uFCF4\"] = \"\\u0640\\u0650\\u0651\";\n t[\"\\uFCF5\"] = \"\\u0637\\u0649\";\n t[\"\\uFCF6\"] = \"\\u0637\\u064A\";\n t[\"\\uFCF7\"] = \"\\u0639\\u0649\";\n t[\"\\uFCF8\"] = \"\\u0639\\u064A\";\n t[\"\\uFCF9\"] = \"\\u063A\\u0649\";\n t[\"\\uFCFA\"] = \"\\u063A\\u064A\";\n t[\"\\uFCFB\"] = \"\\u0633\\u0649\";\n t[\"\\uFCFC\"] = \"\\u0633\\u064A\";\n t[\"\\uFCFD\"] = \"\\u0634\\u0649\";\n t[\"\\uFCFE\"] = \"\\u0634\\u064A\";\n t[\"\\uFCFF\"] = \"\\u062D\\u0649\";\n t[\"\\uFD00\"] = \"\\u062D\\u064A\";\n t[\"\\uFD01\"] = \"\\u062C\\u0649\";\n t[\"\\uFD02\"] = \"\\u062C\\u064A\";\n t[\"\\uFD03\"] = \"\\u062E\\u0649\";\n t[\"\\uFD04\"] = \"\\u062E\\u064A\";\n t[\"\\uFD05\"] = \"\\u0635\\u0649\";\n t[\"\\uFD06\"] = \"\\u0635\\u064A\";\n t[\"\\uFD07\"] = \"\\u0636\\u0649\";\n t[\"\\uFD08\"] = \"\\u0636\\u064A\";\n t[\"\\uFD09\"] = \"\\u0634\\u062C\";\n t[\"\\uFD0A\"] = \"\\u0634\\u062D\";\n t[\"\\uFD0B\"] = \"\\u0634\\u062E\";\n t[\"\\uFD0C\"] = \"\\u0634\\u0645\";\n t[\"\\uFD0D\"] = \"\\u0634\\u0631\";\n t[\"\\uFD0E\"] = \"\\u0633\\u0631\";\n t[\"\\uFD0F\"] = \"\\u0635\\u0631\";\n t[\"\\uFD10\"] = \"\\u0636\\u0631\";\n t[\"\\uFD11\"] = \"\\u0637\\u0649\";\n t[\"\\uFD12\"] = \"\\u0637\\u064A\";\n t[\"\\uFD13\"] = \"\\u0639\\u0649\";\n t[\"\\uFD14\"] = \"\\u0639\\u064A\";\n t[\"\\uFD15\"] = \"\\u063A\\u0649\";\n t[\"\\uFD16\"] = \"\\u063A\\u064A\";\n t[\"\\uFD17\"] = \"\\u0633\\u0649\";\n t[\"\\uFD18\"] = \"\\u0633\\u064A\";\n t[\"\\uFD19\"] = \"\\u0634\\u0649\";\n t[\"\\uFD1A\"] = \"\\u0634\\u064A\";\n t[\"\\uFD1B\"] = \"\\u062D\\u0649\";\n t[\"\\uFD1C\"] = \"\\u062D\\u064A\";\n t[\"\\uFD1D\"] = \"\\u062C\\u0649\";\n t[\"\\uFD1E\"] = \"\\u062C\\u064A\";\n t[\"\\uFD1F\"] = \"\\u062E\\u0649\";\n t[\"\\uFD20\"] = \"\\u062E\\u064A\";\n t[\"\\uFD21\"] = \"\\u0635\\u0649\";\n t[\"\\uFD22\"] = \"\\u0635\\u064A\";\n t[\"\\uFD23\"] = \"\\u0636\\u0649\";\n t[\"\\uFD24\"] = \"\\u0636\\u064A\";\n t[\"\\uFD25\"] = \"\\u0634\\u062C\";\n t[\"\\uFD26\"] = \"\\u0634\\u062D\";\n t[\"\\uFD27\"] = \"\\u0634\\u062E\";\n t[\"\\uFD28\"] = \"\\u0634\\u0645\";\n t[\"\\uFD29\"] = \"\\u0634\\u0631\";\n t[\"\\uFD2A\"] = \"\\u0633\\u0631\";\n t[\"\\uFD2B\"] = \"\\u0635\\u0631\";\n t[\"\\uFD2C\"] = \"\\u0636\\u0631\";\n t[\"\\uFD2D\"] = \"\\u0634\\u062C\";\n t[\"\\uFD2E\"] = \"\\u0634\\u062D\";\n t[\"\\uFD2F\"] = \"\\u0634\\u062E\";\n t[\"\\uFD30\"] = \"\\u0634\\u0645\";\n t[\"\\uFD31\"] = \"\\u0633\\u0647\";\n t[\"\\uFD32\"] = \"\\u0634\\u0647\";\n t[\"\\uFD33\"] = \"\\u0637\\u0645\";\n t[\"\\uFD34\"] = \"\\u0633\\u062C\";\n t[\"\\uFD35\"] = \"\\u0633\\u062D\";\n t[\"\\uFD36\"] = \"\\u0633\\u062E\";\n t[\"\\uFD37\"] = \"\\u0634\\u062C\";\n t[\"\\uFD38\"] = \"\\u0634\\u062D\";\n t[\"\\uFD39\"] = \"\\u0634\\u062E\";\n t[\"\\uFD3A\"] = \"\\u0637\\u0645\";\n t[\"\\uFD3B\"] = \"\\u0638\\u0645\";\n t[\"\\uFD3C\"] = \"\\u0627\\u064B\";\n t[\"\\uFD3D\"] = \"\\u0627\\u064B\";\n t[\"\\uFD50\"] = \"\\u062A\\u062C\\u0645\";\n t[\"\\uFD51\"] = \"\\u062A\\u062D\\u062C\";\n t[\"\\uFD52\"] = \"\\u062A\\u062D\\u062C\";\n t[\"\\uFD53\"] = \"\\u062A\\u062D\\u0645\";\n t[\"\\uFD54\"] = \"\\u062A\\u062E\\u0645\";\n t[\"\\uFD55\"] = \"\\u062A\\u0645\\u062C\";\n t[\"\\uFD56\"] = \"\\u062A\\u0645\\u062D\";\n t[\"\\uFD57\"] = \"\\u062A\\u0645\\u062E\";\n t[\"\\uFD58\"] = \"\\u062C\\u0645\\u062D\";\n t[\"\\uFD59\"] = \"\\u062C\\u0645\\u062D\";\n t[\"\\uFD5A\"] = \"\\u062D\\u0645\\u064A\";\n t[\"\\uFD5B\"] = \"\\u062D\\u0645\\u0649\";\n t[\"\\uFD5C\"] = \"\\u0633\\u062D\\u062C\";\n t[\"\\uFD5D\"] = \"\\u0633\\u062C\\u062D\";\n t[\"\\uFD5E\"] = \"\\u0633\\u062C\\u0649\";\n t[\"\\uFD5F\"] = \"\\u0633\\u0645\\u062D\";\n t[\"\\uFD60\"] = \"\\u0633\\u0645\\u062D\";\n t[\"\\uFD61\"] = \"\\u0633\\u0645\\u062C\";\n t[\"\\uFD62\"] = \"\\u0633\\u0645\\u0645\";\n t[\"\\uFD63\"] = \"\\u0633\\u0645\\u0645\";\n t[\"\\uFD64\"] = \"\\u0635\\u062D\\u062D\";\n t[\"\\uFD65\"] = \"\\u0635\\u062D\\u062D\";\n t[\"\\uFD66\"] = \"\\u0635\\u0645\\u0645\";\n t[\"\\uFD67\"] = \"\\u0634\\u062D\\u0645\";\n t[\"\\uFD68\"] = \"\\u0634\\u062D\\u0645\";\n t[\"\\uFD69\"] = \"\\u0634\\u062C\\u064A\";\n t[\"\\uFD6A\"] = \"\\u0634\\u0645\\u062E\";\n t[\"\\uFD6B\"] = \"\\u0634\\u0645\\u062E\";\n t[\"\\uFD6C\"] = \"\\u0634\\u0645\\u0645\";\n t[\"\\uFD6D\"] = \"\\u0634\\u0645\\u0645\";\n t[\"\\uFD6E\"] = \"\\u0636\\u062D\\u0649\";\n t[\"\\uFD6F\"] = \"\\u0636\\u062E\\u0645\";\n t[\"\\uFD70\"] = \"\\u0636\\u062E\\u0645\";\n t[\"\\uFD71\"] = \"\\u0637\\u0645\\u062D\";\n t[\"\\uFD72\"] = \"\\u0637\\u0645\\u062D\";\n t[\"\\uFD73\"] = \"\\u0637\\u0645\\u0645\";\n t[\"\\uFD74\"] = \"\\u0637\\u0645\\u064A\";\n t[\"\\uFD75\"] = \"\\u0639\\u062C\\u0645\";\n t[\"\\uFD76\"] = \"\\u0639\\u0645\\u0645\";\n t[\"\\uFD77\"] = \"\\u0639\\u0645\\u0645\";\n t[\"\\uFD78\"] = \"\\u0639\\u0645\\u0649\";\n t[\"\\uFD79\"] = \"\\u063A\\u0645\\u0645\";\n t[\"\\uFD7A\"] = \"\\u063A\\u0645\\u064A\";\n t[\"\\uFD7B\"] = \"\\u063A\\u0645\\u0649\";\n t[\"\\uFD7C\"] = \"\\u0641\\u062E\\u0645\";\n t[\"\\uFD7D\"] = \"\\u0641\\u062E\\u0645\";\n t[\"\\uFD7E\"] = \"\\u0642\\u0645\\u062D\";\n t[\"\\uFD7F\"] = \"\\u0642\\u0645\\u0645\";\n t[\"\\uFD80\"] = \"\\u0644\\u062D\\u0645\";\n t[\"\\uFD81\"] = \"\\u0644\\u062D\\u064A\";\n t[\"\\uFD82\"] = \"\\u0644\\u062D\\u0649\";\n t[\"\\uFD83\"] = \"\\u0644\\u062C\\u062C\";\n t[\"\\uFD84\"] = \"\\u0644\\u062C\\u062C\";\n t[\"\\uFD85\"] = \"\\u0644\\u062E\\u0645\";\n t[\"\\uFD86\"] = \"\\u0644\\u062E\\u0645\";\n t[\"\\uFD87\"] = \"\\u0644\\u0645\\u062D\";\n t[\"\\uFD88\"] = \"\\u0644\\u0645\\u062D\";\n t[\"\\uFD89\"] = \"\\u0645\\u062D\\u062C\";\n t[\"\\uFD8A\"] = \"\\u0645\\u062D\\u0645\";\n t[\"\\uFD8B\"] = \"\\u0645\\u062D\\u064A\";\n t[\"\\uFD8C\"] = \"\\u0645\\u062C\\u062D\";\n t[\"\\uFD8D\"] = \"\\u0645\\u062C\\u0645\";\n t[\"\\uFD8E\"] = \"\\u0645\\u062E\\u062C\";\n t[\"\\uFD8F\"] = \"\\u0645\\u062E\\u0645\";\n t[\"\\uFD92\"] = \"\\u0645\\u062C\\u062E\";\n t[\"\\uFD93\"] = \"\\u0647\\u0645\\u062C\";\n t[\"\\uFD94\"] = \"\\u0647\\u0645\\u0645\";\n t[\"\\uFD95\"] = \"\\u0646\\u062D\\u0645\";\n t[\"\\uFD96\"] = \"\\u0646\\u062D\\u0649\";\n t[\"\\uFD97\"] = \"\\u0646\\u062C\\u0645\";\n t[\"\\uFD98\"] = \"\\u0646\\u062C\\u0645\";\n t[\"\\uFD99\"] = \"\\u0646\\u062C\\u0649\";\n t[\"\\uFD9A\"] = \"\\u0646\\u0645\\u064A\";\n t[\"\\uFD9B\"] = \"\\u0646\\u0645\\u0649\";\n t[\"\\uFD9C\"] = \"\\u064A\\u0645\\u0645\";\n t[\"\\uFD9D\"] = \"\\u064A\\u0645\\u0645\";\n t[\"\\uFD9E\"] = \"\\u0628\\u062E\\u064A\";\n t[\"\\uFD9F\"] = \"\\u062A\\u062C\\u064A\";\n t[\"\\uFDA0\"] = \"\\u062A\\u062C\\u0649\";\n t[\"\\uFDA1\"] = \"\\u062A\\u062E\\u064A\";\n t[\"\\uFDA2\"] = \"\\u062A\\u062E\\u0649\";\n t[\"\\uFDA3\"] = \"\\u062A\\u0645\\u064A\";\n t[\"\\uFDA4\"] = \"\\u062A\\u0645\\u0649\";\n t[\"\\uFDA5\"] = \"\\u062C\\u0645\\u064A\";\n t[\"\\uFDA6\"] = \"\\u062C\\u062D\\u0649\";\n t[\"\\uFDA7\"] = \"\\u062C\\u0645\\u0649\";\n t[\"\\uFDA8\"] = \"\\u0633\\u062E\\u0649\";\n t[\"\\uFDA9\"] = \"\\u0635\\u062D\\u064A\";\n t[\"\\uFDAA\"] = \"\\u0634\\u062D\\u064A\";\n t[\"\\uFDAB\"] = \"\\u0636\\u062D\\u064A\";\n t[\"\\uFDAC\"] = \"\\u0644\\u062C\\u064A\";\n t[\"\\uFDAD\"] = \"\\u0644\\u0645\\u064A\";\n t[\"\\uFDAE\"] = \"\\u064A\\u062D\\u064A\";\n t[\"\\uFDAF\"] = \"\\u064A\\u062C\\u064A\";\n t[\"\\uFDB0\"] = \"\\u064A\\u0645\\u064A\";\n t[\"\\uFDB1\"] = \"\\u0645\\u0645\\u064A\";\n t[\"\\uFDB2\"] = \"\\u0642\\u0645\\u064A\";\n t[\"\\uFDB3\"] = \"\\u0646\\u062D\\u064A\";\n t[\"\\uFDB4\"] = \"\\u0642\\u0645\\u062D\";\n t[\"\\uFDB5\"] = \"\\u0644\\u062D\\u0645\";\n t[\"\\uFDB6\"] = \"\\u0639\\u0645\\u064A\";\n t[\"\\uFDB7\"] = \"\\u0643\\u0645\\u064A\";\n t[\"\\uFDB8\"] = \"\\u0646\\u062C\\u062D\";\n t[\"\\uFDB9\"] = \"\\u0645\\u062E\\u064A\";\n t[\"\\uFDBA\"] = \"\\u0644\\u062C\\u0645\";\n t[\"\\uFDBB\"] = \"\\u0643\\u0645\\u0645\";\n t[\"\\uFDBC\"] = \"\\u0644\\u062C\\u0645\";\n t[\"\\uFDBD\"] = \"\\u0646\\u062C\\u062D\";\n t[\"\\uFDBE\"] = \"\\u062C\\u062D\\u064A\";\n t[\"\\uFDBF\"] = \"\\u062D\\u062C\\u064A\";\n t[\"\\uFDC0\"] = \"\\u0645\\u062C\\u064A\";\n t[\"\\uFDC1\"] = \"\\u0641\\u0645\\u064A\";\n t[\"\\uFDC2\"] = \"\\u0628\\u062D\\u064A\";\n t[\"\\uFDC3\"] = \"\\u0643\\u0645\\u0645\";\n t[\"\\uFDC4\"] = \"\\u0639\\u062C\\u0645\";\n t[\"\\uFDC5\"] = \"\\u0635\\u0645\\u0645\";\n t[\"\\uFDC6\"] = \"\\u0633\\u062E\\u064A\";\n t[\"\\uFDC7\"] = \"\\u0646\\u062C\\u064A\";\n t[\"\\uFE49\"] = \"\\u203E\";\n t[\"\\uFE4A\"] = \"\\u203E\";\n t[\"\\uFE4B\"] = \"\\u203E\";\n t[\"\\uFE4C\"] = \"\\u203E\";\n t[\"\\uFE4D\"] = \"\\u005F\";\n t[\"\\uFE4E\"] = \"\\u005F\";\n t[\"\\uFE4F\"] = \"\\u005F\";\n t[\"\\uFE80\"] = \"\\u0621\";\n t[\"\\uFE81\"] = \"\\u0622\";\n t[\"\\uFE82\"] = \"\\u0622\";\n t[\"\\uFE83\"] = \"\\u0623\";\n t[\"\\uFE84\"] = \"\\u0623\";\n t[\"\\uFE85\"] = \"\\u0624\";\n t[\"\\uFE86\"] = \"\\u0624\";\n t[\"\\uFE87\"] = \"\\u0625\";\n t[\"\\uFE88\"] = \"\\u0625\";\n t[\"\\uFE89\"] = \"\\u0626\";\n t[\"\\uFE8A\"] = \"\\u0626\";\n t[\"\\uFE8B\"] = \"\\u0626\";\n t[\"\\uFE8C\"] = \"\\u0626\";\n t[\"\\uFE8D\"] = \"\\u0627\";\n t[\"\\uFE8E\"] = \"\\u0627\";\n t[\"\\uFE8F\"] = \"\\u0628\";\n t[\"\\uFE90\"] = \"\\u0628\";\n t[\"\\uFE91\"] = \"\\u0628\";\n t[\"\\uFE92\"] = \"\\u0628\";\n t[\"\\uFE93\"] = \"\\u0629\";\n t[\"\\uFE94\"] = \"\\u0629\";\n t[\"\\uFE95\"] = \"\\u062A\";\n t[\"\\uFE96\"] = \"\\u062A\";\n t[\"\\uFE97\"] = \"\\u062A\";\n t[\"\\uFE98\"] = \"\\u062A\";\n t[\"\\uFE99\"] = \"\\u062B\";\n t[\"\\uFE9A\"] = \"\\u062B\";\n t[\"\\uFE9B\"] = \"\\u062B\";\n t[\"\\uFE9C\"] = \"\\u062B\";\n t[\"\\uFE9D\"] = \"\\u062C\";\n t[\"\\uFE9E\"] = \"\\u062C\";\n t[\"\\uFE9F\"] = \"\\u062C\";\n t[\"\\uFEA0\"] = \"\\u062C\";\n t[\"\\uFEA1\"] = \"\\u062D\";\n t[\"\\uFEA2\"] = \"\\u062D\";\n t[\"\\uFEA3\"] = \"\\u062D\";\n t[\"\\uFEA4\"] = \"\\u062D\";\n t[\"\\uFEA5\"] = \"\\u062E\";\n t[\"\\uFEA6\"] = \"\\u062E\";\n t[\"\\uFEA7\"] = \"\\u062E\";\n t[\"\\uFEA8\"] = \"\\u062E\";\n t[\"\\uFEA9\"] = \"\\u062F\";\n t[\"\\uFEAA\"] = \"\\u062F\";\n t[\"\\uFEAB\"] = \"\\u0630\";\n t[\"\\uFEAC\"] = \"\\u0630\";\n t[\"\\uFEAD\"] = \"\\u0631\";\n t[\"\\uFEAE\"] = \"\\u0631\";\n t[\"\\uFEAF\"] = \"\\u0632\";\n t[\"\\uFEB0\"] = \"\\u0632\";\n t[\"\\uFEB1\"] = \"\\u0633\";\n t[\"\\uFEB2\"] = \"\\u0633\";\n t[\"\\uFEB3\"] = \"\\u0633\";\n t[\"\\uFEB4\"] = \"\\u0633\";\n t[\"\\uFEB5\"] = \"\\u0634\";\n t[\"\\uFEB6\"] = \"\\u0634\";\n t[\"\\uFEB7\"] = \"\\u0634\";\n t[\"\\uFEB8\"] = \"\\u0634\";\n t[\"\\uFEB9\"] = \"\\u0635\";\n t[\"\\uFEBA\"] = \"\\u0635\";\n t[\"\\uFEBB\"] = \"\\u0635\";\n t[\"\\uFEBC\"] = \"\\u0635\";\n t[\"\\uFEBD\"] = \"\\u0636\";\n t[\"\\uFEBE\"] = \"\\u0636\";\n t[\"\\uFEBF\"] = \"\\u0636\";\n t[\"\\uFEC0\"] = \"\\u0636\";\n t[\"\\uFEC1\"] = \"\\u0637\";\n t[\"\\uFEC2\"] = \"\\u0637\";\n t[\"\\uFEC3\"] = \"\\u0637\";\n t[\"\\uFEC4\"] = \"\\u0637\";\n t[\"\\uFEC5\"] = \"\\u0638\";\n t[\"\\uFEC6\"] = \"\\u0638\";\n t[\"\\uFEC7\"] = \"\\u0638\";\n t[\"\\uFEC8\"] = \"\\u0638\";\n t[\"\\uFEC9\"] = \"\\u0639\";\n t[\"\\uFECA\"] = \"\\u0639\";\n t[\"\\uFECB\"] = \"\\u0639\";\n t[\"\\uFECC\"] = \"\\u0639\";\n t[\"\\uFECD\"] = \"\\u063A\";\n t[\"\\uFECE\"] = \"\\u063A\";\n t[\"\\uFECF\"] = \"\\u063A\";\n t[\"\\uFED0\"] = \"\\u063A\";\n t[\"\\uFED1\"] = \"\\u0641\";\n t[\"\\uFED2\"] = \"\\u0641\";\n t[\"\\uFED3\"] = \"\\u0641\";\n t[\"\\uFED4\"] = \"\\u0641\";\n t[\"\\uFED5\"] = \"\\u0642\";\n t[\"\\uFED6\"] = \"\\u0642\";\n t[\"\\uFED7\"] = \"\\u0642\";\n t[\"\\uFED8\"] = \"\\u0642\";\n t[\"\\uFED9\"] = \"\\u0643\";\n t[\"\\uFEDA\"] = \"\\u0643\";\n t[\"\\uFEDB\"] = \"\\u0643\";\n t[\"\\uFEDC\"] = \"\\u0643\";\n t[\"\\uFEDD\"] = \"\\u0644\";\n t[\"\\uFEDE\"] = \"\\u0644\";\n t[\"\\uFEDF\"] = \"\\u0644\";\n t[\"\\uFEE0\"] = \"\\u0644\";\n t[\"\\uFEE1\"] = \"\\u0645\";\n t[\"\\uFEE2\"] = \"\\u0645\";\n t[\"\\uFEE3\"] = \"\\u0645\";\n t[\"\\uFEE4\"] = \"\\u0645\";\n t[\"\\uFEE5\"] = \"\\u0646\";\n t[\"\\uFEE6\"] = \"\\u0646\";\n t[\"\\uFEE7\"] = \"\\u0646\";\n t[\"\\uFEE8\"] = \"\\u0646\";\n t[\"\\uFEE9\"] = \"\\u0647\";\n t[\"\\uFEEA\"] = \"\\u0647\";\n t[\"\\uFEEB\"] = \"\\u0647\";\n t[\"\\uFEEC\"] = \"\\u0647\";\n t[\"\\uFEED\"] = \"\\u0648\";\n t[\"\\uFEEE\"] = \"\\u0648\";\n t[\"\\uFEEF\"] = \"\\u0649\";\n t[\"\\uFEF0\"] = \"\\u0649\";\n t[\"\\uFEF1\"] = \"\\u064A\";\n t[\"\\uFEF2\"] = \"\\u064A\";\n t[\"\\uFEF3\"] = \"\\u064A\";\n t[\"\\uFEF4\"] = \"\\u064A\";\n t[\"\\uFEF5\"] = \"\\u0644\\u0622\";\n t[\"\\uFEF6\"] = \"\\u0644\\u0622\";\n t[\"\\uFEF7\"] = \"\\u0644\\u0623\";\n t[\"\\uFEF8\"] = \"\\u0644\\u0623\";\n t[\"\\uFEF9\"] = \"\\u0644\\u0625\";\n t[\"\\uFEFA\"] = \"\\u0644\\u0625\";\n t[\"\\uFEFB\"] = \"\\u0644\\u0627\";\n t[\"\\uFEFC\"] = \"\\u0644\\u0627\";\n});\nfunction reverseIfRtl(chars) {\n var charsLength = chars.length;\n if (charsLength <= 1 || !isRTLRangeFor(chars.charCodeAt(0))) {\n return chars;\n }\n var s = \"\";\n for (var ii = charsLength - 1; ii >= 0; ii--) {\n s += chars[ii];\n }\n return s;\n}\nexports.mapSpecialUnicodeValues = mapSpecialUnicodeValues;\nexports.reverseIfRtl = reverseIfRtl;\nexports.getUnicodeRangeFor = getUnicodeRangeFor;\nexports.getNormalizedUnicodes = getNormalizedUnicodes;\nexports.getUnicodeForGlyph = getUnicodeForGlyph;\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FontRendererFactory = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _cff_parser = __w_pdfjs_require__(30);\n\nvar _glyphlist = __w_pdfjs_require__(33);\n\nvar _encodings = __w_pdfjs_require__(32);\n\nvar _stream = __w_pdfjs_require__(12);\n\nvar FontRendererFactory = function FontRendererFactoryClosure() {\n function getLong(data, offset) {\n return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n }\n\n function getUshort(data, offset) {\n return data[offset] << 8 | data[offset + 1];\n }\n\n function getSubroutineBias(subrs) {\n const numSubrs = subrs.length;\n let bias = 32768;\n\n if (numSubrs < 1240) {\n bias = 107;\n } else if (numSubrs < 33900) {\n bias = 1131;\n }\n\n return bias;\n }\n\n function parseCmap(data, start, end) {\n var offset = getUshort(data, start + 2) === 1 ? getLong(data, start + 8) : getLong(data, start + 16);\n var format = getUshort(data, start + offset);\n var ranges, p, i;\n\n if (format === 4) {\n getUshort(data, start + offset + 2);\n var segCount = getUshort(data, start + offset + 6) >> 1;\n p = start + offset + 14;\n ranges = [];\n\n for (i = 0; i < segCount; i++, p += 2) {\n ranges[i] = {\n end: getUshort(data, p)\n };\n }\n\n p += 2;\n\n for (i = 0; i < segCount; i++, p += 2) {\n ranges[i].start = getUshort(data, p);\n }\n\n for (i = 0; i < segCount; i++, p += 2) {\n ranges[i].idDelta = getUshort(data, p);\n }\n\n for (i = 0; i < segCount; i++, p += 2) {\n var idOffset = getUshort(data, p);\n\n if (idOffset === 0) {\n continue;\n }\n\n ranges[i].ids = [];\n\n for (var j = 0, jj = ranges[i].end - ranges[i].start + 1; j < jj; j++) {\n ranges[i].ids[j] = getUshort(data, p + idOffset);\n idOffset += 2;\n }\n }\n\n return ranges;\n } else if (format === 12) {\n getLong(data, start + offset + 4);\n var groups = getLong(data, start + offset + 12);\n p = start + offset + 16;\n ranges = [];\n\n for (i = 0; i < groups; i++) {\n ranges.push({\n start: getLong(data, p),\n end: getLong(data, p + 4),\n idDelta: getLong(data, p + 8) - getLong(data, p)\n });\n p += 12;\n }\n\n return ranges;\n }\n\n throw new _util.FormatError(`unsupported cmap: ${format}`);\n }\n\n function parseCff(data, start, end, seacAnalysisEnabled) {\n var properties = {};\n var parser = new _cff_parser.CFFParser(new _stream.Stream(data, start, end - start), properties, seacAnalysisEnabled);\n var cff = parser.parse();\n return {\n glyphs: cff.charStrings.objects,\n subrs: cff.topDict.privateDict && cff.topDict.privateDict.subrsIndex && cff.topDict.privateDict.subrsIndex.objects,\n gsubrs: cff.globalSubrIndex && cff.globalSubrIndex.objects,\n isCFFCIDFont: cff.isCIDFont,\n fdSelect: cff.fdSelect,\n fdArray: cff.fdArray\n };\n }\n\n function parseGlyfTable(glyf, loca, isGlyphLocationsLong) {\n var itemSize, itemDecode;\n\n if (isGlyphLocationsLong) {\n itemSize = 4;\n\n itemDecode = function fontItemDecodeLong(data, offset) {\n return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n };\n } else {\n itemSize = 2;\n\n itemDecode = function fontItemDecode(data, offset) {\n return data[offset] << 9 | data[offset + 1] << 1;\n };\n }\n\n var glyphs = [];\n var startOffset = itemDecode(loca, 0);\n\n for (var j = itemSize; j < loca.length; j += itemSize) {\n var endOffset = itemDecode(loca, j);\n glyphs.push(glyf.subarray(startOffset, endOffset));\n startOffset = endOffset;\n }\n\n return glyphs;\n }\n\n function lookupCmap(ranges, unicode) {\n var code = unicode.codePointAt(0),\n gid = 0;\n var l = 0,\n r = ranges.length - 1;\n\n while (l < r) {\n var c = l + r + 1 >> 1;\n\n if (code < ranges[c].start) {\n r = c - 1;\n } else {\n l = c;\n }\n }\n\n if (ranges[l].start <= code && code <= ranges[l].end) {\n gid = ranges[l].idDelta + (ranges[l].ids ? ranges[l].ids[code - ranges[l].start] : code) & 0xffff;\n }\n\n return {\n charCode: code,\n glyphId: gid\n };\n }\n\n function compileGlyf(code, cmds, font) {\n function moveTo(x, y) {\n cmds.push({\n cmd: \"moveTo\",\n args: [x, y]\n });\n }\n\n function lineTo(x, y) {\n cmds.push({\n cmd: \"lineTo\",\n args: [x, y]\n });\n }\n\n function quadraticCurveTo(xa, ya, x, y) {\n cmds.push({\n cmd: \"quadraticCurveTo\",\n args: [xa, ya, x, y]\n });\n }\n\n var i = 0;\n var numberOfContours = (code[i] << 24 | code[i + 1] << 16) >> 16;\n var flags;\n var x = 0,\n y = 0;\n i += 10;\n\n if (numberOfContours < 0) {\n do {\n flags = code[i] << 8 | code[i + 1];\n var glyphIndex = code[i + 2] << 8 | code[i + 3];\n i += 4;\n var arg1, arg2;\n\n if (flags & 0x01) {\n arg1 = (code[i] << 24 | code[i + 1] << 16) >> 16;\n arg2 = (code[i + 2] << 24 | code[i + 3] << 16) >> 16;\n i += 4;\n } else {\n arg1 = code[i++];\n arg2 = code[i++];\n }\n\n if (flags & 0x02) {\n x = arg1;\n y = arg2;\n } else {\n x = 0;\n y = 0;\n }\n\n var scaleX = 1,\n scaleY = 1,\n scale01 = 0,\n scale10 = 0;\n\n if (flags & 0x08) {\n scaleX = scaleY = (code[i] << 24 | code[i + 1] << 16) / 1073741824;\n i += 2;\n } else if (flags & 0x40) {\n scaleX = (code[i] << 24 | code[i + 1] << 16) / 1073741824;\n scaleY = (code[i + 2] << 24 | code[i + 3] << 16) / 1073741824;\n i += 4;\n } else if (flags & 0x80) {\n scaleX = (code[i] << 24 | code[i + 1] << 16) / 1073741824;\n scale01 = (code[i + 2] << 24 | code[i + 3] << 16) / 1073741824;\n scale10 = (code[i + 4] << 24 | code[i + 5] << 16) / 1073741824;\n scaleY = (code[i + 6] << 24 | code[i + 7] << 16) / 1073741824;\n i += 8;\n }\n\n var subglyph = font.glyphs[glyphIndex];\n\n if (subglyph) {\n cmds.push({\n cmd: \"save\"\n });\n cmds.push({\n cmd: \"transform\",\n args: [scaleX, scale01, scale10, scaleY, x, y]\n });\n compileGlyf(subglyph, cmds, font);\n cmds.push({\n cmd: \"restore\"\n });\n }\n } while (flags & 0x20);\n } else {\n var endPtsOfContours = [];\n var j, jj;\n\n for (j = 0; j < numberOfContours; j++) {\n endPtsOfContours.push(code[i] << 8 | code[i + 1]);\n i += 2;\n }\n\n var instructionLength = code[i] << 8 | code[i + 1];\n i += 2 + instructionLength;\n var numberOfPoints = endPtsOfContours[endPtsOfContours.length - 1] + 1;\n var points = [];\n\n while (points.length < numberOfPoints) {\n flags = code[i++];\n var repeat = 1;\n\n if (flags & 0x08) {\n repeat += code[i++];\n }\n\n while (repeat-- > 0) {\n points.push({\n flags\n });\n }\n }\n\n for (j = 0; j < numberOfPoints; j++) {\n switch (points[j].flags & 0x12) {\n case 0x00:\n x += (code[i] << 24 | code[i + 1] << 16) >> 16;\n i += 2;\n break;\n\n case 0x02:\n x -= code[i++];\n break;\n\n case 0x12:\n x += code[i++];\n break;\n }\n\n points[j].x = x;\n }\n\n for (j = 0; j < numberOfPoints; j++) {\n switch (points[j].flags & 0x24) {\n case 0x00:\n y += (code[i] << 24 | code[i + 1] << 16) >> 16;\n i += 2;\n break;\n\n case 0x04:\n y -= code[i++];\n break;\n\n case 0x24:\n y += code[i++];\n break;\n }\n\n points[j].y = y;\n }\n\n var startPoint = 0;\n\n for (i = 0; i < numberOfContours; i++) {\n var endPoint = endPtsOfContours[i];\n var contour = points.slice(startPoint, endPoint + 1);\n\n if (contour[0].flags & 1) {\n contour.push(contour[0]);\n } else if (contour[contour.length - 1].flags & 1) {\n contour.unshift(contour[contour.length - 1]);\n } else {\n var p = {\n flags: 1,\n x: (contour[0].x + contour[contour.length - 1].x) / 2,\n y: (contour[0].y + contour[contour.length - 1].y) / 2\n };\n contour.unshift(p);\n contour.push(p);\n }\n\n moveTo(contour[0].x, contour[0].y);\n\n for (j = 1, jj = contour.length; j < jj; j++) {\n if (contour[j].flags & 1) {\n lineTo(contour[j].x, contour[j].y);\n } else if (contour[j + 1].flags & 1) {\n quadraticCurveTo(contour[j].x, contour[j].y, contour[j + 1].x, contour[j + 1].y);\n j++;\n } else {\n quadraticCurveTo(contour[j].x, contour[j].y, (contour[j].x + contour[j + 1].x) / 2, (contour[j].y + contour[j + 1].y) / 2);\n }\n }\n\n startPoint = endPoint + 1;\n }\n }\n }\n\n function compileCharString(charStringCode, cmds, font, glyphId) {\n function moveTo(x, y) {\n cmds.push({\n cmd: \"moveTo\",\n args: [x, y]\n });\n }\n\n function lineTo(x, y) {\n cmds.push({\n cmd: \"lineTo\",\n args: [x, y]\n });\n }\n\n function bezierCurveTo(x1, y1, x2, y2, x, y) {\n cmds.push({\n cmd: \"bezierCurveTo\",\n args: [x1, y1, x2, y2, x, y]\n });\n }\n\n var stack = [];\n var x = 0,\n y = 0;\n var stems = 0;\n\n function parse(code) {\n var i = 0;\n\n while (i < code.length) {\n var stackClean = false;\n var v = code[i++];\n var xa, xb, ya, yb, y1, y2, y3, n, subrCode;\n\n switch (v) {\n case 1:\n stems += stack.length >> 1;\n stackClean = true;\n break;\n\n case 3:\n stems += stack.length >> 1;\n stackClean = true;\n break;\n\n case 4:\n y += stack.pop();\n moveTo(x, y);\n stackClean = true;\n break;\n\n case 5:\n while (stack.length > 0) {\n x += stack.shift();\n y += stack.shift();\n lineTo(x, y);\n }\n\n break;\n\n case 6:\n while (stack.length > 0) {\n x += stack.shift();\n lineTo(x, y);\n\n if (stack.length === 0) {\n break;\n }\n\n y += stack.shift();\n lineTo(x, y);\n }\n\n break;\n\n case 7:\n while (stack.length > 0) {\n y += stack.shift();\n lineTo(x, y);\n\n if (stack.length === 0) {\n break;\n }\n\n x += stack.shift();\n lineTo(x, y);\n }\n\n break;\n\n case 8:\n while (stack.length > 0) {\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n case 10:\n n = stack.pop();\n subrCode = null;\n\n if (font.isCFFCIDFont) {\n const fdIndex = font.fdSelect.getFDIndex(glyphId);\n\n if (fdIndex >= 0 && fdIndex < font.fdArray.length) {\n const fontDict = font.fdArray[fdIndex];\n let subrs;\n\n if (fontDict.privateDict && fontDict.privateDict.subrsIndex) {\n subrs = fontDict.privateDict.subrsIndex.objects;\n }\n\n if (subrs) {\n n += getSubroutineBias(subrs);\n subrCode = subrs[n];\n }\n } else {\n (0, _util.warn)(\"Invalid fd index for glyph index.\");\n }\n } else {\n subrCode = font.subrs[n + font.subrsBias];\n }\n\n if (subrCode) {\n parse(subrCode);\n }\n\n break;\n\n case 11:\n return;\n\n case 12:\n v = code[i++];\n\n switch (v) {\n case 34:\n xa = x + stack.shift();\n xb = xa + stack.shift();\n y1 = y + stack.shift();\n x = xb + stack.shift();\n bezierCurveTo(xa, y, xb, y1, x, y1);\n xa = x + stack.shift();\n xb = xa + stack.shift();\n x = xb + stack.shift();\n bezierCurveTo(xa, y1, xb, y, x, y);\n break;\n\n case 35:\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n stack.pop();\n break;\n\n case 36:\n xa = x + stack.shift();\n y1 = y + stack.shift();\n xb = xa + stack.shift();\n y2 = y1 + stack.shift();\n x = xb + stack.shift();\n bezierCurveTo(xa, y1, xb, y2, x, y2);\n xa = x + stack.shift();\n xb = xa + stack.shift();\n y3 = y2 + stack.shift();\n x = xb + stack.shift();\n bezierCurveTo(xa, y2, xb, y3, x, y);\n break;\n\n case 37:\n var x0 = x,\n y0 = y;\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb;\n y = yb;\n\n if (Math.abs(x - x0) > Math.abs(y - y0)) {\n x += stack.shift();\n } else {\n y += stack.shift();\n }\n\n bezierCurveTo(xa, ya, xb, yb, x, y);\n break;\n\n default:\n throw new _util.FormatError(`unknown operator: 12 ${v}`);\n }\n\n break;\n\n case 14:\n if (stack.length >= 4) {\n var achar = stack.pop();\n var bchar = stack.pop();\n y = stack.pop();\n x = stack.pop();\n cmds.push({\n cmd: \"save\"\n });\n cmds.push({\n cmd: \"translate\",\n args: [x, y]\n });\n var cmap = lookupCmap(font.cmap, String.fromCharCode(font.glyphNameMap[_encodings.StandardEncoding[achar]]));\n compileCharString(font.glyphs[cmap.glyphId], cmds, font, cmap.glyphId);\n cmds.push({\n cmd: \"restore\"\n });\n cmap = lookupCmap(font.cmap, String.fromCharCode(font.glyphNameMap[_encodings.StandardEncoding[bchar]]));\n compileCharString(font.glyphs[cmap.glyphId], cmds, font, cmap.glyphId);\n }\n\n return;\n\n case 18:\n stems += stack.length >> 1;\n stackClean = true;\n break;\n\n case 19:\n stems += stack.length >> 1;\n i += stems + 7 >> 3;\n stackClean = true;\n break;\n\n case 20:\n stems += stack.length >> 1;\n i += stems + 7 >> 3;\n stackClean = true;\n break;\n\n case 21:\n y += stack.pop();\n x += stack.pop();\n moveTo(x, y);\n stackClean = true;\n break;\n\n case 22:\n x += stack.pop();\n moveTo(x, y);\n stackClean = true;\n break;\n\n case 23:\n stems += stack.length >> 1;\n stackClean = true;\n break;\n\n case 24:\n while (stack.length > 2) {\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n x += stack.shift();\n y += stack.shift();\n lineTo(x, y);\n break;\n\n case 25:\n while (stack.length > 6) {\n x += stack.shift();\n y += stack.shift();\n lineTo(x, y);\n }\n\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n break;\n\n case 26:\n if (stack.length % 2) {\n x += stack.shift();\n }\n\n while (stack.length > 0) {\n xa = x;\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb;\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n case 27:\n if (stack.length % 2) {\n y += stack.shift();\n }\n\n while (stack.length > 0) {\n xa = x + stack.shift();\n ya = y;\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb;\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n case 28:\n stack.push((code[i] << 24 | code[i + 1] << 16) >> 16);\n i += 2;\n break;\n\n case 29:\n n = stack.pop() + font.gsubrsBias;\n subrCode = font.gsubrs[n];\n\n if (subrCode) {\n parse(subrCode);\n }\n\n break;\n\n case 30:\n while (stack.length > 0) {\n xa = x;\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + (stack.length === 1 ? stack.shift() : 0);\n bezierCurveTo(xa, ya, xb, yb, x, y);\n\n if (stack.length === 0) {\n break;\n }\n\n xa = x + stack.shift();\n ya = y;\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n y = yb + stack.shift();\n x = xb + (stack.length === 1 ? stack.shift() : 0);\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n case 31:\n while (stack.length > 0) {\n xa = x + stack.shift();\n ya = y;\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n y = yb + stack.shift();\n x = xb + (stack.length === 1 ? stack.shift() : 0);\n bezierCurveTo(xa, ya, xb, yb, x, y);\n\n if (stack.length === 0) {\n break;\n }\n\n xa = x;\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + (stack.length === 1 ? stack.shift() : 0);\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n default:\n if (v < 32) {\n throw new _util.FormatError(`unknown operator: ${v}`);\n }\n\n if (v < 247) {\n stack.push(v - 139);\n } else if (v < 251) {\n stack.push((v - 247) * 256 + code[i++] + 108);\n } else if (v < 255) {\n stack.push(-(v - 251) * 256 - code[i++] - 108);\n } else {\n stack.push((code[i] << 24 | code[i + 1] << 16 | code[i + 2] << 8 | code[i + 3]) / 65536);\n i += 4;\n }\n\n break;\n }\n\n if (stackClean) {\n stack.length = 0;\n }\n }\n }\n\n parse(charStringCode);\n }\n\n const NOOP = [];\n\n class CompiledFont {\n constructor(fontMatrix) {\n if (this.constructor === CompiledFont) {\n (0, _util.unreachable)(\"Cannot initialize CompiledFont.\");\n }\n\n this.fontMatrix = fontMatrix;\n this.compiledGlyphs = Object.create(null);\n this.compiledCharCodeToGlyphId = Object.create(null);\n }\n\n getPathJs(unicode) {\n const cmap = lookupCmap(this.cmap, unicode);\n let fn = this.compiledGlyphs[cmap.glyphId];\n\n if (!fn) {\n fn = this.compileGlyph(this.glyphs[cmap.glyphId], cmap.glyphId);\n this.compiledGlyphs[cmap.glyphId] = fn;\n }\n\n if (this.compiledCharCodeToGlyphId[cmap.charCode] === undefined) {\n this.compiledCharCodeToGlyphId[cmap.charCode] = cmap.glyphId;\n }\n\n return fn;\n }\n\n compileGlyph(code, glyphId) {\n if (!code || code.length === 0 || code[0] === 14) {\n return NOOP;\n }\n\n let fontMatrix = this.fontMatrix;\n\n if (this.isCFFCIDFont) {\n const fdIndex = this.fdSelect.getFDIndex(glyphId);\n\n if (fdIndex >= 0 && fdIndex < this.fdArray.length) {\n const fontDict = this.fdArray[fdIndex];\n fontMatrix = fontDict.getByName(\"FontMatrix\") || _util.FONT_IDENTITY_MATRIX;\n } else {\n (0, _util.warn)(\"Invalid fd index for glyph index.\");\n }\n }\n\n const cmds = [];\n cmds.push({\n cmd: \"save\"\n });\n cmds.push({\n cmd: \"transform\",\n args: fontMatrix.slice()\n });\n cmds.push({\n cmd: \"scale\",\n args: [\"size\", \"-size\"]\n });\n this.compileGlyphImpl(code, cmds, glyphId);\n cmds.push({\n cmd: \"restore\"\n });\n return cmds;\n }\n\n compileGlyphImpl() {\n (0, _util.unreachable)(\"Children classes should implement this.\");\n }\n\n hasBuiltPath(unicode) {\n const cmap = lookupCmap(this.cmap, unicode);\n return this.compiledGlyphs[cmap.glyphId] !== undefined && this.compiledCharCodeToGlyphId[cmap.charCode] !== undefined;\n }\n\n }\n\n class TrueTypeCompiled extends CompiledFont {\n constructor(glyphs, cmap, fontMatrix) {\n super(fontMatrix || [0.000488, 0, 0, 0.000488, 0, 0]);\n this.glyphs = glyphs;\n this.cmap = cmap;\n }\n\n compileGlyphImpl(code, cmds) {\n compileGlyf(code, cmds, this);\n }\n\n }\n\n class Type2Compiled extends CompiledFont {\n constructor(cffInfo, cmap, fontMatrix, glyphNameMap) {\n super(fontMatrix || [0.001, 0, 0, 0.001, 0, 0]);\n this.glyphs = cffInfo.glyphs;\n this.gsubrs = cffInfo.gsubrs || [];\n this.subrs = cffInfo.subrs || [];\n this.cmap = cmap;\n this.glyphNameMap = glyphNameMap || (0, _glyphlist.getGlyphsUnicode)();\n this.gsubrsBias = getSubroutineBias(this.gsubrs);\n this.subrsBias = getSubroutineBias(this.subrs);\n this.isCFFCIDFont = cffInfo.isCFFCIDFont;\n this.fdSelect = cffInfo.fdSelect;\n this.fdArray = cffInfo.fdArray;\n }\n\n compileGlyphImpl(code, cmds, glyphId) {\n compileCharString(code, cmds, this, glyphId);\n }\n\n }\n\n return {\n create: function FontRendererFactory_create(font, seacAnalysisEnabled) {\n var data = new Uint8Array(font.data);\n var cmap, glyf, loca, cff, indexToLocFormat, unitsPerEm;\n var numTables = getUshort(data, 4);\n\n for (var i = 0, p = 12; i < numTables; i++, p += 16) {\n var tag = (0, _util.bytesToString)(data.subarray(p, p + 4));\n var offset = getLong(data, p + 8);\n var length = getLong(data, p + 12);\n\n switch (tag) {\n case \"cmap\":\n cmap = parseCmap(data, offset, offset + length);\n break;\n\n case \"glyf\":\n glyf = data.subarray(offset, offset + length);\n break;\n\n case \"loca\":\n loca = data.subarray(offset, offset + length);\n break;\n\n case \"head\":\n unitsPerEm = getUshort(data, offset + 18);\n indexToLocFormat = getUshort(data, offset + 50);\n break;\n\n case \"CFF \":\n cff = parseCff(data, offset, offset + length, seacAnalysisEnabled);\n break;\n }\n }\n\n if (glyf) {\n var fontMatrix = !unitsPerEm ? font.fontMatrix : [1 / unitsPerEm, 0, 0, 1 / unitsPerEm, 0, 0];\n return new TrueTypeCompiled(parseGlyfTable(glyf, loca, indexToLocFormat), cmap, fontMatrix);\n }\n\n return new Type2Compiled(cff, cmap, font.fontMatrix, font.glyphNameMap);\n }\n };\n}();\n\nexports.FontRendererFactory = FontRendererFactory;\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Type1Parser = void 0;\n\nvar _encodings = __w_pdfjs_require__(32);\n\nvar _core_utils = __w_pdfjs_require__(8);\n\nvar _stream = __w_pdfjs_require__(12);\n\nvar _util = __w_pdfjs_require__(2);\n\nvar HINTING_ENABLED = false;\n\nvar Type1CharString = function Type1CharStringClosure() {\n var COMMAND_MAP = {\n hstem: [1],\n vstem: [3],\n vmoveto: [4],\n rlineto: [5],\n hlineto: [6],\n vlineto: [7],\n rrcurveto: [8],\n callsubr: [10],\n flex: [12, 35],\n drop: [12, 18],\n endchar: [14],\n rmoveto: [21],\n hmoveto: [22],\n vhcurveto: [30],\n hvcurveto: [31]\n };\n\n function Type1CharString() {\n this.width = 0;\n this.lsb = 0;\n this.flexing = false;\n this.output = [];\n this.stack = [];\n }\n\n Type1CharString.prototype = {\n convert: function Type1CharString_convert(encoded, subrs, seacAnalysisEnabled) {\n var count = encoded.length;\n var error = false;\n var wx, sbx, subrNumber;\n\n for (var i = 0; i < count; i++) {\n var value = encoded[i];\n\n if (value < 32) {\n if (value === 12) {\n value = (value << 8) + encoded[++i];\n }\n\n switch (value) {\n case 1:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.hstem);\n break;\n\n case 3:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.vstem);\n break;\n\n case 4:\n if (this.flexing) {\n if (this.stack.length < 1) {\n error = true;\n break;\n }\n\n var dy = this.stack.pop();\n this.stack.push(0, dy);\n break;\n }\n\n error = this.executeCommand(1, COMMAND_MAP.vmoveto);\n break;\n\n case 5:\n error = this.executeCommand(2, COMMAND_MAP.rlineto);\n break;\n\n case 6:\n error = this.executeCommand(1, COMMAND_MAP.hlineto);\n break;\n\n case 7:\n error = this.executeCommand(1, COMMAND_MAP.vlineto);\n break;\n\n case 8:\n error = this.executeCommand(6, COMMAND_MAP.rrcurveto);\n break;\n\n case 9:\n this.stack = [];\n break;\n\n case 10:\n if (this.stack.length < 1) {\n error = true;\n break;\n }\n\n subrNumber = this.stack.pop();\n\n if (!subrs[subrNumber]) {\n error = true;\n break;\n }\n\n error = this.convert(subrs[subrNumber], subrs, seacAnalysisEnabled);\n break;\n\n case 11:\n return error;\n\n case 13:\n if (this.stack.length < 2) {\n error = true;\n break;\n }\n\n wx = this.stack.pop();\n sbx = this.stack.pop();\n this.lsb = sbx;\n this.width = wx;\n this.stack.push(wx, sbx);\n error = this.executeCommand(2, COMMAND_MAP.hmoveto);\n break;\n\n case 14:\n this.output.push(COMMAND_MAP.endchar[0]);\n break;\n\n case 21:\n if (this.flexing) {\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.rmoveto);\n break;\n\n case 22:\n if (this.flexing) {\n this.stack.push(0);\n break;\n }\n\n error = this.executeCommand(1, COMMAND_MAP.hmoveto);\n break;\n\n case 30:\n error = this.executeCommand(4, COMMAND_MAP.vhcurveto);\n break;\n\n case 31:\n error = this.executeCommand(4, COMMAND_MAP.hvcurveto);\n break;\n\n case (12 << 8) + 0:\n this.stack = [];\n break;\n\n case (12 << 8) + 1:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.vstem);\n break;\n\n case (12 << 8) + 2:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.hstem);\n break;\n\n case (12 << 8) + 6:\n if (seacAnalysisEnabled) {\n this.seac = this.stack.splice(-4, 4);\n error = this.executeCommand(0, COMMAND_MAP.endchar);\n } else {\n error = this.executeCommand(4, COMMAND_MAP.endchar);\n }\n\n break;\n\n case (12 << 8) + 7:\n if (this.stack.length < 4) {\n error = true;\n break;\n }\n\n this.stack.pop();\n wx = this.stack.pop();\n var sby = this.stack.pop();\n sbx = this.stack.pop();\n this.lsb = sbx;\n this.width = wx;\n this.stack.push(wx, sbx, sby);\n error = this.executeCommand(3, COMMAND_MAP.rmoveto);\n break;\n\n case (12 << 8) + 12:\n if (this.stack.length < 2) {\n error = true;\n break;\n }\n\n var num2 = this.stack.pop();\n var num1 = this.stack.pop();\n this.stack.push(num1 / num2);\n break;\n\n case (12 << 8) + 16:\n if (this.stack.length < 2) {\n error = true;\n break;\n }\n\n subrNumber = this.stack.pop();\n var numArgs = this.stack.pop();\n\n if (subrNumber === 0 && numArgs === 3) {\n var flexArgs = this.stack.splice(this.stack.length - 17, 17);\n this.stack.push(flexArgs[2] + flexArgs[0], flexArgs[3] + flexArgs[1], flexArgs[4], flexArgs[5], flexArgs[6], flexArgs[7], flexArgs[8], flexArgs[9], flexArgs[10], flexArgs[11], flexArgs[12], flexArgs[13], flexArgs[14]);\n error = this.executeCommand(13, COMMAND_MAP.flex, true);\n this.flexing = false;\n this.stack.push(flexArgs[15], flexArgs[16]);\n } else if (subrNumber === 1 && numArgs === 0) {\n this.flexing = true;\n }\n\n break;\n\n case (12 << 8) + 17:\n break;\n\n case (12 << 8) + 33:\n this.stack = [];\n break;\n\n default:\n (0, _util.warn)('Unknown type 1 charstring command of \"' + value + '\"');\n break;\n }\n\n if (error) {\n break;\n }\n\n continue;\n } else if (value <= 246) {\n value = value - 139;\n } else if (value <= 250) {\n value = (value - 247) * 256 + encoded[++i] + 108;\n } else if (value <= 254) {\n value = -((value - 251) * 256) - encoded[++i] - 108;\n } else {\n value = (encoded[++i] & 0xff) << 24 | (encoded[++i] & 0xff) << 16 | (encoded[++i] & 0xff) << 8 | (encoded[++i] & 0xff) << 0;\n }\n\n this.stack.push(value);\n }\n\n return error;\n },\n\n executeCommand(howManyArgs, command, keepStack) {\n var stackLength = this.stack.length;\n\n if (howManyArgs > stackLength) {\n return true;\n }\n\n var start = stackLength - howManyArgs;\n\n for (var i = start; i < stackLength; i++) {\n var value = this.stack[i];\n\n if (Number.isInteger(value)) {\n this.output.push(28, value >> 8 & 0xff, value & 0xff);\n } else {\n value = 65536 * value | 0;\n this.output.push(255, value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n }\n }\n\n this.output.push.apply(this.output, command);\n\n if (keepStack) {\n this.stack.splice(start, howManyArgs);\n } else {\n this.stack.length = 0;\n }\n\n return false;\n }\n\n };\n return Type1CharString;\n}();\n\nvar Type1Parser = function Type1ParserClosure() {\n var EEXEC_ENCRYPT_KEY = 55665;\n var CHAR_STRS_ENCRYPT_KEY = 4330;\n\n function isHexDigit(code) {\n return code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102;\n }\n\n function decrypt(data, key, discardNumber) {\n if (discardNumber >= data.length) {\n return new Uint8Array(0);\n }\n\n var r = key | 0,\n c1 = 52845,\n c2 = 22719,\n i,\n j;\n\n for (i = 0; i < discardNumber; i++) {\n r = (data[i] + r) * c1 + c2 & (1 << 16) - 1;\n }\n\n var count = data.length - discardNumber;\n var decrypted = new Uint8Array(count);\n\n for (i = discardNumber, j = 0; j < count; i++, j++) {\n var value = data[i];\n decrypted[j] = value ^ r >> 8;\n r = (value + r) * c1 + c2 & (1 << 16) - 1;\n }\n\n return decrypted;\n }\n\n function decryptAscii(data, key, discardNumber) {\n var r = key | 0,\n c1 = 52845,\n c2 = 22719;\n var count = data.length,\n maybeLength = count >>> 1;\n var decrypted = new Uint8Array(maybeLength);\n var i, j;\n\n for (i = 0, j = 0; i < count; i++) {\n var digit1 = data[i];\n\n if (!isHexDigit(digit1)) {\n continue;\n }\n\n i++;\n var digit2;\n\n while (i < count && !isHexDigit(digit2 = data[i])) {\n i++;\n }\n\n if (i < count) {\n var value = parseInt(String.fromCharCode(digit1, digit2), 16);\n decrypted[j++] = value ^ r >> 8;\n r = (value + r) * c1 + c2 & (1 << 16) - 1;\n }\n }\n\n return decrypted.slice(discardNumber, j);\n }\n\n function isSpecial(c) {\n return c === 0x2f || c === 0x5b || c === 0x5d || c === 0x7b || c === 0x7d || c === 0x28 || c === 0x29;\n }\n\n function Type1Parser(stream, encrypted, seacAnalysisEnabled) {\n if (encrypted) {\n var data = stream.getBytes();\n var isBinary = !((isHexDigit(data[0]) || (0, _core_utils.isWhiteSpace)(data[0])) && isHexDigit(data[1]) && isHexDigit(data[2]) && isHexDigit(data[3]) && isHexDigit(data[4]) && isHexDigit(data[5]) && isHexDigit(data[6]) && isHexDigit(data[7]));\n stream = new _stream.Stream(isBinary ? decrypt(data, EEXEC_ENCRYPT_KEY, 4) : decryptAscii(data, EEXEC_ENCRYPT_KEY, 4));\n }\n\n this.seacAnalysisEnabled = !!seacAnalysisEnabled;\n this.stream = stream;\n this.nextChar();\n }\n\n Type1Parser.prototype = {\n readNumberArray: function Type1Parser_readNumberArray() {\n this.getToken();\n var array = [];\n\n while (true) {\n var token = this.getToken();\n\n if (token === null || token === \"]\" || token === \"}\") {\n break;\n }\n\n array.push(parseFloat(token || 0));\n }\n\n return array;\n },\n readNumber: function Type1Parser_readNumber() {\n var token = this.getToken();\n return parseFloat(token || 0);\n },\n readInt: function Type1Parser_readInt() {\n var token = this.getToken();\n return parseInt(token || 0, 10) | 0;\n },\n readBoolean: function Type1Parser_readBoolean() {\n var token = this.getToken();\n return token === \"true\" ? 1 : 0;\n },\n nextChar: function Type1_nextChar() {\n return this.currentChar = this.stream.getByte();\n },\n getToken: function Type1Parser_getToken() {\n var comment = false;\n var ch = this.currentChar;\n\n while (true) {\n if (ch === -1) {\n return null;\n }\n\n if (comment) {\n if (ch === 0x0a || ch === 0x0d) {\n comment = false;\n }\n } else if (ch === 0x25) {\n comment = true;\n } else if (!(0, _core_utils.isWhiteSpace)(ch)) {\n break;\n }\n\n ch = this.nextChar();\n }\n\n if (isSpecial(ch)) {\n this.nextChar();\n return String.fromCharCode(ch);\n }\n\n var token = \"\";\n\n do {\n token += String.fromCharCode(ch);\n ch = this.nextChar();\n } while (ch >= 0 && !(0, _core_utils.isWhiteSpace)(ch) && !isSpecial(ch));\n\n return token;\n },\n readCharStrings: function Type1Parser_readCharStrings(bytes, lenIV) {\n if (lenIV === -1) {\n return bytes;\n }\n\n return decrypt(bytes, CHAR_STRS_ENCRYPT_KEY, lenIV);\n },\n extractFontProgram: function Type1Parser_extractFontProgram(properties) {\n var stream = this.stream;\n var subrs = [],\n charstrings = [];\n var privateData = Object.create(null);\n privateData.lenIV = 4;\n var program = {\n subrs: [],\n charstrings: [],\n properties: {\n privateData\n }\n };\n var token, length, data, lenIV, encoded;\n\n while ((token = this.getToken()) !== null) {\n if (token !== \"/\") {\n continue;\n }\n\n token = this.getToken();\n\n switch (token) {\n case \"CharStrings\":\n this.getToken();\n this.getToken();\n this.getToken();\n this.getToken();\n\n while (true) {\n token = this.getToken();\n\n if (token === null || token === \"end\") {\n break;\n }\n\n if (token !== \"/\") {\n continue;\n }\n\n var glyph = this.getToken();\n length = this.readInt();\n this.getToken();\n data = length > 0 ? stream.getBytes(length) : new Uint8Array(0);\n lenIV = program.properties.privateData.lenIV;\n encoded = this.readCharStrings(data, lenIV);\n this.nextChar();\n token = this.getToken();\n\n if (token === \"noaccess\") {\n this.getToken();\n }\n\n charstrings.push({\n glyph,\n encoded\n });\n }\n\n break;\n\n case \"Subrs\":\n this.readInt();\n this.getToken();\n\n while (this.getToken() === \"dup\") {\n const index = this.readInt();\n length = this.readInt();\n this.getToken();\n data = length > 0 ? stream.getBytes(length) : new Uint8Array(0);\n lenIV = program.properties.privateData.lenIV;\n encoded = this.readCharStrings(data, lenIV);\n this.nextChar();\n token = this.getToken();\n\n if (token === \"noaccess\") {\n this.getToken();\n }\n\n subrs[index] = encoded;\n }\n\n break;\n\n case \"BlueValues\":\n case \"OtherBlues\":\n case \"FamilyBlues\":\n case \"FamilyOtherBlues\":\n var blueArray = this.readNumberArray();\n\n if (blueArray.length > 0 && blueArray.length % 2 === 0 && HINTING_ENABLED) {\n program.properties.privateData[token] = blueArray;\n }\n\n break;\n\n case \"StemSnapH\":\n case \"StemSnapV\":\n program.properties.privateData[token] = this.readNumberArray();\n break;\n\n case \"StdHW\":\n case \"StdVW\":\n program.properties.privateData[token] = this.readNumberArray()[0];\n break;\n\n case \"BlueShift\":\n case \"lenIV\":\n case \"BlueFuzz\":\n case \"BlueScale\":\n case \"LanguageGroup\":\n case \"ExpansionFactor\":\n program.properties.privateData[token] = this.readNumber();\n break;\n\n case \"ForceBold\":\n program.properties.privateData[token] = this.readBoolean();\n break;\n }\n }\n\n for (var i = 0; i < charstrings.length; i++) {\n glyph = charstrings[i].glyph;\n encoded = charstrings[i].encoded;\n var charString = new Type1CharString();\n var error = charString.convert(encoded, subrs, this.seacAnalysisEnabled);\n var output = charString.output;\n\n if (error) {\n output = [14];\n }\n\n const charStringObject = {\n glyphName: glyph,\n charstring: output,\n width: charString.width,\n lsb: charString.lsb,\n seac: charString.seac\n };\n\n if (glyph === \".notdef\") {\n program.charstrings.unshift(charStringObject);\n } else {\n program.charstrings.push(charStringObject);\n }\n\n if (properties.builtInEncoding) {\n const index = properties.builtInEncoding.indexOf(glyph);\n\n if (index > -1 && properties.widths[index] === undefined && index >= properties.firstChar && index <= properties.lastChar) {\n properties.widths[index] = charString.width;\n }\n }\n }\n\n return program;\n },\n extractFontHeader: function Type1Parser_extractFontHeader(properties) {\n var token;\n\n while ((token = this.getToken()) !== null) {\n if (token !== \"/\") {\n continue;\n }\n\n token = this.getToken();\n\n switch (token) {\n case \"FontMatrix\":\n var matrix = this.readNumberArray();\n properties.fontMatrix = matrix;\n break;\n\n case \"Encoding\":\n var encodingArg = this.getToken();\n var encoding;\n\n if (!/^\\d+$/.test(encodingArg)) {\n encoding = (0, _encodings.getEncoding)(encodingArg);\n } else {\n encoding = [];\n var size = parseInt(encodingArg, 10) | 0;\n this.getToken();\n\n for (var j = 0; j < size; j++) {\n token = this.getToken();\n\n while (token !== \"dup\" && token !== \"def\") {\n token = this.getToken();\n\n if (token === null) {\n return;\n }\n }\n\n if (token === \"def\") {\n break;\n }\n\n var index = this.readInt();\n this.getToken();\n var glyph = this.getToken();\n encoding[index] = glyph;\n this.getToken();\n }\n }\n\n properties.builtInEncoding = encoding;\n break;\n\n case \"FontBBox\":\n var fontBBox = this.readNumberArray();\n properties.ascent = Math.max(fontBBox[3], fontBBox[1]);\n properties.descent = Math.min(fontBBox[1], fontBBox[3]);\n properties.ascentScaled = true;\n break;\n }\n }\n }\n };\n return Type1Parser;\n}();\n\nexports.Type1Parser = Type1Parser;\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getTilingPatternIR = getTilingPatternIR;\nexports.Pattern = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _colorspace = __w_pdfjs_require__(23);\n\nvar _primitives = __w_pdfjs_require__(5);\n\nvar _core_utils = __w_pdfjs_require__(8);\n\nvar ShadingType = {\n FUNCTION_BASED: 1,\n AXIAL: 2,\n RADIAL: 3,\n FREE_FORM_MESH: 4,\n LATTICE_FORM_MESH: 5,\n COONS_PATCH_MESH: 6,\n TENSOR_PATCH_MESH: 7\n};\n\nvar Pattern = function PatternClosure() {\n function Pattern() {\n (0, _util.unreachable)(\"should not call Pattern constructor\");\n }\n\n Pattern.prototype = {\n getPattern: function Pattern_getPattern(ctx) {\n (0, _util.unreachable)(`Should not call Pattern.getStyle: ${ctx}`);\n }\n };\n\n Pattern.parseShading = function (shading, matrix, xref, res, handler, pdfFunctionFactory) {\n var dict = (0, _primitives.isStream)(shading) ? shading.dict : shading;\n var type = dict.get(\"ShadingType\");\n\n try {\n switch (type) {\n case ShadingType.AXIAL:\n case ShadingType.RADIAL:\n return new Shadings.RadialAxial(dict, matrix, xref, res, pdfFunctionFactory);\n\n case ShadingType.FREE_FORM_MESH:\n case ShadingType.LATTICE_FORM_MESH:\n case ShadingType.COONS_PATCH_MESH:\n case ShadingType.TENSOR_PATCH_MESH:\n return new Shadings.Mesh(shading, matrix, xref, res, pdfFunctionFactory);\n\n default:\n throw new _util.FormatError(\"Unsupported ShadingType: \" + type);\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.shadingPattern\n });\n (0, _util.warn)(ex);\n return new Shadings.Dummy();\n }\n };\n\n return Pattern;\n}();\n\nexports.Pattern = Pattern;\nvar Shadings = {};\nShadings.SMALL_NUMBER = 1e-6;\n\nShadings.RadialAxial = function RadialAxialClosure() {\n function RadialAxial(dict, matrix, xref, res, pdfFunctionFactory) {\n this.matrix = matrix;\n this.coordsArr = dict.getArray(\"Coords\");\n this.shadingType = dict.get(\"ShadingType\");\n this.type = \"Pattern\";\n var cs = dict.get(\"ColorSpace\", \"CS\");\n cs = _colorspace.ColorSpace.parse(cs, xref, res, pdfFunctionFactory);\n this.cs = cs;\n const bbox = dict.getArray(\"BBox\");\n\n if (Array.isArray(bbox) && bbox.length === 4) {\n this.bbox = _util.Util.normalizeRect(bbox);\n } else {\n this.bbox = null;\n }\n\n var t0 = 0.0,\n t1 = 1.0;\n\n if (dict.has(\"Domain\")) {\n var domainArr = dict.getArray(\"Domain\");\n t0 = domainArr[0];\n t1 = domainArr[1];\n }\n\n var extendStart = false,\n extendEnd = false;\n\n if (dict.has(\"Extend\")) {\n var extendArr = dict.getArray(\"Extend\");\n extendStart = extendArr[0];\n extendEnd = extendArr[1];\n }\n\n if (this.shadingType === ShadingType.RADIAL && (!extendStart || !extendEnd)) {\n var x1 = this.coordsArr[0];\n var y1 = this.coordsArr[1];\n var r1 = this.coordsArr[2];\n var x2 = this.coordsArr[3];\n var y2 = this.coordsArr[4];\n var r2 = this.coordsArr[5];\n var distance = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));\n\n if (r1 <= r2 + distance && r2 <= r1 + distance) {\n (0, _util.warn)(\"Unsupported radial gradient.\");\n }\n }\n\n this.extendStart = extendStart;\n this.extendEnd = extendEnd;\n var fnObj = dict.get(\"Function\");\n var fn = pdfFunctionFactory.createFromArray(fnObj);\n const NUMBER_OF_SAMPLES = 10;\n const step = (t1 - t0) / NUMBER_OF_SAMPLES;\n var colorStops = this.colorStops = [];\n\n if (t0 >= t1 || step <= 0) {\n (0, _util.info)(\"Bad shading domain.\");\n return;\n }\n\n var color = new Float32Array(cs.numComps),\n ratio = new Float32Array(1);\n var rgbColor;\n\n for (let i = 0; i <= NUMBER_OF_SAMPLES; i++) {\n ratio[0] = t0 + i * step;\n fn(ratio, 0, color, 0);\n rgbColor = cs.getRgb(color, 0);\n\n var cssColor = _util.Util.makeCssRgb(rgbColor[0], rgbColor[1], rgbColor[2]);\n\n colorStops.push([i / NUMBER_OF_SAMPLES, cssColor]);\n }\n\n var background = \"transparent\";\n\n if (dict.has(\"Background\")) {\n rgbColor = cs.getRgb(dict.get(\"Background\"), 0);\n background = _util.Util.makeCssRgb(rgbColor[0], rgbColor[1], rgbColor[2]);\n }\n\n if (!extendStart) {\n colorStops.unshift([0, background]);\n colorStops[1][0] += Shadings.SMALL_NUMBER;\n }\n\n if (!extendEnd) {\n colorStops[colorStops.length - 1][0] -= Shadings.SMALL_NUMBER;\n colorStops.push([1, background]);\n }\n\n this.colorStops = colorStops;\n }\n\n RadialAxial.prototype = {\n getIR: function RadialAxial_getIR() {\n var coordsArr = this.coordsArr;\n var shadingType = this.shadingType;\n var type, p0, p1, r0, r1;\n\n if (shadingType === ShadingType.AXIAL) {\n p0 = [coordsArr[0], coordsArr[1]];\n p1 = [coordsArr[2], coordsArr[3]];\n r0 = null;\n r1 = null;\n type = \"axial\";\n } else if (shadingType === ShadingType.RADIAL) {\n p0 = [coordsArr[0], coordsArr[1]];\n p1 = [coordsArr[3], coordsArr[4]];\n r0 = coordsArr[2];\n r1 = coordsArr[5];\n type = \"radial\";\n } else {\n (0, _util.unreachable)(`getPattern type unknown: ${shadingType}`);\n }\n\n var matrix = this.matrix;\n\n if (matrix) {\n p0 = _util.Util.applyTransform(p0, matrix);\n p1 = _util.Util.applyTransform(p1, matrix);\n\n if (shadingType === ShadingType.RADIAL) {\n var scale = _util.Util.singularValueDecompose2dScale(matrix);\n\n r0 *= scale[0];\n r1 *= scale[1];\n }\n }\n\n return [\"RadialAxial\", type, this.bbox, this.colorStops, p0, p1, r0, r1];\n }\n };\n return RadialAxial;\n}();\n\nShadings.Mesh = function MeshClosure() {\n function MeshStreamReader(stream, context) {\n this.stream = stream;\n this.context = context;\n this.buffer = 0;\n this.bufferLength = 0;\n var numComps = context.numComps;\n this.tmpCompsBuf = new Float32Array(numComps);\n var csNumComps = context.colorSpace.numComps;\n this.tmpCsCompsBuf = context.colorFn ? new Float32Array(csNumComps) : this.tmpCompsBuf;\n }\n\n MeshStreamReader.prototype = {\n get hasData() {\n if (this.stream.end) {\n return this.stream.pos < this.stream.end;\n }\n\n if (this.bufferLength > 0) {\n return true;\n }\n\n var nextByte = this.stream.getByte();\n\n if (nextByte < 0) {\n return false;\n }\n\n this.buffer = nextByte;\n this.bufferLength = 8;\n return true;\n },\n\n readBits: function MeshStreamReader_readBits(n) {\n var buffer = this.buffer;\n var bufferLength = this.bufferLength;\n\n if (n === 32) {\n if (bufferLength === 0) {\n return (this.stream.getByte() << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | this.stream.getByte()) >>> 0;\n }\n\n buffer = buffer << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | this.stream.getByte();\n var nextByte = this.stream.getByte();\n this.buffer = nextByte & (1 << bufferLength) - 1;\n return (buffer << 8 - bufferLength | (nextByte & 0xff) >> bufferLength) >>> 0;\n }\n\n if (n === 8 && bufferLength === 0) {\n return this.stream.getByte();\n }\n\n while (bufferLength < n) {\n buffer = buffer << 8 | this.stream.getByte();\n bufferLength += 8;\n }\n\n bufferLength -= n;\n this.bufferLength = bufferLength;\n this.buffer = buffer & (1 << bufferLength) - 1;\n return buffer >> bufferLength;\n },\n align: function MeshStreamReader_align() {\n this.buffer = 0;\n this.bufferLength = 0;\n },\n readFlag: function MeshStreamReader_readFlag() {\n return this.readBits(this.context.bitsPerFlag);\n },\n readCoordinate: function MeshStreamReader_readCoordinate() {\n var bitsPerCoordinate = this.context.bitsPerCoordinate;\n var xi = this.readBits(bitsPerCoordinate);\n var yi = this.readBits(bitsPerCoordinate);\n var decode = this.context.decode;\n var scale = bitsPerCoordinate < 32 ? 1 / ((1 << bitsPerCoordinate) - 1) : 2.3283064365386963e-10;\n return [xi * scale * (decode[1] - decode[0]) + decode[0], yi * scale * (decode[3] - decode[2]) + decode[2]];\n },\n readComponents: function MeshStreamReader_readComponents() {\n var numComps = this.context.numComps;\n var bitsPerComponent = this.context.bitsPerComponent;\n var scale = bitsPerComponent < 32 ? 1 / ((1 << bitsPerComponent) - 1) : 2.3283064365386963e-10;\n var decode = this.context.decode;\n var components = this.tmpCompsBuf;\n\n for (var i = 0, j = 4; i < numComps; i++, j += 2) {\n var ci = this.readBits(bitsPerComponent);\n components[i] = ci * scale * (decode[j + 1] - decode[j]) + decode[j];\n }\n\n var color = this.tmpCsCompsBuf;\n\n if (this.context.colorFn) {\n this.context.colorFn(components, 0, color, 0);\n }\n\n return this.context.colorSpace.getRgb(color, 0);\n }\n };\n\n function decodeType4Shading(mesh, reader) {\n var coords = mesh.coords;\n var colors = mesh.colors;\n var operators = [];\n var ps = [];\n var verticesLeft = 0;\n\n while (reader.hasData) {\n var f = reader.readFlag();\n var coord = reader.readCoordinate();\n var color = reader.readComponents();\n\n if (verticesLeft === 0) {\n if (!(0 <= f && f <= 2)) {\n throw new _util.FormatError(\"Unknown type4 flag\");\n }\n\n switch (f) {\n case 0:\n verticesLeft = 3;\n break;\n\n case 1:\n ps.push(ps[ps.length - 2], ps[ps.length - 1]);\n verticesLeft = 1;\n break;\n\n case 2:\n ps.push(ps[ps.length - 3], ps[ps.length - 1]);\n verticesLeft = 1;\n break;\n }\n\n operators.push(f);\n }\n\n ps.push(coords.length);\n coords.push(coord);\n colors.push(color);\n verticesLeft--;\n reader.align();\n }\n\n mesh.figures.push({\n type: \"triangles\",\n coords: new Int32Array(ps),\n colors: new Int32Array(ps)\n });\n }\n\n function decodeType5Shading(mesh, reader, verticesPerRow) {\n var coords = mesh.coords;\n var colors = mesh.colors;\n var ps = [];\n\n while (reader.hasData) {\n var coord = reader.readCoordinate();\n var color = reader.readComponents();\n ps.push(coords.length);\n coords.push(coord);\n colors.push(color);\n }\n\n mesh.figures.push({\n type: \"lattice\",\n coords: new Int32Array(ps),\n colors: new Int32Array(ps),\n verticesPerRow\n });\n }\n\n var MIN_SPLIT_PATCH_CHUNKS_AMOUNT = 3;\n var MAX_SPLIT_PATCH_CHUNKS_AMOUNT = 20;\n var TRIANGLE_DENSITY = 20;\n\n var getB = function getBClosure() {\n function buildB(count) {\n var lut = [];\n\n for (var i = 0; i <= count; i++) {\n var t = i / count,\n t_ = 1 - t;\n lut.push(new Float32Array([t_ * t_ * t_, 3 * t * t_ * t_, 3 * t * t * t_, t * t * t]));\n }\n\n return lut;\n }\n\n var cache = [];\n return function getB(count) {\n if (!cache[count]) {\n cache[count] = buildB(count);\n }\n\n return cache[count];\n };\n }();\n\n function buildFigureFromPatch(mesh, index) {\n var figure = mesh.figures[index];\n (0, _util.assert)(figure.type === \"patch\", \"Unexpected patch mesh figure\");\n var coords = mesh.coords,\n colors = mesh.colors;\n var pi = figure.coords;\n var ci = figure.colors;\n var figureMinX = Math.min(coords[pi[0]][0], coords[pi[3]][0], coords[pi[12]][0], coords[pi[15]][0]);\n var figureMinY = Math.min(coords[pi[0]][1], coords[pi[3]][1], coords[pi[12]][1], coords[pi[15]][1]);\n var figureMaxX = Math.max(coords[pi[0]][0], coords[pi[3]][0], coords[pi[12]][0], coords[pi[15]][0]);\n var figureMaxY = Math.max(coords[pi[0]][1], coords[pi[3]][1], coords[pi[12]][1], coords[pi[15]][1]);\n var splitXBy = Math.ceil((figureMaxX - figureMinX) * TRIANGLE_DENSITY / (mesh.bounds[2] - mesh.bounds[0]));\n splitXBy = Math.max(MIN_SPLIT_PATCH_CHUNKS_AMOUNT, Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT, splitXBy));\n var splitYBy = Math.ceil((figureMaxY - figureMinY) * TRIANGLE_DENSITY / (mesh.bounds[3] - mesh.bounds[1]));\n splitYBy = Math.max(MIN_SPLIT_PATCH_CHUNKS_AMOUNT, Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT, splitYBy));\n var verticesPerRow = splitXBy + 1;\n var figureCoords = new Int32Array((splitYBy + 1) * verticesPerRow);\n var figureColors = new Int32Array((splitYBy + 1) * verticesPerRow);\n var k = 0;\n var cl = new Uint8Array(3),\n cr = new Uint8Array(3);\n var c0 = colors[ci[0]],\n c1 = colors[ci[1]],\n c2 = colors[ci[2]],\n c3 = colors[ci[3]];\n var bRow = getB(splitYBy),\n bCol = getB(splitXBy);\n\n for (var row = 0; row <= splitYBy; row++) {\n cl[0] = (c0[0] * (splitYBy - row) + c2[0] * row) / splitYBy | 0;\n cl[1] = (c0[1] * (splitYBy - row) + c2[1] * row) / splitYBy | 0;\n cl[2] = (c0[2] * (splitYBy - row) + c2[2] * row) / splitYBy | 0;\n cr[0] = (c1[0] * (splitYBy - row) + c3[0] * row) / splitYBy | 0;\n cr[1] = (c1[1] * (splitYBy - row) + c3[1] * row) / splitYBy | 0;\n cr[2] = (c1[2] * (splitYBy - row) + c3[2] * row) / splitYBy | 0;\n\n for (var col = 0; col <= splitXBy; col++, k++) {\n if ((row === 0 || row === splitYBy) && (col === 0 || col === splitXBy)) {\n continue;\n }\n\n var x = 0,\n y = 0;\n var q = 0;\n\n for (var i = 0; i <= 3; i++) {\n for (var j = 0; j <= 3; j++, q++) {\n var m = bRow[row][i] * bCol[col][j];\n x += coords[pi[q]][0] * m;\n y += coords[pi[q]][1] * m;\n }\n }\n\n figureCoords[k] = coords.length;\n coords.push([x, y]);\n figureColors[k] = colors.length;\n var newColor = new Uint8Array(3);\n newColor[0] = (cl[0] * (splitXBy - col) + cr[0] * col) / splitXBy | 0;\n newColor[1] = (cl[1] * (splitXBy - col) + cr[1] * col) / splitXBy | 0;\n newColor[2] = (cl[2] * (splitXBy - col) + cr[2] * col) / splitXBy | 0;\n colors.push(newColor);\n }\n }\n\n figureCoords[0] = pi[0];\n figureColors[0] = ci[0];\n figureCoords[splitXBy] = pi[3];\n figureColors[splitXBy] = ci[1];\n figureCoords[verticesPerRow * splitYBy] = pi[12];\n figureColors[verticesPerRow * splitYBy] = ci[2];\n figureCoords[verticesPerRow * splitYBy + splitXBy] = pi[15];\n figureColors[verticesPerRow * splitYBy + splitXBy] = ci[3];\n mesh.figures[index] = {\n type: \"lattice\",\n coords: figureCoords,\n colors: figureColors,\n verticesPerRow\n };\n }\n\n function decodeType6Shading(mesh, reader) {\n var coords = mesh.coords;\n var colors = mesh.colors;\n var ps = new Int32Array(16);\n var cs = new Int32Array(4);\n\n while (reader.hasData) {\n var f = reader.readFlag();\n\n if (!(0 <= f && f <= 3)) {\n throw new _util.FormatError(\"Unknown type6 flag\");\n }\n\n var i, ii;\n var pi = coords.length;\n\n for (i = 0, ii = f !== 0 ? 8 : 12; i < ii; i++) {\n coords.push(reader.readCoordinate());\n }\n\n var ci = colors.length;\n\n for (i = 0, ii = f !== 0 ? 2 : 4; i < ii; i++) {\n colors.push(reader.readComponents());\n }\n\n var tmp1, tmp2, tmp3, tmp4;\n\n switch (f) {\n case 0:\n ps[12] = pi + 3;\n ps[13] = pi + 4;\n ps[14] = pi + 5;\n ps[15] = pi + 6;\n ps[8] = pi + 2;\n ps[11] = pi + 7;\n ps[4] = pi + 1;\n ps[7] = pi + 8;\n ps[0] = pi;\n ps[1] = pi + 11;\n ps[2] = pi + 10;\n ps[3] = pi + 9;\n cs[2] = ci + 1;\n cs[3] = ci + 2;\n cs[0] = ci;\n cs[1] = ci + 3;\n break;\n\n case 1:\n tmp1 = ps[12];\n tmp2 = ps[13];\n tmp3 = ps[14];\n tmp4 = ps[15];\n ps[12] = tmp4;\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = tmp3;\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[2];\n tmp2 = cs[3];\n cs[2] = tmp2;\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n\n case 2:\n tmp1 = ps[15];\n tmp2 = ps[11];\n ps[12] = ps[3];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[7];\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[3];\n cs[2] = cs[1];\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n\n case 3:\n ps[12] = ps[0];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[1];\n ps[11] = pi + 3;\n ps[4] = ps[2];\n ps[7] = pi + 4;\n ps[0] = ps[3];\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n cs[2] = cs[0];\n cs[3] = ci;\n cs[0] = cs[1];\n cs[1] = ci + 1;\n break;\n }\n\n ps[5] = coords.length;\n coords.push([(-4 * coords[ps[0]][0] - coords[ps[15]][0] + 6 * (coords[ps[4]][0] + coords[ps[1]][0]) - 2 * (coords[ps[12]][0] + coords[ps[3]][0]) + 3 * (coords[ps[13]][0] + coords[ps[7]][0])) / 9, (-4 * coords[ps[0]][1] - coords[ps[15]][1] + 6 * (coords[ps[4]][1] + coords[ps[1]][1]) - 2 * (coords[ps[12]][1] + coords[ps[3]][1]) + 3 * (coords[ps[13]][1] + coords[ps[7]][1])) / 9]);\n ps[6] = coords.length;\n coords.push([(-4 * coords[ps[3]][0] - coords[ps[12]][0] + 6 * (coords[ps[2]][0] + coords[ps[7]][0]) - 2 * (coords[ps[0]][0] + coords[ps[15]][0]) + 3 * (coords[ps[4]][0] + coords[ps[14]][0])) / 9, (-4 * coords[ps[3]][1] - coords[ps[12]][1] + 6 * (coords[ps[2]][1] + coords[ps[7]][1]) - 2 * (coords[ps[0]][1] + coords[ps[15]][1]) + 3 * (coords[ps[4]][1] + coords[ps[14]][1])) / 9]);\n ps[9] = coords.length;\n coords.push([(-4 * coords[ps[12]][0] - coords[ps[3]][0] + 6 * (coords[ps[8]][0] + coords[ps[13]][0]) - 2 * (coords[ps[0]][0] + coords[ps[15]][0]) + 3 * (coords[ps[11]][0] + coords[ps[1]][0])) / 9, (-4 * coords[ps[12]][1] - coords[ps[3]][1] + 6 * (coords[ps[8]][1] + coords[ps[13]][1]) - 2 * (coords[ps[0]][1] + coords[ps[15]][1]) + 3 * (coords[ps[11]][1] + coords[ps[1]][1])) / 9]);\n ps[10] = coords.length;\n coords.push([(-4 * coords[ps[15]][0] - coords[ps[0]][0] + 6 * (coords[ps[11]][0] + coords[ps[14]][0]) - 2 * (coords[ps[12]][0] + coords[ps[3]][0]) + 3 * (coords[ps[2]][0] + coords[ps[8]][0])) / 9, (-4 * coords[ps[15]][1] - coords[ps[0]][1] + 6 * (coords[ps[11]][1] + coords[ps[14]][1]) - 2 * (coords[ps[12]][1] + coords[ps[3]][1]) + 3 * (coords[ps[2]][1] + coords[ps[8]][1])) / 9]);\n mesh.figures.push({\n type: \"patch\",\n coords: new Int32Array(ps),\n colors: new Int32Array(cs)\n });\n }\n }\n\n function decodeType7Shading(mesh, reader) {\n var coords = mesh.coords;\n var colors = mesh.colors;\n var ps = new Int32Array(16);\n var cs = new Int32Array(4);\n\n while (reader.hasData) {\n var f = reader.readFlag();\n\n if (!(0 <= f && f <= 3)) {\n throw new _util.FormatError(\"Unknown type7 flag\");\n }\n\n var i, ii;\n var pi = coords.length;\n\n for (i = 0, ii = f !== 0 ? 12 : 16; i < ii; i++) {\n coords.push(reader.readCoordinate());\n }\n\n var ci = colors.length;\n\n for (i = 0, ii = f !== 0 ? 2 : 4; i < ii; i++) {\n colors.push(reader.readComponents());\n }\n\n var tmp1, tmp2, tmp3, tmp4;\n\n switch (f) {\n case 0:\n ps[12] = pi + 3;\n ps[13] = pi + 4;\n ps[14] = pi + 5;\n ps[15] = pi + 6;\n ps[8] = pi + 2;\n ps[9] = pi + 13;\n ps[10] = pi + 14;\n ps[11] = pi + 7;\n ps[4] = pi + 1;\n ps[5] = pi + 12;\n ps[6] = pi + 15;\n ps[7] = pi + 8;\n ps[0] = pi;\n ps[1] = pi + 11;\n ps[2] = pi + 10;\n ps[3] = pi + 9;\n cs[2] = ci + 1;\n cs[3] = ci + 2;\n cs[0] = ci;\n cs[1] = ci + 3;\n break;\n\n case 1:\n tmp1 = ps[12];\n tmp2 = ps[13];\n tmp3 = ps[14];\n tmp4 = ps[15];\n ps[12] = tmp4;\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = tmp3;\n ps[9] = pi + 9;\n ps[10] = pi + 10;\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[5] = pi + 8;\n ps[6] = pi + 11;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[2];\n tmp2 = cs[3];\n cs[2] = tmp2;\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n\n case 2:\n tmp1 = ps[15];\n tmp2 = ps[11];\n ps[12] = ps[3];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[7];\n ps[9] = pi + 9;\n ps[10] = pi + 10;\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[5] = pi + 8;\n ps[6] = pi + 11;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[3];\n cs[2] = cs[1];\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n\n case 3:\n ps[12] = ps[0];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[1];\n ps[9] = pi + 9;\n ps[10] = pi + 10;\n ps[11] = pi + 3;\n ps[4] = ps[2];\n ps[5] = pi + 8;\n ps[6] = pi + 11;\n ps[7] = pi + 4;\n ps[0] = ps[3];\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n cs[2] = cs[0];\n cs[3] = ci;\n cs[0] = cs[1];\n cs[1] = ci + 1;\n break;\n }\n\n mesh.figures.push({\n type: \"patch\",\n coords: new Int32Array(ps),\n colors: new Int32Array(cs)\n });\n }\n }\n\n function updateBounds(mesh) {\n var minX = mesh.coords[0][0],\n minY = mesh.coords[0][1],\n maxX = minX,\n maxY = minY;\n\n for (var i = 1, ii = mesh.coords.length; i < ii; i++) {\n var x = mesh.coords[i][0],\n y = mesh.coords[i][1];\n minX = minX > x ? x : minX;\n minY = minY > y ? y : minY;\n maxX = maxX < x ? x : maxX;\n maxY = maxY < y ? y : maxY;\n }\n\n mesh.bounds = [minX, minY, maxX, maxY];\n }\n\n function packData(mesh) {\n var i, ii, j, jj;\n var coords = mesh.coords;\n var coordsPacked = new Float32Array(coords.length * 2);\n\n for (i = 0, j = 0, ii = coords.length; i < ii; i++) {\n var xy = coords[i];\n coordsPacked[j++] = xy[0];\n coordsPacked[j++] = xy[1];\n }\n\n mesh.coords = coordsPacked;\n var colors = mesh.colors;\n var colorsPacked = new Uint8Array(colors.length * 3);\n\n for (i = 0, j = 0, ii = colors.length; i < ii; i++) {\n var c = colors[i];\n colorsPacked[j++] = c[0];\n colorsPacked[j++] = c[1];\n colorsPacked[j++] = c[2];\n }\n\n mesh.colors = colorsPacked;\n var figures = mesh.figures;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n\n for (j = 0, jj = ps.length; j < jj; j++) {\n ps[j] *= 2;\n cs[j] *= 3;\n }\n }\n }\n\n function Mesh(stream, matrix, xref, res, pdfFunctionFactory) {\n if (!(0, _primitives.isStream)(stream)) {\n throw new _util.FormatError(\"Mesh data is not a stream\");\n }\n\n var dict = stream.dict;\n this.matrix = matrix;\n this.shadingType = dict.get(\"ShadingType\");\n this.type = \"Pattern\";\n const bbox = dict.getArray(\"BBox\");\n\n if (Array.isArray(bbox) && bbox.length === 4) {\n this.bbox = _util.Util.normalizeRect(bbox);\n } else {\n this.bbox = null;\n }\n\n var cs = dict.get(\"ColorSpace\", \"CS\");\n cs = _colorspace.ColorSpace.parse(cs, xref, res, pdfFunctionFactory);\n this.cs = cs;\n this.background = dict.has(\"Background\") ? cs.getRgb(dict.get(\"Background\"), 0) : null;\n var fnObj = dict.get(\"Function\");\n var fn = fnObj ? pdfFunctionFactory.createFromArray(fnObj) : null;\n this.coords = [];\n this.colors = [];\n this.figures = [];\n var decodeContext = {\n bitsPerCoordinate: dict.get(\"BitsPerCoordinate\"),\n bitsPerComponent: dict.get(\"BitsPerComponent\"),\n bitsPerFlag: dict.get(\"BitsPerFlag\"),\n decode: dict.getArray(\"Decode\"),\n colorFn: fn,\n colorSpace: cs,\n numComps: fn ? 1 : cs.numComps\n };\n var reader = new MeshStreamReader(stream, decodeContext);\n var patchMesh = false;\n\n switch (this.shadingType) {\n case ShadingType.FREE_FORM_MESH:\n decodeType4Shading(this, reader);\n break;\n\n case ShadingType.LATTICE_FORM_MESH:\n var verticesPerRow = dict.get(\"VerticesPerRow\") | 0;\n\n if (verticesPerRow < 2) {\n throw new _util.FormatError(\"Invalid VerticesPerRow\");\n }\n\n decodeType5Shading(this, reader, verticesPerRow);\n break;\n\n case ShadingType.COONS_PATCH_MESH:\n decodeType6Shading(this, reader);\n patchMesh = true;\n break;\n\n case ShadingType.TENSOR_PATCH_MESH:\n decodeType7Shading(this, reader);\n patchMesh = true;\n break;\n\n default:\n (0, _util.unreachable)(\"Unsupported mesh type.\");\n break;\n }\n\n if (patchMesh) {\n updateBounds(this);\n\n for (var i = 0, ii = this.figures.length; i < ii; i++) {\n buildFigureFromPatch(this, i);\n }\n }\n\n updateBounds(this);\n packData(this);\n }\n\n Mesh.prototype = {\n getIR: function Mesh_getIR() {\n return [\"Mesh\", this.shadingType, this.coords, this.colors, this.figures, this.bounds, this.matrix, this.bbox, this.background];\n }\n };\n return Mesh;\n}();\n\nShadings.Dummy = function DummyClosure() {\n function Dummy() {\n this.type = \"Pattern\";\n }\n\n Dummy.prototype = {\n getIR: function Dummy_getIR() {\n return [\"Dummy\"];\n }\n };\n return Dummy;\n}();\n\nfunction getTilingPatternIR(operatorList, dict, args) {\n const matrix = dict.getArray(\"Matrix\");\n\n const bbox = _util.Util.normalizeRect(dict.getArray(\"BBox\"));\n\n const xstep = dict.get(\"XStep\");\n const ystep = dict.get(\"YStep\");\n const paintType = dict.get(\"PaintType\");\n const tilingType = dict.get(\"TilingType\");\n\n if (bbox[2] - bbox[0] === 0 || bbox[3] - bbox[1] === 0) {\n throw new _util.FormatError(`Invalid getTilingPatternIR /BBox array: [${bbox}].`);\n }\n\n return [\"TilingPattern\", args, operatorList, matrix, bbox, xstep, ystep, paintType, tilingType];\n}\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bidi = bidi;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar baseTypes = [\"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"S\", \"B\", \"S\", \"WS\", \"B\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"B\", \"B\", \"B\", \"S\", \"WS\", \"ON\", \"ON\", \"ET\", \"ET\", \"ET\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"ES\", \"CS\", \"ES\", \"CS\", \"CS\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"CS\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"ON\", \"ON\", \"ON\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"B\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"CS\", \"ON\", \"ET\", \"ET\", \"ET\", \"ET\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"ON\", \"ON\", \"BN\", \"ON\", \"ON\", \"ET\", \"ET\", \"EN\", \"EN\", \"ON\", \"L\", \"ON\", \"ON\", \"ON\", \"EN\", \"L\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\"];\nvar arabicTypes = [\"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"ON\", \"ON\", \"AL\", \"ET\", \"ET\", \"AL\", \"CS\", \"AL\", \"ON\", \"ON\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AL\", \"AL\", \"\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"ET\", \"AN\", \"AN\", \"AL\", \"AL\", \"AL\", \"NSM\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AN\", \"ON\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AL\", \"AL\", \"NSM\", \"NSM\", \"ON\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AL\", \"AL\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\"];\n\nfunction isOdd(i) {\n return (i & 1) !== 0;\n}\n\nfunction isEven(i) {\n return (i & 1) === 0;\n}\n\nfunction findUnequal(arr, start, value) {\n for (var j = start, jj = arr.length; j < jj; ++j) {\n if (arr[j] !== value) {\n return j;\n }\n }\n\n return j;\n}\n\nfunction setValues(arr, start, end, value) {\n for (var j = start; j < end; ++j) {\n arr[j] = value;\n }\n}\n\nfunction reverseValues(arr, start, end) {\n for (var i = start, j = end - 1; i < j; ++i, --j) {\n var temp = arr[i];\n arr[i] = arr[j];\n arr[j] = temp;\n }\n}\n\nfunction createBidiText(str, isLTR, vertical = false) {\n let dir = \"ltr\";\n\n if (vertical) {\n dir = \"ttb\";\n } else if (!isLTR) {\n dir = \"rtl\";\n }\n\n return {\n str,\n dir\n };\n}\n\nvar chars = [];\nvar types = [];\n\nfunction bidi(str, startLevel, vertical) {\n var isLTR = true;\n var strLength = str.length;\n\n if (strLength === 0 || vertical) {\n return createBidiText(str, isLTR, vertical);\n }\n\n chars.length = strLength;\n types.length = strLength;\n var numBidi = 0;\n var i, ii;\n\n for (i = 0; i < strLength; ++i) {\n chars[i] = str.charAt(i);\n var charCode = str.charCodeAt(i);\n var charType = \"L\";\n\n if (charCode <= 0x00ff) {\n charType = baseTypes[charCode];\n } else if (0x0590 <= charCode && charCode <= 0x05f4) {\n charType = \"R\";\n } else if (0x0600 <= charCode && charCode <= 0x06ff) {\n charType = arabicTypes[charCode & 0xff];\n\n if (!charType) {\n (0, _util.warn)(\"Bidi: invalid Unicode character \" + charCode.toString(16));\n }\n } else if (0x0700 <= charCode && charCode <= 0x08ac) {\n charType = \"AL\";\n }\n\n if (charType === \"R\" || charType === \"AL\" || charType === \"AN\") {\n numBidi++;\n }\n\n types[i] = charType;\n }\n\n if (numBidi === 0) {\n isLTR = true;\n return createBidiText(str, isLTR);\n }\n\n if (startLevel === -1) {\n if (numBidi / strLength < 0.3) {\n isLTR = true;\n startLevel = 0;\n } else {\n isLTR = false;\n startLevel = 1;\n }\n }\n\n var levels = [];\n\n for (i = 0; i < strLength; ++i) {\n levels[i] = startLevel;\n }\n\n var e = isOdd(startLevel) ? \"R\" : \"L\";\n var sor = e;\n var eor = sor;\n var lastType = sor;\n\n for (i = 0; i < strLength; ++i) {\n if (types[i] === \"NSM\") {\n types[i] = lastType;\n } else {\n lastType = types[i];\n }\n }\n\n lastType = sor;\n var t;\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (t === \"EN\") {\n types[i] = lastType === \"AL\" ? \"AN\" : \"EN\";\n } else if (t === \"R\" || t === \"L\" || t === \"AL\") {\n lastType = t;\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (t === \"AL\") {\n types[i] = \"R\";\n }\n }\n\n for (i = 1; i < strLength - 1; ++i) {\n if (types[i] === \"ES\" && types[i - 1] === \"EN\" && types[i + 1] === \"EN\") {\n types[i] = \"EN\";\n }\n\n if (types[i] === \"CS\" && (types[i - 1] === \"EN\" || types[i - 1] === \"AN\") && types[i + 1] === types[i - 1]) {\n types[i] = types[i - 1];\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n if (types[i] === \"EN\") {\n var j;\n\n for (j = i - 1; j >= 0; --j) {\n if (types[j] !== \"ET\") {\n break;\n }\n\n types[j] = \"EN\";\n }\n\n for (j = i + 1; j < strLength; ++j) {\n if (types[j] !== \"ET\") {\n break;\n }\n\n types[j] = \"EN\";\n }\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (t === \"WS\" || t === \"ES\" || t === \"ET\" || t === \"CS\") {\n types[i] = \"ON\";\n }\n }\n\n lastType = sor;\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (t === \"EN\") {\n types[i] = lastType === \"L\" ? \"L\" : \"EN\";\n } else if (t === \"R\" || t === \"L\") {\n lastType = t;\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n if (types[i] === \"ON\") {\n var end = findUnequal(types, i + 1, \"ON\");\n var before = sor;\n\n if (i > 0) {\n before = types[i - 1];\n }\n\n var after = eor;\n\n if (end + 1 < strLength) {\n after = types[end + 1];\n }\n\n if (before !== \"L\") {\n before = \"R\";\n }\n\n if (after !== \"L\") {\n after = \"R\";\n }\n\n if (before === after) {\n setValues(types, i, end, before);\n }\n\n i = end - 1;\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n if (types[i] === \"ON\") {\n types[i] = e;\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (isEven(levels[i])) {\n if (t === \"R\") {\n levels[i] += 1;\n } else if (t === \"AN\" || t === \"EN\") {\n levels[i] += 2;\n }\n } else {\n if (t === \"L\" || t === \"AN\" || t === \"EN\") {\n levels[i] += 1;\n }\n }\n }\n\n var highestLevel = -1;\n var lowestOddLevel = 99;\n var level;\n\n for (i = 0, ii = levels.length; i < ii; ++i) {\n level = levels[i];\n\n if (highestLevel < level) {\n highestLevel = level;\n }\n\n if (lowestOddLevel > level && isOdd(level)) {\n lowestOddLevel = level;\n }\n }\n\n for (level = highestLevel; level >= lowestOddLevel; --level) {\n var start = -1;\n\n for (i = 0, ii = levels.length; i < ii; ++i) {\n if (levels[i] < level) {\n if (start >= 0) {\n reverseValues(chars, start, i);\n start = -1;\n }\n } else if (start < 0) {\n start = i;\n }\n }\n\n if (start >= 0) {\n reverseValues(chars, start, levels.length);\n }\n }\n\n for (i = 0, ii = chars.length; i < ii; ++i) {\n var ch = chars[i];\n\n if (ch === \"<\" || ch === \">\") {\n chars[i] = \"\";\n }\n }\n\n return createBidiText(chars.join(\"\"), isLTR);\n}\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getMetrics = void 0;\n\nvar _core_utils = __w_pdfjs_require__(8);\n\nvar getMetrics = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.Courier = 600;\n t[\"Courier-Bold\"] = 600;\n t[\"Courier-BoldOblique\"] = 600;\n t[\"Courier-Oblique\"] = 600;\n t.Helvetica = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 278;\n t.exclam = 278;\n t.quotedbl = 355;\n t.numbersign = 556;\n t.dollar = 556;\n t.percent = 889;\n t.ampersand = 667;\n t.quoteright = 222;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 389;\n t.plus = 584;\n t.comma = 278;\n t.hyphen = 333;\n t.period = 278;\n t.slash = 278;\n t.zero = 556;\n t.one = 556;\n t.two = 556;\n t.three = 556;\n t.four = 556;\n t.five = 556;\n t.six = 556;\n t.seven = 556;\n t.eight = 556;\n t.nine = 556;\n t.colon = 278;\n t.semicolon = 278;\n t.less = 584;\n t.equal = 584;\n t.greater = 584;\n t.question = 556;\n t.at = 1015;\n t.A = 667;\n t.B = 667;\n t.C = 722;\n t.D = 722;\n t.E = 667;\n t.F = 611;\n t.G = 778;\n t.H = 722;\n t.I = 278;\n t.J = 500;\n t.K = 667;\n t.L = 556;\n t.M = 833;\n t.N = 722;\n t.O = 778;\n t.P = 667;\n t.Q = 778;\n t.R = 722;\n t.S = 667;\n t.T = 611;\n t.U = 722;\n t.V = 667;\n t.W = 944;\n t.X = 667;\n t.Y = 667;\n t.Z = 611;\n t.bracketleft = 278;\n t.backslash = 278;\n t.bracketright = 278;\n t.asciicircum = 469;\n t.underscore = 556;\n t.quoteleft = 222;\n t.a = 556;\n t.b = 556;\n t.c = 500;\n t.d = 556;\n t.e = 556;\n t.f = 278;\n t.g = 556;\n t.h = 556;\n t.i = 222;\n t.j = 222;\n t.k = 500;\n t.l = 222;\n t.m = 833;\n t.n = 556;\n t.o = 556;\n t.p = 556;\n t.q = 556;\n t.r = 333;\n t.s = 500;\n t.t = 278;\n t.u = 556;\n t.v = 500;\n t.w = 722;\n t.x = 500;\n t.y = 500;\n t.z = 500;\n t.braceleft = 334;\n t.bar = 260;\n t.braceright = 334;\n t.asciitilde = 584;\n t.exclamdown = 333;\n t.cent = 556;\n t.sterling = 556;\n t.fraction = 167;\n t.yen = 556;\n t.florin = 556;\n t.section = 556;\n t.currency = 556;\n t.quotesingle = 191;\n t.quotedblleft = 333;\n t.guillemotleft = 556;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 500;\n t.fl = 500;\n t.endash = 556;\n t.dagger = 556;\n t.daggerdbl = 556;\n t.periodcentered = 278;\n t.paragraph = 537;\n t.bullet = 350;\n t.quotesinglbase = 222;\n t.quotedblbase = 333;\n t.quotedblright = 333;\n t.guillemotright = 556;\n t.ellipsis = 1000;\n t.perthousand = 1000;\n t.questiondown = 611;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 1000;\n t.AE = 1000;\n t.ordfeminine = 370;\n t.Lslash = 556;\n t.Oslash = 778;\n t.OE = 1000;\n t.ordmasculine = 365;\n t.ae = 889;\n t.dotlessi = 278;\n t.lslash = 222;\n t.oslash = 611;\n t.oe = 944;\n t.germandbls = 611;\n t.Idieresis = 278;\n t.eacute = 556;\n t.abreve = 556;\n t.uhungarumlaut = 556;\n t.ecaron = 556;\n t.Ydieresis = 667;\n t.divide = 584;\n t.Yacute = 667;\n t.Acircumflex = 667;\n t.aacute = 556;\n t.Ucircumflex = 722;\n t.yacute = 500;\n t.scommaaccent = 500;\n t.ecircumflex = 556;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 556;\n t.Uacute = 722;\n t.uogonek = 556;\n t.Edieresis = 667;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 737;\n t.Emacron = 667;\n t.ccaron = 500;\n t.aring = 556;\n t.Ncommaaccent = 722;\n t.lacute = 222;\n t.agrave = 556;\n t.Tcommaaccent = 611;\n t.Cacute = 722;\n t.atilde = 556;\n t.Edotaccent = 667;\n t.scaron = 500;\n t.scedilla = 500;\n t.iacute = 278;\n t.lozenge = 471;\n t.Rcaron = 722;\n t.Gcommaaccent = 778;\n t.ucircumflex = 556;\n t.acircumflex = 556;\n t.Amacron = 667;\n t.rcaron = 333;\n t.ccedilla = 500;\n t.Zdotaccent = 611;\n t.Thorn = 667;\n t.Omacron = 778;\n t.Racute = 722;\n t.Sacute = 667;\n t.dcaron = 643;\n t.Umacron = 722;\n t.uring = 556;\n t.threesuperior = 333;\n t.Ograve = 778;\n t.Agrave = 667;\n t.Abreve = 667;\n t.multiply = 584;\n t.uacute = 556;\n t.Tcaron = 611;\n t.partialdiff = 476;\n t.ydieresis = 500;\n t.Nacute = 722;\n t.icircumflex = 278;\n t.Ecircumflex = 667;\n t.adieresis = 556;\n t.edieresis = 556;\n t.cacute = 500;\n t.nacute = 556;\n t.umacron = 556;\n t.Ncaron = 722;\n t.Iacute = 278;\n t.plusminus = 584;\n t.brokenbar = 260;\n t.registered = 737;\n t.Gbreve = 778;\n t.Idotaccent = 278;\n t.summation = 600;\n t.Egrave = 667;\n t.racute = 333;\n t.omacron = 556;\n t.Zacute = 611;\n t.Zcaron = 611;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 722;\n t.lcommaaccent = 222;\n t.tcaron = 317;\n t.eogonek = 556;\n t.Uogonek = 722;\n t.Aacute = 667;\n t.Adieresis = 667;\n t.egrave = 556;\n t.zacute = 500;\n t.iogonek = 222;\n t.Oacute = 778;\n t.oacute = 556;\n t.amacron = 556;\n t.sacute = 500;\n t.idieresis = 278;\n t.Ocircumflex = 778;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 556;\n t.twosuperior = 333;\n t.Odieresis = 778;\n t.mu = 556;\n t.igrave = 278;\n t.ohungarumlaut = 556;\n t.Eogonek = 667;\n t.dcroat = 556;\n t.threequarters = 834;\n t.Scedilla = 667;\n t.lcaron = 299;\n t.Kcommaaccent = 667;\n t.Lacute = 556;\n t.trademark = 1000;\n t.edotaccent = 556;\n t.Igrave = 278;\n t.Imacron = 278;\n t.Lcaron = 556;\n t.onehalf = 834;\n t.lessequal = 549;\n t.ocircumflex = 556;\n t.ntilde = 556;\n t.Uhungarumlaut = 722;\n t.Eacute = 667;\n t.emacron = 556;\n t.gbreve = 556;\n t.onequarter = 834;\n t.Scaron = 667;\n t.Scommaaccent = 667;\n t.Ohungarumlaut = 778;\n t.degree = 400;\n t.ograve = 556;\n t.Ccaron = 722;\n t.ugrave = 556;\n t.radical = 453;\n t.Dcaron = 722;\n t.rcommaaccent = 333;\n t.Ntilde = 722;\n t.otilde = 556;\n t.Rcommaaccent = 722;\n t.Lcommaaccent = 556;\n t.Atilde = 667;\n t.Aogonek = 667;\n t.Aring = 667;\n t.Otilde = 778;\n t.zdotaccent = 500;\n t.Ecaron = 667;\n t.Iogonek = 278;\n t.kcommaaccent = 500;\n t.minus = 584;\n t.Icircumflex = 278;\n t.ncaron = 556;\n t.tcommaaccent = 278;\n t.logicalnot = 584;\n t.odieresis = 556;\n t.udieresis = 556;\n t.notequal = 549;\n t.gcommaaccent = 556;\n t.eth = 556;\n t.zcaron = 500;\n t.ncommaaccent = 556;\n t.onesuperior = 333;\n t.imacron = 278;\n t.Euro = 556;\n });\n t[\"Helvetica-Bold\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 278;\n t.exclam = 333;\n t.quotedbl = 474;\n t.numbersign = 556;\n t.dollar = 556;\n t.percent = 889;\n t.ampersand = 722;\n t.quoteright = 278;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 389;\n t.plus = 584;\n t.comma = 278;\n t.hyphen = 333;\n t.period = 278;\n t.slash = 278;\n t.zero = 556;\n t.one = 556;\n t.two = 556;\n t.three = 556;\n t.four = 556;\n t.five = 556;\n t.six = 556;\n t.seven = 556;\n t.eight = 556;\n t.nine = 556;\n t.colon = 333;\n t.semicolon = 333;\n t.less = 584;\n t.equal = 584;\n t.greater = 584;\n t.question = 611;\n t.at = 975;\n t.A = 722;\n t.B = 722;\n t.C = 722;\n t.D = 722;\n t.E = 667;\n t.F = 611;\n t.G = 778;\n t.H = 722;\n t.I = 278;\n t.J = 556;\n t.K = 722;\n t.L = 611;\n t.M = 833;\n t.N = 722;\n t.O = 778;\n t.P = 667;\n t.Q = 778;\n t.R = 722;\n t.S = 667;\n t.T = 611;\n t.U = 722;\n t.V = 667;\n t.W = 944;\n t.X = 667;\n t.Y = 667;\n t.Z = 611;\n t.bracketleft = 333;\n t.backslash = 278;\n t.bracketright = 333;\n t.asciicircum = 584;\n t.underscore = 556;\n t.quoteleft = 278;\n t.a = 556;\n t.b = 611;\n t.c = 556;\n t.d = 611;\n t.e = 556;\n t.f = 333;\n t.g = 611;\n t.h = 611;\n t.i = 278;\n t.j = 278;\n t.k = 556;\n t.l = 278;\n t.m = 889;\n t.n = 611;\n t.o = 611;\n t.p = 611;\n t.q = 611;\n t.r = 389;\n t.s = 556;\n t.t = 333;\n t.u = 611;\n t.v = 556;\n t.w = 778;\n t.x = 556;\n t.y = 556;\n t.z = 500;\n t.braceleft = 389;\n t.bar = 280;\n t.braceright = 389;\n t.asciitilde = 584;\n t.exclamdown = 333;\n t.cent = 556;\n t.sterling = 556;\n t.fraction = 167;\n t.yen = 556;\n t.florin = 556;\n t.section = 556;\n t.currency = 556;\n t.quotesingle = 238;\n t.quotedblleft = 500;\n t.guillemotleft = 556;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 611;\n t.fl = 611;\n t.endash = 556;\n t.dagger = 556;\n t.daggerdbl = 556;\n t.periodcentered = 278;\n t.paragraph = 556;\n t.bullet = 350;\n t.quotesinglbase = 278;\n t.quotedblbase = 500;\n t.quotedblright = 500;\n t.guillemotright = 556;\n t.ellipsis = 1000;\n t.perthousand = 1000;\n t.questiondown = 611;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 1000;\n t.AE = 1000;\n t.ordfeminine = 370;\n t.Lslash = 611;\n t.Oslash = 778;\n t.OE = 1000;\n t.ordmasculine = 365;\n t.ae = 889;\n t.dotlessi = 278;\n t.lslash = 278;\n t.oslash = 611;\n t.oe = 944;\n t.germandbls = 611;\n t.Idieresis = 278;\n t.eacute = 556;\n t.abreve = 556;\n t.uhungarumlaut = 611;\n t.ecaron = 556;\n t.Ydieresis = 667;\n t.divide = 584;\n t.Yacute = 667;\n t.Acircumflex = 722;\n t.aacute = 556;\n t.Ucircumflex = 722;\n t.yacute = 556;\n t.scommaaccent = 556;\n t.ecircumflex = 556;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 556;\n t.Uacute = 722;\n t.uogonek = 611;\n t.Edieresis = 667;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 737;\n t.Emacron = 667;\n t.ccaron = 556;\n t.aring = 556;\n t.Ncommaaccent = 722;\n t.lacute = 278;\n t.agrave = 556;\n t.Tcommaaccent = 611;\n t.Cacute = 722;\n t.atilde = 556;\n t.Edotaccent = 667;\n t.scaron = 556;\n t.scedilla = 556;\n t.iacute = 278;\n t.lozenge = 494;\n t.Rcaron = 722;\n t.Gcommaaccent = 778;\n t.ucircumflex = 611;\n t.acircumflex = 556;\n t.Amacron = 722;\n t.rcaron = 389;\n t.ccedilla = 556;\n t.Zdotaccent = 611;\n t.Thorn = 667;\n t.Omacron = 778;\n t.Racute = 722;\n t.Sacute = 667;\n t.dcaron = 743;\n t.Umacron = 722;\n t.uring = 611;\n t.threesuperior = 333;\n t.Ograve = 778;\n t.Agrave = 722;\n t.Abreve = 722;\n t.multiply = 584;\n t.uacute = 611;\n t.Tcaron = 611;\n t.partialdiff = 494;\n t.ydieresis = 556;\n t.Nacute = 722;\n t.icircumflex = 278;\n t.Ecircumflex = 667;\n t.adieresis = 556;\n t.edieresis = 556;\n t.cacute = 556;\n t.nacute = 611;\n t.umacron = 611;\n t.Ncaron = 722;\n t.Iacute = 278;\n t.plusminus = 584;\n t.brokenbar = 280;\n t.registered = 737;\n t.Gbreve = 778;\n t.Idotaccent = 278;\n t.summation = 600;\n t.Egrave = 667;\n t.racute = 389;\n t.omacron = 611;\n t.Zacute = 611;\n t.Zcaron = 611;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 722;\n t.lcommaaccent = 278;\n t.tcaron = 389;\n t.eogonek = 556;\n t.Uogonek = 722;\n t.Aacute = 722;\n t.Adieresis = 722;\n t.egrave = 556;\n t.zacute = 500;\n t.iogonek = 278;\n t.Oacute = 778;\n t.oacute = 611;\n t.amacron = 556;\n t.sacute = 556;\n t.idieresis = 278;\n t.Ocircumflex = 778;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 611;\n t.twosuperior = 333;\n t.Odieresis = 778;\n t.mu = 611;\n t.igrave = 278;\n t.ohungarumlaut = 611;\n t.Eogonek = 667;\n t.dcroat = 611;\n t.threequarters = 834;\n t.Scedilla = 667;\n t.lcaron = 400;\n t.Kcommaaccent = 722;\n t.Lacute = 611;\n t.trademark = 1000;\n t.edotaccent = 556;\n t.Igrave = 278;\n t.Imacron = 278;\n t.Lcaron = 611;\n t.onehalf = 834;\n t.lessequal = 549;\n t.ocircumflex = 611;\n t.ntilde = 611;\n t.Uhungarumlaut = 722;\n t.Eacute = 667;\n t.emacron = 556;\n t.gbreve = 611;\n t.onequarter = 834;\n t.Scaron = 667;\n t.Scommaaccent = 667;\n t.Ohungarumlaut = 778;\n t.degree = 400;\n t.ograve = 611;\n t.Ccaron = 722;\n t.ugrave = 611;\n t.radical = 549;\n t.Dcaron = 722;\n t.rcommaaccent = 389;\n t.Ntilde = 722;\n t.otilde = 611;\n t.Rcommaaccent = 722;\n t.Lcommaaccent = 611;\n t.Atilde = 722;\n t.Aogonek = 722;\n t.Aring = 722;\n t.Otilde = 778;\n t.zdotaccent = 500;\n t.Ecaron = 667;\n t.Iogonek = 278;\n t.kcommaaccent = 556;\n t.minus = 584;\n t.Icircumflex = 278;\n t.ncaron = 611;\n t.tcommaaccent = 333;\n t.logicalnot = 584;\n t.odieresis = 611;\n t.udieresis = 611;\n t.notequal = 549;\n t.gcommaaccent = 611;\n t.eth = 611;\n t.zcaron = 500;\n t.ncommaaccent = 611;\n t.onesuperior = 333;\n t.imacron = 278;\n t.Euro = 556;\n });\n t[\"Helvetica-BoldOblique\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 278;\n t.exclam = 333;\n t.quotedbl = 474;\n t.numbersign = 556;\n t.dollar = 556;\n t.percent = 889;\n t.ampersand = 722;\n t.quoteright = 278;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 389;\n t.plus = 584;\n t.comma = 278;\n t.hyphen = 333;\n t.period = 278;\n t.slash = 278;\n t.zero = 556;\n t.one = 556;\n t.two = 556;\n t.three = 556;\n t.four = 556;\n t.five = 556;\n t.six = 556;\n t.seven = 556;\n t.eight = 556;\n t.nine = 556;\n t.colon = 333;\n t.semicolon = 333;\n t.less = 584;\n t.equal = 584;\n t.greater = 584;\n t.question = 611;\n t.at = 975;\n t.A = 722;\n t.B = 722;\n t.C = 722;\n t.D = 722;\n t.E = 667;\n t.F = 611;\n t.G = 778;\n t.H = 722;\n t.I = 278;\n t.J = 556;\n t.K = 722;\n t.L = 611;\n t.M = 833;\n t.N = 722;\n t.O = 778;\n t.P = 667;\n t.Q = 778;\n t.R = 722;\n t.S = 667;\n t.T = 611;\n t.U = 722;\n t.V = 667;\n t.W = 944;\n t.X = 667;\n t.Y = 667;\n t.Z = 611;\n t.bracketleft = 333;\n t.backslash = 278;\n t.bracketright = 333;\n t.asciicircum = 584;\n t.underscore = 556;\n t.quoteleft = 278;\n t.a = 556;\n t.b = 611;\n t.c = 556;\n t.d = 611;\n t.e = 556;\n t.f = 333;\n t.g = 611;\n t.h = 611;\n t.i = 278;\n t.j = 278;\n t.k = 556;\n t.l = 278;\n t.m = 889;\n t.n = 611;\n t.o = 611;\n t.p = 611;\n t.q = 611;\n t.r = 389;\n t.s = 556;\n t.t = 333;\n t.u = 611;\n t.v = 556;\n t.w = 778;\n t.x = 556;\n t.y = 556;\n t.z = 500;\n t.braceleft = 389;\n t.bar = 280;\n t.braceright = 389;\n t.asciitilde = 584;\n t.exclamdown = 333;\n t.cent = 556;\n t.sterling = 556;\n t.fraction = 167;\n t.yen = 556;\n t.florin = 556;\n t.section = 556;\n t.currency = 556;\n t.quotesingle = 238;\n t.quotedblleft = 500;\n t.guillemotleft = 556;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 611;\n t.fl = 611;\n t.endash = 556;\n t.dagger = 556;\n t.daggerdbl = 556;\n t.periodcentered = 278;\n t.paragraph = 556;\n t.bullet = 350;\n t.quotesinglbase = 278;\n t.quotedblbase = 500;\n t.quotedblright = 500;\n t.guillemotright = 556;\n t.ellipsis = 1000;\n t.perthousand = 1000;\n t.questiondown = 611;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 1000;\n t.AE = 1000;\n t.ordfeminine = 370;\n t.Lslash = 611;\n t.Oslash = 778;\n t.OE = 1000;\n t.ordmasculine = 365;\n t.ae = 889;\n t.dotlessi = 278;\n t.lslash = 278;\n t.oslash = 611;\n t.oe = 944;\n t.germandbls = 611;\n t.Idieresis = 278;\n t.eacute = 556;\n t.abreve = 556;\n t.uhungarumlaut = 611;\n t.ecaron = 556;\n t.Ydieresis = 667;\n t.divide = 584;\n t.Yacute = 667;\n t.Acircumflex = 722;\n t.aacute = 556;\n t.Ucircumflex = 722;\n t.yacute = 556;\n t.scommaaccent = 556;\n t.ecircumflex = 556;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 556;\n t.Uacute = 722;\n t.uogonek = 611;\n t.Edieresis = 667;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 737;\n t.Emacron = 667;\n t.ccaron = 556;\n t.aring = 556;\n t.Ncommaaccent = 722;\n t.lacute = 278;\n t.agrave = 556;\n t.Tcommaaccent = 611;\n t.Cacute = 722;\n t.atilde = 556;\n t.Edotaccent = 667;\n t.scaron = 556;\n t.scedilla = 556;\n t.iacute = 278;\n t.lozenge = 494;\n t.Rcaron = 722;\n t.Gcommaaccent = 778;\n t.ucircumflex = 611;\n t.acircumflex = 556;\n t.Amacron = 722;\n t.rcaron = 389;\n t.ccedilla = 556;\n t.Zdotaccent = 611;\n t.Thorn = 667;\n t.Omacron = 778;\n t.Racute = 722;\n t.Sacute = 667;\n t.dcaron = 743;\n t.Umacron = 722;\n t.uring = 611;\n t.threesuperior = 333;\n t.Ograve = 778;\n t.Agrave = 722;\n t.Abreve = 722;\n t.multiply = 584;\n t.uacute = 611;\n t.Tcaron = 611;\n t.partialdiff = 494;\n t.ydieresis = 556;\n t.Nacute = 722;\n t.icircumflex = 278;\n t.Ecircumflex = 667;\n t.adieresis = 556;\n t.edieresis = 556;\n t.cacute = 556;\n t.nacute = 611;\n t.umacron = 611;\n t.Ncaron = 722;\n t.Iacute = 278;\n t.plusminus = 584;\n t.brokenbar = 280;\n t.registered = 737;\n t.Gbreve = 778;\n t.Idotaccent = 278;\n t.summation = 600;\n t.Egrave = 667;\n t.racute = 389;\n t.omacron = 611;\n t.Zacute = 611;\n t.Zcaron = 611;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 722;\n t.lcommaaccent = 278;\n t.tcaron = 389;\n t.eogonek = 556;\n t.Uogonek = 722;\n t.Aacute = 722;\n t.Adieresis = 722;\n t.egrave = 556;\n t.zacute = 500;\n t.iogonek = 278;\n t.Oacute = 778;\n t.oacute = 611;\n t.amacron = 556;\n t.sacute = 556;\n t.idieresis = 278;\n t.Ocircumflex = 778;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 611;\n t.twosuperior = 333;\n t.Odieresis = 778;\n t.mu = 611;\n t.igrave = 278;\n t.ohungarumlaut = 611;\n t.Eogonek = 667;\n t.dcroat = 611;\n t.threequarters = 834;\n t.Scedilla = 667;\n t.lcaron = 400;\n t.Kcommaaccent = 722;\n t.Lacute = 611;\n t.trademark = 1000;\n t.edotaccent = 556;\n t.Igrave = 278;\n t.Imacron = 278;\n t.Lcaron = 611;\n t.onehalf = 834;\n t.lessequal = 549;\n t.ocircumflex = 611;\n t.ntilde = 611;\n t.Uhungarumlaut = 722;\n t.Eacute = 667;\n t.emacron = 556;\n t.gbreve = 611;\n t.onequarter = 834;\n t.Scaron = 667;\n t.Scommaaccent = 667;\n t.Ohungarumlaut = 778;\n t.degree = 400;\n t.ograve = 611;\n t.Ccaron = 722;\n t.ugrave = 611;\n t.radical = 549;\n t.Dcaron = 722;\n t.rcommaaccent = 389;\n t.Ntilde = 722;\n t.otilde = 611;\n t.Rcommaaccent = 722;\n t.Lcommaaccent = 611;\n t.Atilde = 722;\n t.Aogonek = 722;\n t.Aring = 722;\n t.Otilde = 778;\n t.zdotaccent = 500;\n t.Ecaron = 667;\n t.Iogonek = 278;\n t.kcommaaccent = 556;\n t.minus = 584;\n t.Icircumflex = 278;\n t.ncaron = 611;\n t.tcommaaccent = 333;\n t.logicalnot = 584;\n t.odieresis = 611;\n t.udieresis = 611;\n t.notequal = 549;\n t.gcommaaccent = 611;\n t.eth = 611;\n t.zcaron = 500;\n t.ncommaaccent = 611;\n t.onesuperior = 333;\n t.imacron = 278;\n t.Euro = 556;\n });\n t[\"Helvetica-Oblique\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 278;\n t.exclam = 278;\n t.quotedbl = 355;\n t.numbersign = 556;\n t.dollar = 556;\n t.percent = 889;\n t.ampersand = 667;\n t.quoteright = 222;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 389;\n t.plus = 584;\n t.comma = 278;\n t.hyphen = 333;\n t.period = 278;\n t.slash = 278;\n t.zero = 556;\n t.one = 556;\n t.two = 556;\n t.three = 556;\n t.four = 556;\n t.five = 556;\n t.six = 556;\n t.seven = 556;\n t.eight = 556;\n t.nine = 556;\n t.colon = 278;\n t.semicolon = 278;\n t.less = 584;\n t.equal = 584;\n t.greater = 584;\n t.question = 556;\n t.at = 1015;\n t.A = 667;\n t.B = 667;\n t.C = 722;\n t.D = 722;\n t.E = 667;\n t.F = 611;\n t.G = 778;\n t.H = 722;\n t.I = 278;\n t.J = 500;\n t.K = 667;\n t.L = 556;\n t.M = 833;\n t.N = 722;\n t.O = 778;\n t.P = 667;\n t.Q = 778;\n t.R = 722;\n t.S = 667;\n t.T = 611;\n t.U = 722;\n t.V = 667;\n t.W = 944;\n t.X = 667;\n t.Y = 667;\n t.Z = 611;\n t.bracketleft = 278;\n t.backslash = 278;\n t.bracketright = 278;\n t.asciicircum = 469;\n t.underscore = 556;\n t.quoteleft = 222;\n t.a = 556;\n t.b = 556;\n t.c = 500;\n t.d = 556;\n t.e = 556;\n t.f = 278;\n t.g = 556;\n t.h = 556;\n t.i = 222;\n t.j = 222;\n t.k = 500;\n t.l = 222;\n t.m = 833;\n t.n = 556;\n t.o = 556;\n t.p = 556;\n t.q = 556;\n t.r = 333;\n t.s = 500;\n t.t = 278;\n t.u = 556;\n t.v = 500;\n t.w = 722;\n t.x = 500;\n t.y = 500;\n t.z = 500;\n t.braceleft = 334;\n t.bar = 260;\n t.braceright = 334;\n t.asciitilde = 584;\n t.exclamdown = 333;\n t.cent = 556;\n t.sterling = 556;\n t.fraction = 167;\n t.yen = 556;\n t.florin = 556;\n t.section = 556;\n t.currency = 556;\n t.quotesingle = 191;\n t.quotedblleft = 333;\n t.guillemotleft = 556;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 500;\n t.fl = 500;\n t.endash = 556;\n t.dagger = 556;\n t.daggerdbl = 556;\n t.periodcentered = 278;\n t.paragraph = 537;\n t.bullet = 350;\n t.quotesinglbase = 222;\n t.quotedblbase = 333;\n t.quotedblright = 333;\n t.guillemotright = 556;\n t.ellipsis = 1000;\n t.perthousand = 1000;\n t.questiondown = 611;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 1000;\n t.AE = 1000;\n t.ordfeminine = 370;\n t.Lslash = 556;\n t.Oslash = 778;\n t.OE = 1000;\n t.ordmasculine = 365;\n t.ae = 889;\n t.dotlessi = 278;\n t.lslash = 222;\n t.oslash = 611;\n t.oe = 944;\n t.germandbls = 611;\n t.Idieresis = 278;\n t.eacute = 556;\n t.abreve = 556;\n t.uhungarumlaut = 556;\n t.ecaron = 556;\n t.Ydieresis = 667;\n t.divide = 584;\n t.Yacute = 667;\n t.Acircumflex = 667;\n t.aacute = 556;\n t.Ucircumflex = 722;\n t.yacute = 500;\n t.scommaaccent = 500;\n t.ecircumflex = 556;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 556;\n t.Uacute = 722;\n t.uogonek = 556;\n t.Edieresis = 667;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 737;\n t.Emacron = 667;\n t.ccaron = 500;\n t.aring = 556;\n t.Ncommaaccent = 722;\n t.lacute = 222;\n t.agrave = 556;\n t.Tcommaaccent = 611;\n t.Cacute = 722;\n t.atilde = 556;\n t.Edotaccent = 667;\n t.scaron = 500;\n t.scedilla = 500;\n t.iacute = 278;\n t.lozenge = 471;\n t.Rcaron = 722;\n t.Gcommaaccent = 778;\n t.ucircumflex = 556;\n t.acircumflex = 556;\n t.Amacron = 667;\n t.rcaron = 333;\n t.ccedilla = 500;\n t.Zdotaccent = 611;\n t.Thorn = 667;\n t.Omacron = 778;\n t.Racute = 722;\n t.Sacute = 667;\n t.dcaron = 643;\n t.Umacron = 722;\n t.uring = 556;\n t.threesuperior = 333;\n t.Ograve = 778;\n t.Agrave = 667;\n t.Abreve = 667;\n t.multiply = 584;\n t.uacute = 556;\n t.Tcaron = 611;\n t.partialdiff = 476;\n t.ydieresis = 500;\n t.Nacute = 722;\n t.icircumflex = 278;\n t.Ecircumflex = 667;\n t.adieresis = 556;\n t.edieresis = 556;\n t.cacute = 500;\n t.nacute = 556;\n t.umacron = 556;\n t.Ncaron = 722;\n t.Iacute = 278;\n t.plusminus = 584;\n t.brokenbar = 260;\n t.registered = 737;\n t.Gbreve = 778;\n t.Idotaccent = 278;\n t.summation = 600;\n t.Egrave = 667;\n t.racute = 333;\n t.omacron = 556;\n t.Zacute = 611;\n t.Zcaron = 611;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 722;\n t.lcommaaccent = 222;\n t.tcaron = 317;\n t.eogonek = 556;\n t.Uogonek = 722;\n t.Aacute = 667;\n t.Adieresis = 667;\n t.egrave = 556;\n t.zacute = 500;\n t.iogonek = 222;\n t.Oacute = 778;\n t.oacute = 556;\n t.amacron = 556;\n t.sacute = 500;\n t.idieresis = 278;\n t.Ocircumflex = 778;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 556;\n t.twosuperior = 333;\n t.Odieresis = 778;\n t.mu = 556;\n t.igrave = 278;\n t.ohungarumlaut = 556;\n t.Eogonek = 667;\n t.dcroat = 556;\n t.threequarters = 834;\n t.Scedilla = 667;\n t.lcaron = 299;\n t.Kcommaaccent = 667;\n t.Lacute = 556;\n t.trademark = 1000;\n t.edotaccent = 556;\n t.Igrave = 278;\n t.Imacron = 278;\n t.Lcaron = 556;\n t.onehalf = 834;\n t.lessequal = 549;\n t.ocircumflex = 556;\n t.ntilde = 556;\n t.Uhungarumlaut = 722;\n t.Eacute = 667;\n t.emacron = 556;\n t.gbreve = 556;\n t.onequarter = 834;\n t.Scaron = 667;\n t.Scommaaccent = 667;\n t.Ohungarumlaut = 778;\n t.degree = 400;\n t.ograve = 556;\n t.Ccaron = 722;\n t.ugrave = 556;\n t.radical = 453;\n t.Dcaron = 722;\n t.rcommaaccent = 333;\n t.Ntilde = 722;\n t.otilde = 556;\n t.Rcommaaccent = 722;\n t.Lcommaaccent = 556;\n t.Atilde = 667;\n t.Aogonek = 667;\n t.Aring = 667;\n t.Otilde = 778;\n t.zdotaccent = 500;\n t.Ecaron = 667;\n t.Iogonek = 278;\n t.kcommaaccent = 500;\n t.minus = 584;\n t.Icircumflex = 278;\n t.ncaron = 556;\n t.tcommaaccent = 278;\n t.logicalnot = 584;\n t.odieresis = 556;\n t.udieresis = 556;\n t.notequal = 549;\n t.gcommaaccent = 556;\n t.eth = 556;\n t.zcaron = 500;\n t.ncommaaccent = 556;\n t.onesuperior = 333;\n t.imacron = 278;\n t.Euro = 556;\n });\n t.Symbol = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 250;\n t.exclam = 333;\n t.universal = 713;\n t.numbersign = 500;\n t.existential = 549;\n t.percent = 833;\n t.ampersand = 778;\n t.suchthat = 439;\n t.parenleft = 333;\n t.parenright = 333;\n t.asteriskmath = 500;\n t.plus = 549;\n t.comma = 250;\n t.minus = 549;\n t.period = 250;\n t.slash = 278;\n t.zero = 500;\n t.one = 500;\n t.two = 500;\n t.three = 500;\n t.four = 500;\n t.five = 500;\n t.six = 500;\n t.seven = 500;\n t.eight = 500;\n t.nine = 500;\n t.colon = 278;\n t.semicolon = 278;\n t.less = 549;\n t.equal = 549;\n t.greater = 549;\n t.question = 444;\n t.congruent = 549;\n t.Alpha = 722;\n t.Beta = 667;\n t.Chi = 722;\n t.Delta = 612;\n t.Epsilon = 611;\n t.Phi = 763;\n t.Gamma = 603;\n t.Eta = 722;\n t.Iota = 333;\n t.theta1 = 631;\n t.Kappa = 722;\n t.Lambda = 686;\n t.Mu = 889;\n t.Nu = 722;\n t.Omicron = 722;\n t.Pi = 768;\n t.Theta = 741;\n t.Rho = 556;\n t.Sigma = 592;\n t.Tau = 611;\n t.Upsilon = 690;\n t.sigma1 = 439;\n t.Omega = 768;\n t.Xi = 645;\n t.Psi = 795;\n t.Zeta = 611;\n t.bracketleft = 333;\n t.therefore = 863;\n t.bracketright = 333;\n t.perpendicular = 658;\n t.underscore = 500;\n t.radicalex = 500;\n t.alpha = 631;\n t.beta = 549;\n t.chi = 549;\n t.delta = 494;\n t.epsilon = 439;\n t.phi = 521;\n t.gamma = 411;\n t.eta = 603;\n t.iota = 329;\n t.phi1 = 603;\n t.kappa = 549;\n t.lambda = 549;\n t.mu = 576;\n t.nu = 521;\n t.omicron = 549;\n t.pi = 549;\n t.theta = 521;\n t.rho = 549;\n t.sigma = 603;\n t.tau = 439;\n t.upsilon = 576;\n t.omega1 = 713;\n t.omega = 686;\n t.xi = 493;\n t.psi = 686;\n t.zeta = 494;\n t.braceleft = 480;\n t.bar = 200;\n t.braceright = 480;\n t.similar = 549;\n t.Euro = 750;\n t.Upsilon1 = 620;\n t.minute = 247;\n t.lessequal = 549;\n t.fraction = 167;\n t.infinity = 713;\n t.florin = 500;\n t.club = 753;\n t.diamond = 753;\n t.heart = 753;\n t.spade = 753;\n t.arrowboth = 1042;\n t.arrowleft = 987;\n t.arrowup = 603;\n t.arrowright = 987;\n t.arrowdown = 603;\n t.degree = 400;\n t.plusminus = 549;\n t.second = 411;\n t.greaterequal = 549;\n t.multiply = 549;\n t.proportional = 713;\n t.partialdiff = 494;\n t.bullet = 460;\n t.divide = 549;\n t.notequal = 549;\n t.equivalence = 549;\n t.approxequal = 549;\n t.ellipsis = 1000;\n t.arrowvertex = 603;\n t.arrowhorizex = 1000;\n t.carriagereturn = 658;\n t.aleph = 823;\n t.Ifraktur = 686;\n t.Rfraktur = 795;\n t.weierstrass = 987;\n t.circlemultiply = 768;\n t.circleplus = 768;\n t.emptyset = 823;\n t.intersection = 768;\n t.union = 768;\n t.propersuperset = 713;\n t.reflexsuperset = 713;\n t.notsubset = 713;\n t.propersubset = 713;\n t.reflexsubset = 713;\n t.element = 713;\n t.notelement = 713;\n t.angle = 768;\n t.gradient = 713;\n t.registerserif = 790;\n t.copyrightserif = 790;\n t.trademarkserif = 890;\n t.product = 823;\n t.radical = 549;\n t.dotmath = 250;\n t.logicalnot = 713;\n t.logicaland = 603;\n t.logicalor = 603;\n t.arrowdblboth = 1042;\n t.arrowdblleft = 987;\n t.arrowdblup = 603;\n t.arrowdblright = 987;\n t.arrowdbldown = 603;\n t.lozenge = 494;\n t.angleleft = 329;\n t.registersans = 790;\n t.copyrightsans = 790;\n t.trademarksans = 786;\n t.summation = 713;\n t.parenlefttp = 384;\n t.parenleftex = 384;\n t.parenleftbt = 384;\n t.bracketlefttp = 384;\n t.bracketleftex = 384;\n t.bracketleftbt = 384;\n t.bracelefttp = 494;\n t.braceleftmid = 494;\n t.braceleftbt = 494;\n t.braceex = 494;\n t.angleright = 329;\n t.integral = 274;\n t.integraltp = 686;\n t.integralex = 686;\n t.integralbt = 686;\n t.parenrighttp = 384;\n t.parenrightex = 384;\n t.parenrightbt = 384;\n t.bracketrighttp = 384;\n t.bracketrightex = 384;\n t.bracketrightbt = 384;\n t.bracerighttp = 494;\n t.bracerightmid = 494;\n t.bracerightbt = 494;\n t.apple = 790;\n });\n t[\"Times-Roman\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 250;\n t.exclam = 333;\n t.quotedbl = 408;\n t.numbersign = 500;\n t.dollar = 500;\n t.percent = 833;\n t.ampersand = 778;\n t.quoteright = 333;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 500;\n t.plus = 564;\n t.comma = 250;\n t.hyphen = 333;\n t.period = 250;\n t.slash = 278;\n t.zero = 500;\n t.one = 500;\n t.two = 500;\n t.three = 500;\n t.four = 500;\n t.five = 500;\n t.six = 500;\n t.seven = 500;\n t.eight = 500;\n t.nine = 500;\n t.colon = 278;\n t.semicolon = 278;\n t.less = 564;\n t.equal = 564;\n t.greater = 564;\n t.question = 444;\n t.at = 921;\n t.A = 722;\n t.B = 667;\n t.C = 667;\n t.D = 722;\n t.E = 611;\n t.F = 556;\n t.G = 722;\n t.H = 722;\n t.I = 333;\n t.J = 389;\n t.K = 722;\n t.L = 611;\n t.M = 889;\n t.N = 722;\n t.O = 722;\n t.P = 556;\n t.Q = 722;\n t.R = 667;\n t.S = 556;\n t.T = 611;\n t.U = 722;\n t.V = 722;\n t.W = 944;\n t.X = 722;\n t.Y = 722;\n t.Z = 611;\n t.bracketleft = 333;\n t.backslash = 278;\n t.bracketright = 333;\n t.asciicircum = 469;\n t.underscore = 500;\n t.quoteleft = 333;\n t.a = 444;\n t.b = 500;\n t.c = 444;\n t.d = 500;\n t.e = 444;\n t.f = 333;\n t.g = 500;\n t.h = 500;\n t.i = 278;\n t.j = 278;\n t.k = 500;\n t.l = 278;\n t.m = 778;\n t.n = 500;\n t.o = 500;\n t.p = 500;\n t.q = 500;\n t.r = 333;\n t.s = 389;\n t.t = 278;\n t.u = 500;\n t.v = 500;\n t.w = 722;\n t.x = 500;\n t.y = 500;\n t.z = 444;\n t.braceleft = 480;\n t.bar = 200;\n t.braceright = 480;\n t.asciitilde = 541;\n t.exclamdown = 333;\n t.cent = 500;\n t.sterling = 500;\n t.fraction = 167;\n t.yen = 500;\n t.florin = 500;\n t.section = 500;\n t.currency = 500;\n t.quotesingle = 180;\n t.quotedblleft = 444;\n t.guillemotleft = 500;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 556;\n t.fl = 556;\n t.endash = 500;\n t.dagger = 500;\n t.daggerdbl = 500;\n t.periodcentered = 250;\n t.paragraph = 453;\n t.bullet = 350;\n t.quotesinglbase = 333;\n t.quotedblbase = 444;\n t.quotedblright = 444;\n t.guillemotright = 500;\n t.ellipsis = 1000;\n t.perthousand = 1000;\n t.questiondown = 444;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 1000;\n t.AE = 889;\n t.ordfeminine = 276;\n t.Lslash = 611;\n t.Oslash = 722;\n t.OE = 889;\n t.ordmasculine = 310;\n t.ae = 667;\n t.dotlessi = 278;\n t.lslash = 278;\n t.oslash = 500;\n t.oe = 722;\n t.germandbls = 500;\n t.Idieresis = 333;\n t.eacute = 444;\n t.abreve = 444;\n t.uhungarumlaut = 500;\n t.ecaron = 444;\n t.Ydieresis = 722;\n t.divide = 564;\n t.Yacute = 722;\n t.Acircumflex = 722;\n t.aacute = 444;\n t.Ucircumflex = 722;\n t.yacute = 500;\n t.scommaaccent = 389;\n t.ecircumflex = 444;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 444;\n t.Uacute = 722;\n t.uogonek = 500;\n t.Edieresis = 611;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 760;\n t.Emacron = 611;\n t.ccaron = 444;\n t.aring = 444;\n t.Ncommaaccent = 722;\n t.lacute = 278;\n t.agrave = 444;\n t.Tcommaaccent = 611;\n t.Cacute = 667;\n t.atilde = 444;\n t.Edotaccent = 611;\n t.scaron = 389;\n t.scedilla = 389;\n t.iacute = 278;\n t.lozenge = 471;\n t.Rcaron = 667;\n t.Gcommaaccent = 722;\n t.ucircumflex = 500;\n t.acircumflex = 444;\n t.Amacron = 722;\n t.rcaron = 333;\n t.ccedilla = 444;\n t.Zdotaccent = 611;\n t.Thorn = 556;\n t.Omacron = 722;\n t.Racute = 667;\n t.Sacute = 556;\n t.dcaron = 588;\n t.Umacron = 722;\n t.uring = 500;\n t.threesuperior = 300;\n t.Ograve = 722;\n t.Agrave = 722;\n t.Abreve = 722;\n t.multiply = 564;\n t.uacute = 500;\n t.Tcaron = 611;\n t.partialdiff = 476;\n t.ydieresis = 500;\n t.Nacute = 722;\n t.icircumflex = 278;\n t.Ecircumflex = 611;\n t.adieresis = 444;\n t.edieresis = 444;\n t.cacute = 444;\n t.nacute = 500;\n t.umacron = 500;\n t.Ncaron = 722;\n t.Iacute = 333;\n t.plusminus = 564;\n t.brokenbar = 200;\n t.registered = 760;\n t.Gbreve = 722;\n t.Idotaccent = 333;\n t.summation = 600;\n t.Egrave = 611;\n t.racute = 333;\n t.omacron = 500;\n t.Zacute = 611;\n t.Zcaron = 611;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 667;\n t.lcommaaccent = 278;\n t.tcaron = 326;\n t.eogonek = 444;\n t.Uogonek = 722;\n t.Aacute = 722;\n t.Adieresis = 722;\n t.egrave = 444;\n t.zacute = 444;\n t.iogonek = 278;\n t.Oacute = 722;\n t.oacute = 500;\n t.amacron = 444;\n t.sacute = 389;\n t.idieresis = 278;\n t.Ocircumflex = 722;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 500;\n t.twosuperior = 300;\n t.Odieresis = 722;\n t.mu = 500;\n t.igrave = 278;\n t.ohungarumlaut = 500;\n t.Eogonek = 611;\n t.dcroat = 500;\n t.threequarters = 750;\n t.Scedilla = 556;\n t.lcaron = 344;\n t.Kcommaaccent = 722;\n t.Lacute = 611;\n t.trademark = 980;\n t.edotaccent = 444;\n t.Igrave = 333;\n t.Imacron = 333;\n t.Lcaron = 611;\n t.onehalf = 750;\n t.lessequal = 549;\n t.ocircumflex = 500;\n t.ntilde = 500;\n t.Uhungarumlaut = 722;\n t.Eacute = 611;\n t.emacron = 444;\n t.gbreve = 500;\n t.onequarter = 750;\n t.Scaron = 556;\n t.Scommaaccent = 556;\n t.Ohungarumlaut = 722;\n t.degree = 400;\n t.ograve = 500;\n t.Ccaron = 667;\n t.ugrave = 500;\n t.radical = 453;\n t.Dcaron = 722;\n t.rcommaaccent = 333;\n t.Ntilde = 722;\n t.otilde = 500;\n t.Rcommaaccent = 667;\n t.Lcommaaccent = 611;\n t.Atilde = 722;\n t.Aogonek = 722;\n t.Aring = 722;\n t.Otilde = 722;\n t.zdotaccent = 444;\n t.Ecaron = 611;\n t.Iogonek = 333;\n t.kcommaaccent = 500;\n t.minus = 564;\n t.Icircumflex = 333;\n t.ncaron = 500;\n t.tcommaaccent = 278;\n t.logicalnot = 564;\n t.odieresis = 500;\n t.udieresis = 500;\n t.notequal = 549;\n t.gcommaaccent = 500;\n t.eth = 500;\n t.zcaron = 444;\n t.ncommaaccent = 500;\n t.onesuperior = 300;\n t.imacron = 278;\n t.Euro = 500;\n });\n t[\"Times-Bold\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 250;\n t.exclam = 333;\n t.quotedbl = 555;\n t.numbersign = 500;\n t.dollar = 500;\n t.percent = 1000;\n t.ampersand = 833;\n t.quoteright = 333;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 500;\n t.plus = 570;\n t.comma = 250;\n t.hyphen = 333;\n t.period = 250;\n t.slash = 278;\n t.zero = 500;\n t.one = 500;\n t.two = 500;\n t.three = 500;\n t.four = 500;\n t.five = 500;\n t.six = 500;\n t.seven = 500;\n t.eight = 500;\n t.nine = 500;\n t.colon = 333;\n t.semicolon = 333;\n t.less = 570;\n t.equal = 570;\n t.greater = 570;\n t.question = 500;\n t.at = 930;\n t.A = 722;\n t.B = 667;\n t.C = 722;\n t.D = 722;\n t.E = 667;\n t.F = 611;\n t.G = 778;\n t.H = 778;\n t.I = 389;\n t.J = 500;\n t.K = 778;\n t.L = 667;\n t.M = 944;\n t.N = 722;\n t.O = 778;\n t.P = 611;\n t.Q = 778;\n t.R = 722;\n t.S = 556;\n t.T = 667;\n t.U = 722;\n t.V = 722;\n t.W = 1000;\n t.X = 722;\n t.Y = 722;\n t.Z = 667;\n t.bracketleft = 333;\n t.backslash = 278;\n t.bracketright = 333;\n t.asciicircum = 581;\n t.underscore = 500;\n t.quoteleft = 333;\n t.a = 500;\n t.b = 556;\n t.c = 444;\n t.d = 556;\n t.e = 444;\n t.f = 333;\n t.g = 500;\n t.h = 556;\n t.i = 278;\n t.j = 333;\n t.k = 556;\n t.l = 278;\n t.m = 833;\n t.n = 556;\n t.o = 500;\n t.p = 556;\n t.q = 556;\n t.r = 444;\n t.s = 389;\n t.t = 333;\n t.u = 556;\n t.v = 500;\n t.w = 722;\n t.x = 500;\n t.y = 500;\n t.z = 444;\n t.braceleft = 394;\n t.bar = 220;\n t.braceright = 394;\n t.asciitilde = 520;\n t.exclamdown = 333;\n t.cent = 500;\n t.sterling = 500;\n t.fraction = 167;\n t.yen = 500;\n t.florin = 500;\n t.section = 500;\n t.currency = 500;\n t.quotesingle = 278;\n t.quotedblleft = 500;\n t.guillemotleft = 500;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 556;\n t.fl = 556;\n t.endash = 500;\n t.dagger = 500;\n t.daggerdbl = 500;\n t.periodcentered = 250;\n t.paragraph = 540;\n t.bullet = 350;\n t.quotesinglbase = 333;\n t.quotedblbase = 500;\n t.quotedblright = 500;\n t.guillemotright = 500;\n t.ellipsis = 1000;\n t.perthousand = 1000;\n t.questiondown = 500;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 1000;\n t.AE = 1000;\n t.ordfeminine = 300;\n t.Lslash = 667;\n t.Oslash = 778;\n t.OE = 1000;\n t.ordmasculine = 330;\n t.ae = 722;\n t.dotlessi = 278;\n t.lslash = 278;\n t.oslash = 500;\n t.oe = 722;\n t.germandbls = 556;\n t.Idieresis = 389;\n t.eacute = 444;\n t.abreve = 500;\n t.uhungarumlaut = 556;\n t.ecaron = 444;\n t.Ydieresis = 722;\n t.divide = 570;\n t.Yacute = 722;\n t.Acircumflex = 722;\n t.aacute = 500;\n t.Ucircumflex = 722;\n t.yacute = 500;\n t.scommaaccent = 389;\n t.ecircumflex = 444;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 500;\n t.Uacute = 722;\n t.uogonek = 556;\n t.Edieresis = 667;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 747;\n t.Emacron = 667;\n t.ccaron = 444;\n t.aring = 500;\n t.Ncommaaccent = 722;\n t.lacute = 278;\n t.agrave = 500;\n t.Tcommaaccent = 667;\n t.Cacute = 722;\n t.atilde = 500;\n t.Edotaccent = 667;\n t.scaron = 389;\n t.scedilla = 389;\n t.iacute = 278;\n t.lozenge = 494;\n t.Rcaron = 722;\n t.Gcommaaccent = 778;\n t.ucircumflex = 556;\n t.acircumflex = 500;\n t.Amacron = 722;\n t.rcaron = 444;\n t.ccedilla = 444;\n t.Zdotaccent = 667;\n t.Thorn = 611;\n t.Omacron = 778;\n t.Racute = 722;\n t.Sacute = 556;\n t.dcaron = 672;\n t.Umacron = 722;\n t.uring = 556;\n t.threesuperior = 300;\n t.Ograve = 778;\n t.Agrave = 722;\n t.Abreve = 722;\n t.multiply = 570;\n t.uacute = 556;\n t.Tcaron = 667;\n t.partialdiff = 494;\n t.ydieresis = 500;\n t.Nacute = 722;\n t.icircumflex = 278;\n t.Ecircumflex = 667;\n t.adieresis = 500;\n t.edieresis = 444;\n t.cacute = 444;\n t.nacute = 556;\n t.umacron = 556;\n t.Ncaron = 722;\n t.Iacute = 389;\n t.plusminus = 570;\n t.brokenbar = 220;\n t.registered = 747;\n t.Gbreve = 778;\n t.Idotaccent = 389;\n t.summation = 600;\n t.Egrave = 667;\n t.racute = 444;\n t.omacron = 500;\n t.Zacute = 667;\n t.Zcaron = 667;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 722;\n t.lcommaaccent = 278;\n t.tcaron = 416;\n t.eogonek = 444;\n t.Uogonek = 722;\n t.Aacute = 722;\n t.Adieresis = 722;\n t.egrave = 444;\n t.zacute = 444;\n t.iogonek = 278;\n t.Oacute = 778;\n t.oacute = 500;\n t.amacron = 500;\n t.sacute = 389;\n t.idieresis = 278;\n t.Ocircumflex = 778;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 556;\n t.twosuperior = 300;\n t.Odieresis = 778;\n t.mu = 556;\n t.igrave = 278;\n t.ohungarumlaut = 500;\n t.Eogonek = 667;\n t.dcroat = 556;\n t.threequarters = 750;\n t.Scedilla = 556;\n t.lcaron = 394;\n t.Kcommaaccent = 778;\n t.Lacute = 667;\n t.trademark = 1000;\n t.edotaccent = 444;\n t.Igrave = 389;\n t.Imacron = 389;\n t.Lcaron = 667;\n t.onehalf = 750;\n t.lessequal = 549;\n t.ocircumflex = 500;\n t.ntilde = 556;\n t.Uhungarumlaut = 722;\n t.Eacute = 667;\n t.emacron = 444;\n t.gbreve = 500;\n t.onequarter = 750;\n t.Scaron = 556;\n t.Scommaaccent = 556;\n t.Ohungarumlaut = 778;\n t.degree = 400;\n t.ograve = 500;\n t.Ccaron = 722;\n t.ugrave = 556;\n t.radical = 549;\n t.Dcaron = 722;\n t.rcommaaccent = 444;\n t.Ntilde = 722;\n t.otilde = 500;\n t.Rcommaaccent = 722;\n t.Lcommaaccent = 667;\n t.Atilde = 722;\n t.Aogonek = 722;\n t.Aring = 722;\n t.Otilde = 778;\n t.zdotaccent = 444;\n t.Ecaron = 667;\n t.Iogonek = 389;\n t.kcommaaccent = 556;\n t.minus = 570;\n t.Icircumflex = 389;\n t.ncaron = 556;\n t.tcommaaccent = 333;\n t.logicalnot = 570;\n t.odieresis = 500;\n t.udieresis = 556;\n t.notequal = 549;\n t.gcommaaccent = 500;\n t.eth = 500;\n t.zcaron = 444;\n t.ncommaaccent = 556;\n t.onesuperior = 300;\n t.imacron = 278;\n t.Euro = 500;\n });\n t[\"Times-BoldItalic\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 250;\n t.exclam = 389;\n t.quotedbl = 555;\n t.numbersign = 500;\n t.dollar = 500;\n t.percent = 833;\n t.ampersand = 778;\n t.quoteright = 333;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 500;\n t.plus = 570;\n t.comma = 250;\n t.hyphen = 333;\n t.period = 250;\n t.slash = 278;\n t.zero = 500;\n t.one = 500;\n t.two = 500;\n t.three = 500;\n t.four = 500;\n t.five = 500;\n t.six = 500;\n t.seven = 500;\n t.eight = 500;\n t.nine = 500;\n t.colon = 333;\n t.semicolon = 333;\n t.less = 570;\n t.equal = 570;\n t.greater = 570;\n t.question = 500;\n t.at = 832;\n t.A = 667;\n t.B = 667;\n t.C = 667;\n t.D = 722;\n t.E = 667;\n t.F = 667;\n t.G = 722;\n t.H = 778;\n t.I = 389;\n t.J = 500;\n t.K = 667;\n t.L = 611;\n t.M = 889;\n t.N = 722;\n t.O = 722;\n t.P = 611;\n t.Q = 722;\n t.R = 667;\n t.S = 556;\n t.T = 611;\n t.U = 722;\n t.V = 667;\n t.W = 889;\n t.X = 667;\n t.Y = 611;\n t.Z = 611;\n t.bracketleft = 333;\n t.backslash = 278;\n t.bracketright = 333;\n t.asciicircum = 570;\n t.underscore = 500;\n t.quoteleft = 333;\n t.a = 500;\n t.b = 500;\n t.c = 444;\n t.d = 500;\n t.e = 444;\n t.f = 333;\n t.g = 500;\n t.h = 556;\n t.i = 278;\n t.j = 278;\n t.k = 500;\n t.l = 278;\n t.m = 778;\n t.n = 556;\n t.o = 500;\n t.p = 500;\n t.q = 500;\n t.r = 389;\n t.s = 389;\n t.t = 278;\n t.u = 556;\n t.v = 444;\n t.w = 667;\n t.x = 500;\n t.y = 444;\n t.z = 389;\n t.braceleft = 348;\n t.bar = 220;\n t.braceright = 348;\n t.asciitilde = 570;\n t.exclamdown = 389;\n t.cent = 500;\n t.sterling = 500;\n t.fraction = 167;\n t.yen = 500;\n t.florin = 500;\n t.section = 500;\n t.currency = 500;\n t.quotesingle = 278;\n t.quotedblleft = 500;\n t.guillemotleft = 500;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 556;\n t.fl = 556;\n t.endash = 500;\n t.dagger = 500;\n t.daggerdbl = 500;\n t.periodcentered = 250;\n t.paragraph = 500;\n t.bullet = 350;\n t.quotesinglbase = 333;\n t.quotedblbase = 500;\n t.quotedblright = 500;\n t.guillemotright = 500;\n t.ellipsis = 1000;\n t.perthousand = 1000;\n t.questiondown = 500;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 1000;\n t.AE = 944;\n t.ordfeminine = 266;\n t.Lslash = 611;\n t.Oslash = 722;\n t.OE = 944;\n t.ordmasculine = 300;\n t.ae = 722;\n t.dotlessi = 278;\n t.lslash = 278;\n t.oslash = 500;\n t.oe = 722;\n t.germandbls = 500;\n t.Idieresis = 389;\n t.eacute = 444;\n t.abreve = 500;\n t.uhungarumlaut = 556;\n t.ecaron = 444;\n t.Ydieresis = 611;\n t.divide = 570;\n t.Yacute = 611;\n t.Acircumflex = 667;\n t.aacute = 500;\n t.Ucircumflex = 722;\n t.yacute = 444;\n t.scommaaccent = 389;\n t.ecircumflex = 444;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 500;\n t.Uacute = 722;\n t.uogonek = 556;\n t.Edieresis = 667;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 747;\n t.Emacron = 667;\n t.ccaron = 444;\n t.aring = 500;\n t.Ncommaaccent = 722;\n t.lacute = 278;\n t.agrave = 500;\n t.Tcommaaccent = 611;\n t.Cacute = 667;\n t.atilde = 500;\n t.Edotaccent = 667;\n t.scaron = 389;\n t.scedilla = 389;\n t.iacute = 278;\n t.lozenge = 494;\n t.Rcaron = 667;\n t.Gcommaaccent = 722;\n t.ucircumflex = 556;\n t.acircumflex = 500;\n t.Amacron = 667;\n t.rcaron = 389;\n t.ccedilla = 444;\n t.Zdotaccent = 611;\n t.Thorn = 611;\n t.Omacron = 722;\n t.Racute = 667;\n t.Sacute = 556;\n t.dcaron = 608;\n t.Umacron = 722;\n t.uring = 556;\n t.threesuperior = 300;\n t.Ograve = 722;\n t.Agrave = 667;\n t.Abreve = 667;\n t.multiply = 570;\n t.uacute = 556;\n t.Tcaron = 611;\n t.partialdiff = 494;\n t.ydieresis = 444;\n t.Nacute = 722;\n t.icircumflex = 278;\n t.Ecircumflex = 667;\n t.adieresis = 500;\n t.edieresis = 444;\n t.cacute = 444;\n t.nacute = 556;\n t.umacron = 556;\n t.Ncaron = 722;\n t.Iacute = 389;\n t.plusminus = 570;\n t.brokenbar = 220;\n t.registered = 747;\n t.Gbreve = 722;\n t.Idotaccent = 389;\n t.summation = 600;\n t.Egrave = 667;\n t.racute = 389;\n t.omacron = 500;\n t.Zacute = 611;\n t.Zcaron = 611;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 667;\n t.lcommaaccent = 278;\n t.tcaron = 366;\n t.eogonek = 444;\n t.Uogonek = 722;\n t.Aacute = 667;\n t.Adieresis = 667;\n t.egrave = 444;\n t.zacute = 389;\n t.iogonek = 278;\n t.Oacute = 722;\n t.oacute = 500;\n t.amacron = 500;\n t.sacute = 389;\n t.idieresis = 278;\n t.Ocircumflex = 722;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 500;\n t.twosuperior = 300;\n t.Odieresis = 722;\n t.mu = 576;\n t.igrave = 278;\n t.ohungarumlaut = 500;\n t.Eogonek = 667;\n t.dcroat = 500;\n t.threequarters = 750;\n t.Scedilla = 556;\n t.lcaron = 382;\n t.Kcommaaccent = 667;\n t.Lacute = 611;\n t.trademark = 1000;\n t.edotaccent = 444;\n t.Igrave = 389;\n t.Imacron = 389;\n t.Lcaron = 611;\n t.onehalf = 750;\n t.lessequal = 549;\n t.ocircumflex = 500;\n t.ntilde = 556;\n t.Uhungarumlaut = 722;\n t.Eacute = 667;\n t.emacron = 444;\n t.gbreve = 500;\n t.onequarter = 750;\n t.Scaron = 556;\n t.Scommaaccent = 556;\n t.Ohungarumlaut = 722;\n t.degree = 400;\n t.ograve = 500;\n t.Ccaron = 667;\n t.ugrave = 556;\n t.radical = 549;\n t.Dcaron = 722;\n t.rcommaaccent = 389;\n t.Ntilde = 722;\n t.otilde = 500;\n t.Rcommaaccent = 667;\n t.Lcommaaccent = 611;\n t.Atilde = 667;\n t.Aogonek = 667;\n t.Aring = 667;\n t.Otilde = 722;\n t.zdotaccent = 389;\n t.Ecaron = 667;\n t.Iogonek = 389;\n t.kcommaaccent = 500;\n t.minus = 606;\n t.Icircumflex = 389;\n t.ncaron = 556;\n t.tcommaaccent = 278;\n t.logicalnot = 606;\n t.odieresis = 500;\n t.udieresis = 556;\n t.notequal = 549;\n t.gcommaaccent = 500;\n t.eth = 500;\n t.zcaron = 389;\n t.ncommaaccent = 556;\n t.onesuperior = 300;\n t.imacron = 278;\n t.Euro = 500;\n });\n t[\"Times-Italic\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 250;\n t.exclam = 333;\n t.quotedbl = 420;\n t.numbersign = 500;\n t.dollar = 500;\n t.percent = 833;\n t.ampersand = 778;\n t.quoteright = 333;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 500;\n t.plus = 675;\n t.comma = 250;\n t.hyphen = 333;\n t.period = 250;\n t.slash = 278;\n t.zero = 500;\n t.one = 500;\n t.two = 500;\n t.three = 500;\n t.four = 500;\n t.five = 500;\n t.six = 500;\n t.seven = 500;\n t.eight = 500;\n t.nine = 500;\n t.colon = 333;\n t.semicolon = 333;\n t.less = 675;\n t.equal = 675;\n t.greater = 675;\n t.question = 500;\n t.at = 920;\n t.A = 611;\n t.B = 611;\n t.C = 667;\n t.D = 722;\n t.E = 611;\n t.F = 611;\n t.G = 722;\n t.H = 722;\n t.I = 333;\n t.J = 444;\n t.K = 667;\n t.L = 556;\n t.M = 833;\n t.N = 667;\n t.O = 722;\n t.P = 611;\n t.Q = 722;\n t.R = 611;\n t.S = 500;\n t.T = 556;\n t.U = 722;\n t.V = 611;\n t.W = 833;\n t.X = 611;\n t.Y = 556;\n t.Z = 556;\n t.bracketleft = 389;\n t.backslash = 278;\n t.bracketright = 389;\n t.asciicircum = 422;\n t.underscore = 500;\n t.quoteleft = 333;\n t.a = 500;\n t.b = 500;\n t.c = 444;\n t.d = 500;\n t.e = 444;\n t.f = 278;\n t.g = 500;\n t.h = 500;\n t.i = 278;\n t.j = 278;\n t.k = 444;\n t.l = 278;\n t.m = 722;\n t.n = 500;\n t.o = 500;\n t.p = 500;\n t.q = 500;\n t.r = 389;\n t.s = 389;\n t.t = 278;\n t.u = 500;\n t.v = 444;\n t.w = 667;\n t.x = 444;\n t.y = 444;\n t.z = 389;\n t.braceleft = 400;\n t.bar = 275;\n t.braceright = 400;\n t.asciitilde = 541;\n t.exclamdown = 389;\n t.cent = 500;\n t.sterling = 500;\n t.fraction = 167;\n t.yen = 500;\n t.florin = 500;\n t.section = 500;\n t.currency = 500;\n t.quotesingle = 214;\n t.quotedblleft = 556;\n t.guillemotleft = 500;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 500;\n t.fl = 500;\n t.endash = 500;\n t.dagger = 500;\n t.daggerdbl = 500;\n t.periodcentered = 250;\n t.paragraph = 523;\n t.bullet = 350;\n t.quotesinglbase = 333;\n t.quotedblbase = 556;\n t.quotedblright = 556;\n t.guillemotright = 500;\n t.ellipsis = 889;\n t.perthousand = 1000;\n t.questiondown = 500;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 889;\n t.AE = 889;\n t.ordfeminine = 276;\n t.Lslash = 556;\n t.Oslash = 722;\n t.OE = 944;\n t.ordmasculine = 310;\n t.ae = 667;\n t.dotlessi = 278;\n t.lslash = 278;\n t.oslash = 500;\n t.oe = 667;\n t.germandbls = 500;\n t.Idieresis = 333;\n t.eacute = 444;\n t.abreve = 500;\n t.uhungarumlaut = 500;\n t.ecaron = 444;\n t.Ydieresis = 556;\n t.divide = 675;\n t.Yacute = 556;\n t.Acircumflex = 611;\n t.aacute = 500;\n t.Ucircumflex = 722;\n t.yacute = 444;\n t.scommaaccent = 389;\n t.ecircumflex = 444;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 500;\n t.Uacute = 722;\n t.uogonek = 500;\n t.Edieresis = 611;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 760;\n t.Emacron = 611;\n t.ccaron = 444;\n t.aring = 500;\n t.Ncommaaccent = 667;\n t.lacute = 278;\n t.agrave = 500;\n t.Tcommaaccent = 556;\n t.Cacute = 667;\n t.atilde = 500;\n t.Edotaccent = 611;\n t.scaron = 389;\n t.scedilla = 389;\n t.iacute = 278;\n t.lozenge = 471;\n t.Rcaron = 611;\n t.Gcommaaccent = 722;\n t.ucircumflex = 500;\n t.acircumflex = 500;\n t.Amacron = 611;\n t.rcaron = 389;\n t.ccedilla = 444;\n t.Zdotaccent = 556;\n t.Thorn = 611;\n t.Omacron = 722;\n t.Racute = 611;\n t.Sacute = 500;\n t.dcaron = 544;\n t.Umacron = 722;\n t.uring = 500;\n t.threesuperior = 300;\n t.Ograve = 722;\n t.Agrave = 611;\n t.Abreve = 611;\n t.multiply = 675;\n t.uacute = 500;\n t.Tcaron = 556;\n t.partialdiff = 476;\n t.ydieresis = 444;\n t.Nacute = 667;\n t.icircumflex = 278;\n t.Ecircumflex = 611;\n t.adieresis = 500;\n t.edieresis = 444;\n t.cacute = 444;\n t.nacute = 500;\n t.umacron = 500;\n t.Ncaron = 667;\n t.Iacute = 333;\n t.plusminus = 675;\n t.brokenbar = 275;\n t.registered = 760;\n t.Gbreve = 722;\n t.Idotaccent = 333;\n t.summation = 600;\n t.Egrave = 611;\n t.racute = 389;\n t.omacron = 500;\n t.Zacute = 556;\n t.Zcaron = 556;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 667;\n t.lcommaaccent = 278;\n t.tcaron = 300;\n t.eogonek = 444;\n t.Uogonek = 722;\n t.Aacute = 611;\n t.Adieresis = 611;\n t.egrave = 444;\n t.zacute = 389;\n t.iogonek = 278;\n t.Oacute = 722;\n t.oacute = 500;\n t.amacron = 500;\n t.sacute = 389;\n t.idieresis = 278;\n t.Ocircumflex = 722;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 500;\n t.twosuperior = 300;\n t.Odieresis = 722;\n t.mu = 500;\n t.igrave = 278;\n t.ohungarumlaut = 500;\n t.Eogonek = 611;\n t.dcroat = 500;\n t.threequarters = 750;\n t.Scedilla = 500;\n t.lcaron = 300;\n t.Kcommaaccent = 667;\n t.Lacute = 556;\n t.trademark = 980;\n t.edotaccent = 444;\n t.Igrave = 333;\n t.Imacron = 333;\n t.Lcaron = 611;\n t.onehalf = 750;\n t.lessequal = 549;\n t.ocircumflex = 500;\n t.ntilde = 500;\n t.Uhungarumlaut = 722;\n t.Eacute = 611;\n t.emacron = 444;\n t.gbreve = 500;\n t.onequarter = 750;\n t.Scaron = 500;\n t.Scommaaccent = 500;\n t.Ohungarumlaut = 722;\n t.degree = 400;\n t.ograve = 500;\n t.Ccaron = 667;\n t.ugrave = 500;\n t.radical = 453;\n t.Dcaron = 722;\n t.rcommaaccent = 389;\n t.Ntilde = 667;\n t.otilde = 500;\n t.Rcommaaccent = 611;\n t.Lcommaaccent = 556;\n t.Atilde = 611;\n t.Aogonek = 611;\n t.Aring = 611;\n t.Otilde = 722;\n t.zdotaccent = 389;\n t.Ecaron = 611;\n t.Iogonek = 333;\n t.kcommaaccent = 444;\n t.minus = 675;\n t.Icircumflex = 333;\n t.ncaron = 500;\n t.tcommaaccent = 278;\n t.logicalnot = 675;\n t.odieresis = 500;\n t.udieresis = 500;\n t.notequal = 549;\n t.gcommaaccent = 500;\n t.eth = 500;\n t.zcaron = 389;\n t.ncommaaccent = 500;\n t.onesuperior = 300;\n t.imacron = 278;\n t.Euro = 500;\n });\n t.ZapfDingbats = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 278;\n t.a1 = 974;\n t.a2 = 961;\n t.a202 = 974;\n t.a3 = 980;\n t.a4 = 719;\n t.a5 = 789;\n t.a119 = 790;\n t.a118 = 791;\n t.a117 = 690;\n t.a11 = 960;\n t.a12 = 939;\n t.a13 = 549;\n t.a14 = 855;\n t.a15 = 911;\n t.a16 = 933;\n t.a105 = 911;\n t.a17 = 945;\n t.a18 = 974;\n t.a19 = 755;\n t.a20 = 846;\n t.a21 = 762;\n t.a22 = 761;\n t.a23 = 571;\n t.a24 = 677;\n t.a25 = 763;\n t.a26 = 760;\n t.a27 = 759;\n t.a28 = 754;\n t.a6 = 494;\n t.a7 = 552;\n t.a8 = 537;\n t.a9 = 577;\n t.a10 = 692;\n t.a29 = 786;\n t.a30 = 788;\n t.a31 = 788;\n t.a32 = 790;\n t.a33 = 793;\n t.a34 = 794;\n t.a35 = 816;\n t.a36 = 823;\n t.a37 = 789;\n t.a38 = 841;\n t.a39 = 823;\n t.a40 = 833;\n t.a41 = 816;\n t.a42 = 831;\n t.a43 = 923;\n t.a44 = 744;\n t.a45 = 723;\n t.a46 = 749;\n t.a47 = 790;\n t.a48 = 792;\n t.a49 = 695;\n t.a50 = 776;\n t.a51 = 768;\n t.a52 = 792;\n t.a53 = 759;\n t.a54 = 707;\n t.a55 = 708;\n t.a56 = 682;\n t.a57 = 701;\n t.a58 = 826;\n t.a59 = 815;\n t.a60 = 789;\n t.a61 = 789;\n t.a62 = 707;\n t.a63 = 687;\n t.a64 = 696;\n t.a65 = 689;\n t.a66 = 786;\n t.a67 = 787;\n t.a68 = 713;\n t.a69 = 791;\n t.a70 = 785;\n t.a71 = 791;\n t.a72 = 873;\n t.a73 = 761;\n t.a74 = 762;\n t.a203 = 762;\n t.a75 = 759;\n t.a204 = 759;\n t.a76 = 892;\n t.a77 = 892;\n t.a78 = 788;\n t.a79 = 784;\n t.a81 = 438;\n t.a82 = 138;\n t.a83 = 277;\n t.a84 = 415;\n t.a97 = 392;\n t.a98 = 392;\n t.a99 = 668;\n t.a100 = 668;\n t.a89 = 390;\n t.a90 = 390;\n t.a93 = 317;\n t.a94 = 317;\n t.a91 = 276;\n t.a92 = 276;\n t.a205 = 509;\n t.a85 = 509;\n t.a206 = 410;\n t.a86 = 410;\n t.a87 = 234;\n t.a88 = 234;\n t.a95 = 334;\n t.a96 = 334;\n t.a101 = 732;\n t.a102 = 544;\n t.a103 = 544;\n t.a104 = 910;\n t.a106 = 667;\n t.a107 = 760;\n t.a108 = 760;\n t.a112 = 776;\n t.a111 = 595;\n t.a110 = 694;\n t.a109 = 626;\n t.a120 = 788;\n t.a121 = 788;\n t.a122 = 788;\n t.a123 = 788;\n t.a124 = 788;\n t.a125 = 788;\n t.a126 = 788;\n t.a127 = 788;\n t.a128 = 788;\n t.a129 = 788;\n t.a130 = 788;\n t.a131 = 788;\n t.a132 = 788;\n t.a133 = 788;\n t.a134 = 788;\n t.a135 = 788;\n t.a136 = 788;\n t.a137 = 788;\n t.a138 = 788;\n t.a139 = 788;\n t.a140 = 788;\n t.a141 = 788;\n t.a142 = 788;\n t.a143 = 788;\n t.a144 = 788;\n t.a145 = 788;\n t.a146 = 788;\n t.a147 = 788;\n t.a148 = 788;\n t.a149 = 788;\n t.a150 = 788;\n t.a151 = 788;\n t.a152 = 788;\n t.a153 = 788;\n t.a154 = 788;\n t.a155 = 788;\n t.a156 = 788;\n t.a157 = 788;\n t.a158 = 788;\n t.a159 = 788;\n t.a160 = 894;\n t.a161 = 838;\n t.a163 = 1016;\n t.a164 = 458;\n t.a196 = 748;\n t.a165 = 924;\n t.a192 = 748;\n t.a166 = 918;\n t.a167 = 927;\n t.a168 = 928;\n t.a169 = 928;\n t.a170 = 834;\n t.a171 = 873;\n t.a172 = 828;\n t.a173 = 924;\n t.a162 = 924;\n t.a174 = 917;\n t.a175 = 930;\n t.a176 = 931;\n t.a177 = 463;\n t.a178 = 883;\n t.a179 = 836;\n t.a193 = 836;\n t.a180 = 867;\n t.a199 = 867;\n t.a181 = 696;\n t.a200 = 696;\n t.a182 = 874;\n t.a201 = 874;\n t.a183 = 760;\n t.a184 = 946;\n t.a197 = 771;\n t.a185 = 865;\n t.a194 = 771;\n t.a198 = 888;\n t.a186 = 967;\n t.a195 = 888;\n t.a187 = 831;\n t.a188 = 873;\n t.a189 = 927;\n t.a190 = 970;\n t.a191 = 918;\n });\n});\nexports.getMetrics = getMetrics;\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isPDFFunction = isPDFFunction;\nexports.PostScriptCompiler = exports.PostScriptEvaluator = exports.PDFFunctionFactory = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _primitives = __w_pdfjs_require__(5);\n\nvar _ps_parser = __w_pdfjs_require__(42);\n\nclass PDFFunctionFactory {\n constructor({\n xref,\n isEvalSupported = true\n }) {\n this.xref = xref;\n this.isEvalSupported = isEvalSupported !== false;\n }\n\n create(fn) {\n return PDFFunction.parse({\n xref: this.xref,\n isEvalSupported: this.isEvalSupported,\n fn\n });\n }\n\n createFromArray(fnObj) {\n return PDFFunction.parseArray({\n xref: this.xref,\n isEvalSupported: this.isEvalSupported,\n fnObj\n });\n }\n\n}\n\nexports.PDFFunctionFactory = PDFFunctionFactory;\n\nfunction toNumberArray(arr) {\n if (!Array.isArray(arr)) {\n return null;\n }\n\n const length = arr.length;\n\n for (let i = 0; i < length; i++) {\n if (typeof arr[i] !== \"number\") {\n const result = new Array(length);\n\n for (let j = 0; j < length; j++) {\n result[j] = +arr[j];\n }\n\n return result;\n }\n }\n\n return arr;\n}\n\nvar PDFFunction = function PDFFunctionClosure() {\n const CONSTRUCT_SAMPLED = 0;\n const CONSTRUCT_INTERPOLATED = 2;\n const CONSTRUCT_STICHED = 3;\n const CONSTRUCT_POSTSCRIPT = 4;\n return {\n getSampleArray(size, outputSize, bps, stream) {\n var i, ii;\n var length = 1;\n\n for (i = 0, ii = size.length; i < ii; i++) {\n length *= size[i];\n }\n\n length *= outputSize;\n var array = new Array(length);\n var codeSize = 0;\n var codeBuf = 0;\n var sampleMul = 1.0 / (2.0 ** bps - 1);\n var strBytes = stream.getBytes((length * bps + 7) / 8);\n var strIdx = 0;\n\n for (i = 0; i < length; i++) {\n while (codeSize < bps) {\n codeBuf <<= 8;\n codeBuf |= strBytes[strIdx++];\n codeSize += 8;\n }\n\n codeSize -= bps;\n array[i] = (codeBuf >> codeSize) * sampleMul;\n codeBuf &= (1 << codeSize) - 1;\n }\n\n return array;\n },\n\n getIR({\n xref,\n isEvalSupported,\n fn\n }) {\n var dict = fn.dict;\n\n if (!dict) {\n dict = fn;\n }\n\n var types = [this.constructSampled, null, this.constructInterpolated, this.constructStiched, this.constructPostScript];\n var typeNum = dict.get(\"FunctionType\");\n var typeFn = types[typeNum];\n\n if (!typeFn) {\n throw new _util.FormatError(\"Unknown type of function\");\n }\n\n return typeFn.call(this, {\n xref,\n isEvalSupported,\n fn,\n dict\n });\n },\n\n fromIR({\n xref,\n isEvalSupported,\n IR\n }) {\n var type = IR[0];\n\n switch (type) {\n case CONSTRUCT_SAMPLED:\n return this.constructSampledFromIR({\n xref,\n isEvalSupported,\n IR\n });\n\n case CONSTRUCT_INTERPOLATED:\n return this.constructInterpolatedFromIR({\n xref,\n isEvalSupported,\n IR\n });\n\n case CONSTRUCT_STICHED:\n return this.constructStichedFromIR({\n xref,\n isEvalSupported,\n IR\n });\n\n default:\n return this.constructPostScriptFromIR({\n xref,\n isEvalSupported,\n IR\n });\n }\n },\n\n parse({\n xref,\n isEvalSupported,\n fn\n }) {\n const IR = this.getIR({\n xref,\n isEvalSupported,\n fn\n });\n return this.fromIR({\n xref,\n isEvalSupported,\n IR\n });\n },\n\n parseArray({\n xref,\n isEvalSupported,\n fnObj\n }) {\n if (!Array.isArray(fnObj)) {\n return this.parse({\n xref,\n isEvalSupported,\n fn: fnObj\n });\n }\n\n var fnArray = [];\n\n for (var j = 0, jj = fnObj.length; j < jj; j++) {\n fnArray.push(this.parse({\n xref,\n isEvalSupported,\n fn: xref.fetchIfRef(fnObj[j])\n }));\n }\n\n return function (src, srcOffset, dest, destOffset) {\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n fnArray[i](src, srcOffset, dest, destOffset + i);\n }\n };\n },\n\n constructSampled({\n xref,\n isEvalSupported,\n fn,\n dict\n }) {\n function toMultiArray(arr) {\n var inputLength = arr.length;\n var out = [];\n var index = 0;\n\n for (var i = 0; i < inputLength; i += 2) {\n out[index] = [arr[i], arr[i + 1]];\n ++index;\n }\n\n return out;\n }\n\n var domain = toNumberArray(dict.getArray(\"Domain\"));\n var range = toNumberArray(dict.getArray(\"Range\"));\n\n if (!domain || !range) {\n throw new _util.FormatError(\"No domain or range\");\n }\n\n var inputSize = domain.length / 2;\n var outputSize = range.length / 2;\n domain = toMultiArray(domain);\n range = toMultiArray(range);\n var size = toNumberArray(dict.getArray(\"Size\"));\n var bps = dict.get(\"BitsPerSample\");\n var order = dict.get(\"Order\") || 1;\n\n if (order !== 1) {\n (0, _util.info)(\"No support for cubic spline interpolation: \" + order);\n }\n\n var encode = toNumberArray(dict.getArray(\"Encode\"));\n\n if (!encode) {\n encode = [];\n\n for (var i = 0; i < inputSize; ++i) {\n encode.push([0, size[i] - 1]);\n }\n } else {\n encode = toMultiArray(encode);\n }\n\n var decode = toNumberArray(dict.getArray(\"Decode\"));\n\n if (!decode) {\n decode = range;\n } else {\n decode = toMultiArray(decode);\n }\n\n var samples = this.getSampleArray(size, outputSize, bps, fn);\n return [CONSTRUCT_SAMPLED, inputSize, domain, encode, decode, samples, size, outputSize, 2 ** bps - 1, range];\n },\n\n constructSampledFromIR({\n xref,\n isEvalSupported,\n IR\n }) {\n function interpolate(x, xmin, xmax, ymin, ymax) {\n return ymin + (x - xmin) * ((ymax - ymin) / (xmax - xmin));\n }\n\n return function constructSampledFromIRResult(src, srcOffset, dest, destOffset) {\n var m = IR[1];\n var domain = IR[2];\n var encode = IR[3];\n var decode = IR[4];\n var samples = IR[5];\n var size = IR[6];\n var n = IR[7];\n var range = IR[9];\n var cubeVertices = 1 << m;\n var cubeN = new Float64Array(cubeVertices);\n var cubeVertex = new Uint32Array(cubeVertices);\n var i, j;\n\n for (j = 0; j < cubeVertices; j++) {\n cubeN[j] = 1;\n }\n\n var k = n,\n pos = 1;\n\n for (i = 0; i < m; ++i) {\n var domain_2i = domain[i][0];\n var domain_2i_1 = domain[i][1];\n var xi = Math.min(Math.max(src[srcOffset + i], domain_2i), domain_2i_1);\n var e = interpolate(xi, domain_2i, domain_2i_1, encode[i][0], encode[i][1]);\n var size_i = size[i];\n e = Math.min(Math.max(e, 0), size_i - 1);\n var e0 = e < size_i - 1 ? Math.floor(e) : e - 1;\n var n0 = e0 + 1 - e;\n var n1 = e - e0;\n var offset0 = e0 * k;\n var offset1 = offset0 + k;\n\n for (j = 0; j < cubeVertices; j++) {\n if (j & pos) {\n cubeN[j] *= n1;\n cubeVertex[j] += offset1;\n } else {\n cubeN[j] *= n0;\n cubeVertex[j] += offset0;\n }\n }\n\n k *= size_i;\n pos <<= 1;\n }\n\n for (j = 0; j < n; ++j) {\n var rj = 0;\n\n for (i = 0; i < cubeVertices; i++) {\n rj += samples[cubeVertex[i] + j] * cubeN[i];\n }\n\n rj = interpolate(rj, 0, 1, decode[j][0], decode[j][1]);\n dest[destOffset + j] = Math.min(Math.max(rj, range[j][0]), range[j][1]);\n }\n };\n },\n\n constructInterpolated({\n xref,\n isEvalSupported,\n fn,\n dict\n }) {\n var c0 = toNumberArray(dict.getArray(\"C0\")) || [0];\n var c1 = toNumberArray(dict.getArray(\"C1\")) || [1];\n var n = dict.get(\"N\");\n var length = c0.length;\n var diff = [];\n\n for (var i = 0; i < length; ++i) {\n diff.push(c1[i] - c0[i]);\n }\n\n return [CONSTRUCT_INTERPOLATED, c0, diff, n];\n },\n\n constructInterpolatedFromIR({\n xref,\n isEvalSupported,\n IR\n }) {\n var c0 = IR[1];\n var diff = IR[2];\n var n = IR[3];\n var length = diff.length;\n return function constructInterpolatedFromIRResult(src, srcOffset, dest, destOffset) {\n var x = n === 1 ? src[srcOffset] : src[srcOffset] ** n;\n\n for (var j = 0; j < length; ++j) {\n dest[destOffset + j] = c0[j] + x * diff[j];\n }\n };\n },\n\n constructStiched({\n xref,\n isEvalSupported,\n fn,\n dict\n }) {\n var domain = toNumberArray(dict.getArray(\"Domain\"));\n\n if (!domain) {\n throw new _util.FormatError(\"No domain\");\n }\n\n var inputSize = domain.length / 2;\n\n if (inputSize !== 1) {\n throw new _util.FormatError(\"Bad domain for stiched function\");\n }\n\n var fnRefs = dict.get(\"Functions\");\n var fns = [];\n\n for (var i = 0, ii = fnRefs.length; i < ii; ++i) {\n fns.push(this.parse({\n xref,\n isEvalSupported,\n fn: xref.fetchIfRef(fnRefs[i])\n }));\n }\n\n var bounds = toNumberArray(dict.getArray(\"Bounds\"));\n var encode = toNumberArray(dict.getArray(\"Encode\"));\n return [CONSTRUCT_STICHED, domain, bounds, encode, fns];\n },\n\n constructStichedFromIR({\n xref,\n isEvalSupported,\n IR\n }) {\n var domain = IR[1];\n var bounds = IR[2];\n var encode = IR[3];\n var fns = IR[4];\n var tmpBuf = new Float32Array(1);\n return function constructStichedFromIRResult(src, srcOffset, dest, destOffset) {\n var clip = function constructStichedFromIRClip(v, min, max) {\n if (v > max) {\n v = max;\n } else if (v < min) {\n v = min;\n }\n\n return v;\n };\n\n var v = clip(src[srcOffset], domain[0], domain[1]);\n\n for (var i = 0, ii = bounds.length; i < ii; ++i) {\n if (v < bounds[i]) {\n break;\n }\n }\n\n var dmin = domain[0];\n\n if (i > 0) {\n dmin = bounds[i - 1];\n }\n\n var dmax = domain[1];\n\n if (i < bounds.length) {\n dmax = bounds[i];\n }\n\n var rmin = encode[2 * i];\n var rmax = encode[2 * i + 1];\n tmpBuf[0] = dmin === dmax ? rmin : rmin + (v - dmin) * (rmax - rmin) / (dmax - dmin);\n fns[i](tmpBuf, 0, dest, destOffset);\n };\n },\n\n constructPostScript({\n xref,\n isEvalSupported,\n fn,\n dict\n }) {\n var domain = toNumberArray(dict.getArray(\"Domain\"));\n var range = toNumberArray(dict.getArray(\"Range\"));\n\n if (!domain) {\n throw new _util.FormatError(\"No domain.\");\n }\n\n if (!range) {\n throw new _util.FormatError(\"No range.\");\n }\n\n var lexer = new _ps_parser.PostScriptLexer(fn);\n var parser = new _ps_parser.PostScriptParser(lexer);\n var code = parser.parse();\n return [CONSTRUCT_POSTSCRIPT, domain, range, code];\n },\n\n constructPostScriptFromIR({\n xref,\n isEvalSupported,\n IR\n }) {\n var domain = IR[1];\n var range = IR[2];\n var code = IR[3];\n\n if (isEvalSupported && _util.IsEvalSupportedCached.value) {\n const compiled = new PostScriptCompiler().compile(code, domain, range);\n\n if (compiled) {\n return new Function(\"src\", \"srcOffset\", \"dest\", \"destOffset\", compiled);\n }\n }\n\n (0, _util.info)(\"Unable to compile PS function\");\n var numOutputs = range.length >> 1;\n var numInputs = domain.length >> 1;\n var evaluator = new PostScriptEvaluator(code);\n var cache = Object.create(null);\n var MAX_CACHE_SIZE = 2048 * 4;\n var cache_available = MAX_CACHE_SIZE;\n var tmpBuf = new Float32Array(numInputs);\n return function constructPostScriptFromIRResult(src, srcOffset, dest, destOffset) {\n var i, value;\n var key = \"\";\n var input = tmpBuf;\n\n for (i = 0; i < numInputs; i++) {\n value = src[srcOffset + i];\n input[i] = value;\n key += value + \"_\";\n }\n\n var cachedValue = cache[key];\n\n if (cachedValue !== undefined) {\n dest.set(cachedValue, destOffset);\n return;\n }\n\n var output = new Float32Array(numOutputs);\n var stack = evaluator.execute(input);\n var stackIndex = stack.length - numOutputs;\n\n for (i = 0; i < numOutputs; i++) {\n value = stack[stackIndex + i];\n var bound = range[i * 2];\n\n if (value < bound) {\n value = bound;\n } else {\n bound = range[i * 2 + 1];\n\n if (value > bound) {\n value = bound;\n }\n }\n\n output[i] = value;\n }\n\n if (cache_available > 0) {\n cache_available--;\n cache[key] = output;\n }\n\n dest.set(output, destOffset);\n };\n }\n\n };\n}();\n\nfunction isPDFFunction(v) {\n var fnDict;\n\n if (typeof v !== \"object\") {\n return false;\n } else if ((0, _primitives.isDict)(v)) {\n fnDict = v;\n } else if ((0, _primitives.isStream)(v)) {\n fnDict = v.dict;\n } else {\n return false;\n }\n\n return fnDict.has(\"FunctionType\");\n}\n\nvar PostScriptStack = function PostScriptStackClosure() {\n var MAX_STACK_SIZE = 100;\n\n function PostScriptStack(initialStack) {\n this.stack = !initialStack ? [] : Array.prototype.slice.call(initialStack, 0);\n }\n\n PostScriptStack.prototype = {\n push: function PostScriptStack_push(value) {\n if (this.stack.length >= MAX_STACK_SIZE) {\n throw new Error(\"PostScript function stack overflow.\");\n }\n\n this.stack.push(value);\n },\n pop: function PostScriptStack_pop() {\n if (this.stack.length <= 0) {\n throw new Error(\"PostScript function stack underflow.\");\n }\n\n return this.stack.pop();\n },\n copy: function PostScriptStack_copy(n) {\n if (this.stack.length + n >= MAX_STACK_SIZE) {\n throw new Error(\"PostScript function stack overflow.\");\n }\n\n var stack = this.stack;\n\n for (var i = stack.length - n, j = n - 1; j >= 0; j--, i++) {\n stack.push(stack[i]);\n }\n },\n index: function PostScriptStack_index(n) {\n this.push(this.stack[this.stack.length - n - 1]);\n },\n roll: function PostScriptStack_roll(n, p) {\n var stack = this.stack;\n var l = stack.length - n;\n var r = stack.length - 1,\n c = l + (p - Math.floor(p / n) * n),\n i,\n j,\n t;\n\n for (i = l, j = r; i < j; i++, j--) {\n t = stack[i];\n stack[i] = stack[j];\n stack[j] = t;\n }\n\n for (i = l, j = c - 1; i < j; i++, j--) {\n t = stack[i];\n stack[i] = stack[j];\n stack[j] = t;\n }\n\n for (i = c, j = r; i < j; i++, j--) {\n t = stack[i];\n stack[i] = stack[j];\n stack[j] = t;\n }\n }\n };\n return PostScriptStack;\n}();\n\nvar PostScriptEvaluator = function PostScriptEvaluatorClosure() {\n function PostScriptEvaluator(operators) {\n this.operators = operators;\n }\n\n PostScriptEvaluator.prototype = {\n execute: function PostScriptEvaluator_execute(initialStack) {\n var stack = new PostScriptStack(initialStack);\n var counter = 0;\n var operators = this.operators;\n var length = operators.length;\n var operator, a, b;\n\n while (counter < length) {\n operator = operators[counter++];\n\n if (typeof operator === \"number\") {\n stack.push(operator);\n continue;\n }\n\n switch (operator) {\n case \"jz\":\n b = stack.pop();\n a = stack.pop();\n\n if (!a) {\n counter = b;\n }\n\n break;\n\n case \"j\":\n a = stack.pop();\n counter = a;\n break;\n\n case \"abs\":\n a = stack.pop();\n stack.push(Math.abs(a));\n break;\n\n case \"add\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a + b);\n break;\n\n case \"and\":\n b = stack.pop();\n a = stack.pop();\n\n if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n stack.push(a && b);\n } else {\n stack.push(a & b);\n }\n\n break;\n\n case \"atan\":\n a = stack.pop();\n stack.push(Math.atan(a));\n break;\n\n case \"bitshift\":\n b = stack.pop();\n a = stack.pop();\n\n if (a > 0) {\n stack.push(a << b);\n } else {\n stack.push(a >> b);\n }\n\n break;\n\n case \"ceiling\":\n a = stack.pop();\n stack.push(Math.ceil(a));\n break;\n\n case \"copy\":\n a = stack.pop();\n stack.copy(a);\n break;\n\n case \"cos\":\n a = stack.pop();\n stack.push(Math.cos(a));\n break;\n\n case \"cvi\":\n a = stack.pop() | 0;\n stack.push(a);\n break;\n\n case \"cvr\":\n break;\n\n case \"div\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a / b);\n break;\n\n case \"dup\":\n stack.copy(1);\n break;\n\n case \"eq\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a === b);\n break;\n\n case \"exch\":\n stack.roll(2, 1);\n break;\n\n case \"exp\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a ** b);\n break;\n\n case \"false\":\n stack.push(false);\n break;\n\n case \"floor\":\n a = stack.pop();\n stack.push(Math.floor(a));\n break;\n\n case \"ge\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a >= b);\n break;\n\n case \"gt\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a > b);\n break;\n\n case \"idiv\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a / b | 0);\n break;\n\n case \"index\":\n a = stack.pop();\n stack.index(a);\n break;\n\n case \"le\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a <= b);\n break;\n\n case \"ln\":\n a = stack.pop();\n stack.push(Math.log(a));\n break;\n\n case \"log\":\n a = stack.pop();\n stack.push(Math.log(a) / Math.LN10);\n break;\n\n case \"lt\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a < b);\n break;\n\n case \"mod\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a % b);\n break;\n\n case \"mul\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a * b);\n break;\n\n case \"ne\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a !== b);\n break;\n\n case \"neg\":\n a = stack.pop();\n stack.push(-a);\n break;\n\n case \"not\":\n a = stack.pop();\n\n if ((0, _util.isBool)(a)) {\n stack.push(!a);\n } else {\n stack.push(~a);\n }\n\n break;\n\n case \"or\":\n b = stack.pop();\n a = stack.pop();\n\n if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n stack.push(a || b);\n } else {\n stack.push(a | b);\n }\n\n break;\n\n case \"pop\":\n stack.pop();\n break;\n\n case \"roll\":\n b = stack.pop();\n a = stack.pop();\n stack.roll(a, b);\n break;\n\n case \"round\":\n a = stack.pop();\n stack.push(Math.round(a));\n break;\n\n case \"sin\":\n a = stack.pop();\n stack.push(Math.sin(a));\n break;\n\n case \"sqrt\":\n a = stack.pop();\n stack.push(Math.sqrt(a));\n break;\n\n case \"sub\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a - b);\n break;\n\n case \"true\":\n stack.push(true);\n break;\n\n case \"truncate\":\n a = stack.pop();\n a = a < 0 ? Math.ceil(a) : Math.floor(a);\n stack.push(a);\n break;\n\n case \"xor\":\n b = stack.pop();\n a = stack.pop();\n\n if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n stack.push(a !== b);\n } else {\n stack.push(a ^ b);\n }\n\n break;\n\n default:\n throw new _util.FormatError(`Unknown operator ${operator}`);\n }\n }\n\n return stack.stack;\n }\n };\n return PostScriptEvaluator;\n}();\n\nexports.PostScriptEvaluator = PostScriptEvaluator;\n\nvar PostScriptCompiler = function PostScriptCompilerClosure() {\n function AstNode(type) {\n this.type = type;\n }\n\n AstNode.prototype.visit = function (visitor) {\n (0, _util.unreachable)(\"abstract method\");\n };\n\n function AstArgument(index, min, max) {\n AstNode.call(this, \"args\");\n this.index = index;\n this.min = min;\n this.max = max;\n }\n\n AstArgument.prototype = Object.create(AstNode.prototype);\n\n AstArgument.prototype.visit = function (visitor) {\n visitor.visitArgument(this);\n };\n\n function AstLiteral(number) {\n AstNode.call(this, \"literal\");\n this.number = number;\n this.min = number;\n this.max = number;\n }\n\n AstLiteral.prototype = Object.create(AstNode.prototype);\n\n AstLiteral.prototype.visit = function (visitor) {\n visitor.visitLiteral(this);\n };\n\n function AstBinaryOperation(op, arg1, arg2, min, max) {\n AstNode.call(this, \"binary\");\n this.op = op;\n this.arg1 = arg1;\n this.arg2 = arg2;\n this.min = min;\n this.max = max;\n }\n\n AstBinaryOperation.prototype = Object.create(AstNode.prototype);\n\n AstBinaryOperation.prototype.visit = function (visitor) {\n visitor.visitBinaryOperation(this);\n };\n\n function AstMin(arg, max) {\n AstNode.call(this, \"max\");\n this.arg = arg;\n this.min = arg.min;\n this.max = max;\n }\n\n AstMin.prototype = Object.create(AstNode.prototype);\n\n AstMin.prototype.visit = function (visitor) {\n visitor.visitMin(this);\n };\n\n function AstVariable(index, min, max) {\n AstNode.call(this, \"var\");\n this.index = index;\n this.min = min;\n this.max = max;\n }\n\n AstVariable.prototype = Object.create(AstNode.prototype);\n\n AstVariable.prototype.visit = function (visitor) {\n visitor.visitVariable(this);\n };\n\n function AstVariableDefinition(variable, arg) {\n AstNode.call(this, \"definition\");\n this.variable = variable;\n this.arg = arg;\n }\n\n AstVariableDefinition.prototype = Object.create(AstNode.prototype);\n\n AstVariableDefinition.prototype.visit = function (visitor) {\n visitor.visitVariableDefinition(this);\n };\n\n function ExpressionBuilderVisitor() {\n this.parts = [];\n }\n\n ExpressionBuilderVisitor.prototype = {\n visitArgument(arg) {\n this.parts.push(\"Math.max(\", arg.min, \", Math.min(\", arg.max, \", src[srcOffset + \", arg.index, \"]))\");\n },\n\n visitVariable(variable) {\n this.parts.push(\"v\", variable.index);\n },\n\n visitLiteral(literal) {\n this.parts.push(literal.number);\n },\n\n visitBinaryOperation(operation) {\n this.parts.push(\"(\");\n operation.arg1.visit(this);\n this.parts.push(\" \", operation.op, \" \");\n operation.arg2.visit(this);\n this.parts.push(\")\");\n },\n\n visitVariableDefinition(definition) {\n this.parts.push(\"var \");\n definition.variable.visit(this);\n this.parts.push(\" = \");\n definition.arg.visit(this);\n this.parts.push(\";\");\n },\n\n visitMin(max) {\n this.parts.push(\"Math.min(\");\n max.arg.visit(this);\n this.parts.push(\", \", max.max, \")\");\n },\n\n toString() {\n return this.parts.join(\"\");\n }\n\n };\n\n function buildAddOperation(num1, num2) {\n if (num2.type === \"literal\" && num2.number === 0) {\n return num1;\n }\n\n if (num1.type === \"literal\" && num1.number === 0) {\n return num2;\n }\n\n if (num2.type === \"literal\" && num1.type === \"literal\") {\n return new AstLiteral(num1.number + num2.number);\n }\n\n return new AstBinaryOperation(\"+\", num1, num2, num1.min + num2.min, num1.max + num2.max);\n }\n\n function buildMulOperation(num1, num2) {\n if (num2.type === \"literal\") {\n if (num2.number === 0) {\n return new AstLiteral(0);\n } else if (num2.number === 1) {\n return num1;\n } else if (num1.type === \"literal\") {\n return new AstLiteral(num1.number * num2.number);\n }\n }\n\n if (num1.type === \"literal\") {\n if (num1.number === 0) {\n return new AstLiteral(0);\n } else if (num1.number === 1) {\n return num2;\n }\n }\n\n var min = Math.min(num1.min * num2.min, num1.min * num2.max, num1.max * num2.min, num1.max * num2.max);\n var max = Math.max(num1.min * num2.min, num1.min * num2.max, num1.max * num2.min, num1.max * num2.max);\n return new AstBinaryOperation(\"*\", num1, num2, min, max);\n }\n\n function buildSubOperation(num1, num2) {\n if (num2.type === \"literal\") {\n if (num2.number === 0) {\n return num1;\n } else if (num1.type === \"literal\") {\n return new AstLiteral(num1.number - num2.number);\n }\n }\n\n if (num2.type === \"binary\" && num2.op === \"-\" && num1.type === \"literal\" && num1.number === 1 && num2.arg1.type === \"literal\" && num2.arg1.number === 1) {\n return num2.arg2;\n }\n\n return new AstBinaryOperation(\"-\", num1, num2, num1.min - num2.max, num1.max - num2.min);\n }\n\n function buildMinOperation(num1, max) {\n if (num1.min >= max) {\n return new AstLiteral(max);\n } else if (num1.max <= max) {\n return num1;\n }\n\n return new AstMin(num1, max);\n }\n\n function PostScriptCompiler() {}\n\n PostScriptCompiler.prototype = {\n compile: function PostScriptCompiler_compile(code, domain, range) {\n var stack = [];\n var instructions = [];\n var inputSize = domain.length >> 1,\n outputSize = range.length >> 1;\n var lastRegister = 0;\n var n, j;\n var num1, num2, ast1, ast2, tmpVar, item;\n\n for (let i = 0; i < inputSize; i++) {\n stack.push(new AstArgument(i, domain[i * 2], domain[i * 2 + 1]));\n }\n\n for (let i = 0, ii = code.length; i < ii; i++) {\n item = code[i];\n\n if (typeof item === \"number\") {\n stack.push(new AstLiteral(item));\n continue;\n }\n\n switch (item) {\n case \"add\":\n if (stack.length < 2) {\n return null;\n }\n\n num2 = stack.pop();\n num1 = stack.pop();\n stack.push(buildAddOperation(num1, num2));\n break;\n\n case \"cvr\":\n if (stack.length < 1) {\n return null;\n }\n\n break;\n\n case \"mul\":\n if (stack.length < 2) {\n return null;\n }\n\n num2 = stack.pop();\n num1 = stack.pop();\n stack.push(buildMulOperation(num1, num2));\n break;\n\n case \"sub\":\n if (stack.length < 2) {\n return null;\n }\n\n num2 = stack.pop();\n num1 = stack.pop();\n stack.push(buildSubOperation(num1, num2));\n break;\n\n case \"exch\":\n if (stack.length < 2) {\n return null;\n }\n\n ast1 = stack.pop();\n ast2 = stack.pop();\n stack.push(ast1, ast2);\n break;\n\n case \"pop\":\n if (stack.length < 1) {\n return null;\n }\n\n stack.pop();\n break;\n\n case \"index\":\n if (stack.length < 1) {\n return null;\n }\n\n num1 = stack.pop();\n\n if (num1.type !== \"literal\") {\n return null;\n }\n\n n = num1.number;\n\n if (n < 0 || !Number.isInteger(n) || stack.length < n) {\n return null;\n }\n\n ast1 = stack[stack.length - n - 1];\n\n if (ast1.type === \"literal\" || ast1.type === \"var\") {\n stack.push(ast1);\n break;\n }\n\n tmpVar = new AstVariable(lastRegister++, ast1.min, ast1.max);\n stack[stack.length - n - 1] = tmpVar;\n stack.push(tmpVar);\n instructions.push(new AstVariableDefinition(tmpVar, ast1));\n break;\n\n case \"dup\":\n if (stack.length < 1) {\n return null;\n }\n\n if (typeof code[i + 1] === \"number\" && code[i + 2] === \"gt\" && code[i + 3] === i + 7 && code[i + 4] === \"jz\" && code[i + 5] === \"pop\" && code[i + 6] === code[i + 1]) {\n num1 = stack.pop();\n stack.push(buildMinOperation(num1, code[i + 1]));\n i += 6;\n break;\n }\n\n ast1 = stack[stack.length - 1];\n\n if (ast1.type === \"literal\" || ast1.type === \"var\") {\n stack.push(ast1);\n break;\n }\n\n tmpVar = new AstVariable(lastRegister++, ast1.min, ast1.max);\n stack[stack.length - 1] = tmpVar;\n stack.push(tmpVar);\n instructions.push(new AstVariableDefinition(tmpVar, ast1));\n break;\n\n case \"roll\":\n if (stack.length < 2) {\n return null;\n }\n\n num2 = stack.pop();\n num1 = stack.pop();\n\n if (num2.type !== \"literal\" || num1.type !== \"literal\") {\n return null;\n }\n\n j = num2.number;\n n = num1.number;\n\n if (n <= 0 || !Number.isInteger(n) || !Number.isInteger(j) || stack.length < n) {\n return null;\n }\n\n j = (j % n + n) % n;\n\n if (j === 0) {\n break;\n }\n\n Array.prototype.push.apply(stack, stack.splice(stack.length - n, n - j));\n break;\n\n default:\n return null;\n }\n }\n\n if (stack.length !== outputSize) {\n return null;\n }\n\n var result = [];\n instructions.forEach(function (instruction) {\n var statementBuilder = new ExpressionBuilderVisitor();\n instruction.visit(statementBuilder);\n result.push(statementBuilder.toString());\n });\n stack.forEach(function (expr, i) {\n var statementBuilder = new ExpressionBuilderVisitor();\n expr.visit(statementBuilder);\n var min = range[i * 2],\n max = range[i * 2 + 1];\n var out = [statementBuilder.toString()];\n\n if (min > expr.min) {\n out.unshift(\"Math.max(\", min, \", \");\n out.push(\")\");\n }\n\n if (max < expr.max) {\n out.unshift(\"Math.min(\", max, \", \");\n out.push(\")\");\n }\n\n out.unshift(\"dest[destOffset + \", i, \"] = \");\n out.push(\";\");\n result.push(out.join(\"\"));\n });\n return result.join(\"\\n\");\n }\n };\n return PostScriptCompiler;\n}();\n\nexports.PostScriptCompiler = PostScriptCompiler;\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PostScriptParser = exports.PostScriptLexer = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _primitives = __w_pdfjs_require__(5);\n\nvar _core_utils = __w_pdfjs_require__(8);\n\nclass PostScriptParser {\n constructor(lexer) {\n this.lexer = lexer;\n this.operators = [];\n this.token = null;\n this.prev = null;\n }\n\n nextToken() {\n this.prev = this.token;\n this.token = this.lexer.getToken();\n }\n\n accept(type) {\n if (this.token.type === type) {\n this.nextToken();\n return true;\n }\n\n return false;\n }\n\n expect(type) {\n if (this.accept(type)) {\n return true;\n }\n\n throw new _util.FormatError(`Unexpected symbol: found ${this.token.type} expected ${type}.`);\n }\n\n parse() {\n this.nextToken();\n this.expect(PostScriptTokenTypes.LBRACE);\n this.parseBlock();\n this.expect(PostScriptTokenTypes.RBRACE);\n return this.operators;\n }\n\n parseBlock() {\n while (true) {\n if (this.accept(PostScriptTokenTypes.NUMBER)) {\n this.operators.push(this.prev.value);\n } else if (this.accept(PostScriptTokenTypes.OPERATOR)) {\n this.operators.push(this.prev.value);\n } else if (this.accept(PostScriptTokenTypes.LBRACE)) {\n this.parseCondition();\n } else {\n return;\n }\n }\n }\n\n parseCondition() {\n const conditionLocation = this.operators.length;\n this.operators.push(null, null);\n this.parseBlock();\n this.expect(PostScriptTokenTypes.RBRACE);\n\n if (this.accept(PostScriptTokenTypes.IF)) {\n this.operators[conditionLocation] = this.operators.length;\n this.operators[conditionLocation + 1] = \"jz\";\n } else if (this.accept(PostScriptTokenTypes.LBRACE)) {\n const jumpLocation = this.operators.length;\n this.operators.push(null, null);\n const endOfTrue = this.operators.length;\n this.parseBlock();\n this.expect(PostScriptTokenTypes.RBRACE);\n this.expect(PostScriptTokenTypes.IFELSE);\n this.operators[jumpLocation] = this.operators.length;\n this.operators[jumpLocation + 1] = \"j\";\n this.operators[conditionLocation] = endOfTrue;\n this.operators[conditionLocation + 1] = \"jz\";\n } else {\n throw new _util.FormatError(\"PS Function: error parsing conditional.\");\n }\n }\n\n}\n\nexports.PostScriptParser = PostScriptParser;\nconst PostScriptTokenTypes = {\n LBRACE: 0,\n RBRACE: 1,\n NUMBER: 2,\n OPERATOR: 3,\n IF: 4,\n IFELSE: 5\n};\n\nconst PostScriptToken = function PostScriptTokenClosure() {\n const opCache = Object.create(null);\n\n class PostScriptToken {\n constructor(type, value) {\n this.type = type;\n this.value = value;\n }\n\n static getOperator(op) {\n const opValue = opCache[op];\n\n if (opValue) {\n return opValue;\n }\n\n return opCache[op] = new PostScriptToken(PostScriptTokenTypes.OPERATOR, op);\n }\n\n static get LBRACE() {\n return (0, _util.shadow)(this, \"LBRACE\", new PostScriptToken(PostScriptTokenTypes.LBRACE, \"{\"));\n }\n\n static get RBRACE() {\n return (0, _util.shadow)(this, \"RBRACE\", new PostScriptToken(PostScriptTokenTypes.RBRACE, \"}\"));\n }\n\n static get IF() {\n return (0, _util.shadow)(this, \"IF\", new PostScriptToken(PostScriptTokenTypes.IF, \"IF\"));\n }\n\n static get IFELSE() {\n return (0, _util.shadow)(this, \"IFELSE\", new PostScriptToken(PostScriptTokenTypes.IFELSE, \"IFELSE\"));\n }\n\n }\n\n return PostScriptToken;\n}();\n\nclass PostScriptLexer {\n constructor(stream) {\n this.stream = stream;\n this.nextChar();\n this.strBuf = [];\n }\n\n nextChar() {\n return this.currentChar = this.stream.getByte();\n }\n\n getToken() {\n let comment = false;\n let ch = this.currentChar;\n\n while (true) {\n if (ch < 0) {\n return _primitives.EOF;\n }\n\n if (comment) {\n if (ch === 0x0a || ch === 0x0d) {\n comment = false;\n }\n } else if (ch === 0x25) {\n comment = true;\n } else if (!(0, _core_utils.isWhiteSpace)(ch)) {\n break;\n }\n\n ch = this.nextChar();\n }\n\n switch (ch | 0) {\n case 0x30:\n case 0x31:\n case 0x32:\n case 0x33:\n case 0x34:\n case 0x35:\n case 0x36:\n case 0x37:\n case 0x38:\n case 0x39:\n case 0x2b:\n case 0x2d:\n case 0x2e:\n return new PostScriptToken(PostScriptTokenTypes.NUMBER, this.getNumber());\n\n case 0x7b:\n this.nextChar();\n return PostScriptToken.LBRACE;\n\n case 0x7d:\n this.nextChar();\n return PostScriptToken.RBRACE;\n }\n\n const strBuf = this.strBuf;\n strBuf.length = 0;\n strBuf[0] = String.fromCharCode(ch);\n\n while ((ch = this.nextChar()) >= 0 && (ch >= 0x41 && ch <= 0x5a || ch >= 0x61 && ch <= 0x7a)) {\n strBuf.push(String.fromCharCode(ch));\n }\n\n const str = strBuf.join(\"\");\n\n switch (str.toLowerCase()) {\n case \"if\":\n return PostScriptToken.IF;\n\n case \"ifelse\":\n return PostScriptToken.IFELSE;\n\n default:\n return PostScriptToken.getOperator(str);\n }\n }\n\n getNumber() {\n let ch = this.currentChar;\n const strBuf = this.strBuf;\n strBuf.length = 0;\n strBuf[0] = String.fromCharCode(ch);\n\n while ((ch = this.nextChar()) >= 0) {\n if (ch >= 0x30 && ch <= 0x39 || ch === 0x2d || ch === 0x2e) {\n strBuf.push(String.fromCharCode(ch));\n } else {\n break;\n }\n }\n\n const value = parseFloat(strBuf.join(\"\"));\n\n if (isNaN(value)) {\n throw new _util.FormatError(`Invalid floating point number: ${value}`);\n }\n\n return value;\n }\n\n}\n\nexports.PostScriptLexer = PostScriptLexer;\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MurmurHash3_64 = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nconst SEED = 0xc3d2e1f0;\nconst MASK_HIGH = 0xffff0000;\nconst MASK_LOW = 0xffff;\n\nclass MurmurHash3_64 {\n constructor(seed) {\n this.h1 = seed ? seed & 0xffffffff : SEED;\n this.h2 = seed ? seed & 0xffffffff : SEED;\n }\n\n update(input) {\n let data, length;\n\n if ((0, _util.isString)(input)) {\n data = new Uint8Array(input.length * 2);\n length = 0;\n\n for (let i = 0, ii = input.length; i < ii; i++) {\n const code = input.charCodeAt(i);\n\n if (code <= 0xff) {\n data[length++] = code;\n } else {\n data[length++] = code >>> 8;\n data[length++] = code & 0xff;\n }\n }\n } else if ((0, _util.isArrayBuffer)(input)) {\n data = input;\n length = data.byteLength;\n } else {\n throw new Error(\"Wrong data format in MurmurHash3_64_update. \" + \"Input must be a string or array.\");\n }\n\n const blockCounts = length >> 2;\n const tailLength = length - blockCounts * 4;\n const dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);\n let k1 = 0,\n k2 = 0;\n let h1 = this.h1,\n h2 = this.h2;\n const C1 = 0xcc9e2d51,\n C2 = 0x1b873593;\n const C1_LOW = C1 & MASK_LOW,\n C2_LOW = C2 & MASK_LOW;\n\n for (let i = 0; i < blockCounts; i++) {\n if (i & 1) {\n k1 = dataUint32[i];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n h1 ^= k1;\n h1 = h1 << 13 | h1 >>> 19;\n h1 = h1 * 5 + 0xe6546b64;\n } else {\n k2 = dataUint32[i];\n k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW;\n k2 = k2 << 15 | k2 >>> 17;\n k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW;\n h2 ^= k2;\n h2 = h2 << 13 | h2 >>> 19;\n h2 = h2 * 5 + 0xe6546b64;\n }\n }\n\n k1 = 0;\n\n switch (tailLength) {\n case 3:\n k1 ^= data[blockCounts * 4 + 2] << 16;\n\n case 2:\n k1 ^= data[blockCounts * 4 + 1] << 8;\n\n case 1:\n k1 ^= data[blockCounts * 4];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n\n if (blockCounts & 1) {\n h1 ^= k1;\n } else {\n h2 ^= k1;\n }\n\n }\n\n this.h1 = h1;\n this.h2 = h2;\n }\n\n hexdigest() {\n let h1 = this.h1,\n h2 = this.h2;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW;\n h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW;\n h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n const hex1 = (h1 >>> 0).toString(16),\n hex2 = (h2 >>> 0).toString(16);\n return hex1.padStart(8, \"0\") + hex2.padStart(8, \"0\");\n }\n\n}\n\nexports.MurmurHash3_64 = MurmurHash3_64;\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFImage = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _primitives = __w_pdfjs_require__(5);\n\nvar _colorspace = __w_pdfjs_require__(23);\n\nvar _stream = __w_pdfjs_require__(12);\n\nvar _jpeg_stream = __w_pdfjs_require__(18);\n\nvar _jpx = __w_pdfjs_require__(21);\n\nvar PDFImage = function PDFImageClosure() {\n function decodeAndClamp(value, addend, coefficient, max) {\n value = addend + value * coefficient;\n\n if (value < 0) {\n value = 0;\n } else if (value > max) {\n value = max;\n }\n\n return value;\n }\n\n function resizeImageMask(src, bpc, w1, h1, w2, h2) {\n var length = w2 * h2;\n let dest;\n\n if (bpc <= 8) {\n dest = new Uint8Array(length);\n } else if (bpc <= 16) {\n dest = new Uint16Array(length);\n } else {\n dest = new Uint32Array(length);\n }\n\n var xRatio = w1 / w2;\n var yRatio = h1 / h2;\n var i,\n j,\n py,\n newIndex = 0,\n oldIndex;\n var xScaled = new Uint16Array(w2);\n var w1Scanline = w1;\n\n for (i = 0; i < w2; i++) {\n xScaled[i] = Math.floor(i * xRatio);\n }\n\n for (i = 0; i < h2; i++) {\n py = Math.floor(i * yRatio) * w1Scanline;\n\n for (j = 0; j < w2; j++) {\n oldIndex = py + xScaled[j];\n dest[newIndex++] = src[oldIndex];\n }\n }\n\n return dest;\n }\n\n function PDFImage({\n xref,\n res,\n image,\n isInline = false,\n smask = null,\n mask = null,\n isMask = false,\n pdfFunctionFactory\n }) {\n this.image = image;\n var dict = image.dict;\n const filter = dict.get(\"Filter\");\n\n if ((0, _primitives.isName)(filter)) {\n switch (filter.name) {\n case \"JPXDecode\":\n var jpxImage = new _jpx.JpxImage();\n jpxImage.parseImageProperties(image.stream);\n image.stream.reset();\n image.width = jpxImage.width;\n image.height = jpxImage.height;\n image.bitsPerComponent = jpxImage.bitsPerComponent;\n image.numComps = jpxImage.componentsCount;\n break;\n\n case \"JBIG2Decode\":\n image.bitsPerComponent = 1;\n image.numComps = 1;\n break;\n }\n }\n\n let width = dict.get(\"Width\", \"W\");\n let height = dict.get(\"Height\", \"H\");\n\n if (Number.isInteger(image.width) && image.width > 0 && Number.isInteger(image.height) && image.height > 0 && (image.width !== width || image.height !== height)) {\n (0, _util.warn)(\"PDFImage - using the Width/Height of the image data, \" + \"rather than the image dictionary.\");\n width = image.width;\n height = image.height;\n }\n\n if (width < 1 || height < 1) {\n throw new _util.FormatError(`Invalid image width: ${width} or height: ${height}`);\n }\n\n this.width = width;\n this.height = height;\n this.interpolate = dict.get(\"Interpolate\", \"I\") || false;\n this.imageMask = dict.get(\"ImageMask\", \"IM\") || false;\n this.matte = dict.get(\"Matte\") || false;\n var bitsPerComponent = image.bitsPerComponent;\n\n if (!bitsPerComponent) {\n bitsPerComponent = dict.get(\"BitsPerComponent\", \"BPC\");\n\n if (!bitsPerComponent) {\n if (this.imageMask) {\n bitsPerComponent = 1;\n } else {\n throw new _util.FormatError(`Bits per component missing in image: ${this.imageMask}`);\n }\n }\n }\n\n this.bpc = bitsPerComponent;\n\n if (!this.imageMask) {\n var colorSpace = dict.get(\"ColorSpace\", \"CS\");\n\n if (!colorSpace) {\n (0, _util.info)(\"JPX images (which do not require color spaces)\");\n\n switch (image.numComps) {\n case 1:\n colorSpace = _primitives.Name.get(\"DeviceGray\");\n break;\n\n case 3:\n colorSpace = _primitives.Name.get(\"DeviceRGB\");\n break;\n\n case 4:\n colorSpace = _primitives.Name.get(\"DeviceCMYK\");\n break;\n\n default:\n throw new Error(`JPX images with ${image.numComps} ` + \"color components not supported.\");\n }\n }\n\n const resources = isInline ? res : null;\n this.colorSpace = _colorspace.ColorSpace.parse(colorSpace, xref, resources, pdfFunctionFactory);\n this.numComps = this.colorSpace.numComps;\n }\n\n this.decode = dict.getArray(\"Decode\", \"D\");\n this.needsDecode = false;\n\n if (this.decode && (this.colorSpace && !this.colorSpace.isDefaultDecode(this.decode, bitsPerComponent) || isMask && !_colorspace.ColorSpace.isDefaultDecode(this.decode, 1))) {\n this.needsDecode = true;\n var max = (1 << bitsPerComponent) - 1;\n this.decodeCoefficients = [];\n this.decodeAddends = [];\n const isIndexed = this.colorSpace && this.colorSpace.name === \"Indexed\";\n\n for (var i = 0, j = 0; i < this.decode.length; i += 2, ++j) {\n var dmin = this.decode[i];\n var dmax = this.decode[i + 1];\n this.decodeCoefficients[j] = isIndexed ? (dmax - dmin) / max : dmax - dmin;\n this.decodeAddends[j] = isIndexed ? dmin : max * dmin;\n }\n }\n\n if (smask) {\n this.smask = new PDFImage({\n xref,\n res,\n image: smask,\n isInline,\n pdfFunctionFactory\n });\n } else if (mask) {\n if ((0, _primitives.isStream)(mask)) {\n var maskDict = mask.dict,\n imageMask = maskDict.get(\"ImageMask\", \"IM\");\n\n if (!imageMask) {\n (0, _util.warn)(\"Ignoring /Mask in image without /ImageMask.\");\n } else {\n this.mask = new PDFImage({\n xref,\n res,\n image: mask,\n isInline,\n isMask: true,\n pdfFunctionFactory\n });\n }\n } else {\n this.mask = mask;\n }\n }\n }\n\n PDFImage.buildImage = function ({\n xref,\n res,\n image,\n isInline = false,\n pdfFunctionFactory\n }) {\n const imageData = image;\n let smaskData = null;\n let maskData = null;\n const smask = image.dict.get(\"SMask\");\n const mask = image.dict.get(\"Mask\");\n\n if (smask) {\n smaskData = smask;\n } else if (mask) {\n if ((0, _primitives.isStream)(mask) || Array.isArray(mask)) {\n maskData = mask;\n } else {\n (0, _util.warn)(\"Unsupported mask format.\");\n }\n }\n\n return Promise.resolve(new PDFImage({\n xref,\n res,\n image: imageData,\n isInline,\n smask: smaskData,\n mask: maskData,\n pdfFunctionFactory\n }));\n };\n\n PDFImage.createMask = function ({\n imgArray,\n width,\n height,\n imageIsFromDecodeStream,\n inverseDecode\n }) {\n var computedLength = (width + 7 >> 3) * height;\n var actualLength = imgArray.byteLength;\n var haveFullData = computedLength === actualLength;\n var data, i;\n\n if (imageIsFromDecodeStream && (!inverseDecode || haveFullData)) {\n data = imgArray;\n } else if (!inverseDecode) {\n data = new Uint8ClampedArray(actualLength);\n data.set(imgArray);\n } else {\n data = new Uint8ClampedArray(computedLength);\n data.set(imgArray);\n\n for (i = actualLength; i < computedLength; i++) {\n data[i] = 0xff;\n }\n }\n\n if (inverseDecode) {\n for (i = 0; i < actualLength; i++) {\n data[i] ^= 0xff;\n }\n }\n\n return {\n data,\n width,\n height\n };\n };\n\n PDFImage.prototype = {\n get drawWidth() {\n return Math.max(this.width, this.smask && this.smask.width || 0, this.mask && this.mask.width || 0);\n },\n\n get drawHeight() {\n return Math.max(this.height, this.smask && this.smask.height || 0, this.mask && this.mask.height || 0);\n },\n\n decodeBuffer(buffer) {\n var bpc = this.bpc;\n var numComps = this.numComps;\n var decodeAddends = this.decodeAddends;\n var decodeCoefficients = this.decodeCoefficients;\n var max = (1 << bpc) - 1;\n var i, ii;\n\n if (bpc === 1) {\n for (i = 0, ii = buffer.length; i < ii; i++) {\n buffer[i] = +!buffer[i];\n }\n\n return;\n }\n\n var index = 0;\n\n for (i = 0, ii = this.width * this.height; i < ii; i++) {\n for (var j = 0; j < numComps; j++) {\n buffer[index] = decodeAndClamp(buffer[index], decodeAddends[j], decodeCoefficients[j], max);\n index++;\n }\n }\n },\n\n getComponents(buffer) {\n var bpc = this.bpc;\n\n if (bpc === 8) {\n return buffer;\n }\n\n var width = this.width;\n var height = this.height;\n var numComps = this.numComps;\n var length = width * height * numComps;\n var bufferPos = 0;\n let output;\n\n if (bpc <= 8) {\n output = new Uint8Array(length);\n } else if (bpc <= 16) {\n output = new Uint16Array(length);\n } else {\n output = new Uint32Array(length);\n }\n\n var rowComps = width * numComps;\n var max = (1 << bpc) - 1;\n var i = 0,\n ii,\n buf;\n\n if (bpc === 1) {\n var mask, loop1End, loop2End;\n\n for (var j = 0; j < height; j++) {\n loop1End = i + (rowComps & ~7);\n loop2End = i + rowComps;\n\n while (i < loop1End) {\n buf = buffer[bufferPos++];\n output[i] = buf >> 7 & 1;\n output[i + 1] = buf >> 6 & 1;\n output[i + 2] = buf >> 5 & 1;\n output[i + 3] = buf >> 4 & 1;\n output[i + 4] = buf >> 3 & 1;\n output[i + 5] = buf >> 2 & 1;\n output[i + 6] = buf >> 1 & 1;\n output[i + 7] = buf & 1;\n i += 8;\n }\n\n if (i < loop2End) {\n buf = buffer[bufferPos++];\n mask = 128;\n\n while (i < loop2End) {\n output[i++] = +!!(buf & mask);\n mask >>= 1;\n }\n }\n }\n } else {\n var bits = 0;\n buf = 0;\n\n for (i = 0, ii = length; i < ii; ++i) {\n if (i % rowComps === 0) {\n buf = 0;\n bits = 0;\n }\n\n while (bits < bpc) {\n buf = buf << 8 | buffer[bufferPos++];\n bits += 8;\n }\n\n var remainingBits = bits - bpc;\n let value = buf >> remainingBits;\n\n if (value < 0) {\n value = 0;\n } else if (value > max) {\n value = max;\n }\n\n output[i] = value;\n buf = buf & (1 << remainingBits) - 1;\n bits = remainingBits;\n }\n }\n\n return output;\n },\n\n fillOpacity(rgbaBuf, width, height, actualHeight, image) {\n var smask = this.smask;\n var mask = this.mask;\n var alphaBuf, sw, sh, i, ii, j;\n\n if (smask) {\n sw = smask.width;\n sh = smask.height;\n alphaBuf = new Uint8ClampedArray(sw * sh);\n smask.fillGrayBuffer(alphaBuf);\n\n if (sw !== width || sh !== height) {\n alphaBuf = resizeImageMask(alphaBuf, smask.bpc, sw, sh, width, height);\n }\n } else if (mask) {\n if (mask instanceof PDFImage) {\n sw = mask.width;\n sh = mask.height;\n alphaBuf = new Uint8ClampedArray(sw * sh);\n mask.numComps = 1;\n mask.fillGrayBuffer(alphaBuf);\n\n for (i = 0, ii = sw * sh; i < ii; ++i) {\n alphaBuf[i] = 255 - alphaBuf[i];\n }\n\n if (sw !== width || sh !== height) {\n alphaBuf = resizeImageMask(alphaBuf, mask.bpc, sw, sh, width, height);\n }\n } else if (Array.isArray(mask)) {\n alphaBuf = new Uint8ClampedArray(width * height);\n var numComps = this.numComps;\n\n for (i = 0, ii = width * height; i < ii; ++i) {\n var opacity = 0;\n var imageOffset = i * numComps;\n\n for (j = 0; j < numComps; ++j) {\n var color = image[imageOffset + j];\n var maskOffset = j * 2;\n\n if (color < mask[maskOffset] || color > mask[maskOffset + 1]) {\n opacity = 255;\n break;\n }\n }\n\n alphaBuf[i] = opacity;\n }\n } else {\n throw new _util.FormatError(\"Unknown mask format.\");\n }\n }\n\n if (alphaBuf) {\n for (i = 0, j = 3, ii = width * actualHeight; i < ii; ++i, j += 4) {\n rgbaBuf[j] = alphaBuf[i];\n }\n } else {\n for (i = 0, j = 3, ii = width * actualHeight; i < ii; ++i, j += 4) {\n rgbaBuf[j] = 255;\n }\n }\n },\n\n undoPreblend(buffer, width, height) {\n var matte = this.smask && this.smask.matte;\n\n if (!matte) {\n return;\n }\n\n var matteRgb = this.colorSpace.getRgb(matte, 0);\n var matteR = matteRgb[0];\n var matteG = matteRgb[1];\n var matteB = matteRgb[2];\n var length = width * height * 4;\n\n for (var i = 0; i < length; i += 4) {\n var alpha = buffer[i + 3];\n\n if (alpha === 0) {\n buffer[i] = 255;\n buffer[i + 1] = 255;\n buffer[i + 2] = 255;\n continue;\n }\n\n var k = 255 / alpha;\n buffer[i] = (buffer[i] - matteR) * k + matteR;\n buffer[i + 1] = (buffer[i + 1] - matteG) * k + matteG;\n buffer[i + 2] = (buffer[i + 2] - matteB) * k + matteB;\n }\n },\n\n createImageData(forceRGBA = false) {\n var drawWidth = this.drawWidth;\n var drawHeight = this.drawHeight;\n var imgData = {\n width: drawWidth,\n height: drawHeight,\n kind: 0,\n data: null\n };\n var numComps = this.numComps;\n var originalWidth = this.width;\n var originalHeight = this.height;\n var bpc = this.bpc;\n var rowBytes = originalWidth * numComps * bpc + 7 >> 3;\n var imgArray;\n\n if (!forceRGBA) {\n var kind;\n\n if (this.colorSpace.name === \"DeviceGray\" && bpc === 1) {\n kind = _util.ImageKind.GRAYSCALE_1BPP;\n } else if (this.colorSpace.name === \"DeviceRGB\" && bpc === 8 && !this.needsDecode) {\n kind = _util.ImageKind.RGB_24BPP;\n }\n\n if (kind && !this.smask && !this.mask && drawWidth === originalWidth && drawHeight === originalHeight) {\n imgData.kind = kind;\n imgArray = this.getImageBytes(originalHeight * rowBytes);\n\n if (this.image instanceof _stream.DecodeStream) {\n imgData.data = imgArray;\n } else {\n var newArray = new Uint8ClampedArray(imgArray.length);\n newArray.set(imgArray);\n imgData.data = newArray;\n }\n\n if (this.needsDecode) {\n (0, _util.assert)(kind === _util.ImageKind.GRAYSCALE_1BPP, \"PDFImage.createImageData: The image must be grayscale.\");\n var buffer = imgData.data;\n\n for (var i = 0, ii = buffer.length; i < ii; i++) {\n buffer[i] ^= 0xff;\n }\n }\n\n return imgData;\n }\n\n if (this.image instanceof _jpeg_stream.JpegStream && !this.smask && !this.mask) {\n let imageLength = originalHeight * rowBytes;\n\n switch (this.colorSpace.name) {\n case \"DeviceGray\":\n imageLength *= 3;\n\n case \"DeviceRGB\":\n case \"DeviceCMYK\":\n imgData.kind = _util.ImageKind.RGB_24BPP;\n imgData.data = this.getImageBytes(imageLength, drawWidth, drawHeight, true);\n return imgData;\n }\n }\n }\n\n imgArray = this.getImageBytes(originalHeight * rowBytes);\n var actualHeight = 0 | imgArray.length / rowBytes * drawHeight / originalHeight;\n var comps = this.getComponents(imgArray);\n var alpha01, maybeUndoPreblend;\n\n if (!forceRGBA && !this.smask && !this.mask) {\n imgData.kind = _util.ImageKind.RGB_24BPP;\n imgData.data = new Uint8ClampedArray(drawWidth * drawHeight * 3);\n alpha01 = 0;\n maybeUndoPreblend = false;\n } else {\n imgData.kind = _util.ImageKind.RGBA_32BPP;\n imgData.data = new Uint8ClampedArray(drawWidth * drawHeight * 4);\n alpha01 = 1;\n maybeUndoPreblend = true;\n this.fillOpacity(imgData.data, drawWidth, drawHeight, actualHeight, comps);\n }\n\n if (this.needsDecode) {\n this.decodeBuffer(comps);\n }\n\n this.colorSpace.fillRgb(imgData.data, originalWidth, originalHeight, drawWidth, drawHeight, actualHeight, bpc, comps, alpha01);\n\n if (maybeUndoPreblend) {\n this.undoPreblend(imgData.data, drawWidth, actualHeight);\n }\n\n return imgData;\n },\n\n fillGrayBuffer(buffer) {\n var numComps = this.numComps;\n\n if (numComps !== 1) {\n throw new _util.FormatError(`Reading gray scale from a color image: ${numComps}`);\n }\n\n var width = this.width;\n var height = this.height;\n var bpc = this.bpc;\n var rowBytes = width * numComps * bpc + 7 >> 3;\n var imgArray = this.getImageBytes(height * rowBytes);\n var comps = this.getComponents(imgArray);\n var i, length;\n\n if (bpc === 1) {\n length = width * height;\n\n if (this.needsDecode) {\n for (i = 0; i < length; ++i) {\n buffer[i] = comps[i] - 1 & 255;\n }\n } else {\n for (i = 0; i < length; ++i) {\n buffer[i] = -comps[i] & 255;\n }\n }\n\n return;\n }\n\n if (this.needsDecode) {\n this.decodeBuffer(comps);\n }\n\n length = width * height;\n var scale = 255 / ((1 << bpc) - 1);\n\n for (i = 0; i < length; ++i) {\n buffer[i] = scale * comps[i];\n }\n },\n\n getImageBytes(length, drawWidth, drawHeight, forceRGB = false) {\n this.image.reset();\n this.image.drawWidth = drawWidth || this.width;\n this.image.drawHeight = drawHeight || this.height;\n this.image.forceRGB = !!forceRGB;\n return this.image.getBytes(length, true);\n }\n\n };\n return PDFImage;\n}();\n\nexports.PDFImage = PDFImage;\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MessageHandler = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nconst CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n};\nconst StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8\n};\n\nfunction wrapReason(reason) {\n if (typeof reason !== \"object\" || reason === null) {\n return reason;\n }\n\n switch (reason.name) {\n case \"AbortException\":\n return new _util.AbortException(reason.message);\n\n case \"MissingPDFException\":\n return new _util.MissingPDFException(reason.message);\n\n case \"UnexpectedResponseException\":\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n\n case \"UnknownErrorException\":\n return new _util.UnknownErrorException(reason.message, reason.details);\n\n default:\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\n}\n\nclass MessageHandler {\n constructor(sourceName, targetName, comObj) {\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.postMessageTransfers = true;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n this.callbackCapabilities = Object.create(null);\n this.actionHandler = Object.create(null);\n\n this._onComObjOnMessage = event => {\n const data = event.data;\n\n if (data.targetName !== this.sourceName) {\n return;\n }\n\n if (data.stream) {\n this._processStreamMessage(data);\n\n return;\n }\n\n if (data.callback) {\n const callbackId = data.callbackId;\n const capability = this.callbackCapabilities[callbackId];\n\n if (!capability) {\n throw new Error(`Cannot resolve callback ${callbackId}`);\n }\n\n delete this.callbackCapabilities[callbackId];\n\n if (data.callback === CallbackKind.DATA) {\n capability.resolve(data.data);\n } else if (data.callback === CallbackKind.ERROR) {\n capability.reject(wrapReason(data.reason));\n } else {\n throw new Error(\"Unexpected callback case\");\n }\n\n return;\n }\n\n const action = this.actionHandler[data.action];\n\n if (!action) {\n throw new Error(`Unknown action from worker: ${data.action}`);\n }\n\n if (data.callbackId) {\n const cbSourceName = this.sourceName;\n const cbTargetName = data.sourceName;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(function (result) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.ERROR,\n callbackId: data.callbackId,\n reason: wrapReason(reason)\n });\n });\n return;\n }\n\n if (data.streamId) {\n this._createStreamSink(data);\n\n return;\n }\n\n action(data.data);\n };\n\n comObj.addEventListener(\"message\", this._onComObjOnMessage);\n }\n\n on(actionName, handler) {\n const ah = this.actionHandler;\n\n if (ah[actionName]) {\n throw new Error(`There is already an actionName called \"${actionName}\"`);\n }\n\n ah[actionName] = handler;\n }\n\n send(actionName, data, transfers) {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data\n }, transfers);\n }\n\n sendWithPromise(actionName, data, transfers) {\n const callbackId = this.callbackId++;\n const capability = (0, _util.createPromiseCapability)();\n this.callbackCapabilities[callbackId] = capability;\n\n try {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId,\n data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\n\n return capability.promise;\n }\n\n sendWithStream(actionName, data, queueingStrategy, transfers) {\n const streamId = this.streamId++;\n const sourceName = this.sourceName;\n const targetName = this.targetName;\n const comObj = this.comObj;\n return new ReadableStream({\n start: controller => {\n const startCapability = (0, _util.createPromiseCapability)();\n this.streamControllers[streamId] = {\n controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n\n this._postMessage({\n sourceName,\n targetName,\n action: actionName,\n streamId,\n data,\n desiredSize: controller.desiredSize\n }, transfers);\n\n return startCapability.promise;\n },\n pull: controller => {\n const pullCapability = (0, _util.createPromiseCapability)();\n this.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL,\n streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: reason => {\n (0, _util.assert)(reason instanceof Error, \"cancel must have a valid reason\");\n const cancelCapability = (0, _util.createPromiseCapability)();\n this.streamControllers[streamId].cancelCall = cancelCapability;\n this.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL,\n streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n }\n\n _createStreamSink(data) {\n const self = this;\n const action = this.actionHandler[data.action];\n const streamId = data.streamId;\n const sourceName = this.sourceName;\n const targetName = data.sourceName;\n const comObj = this.comObj;\n const streamSink = {\n enqueue(chunk, size = 1, transfers) {\n if (this.isCancelled) {\n return;\n }\n\n const lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = (0, _util.createPromiseCapability)();\n this.ready = this.sinkCapability.promise;\n }\n\n self._postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ENQUEUE,\n streamId,\n chunk\n }, transfers);\n },\n\n close() {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CLOSE,\n streamId\n });\n delete self.streamSinks[streamId];\n },\n\n error(reason) {\n (0, _util.assert)(reason instanceof Error, \"error must have a valid reason\");\n\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ERROR,\n streamId,\n reason: wrapReason(reason)\n });\n },\n\n sinkCapability: (0, _util.createPromiseCapability)(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n }\n\n _processStreamMessage(data) {\n const streamId = data.streamId;\n const sourceName = this.sourceName;\n const targetName = data.sourceName;\n const comObj = this.comObj;\n\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].startCall.resolve();\n } else {\n this.streamControllers[streamId].startCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].pullCall.resolve();\n } else {\n this.streamControllers[streamId].pullCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL:\n if (!this.streamSinks[streamId]) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n break;\n }\n\n if (this.streamSinks[streamId].desiredSize <= 0 && data.desiredSize > 0) {\n this.streamSinks[streamId].sinkCapability.resolve();\n }\n\n this.streamSinks[streamId].desiredSize = data.desiredSize;\n const {\n onPull\n } = this.streamSinks[data.streamId];\n new Promise(function (resolve) {\n resolve(onPull && onPull());\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n\n case StreamKind.ENQUEUE:\n (0, _util.assert)(this.streamControllers[streamId], \"enqueue should have stream controller\");\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].controller.enqueue(data.chunk);\n break;\n\n case StreamKind.CLOSE:\n (0, _util.assert)(this.streamControllers[streamId], \"close should have stream controller\");\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].isClosed = true;\n this.streamControllers[streamId].controller.close();\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.ERROR:\n (0, _util.assert)(this.streamControllers[streamId], \"error should have stream controller\");\n this.streamControllers[streamId].controller.error(wrapReason(data.reason));\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].cancelCall.resolve();\n } else {\n this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));\n }\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.CANCEL:\n if (!this.streamSinks[streamId]) {\n break;\n }\n\n const {\n onCancel\n } = this.streamSinks[data.streamId];\n new Promise(function (resolve) {\n resolve(onCancel && onCancel(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n this.streamSinks[streamId].sinkCapability.reject(wrapReason(data.reason));\n this.streamSinks[streamId].isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n\n async _deleteStreamController(streamId) {\n await Promise.allSettled([this.streamControllers[streamId].startCall, this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function (capability) {\n return capability && capability.promise;\n }));\n delete this.streamControllers[streamId];\n }\n\n _postMessage(message, transfers) {\n if (transfers && this.postMessageTransfers) {\n this.comObj.postMessage(message, transfers);\n } else {\n this.comObj.postMessage(message);\n }\n }\n\n destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n\n}\n\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFWorkerStream = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nclass PDFWorkerStream {\n constructor(msgHandler) {\n this._msgHandler = msgHandler;\n this._contentLength = null;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFWorkerStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFWorkerStreamReader(this._msgHandler);\n return this._fullRequestReader;\n }\n\n getRangeReader(begin, end) {\n const reader = new PDFWorkerStreamRangeReader(begin, end, this._msgHandler);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n const readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n\n}\n\nexports.PDFWorkerStream = PDFWorkerStream;\n\nclass PDFWorkerStreamReader {\n constructor(msgHandler) {\n this._msgHandler = msgHandler;\n this.onProgress = null;\n this._contentLength = null;\n this._isRangeSupported = false;\n this._isStreamingSupported = false;\n\n const readableStream = this._msgHandler.sendWithStream(\"GetReader\");\n\n this._reader = readableStream.getReader();\n this._headersReady = this._msgHandler.sendWithPromise(\"ReaderHeadersReady\").then(data => {\n this._isStreamingSupported = data.isStreamingSupported;\n this._isRangeSupported = data.isRangeSupported;\n this._contentLength = data.contentLength;\n });\n }\n\n get headersReady() {\n return this._headersReady;\n }\n\n get contentLength() {\n return this._contentLength;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n\n async read() {\n const {\n value,\n done\n } = await this._reader.read();\n\n if (done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n return {\n value: value.buffer,\n done: false\n };\n }\n\n cancel(reason) {\n this._reader.cancel(reason);\n }\n\n}\n\nclass PDFWorkerStreamRangeReader {\n constructor(begin, end, msgHandler) {\n this._msgHandler = msgHandler;\n this.onProgress = null;\n\n const readableStream = this._msgHandler.sendWithStream(\"GetRangeReader\", {\n begin,\n end\n });\n\n this._reader = readableStream.getReader();\n }\n\n get isStreamingSupported() {\n return false;\n }\n\n async read() {\n const {\n value,\n done\n } = await this._reader.read();\n\n if (done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n return {\n value: value.buffer,\n done: false\n };\n }\n\n cancel(reason) {\n this._reader.cancel(reason);\n }\n\n}\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf.worker.js.map","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","/* Copyright 2020 Mozilla Foundation\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(typeof window !== \"undefined\"\n ? window\n : {}\n).pdfjsWorker = require(\"./pdf.worker.js\");\n"],"names":["factory","modules","installedModules","__w_pdfjs_require__","moduleId","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_worker","WorkerMessageHandler","WorkerTask","_util","_primitives","_pdf_manager","_is_node","_message_handler","_worker_stream","_core_utils","this","terminated","_capability","createPromiseCapability","finished","promise","finish","resolve","terminate","ensureNotTerminated","Error","maybePort","setup","handler","port","testMessageProcessed","on","data","Uint8Array","send","supportTransfers","postMessageTransfers","setVerbosityLevel","verbosity","createDocumentHandler","docParams","pdfManager","cancelXHRs","WorkerTasks","getVerbosityLevel","apiVersion","enumerableProperties","push","length","join","ReadableStream","Promise","allSettled","docId","docBaseUrl","workerHandlerName","MessageHandler","startWorkerTask","task","finishWorkerTask","indexOf","splice","async","loadDocument","recoveryMode","ensureDoc","numPages","fingerprint","all","getPage","pageIndex","then","page","ensure","rotate","ref","userUnit","view","Ref","num","gen","pdfDocument","catalog","getPageIndex","ensureCatalog","id","requestLoadedStream","onLoadedStream","stream","bytes","xref","stats","intent","getAnnotationsData","sink","start","VerbosityLevel","INFOS","Date","now","getOperatorList","renderInteractiveForms","operatorListInfo","info","close","reason","featureId","UNSUPPORTED_FEATURES","errorOperatorList","error","onPull","desiredSize","onCancel","extractTextContent","normalizeWhitespace","combineTextItems","fontFallback","cleanup","waitOn","AbortException","cleanupPromise","clearPrimitiveCaches","forEach","destroy","onSuccess","doc","pdfInfo","onFailure","ex","PasswordException","code","sendWithPromise","password","updatePassword","pdfManagerReady","catch","InvalidPDFException","MissingPDFException","UnexpectedResponseException","UnknownErrorException","message","toString","XRefParseException","evaluatorOptions","pdfManagerCapability","newPdfManager","source","LocalPdfManager","reject","pdfStream","cachedChunks","PDFWorkerStream","fullRequest","getFullReader","headersReady","isRangeSupported","disableAutoFetch","isStreamingSupported","NetworkPdfManager","msgHandler","contentLength","rangeChunkSize","sendProgressiveData","loaded","readChunk","done","pdfFile","arraysToBytes","warn","flushChunks","arrayByteLength","total","Math","max","read","e","cancelAllRequests","getPdfManager","maxImageSize","disableFontFace","ignoreErrors","isEvalSupported","fontExtraProperties","byteLength","setupDoc","initializeFromPort","window","isNodeJS","self","postMessage","arr","resultLength","pos","item","stringToBytes","itemLength","set","assert","bytesToString","undefined","MAX_ARGUMENT_COUNT","String","fromCharCode","apply","strBuf","chunkEnd","min","chunk","subarray","capability","isSettled","msg","console","log","isArrayBuffer","v","isArrayEqual","arr1","arr2","every","element","index","isBool","isEmptyObj","obj","isNum","isString","isSameOrigin","baseUrl","otherUrl","base","URL","origin","other","createValidAbsoluteUrl","url","absoluteUrl","protocol","_isValidProtocol","removeNullCharacters","str","replace","NullCharactersRegExp","level","Number","isInteger","shadow","string32","stringToPDFString","charCodeAt","PDFStringTranslateTable","charAt","stringToUTF8String","decodeURIComponent","escape","utf8StringToString","unescape","encodeURIComponent","unreachable","IsEvalSupportedCached","IsLittleEndianCached","createObjectURL","FormatError","Util","TextRenderingMode","StreamType","PermissionFlag","PasswordResponses","CMapCompressionType","ImageKind","FontType","AnnotationType","AnnotationStateModelType","AnnotationReviewState","AnnotationReplyType","AnnotationMarkedState","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","OPS","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","BaseException","PRINT","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","TEXT","LINK","FREETEXT","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","STAMP","CARET","INK","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","MARKED","REVIEW","UNMARKED","ACCEPTED","REJECTED","CANCELLED","COMPLETED","NONE","GROUP","REPLY","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","SOLID","DASHED","BEVELED","INSET","UNKNOWN","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RLX","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","ERRORS","WARNINGS","BINARY","STREAM","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","transform","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","paintJpegXObject","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","unknown","forms","javaScript","smask","shadingPattern","font","errorTilingPattern","errorExtGState","errorXObject","errorFontLoadType3","errorFontState","errorFontMissing","errorFontTranslate","errorColorSpace","errorFontToUnicode","errorFontLoadNative","errorFontGetPath","NEED_PASSWORD","INCORRECT_PASSWORD","cond","prop","configurable","writable","constructor","super","details","status","buffer8","Uint32Array","buffer","isLittleEndian","Function","rgbBuf","static","g","b","m1","m2","p1","applyTransform","p2","slice","p3","p4","transpose","a","first","second","sqrt","sx","sy","rect","rect1","rect2","compare","orderedX","sort","orderedY","result","normalizeRect","digits","contentType","forceDataSchema","blob","Blob","type","ii","b1","b2","b3","process","versions","nw","electron","Cmd","_clearCache","Name","isEOF","EOF","isCmd","cmd","isDict","isName","isRef","isRefsEqual","v1","v2","isStream","getBytes","RefSetCache","RefSet","Dict","nameCache","cmdCache","nonSerializable","_map","objId","suppressEncryption","__nonSerializable__","assignXref","newXref","key1","key2","key3","fetch","fetchAsync","getArray","Array","isArray","getRaw","getKeys","keys","has","callback","empty","merge","dictArray","mergedDict","dict","keyName","refCache","put","remove","size","putAlias","aliasRef","clear","_chunked_stream","_document","_stream","BasePdfManager","_docId","_password","_docBaseUrl","href","args","ensureXRef","manuallyTriggered","requestRange","begin","end","Stream","PDFDocument","_loadedStreamPromise","pdfNetworkStream","streamManager","ChunkedStreamManager","getStream","MissingDataException","requestAllChunks","onReceiveData","abort","ChunkedStream","chunkSize","manager","loadedChunks","numChunksLoaded","numChunks","ceil","progressiveDataLength","lastSuccessfulEnsureByteChunk","getMissingChunks","chunks","getBaseStreams","allChunksLoaded","beginChunk","floor","endChunk","curChunk","onReceiveProgressiveData","position","ensureByte","ensureRange","nextEmptyChunk","hasChunk","isEmpty","getByte","getUint16","b0","getInt32","forceClamped","strEnd","Uint8ClampedArray","peekByte","peekedByte","peekBytes","getByteRange","skip","reset","moveStart","makeSubStream","ChunkedStreamSubstream","missingChunks","subStream","currRequestId","chunksNeededByRequest","requestsByChunk","promisesByRequest","aborted","_loadedStreamCapability","sendRequest","rangeReader","getRangeReader","onProgress","chunkData","_requestChunks","requestId","chunksNeeded","chunksToRequest","groupedChunksToRequest","groupChunks","groupedChunk","getBeginChunk","getEndChunk","requestRanges","ranges","range","includes","groupedChunks","prevChunk","isProgressive","loadedRequests","requestIds","lastChunk","onError","err","getLookupTableFactory","initializer","lookup","getInheritableProperty","stopWhenFound","values","loopCount","toRomanNumerals","number","lowerCase","romanBuf","ROMAN_NUMBER_MAP","romanStr","toLowerCase","log2","x","readInt8","offset","readUint16","readUint32","isWhiteSpace","ch","XRefEntryException","Page","_obj","_annotation","_crypto","_parser","_operator_list","_evaluator","_function","LETTER_SIZE_MEDIABOX","isAnnotationRenderable","annotation","viewable","printable","pageDict","fontCache","builtInCMapCache","globalImageCache","pdfFunctionFactory","resourcesPromise","idCounters","idFactory","createObjId","getDocId","_getInheritableProperty","content","resources","_getBoundingBox","box","mediaBox","cropBox","intersect","getContentStream","streams","fetchIfRef","StreamsSequenceStream","NullStream","loadResources","ObjectLoader","load","contentStreamPromise","partialEvaluator","PartialEvaluator","options","pageListPromise","contentStream","opList","OperatorList","transparency","hasBlendModes","operatorList","_parsedAnnotations","pageOpList","annotations","flush","totalLength","opListPromises","opLists","addOp","addOpList","getTextContent","annotationsData","parsedAnnotations","annotationPromises","annotationRef","AnnotationFactory","filter","PDF_HEADER_SIGNATURE","STARTXREF_SIGNATURE","ENDOBJ_SIGNATURE","PDF_HEADER_VERSION_REGEXP","find","signature","limit","backwards","signatureLength","scanBytes","scanLength","signatureEnd","j","arg","XRef","PDFFunctionFactory","_pagePromises","parse","version","catDict","pdfFormatVersion","acroForm","xfa","fields","collection","linearization","Linearization","startXRef","step","startXRefLength","found","parseInt","isNaN","checkHeader","substring","parseStartXRef","setStartXRef","Catalog","documentInfo","DocumentInfoValidators","Title","Author","Subject","Keywords","Creator","Producer","CreationDate","ModDate","Trapped","test","docInfo","PDFFormatVersion","IsLinearized","IsAcroFormPresent","IsXFAPresent","IsCollectionPresent","infoDict","trailer","customValue","Custom","hash","idArray","calculateMD5","fingerprintBuf","hex","padStart","_getLinearizationPage","objectNumberFirst","pageKidsCountCache","getPageDict","pageFirst","checkFirstPage","FileSpec","_colorspace","_image_utils","fetchDestination","dest","getCatalogObj","Map","GlobalImageCache","metadata","streamRef","encrypt","encryptMetadata","subtype","toplevelPagesDict","pagesObj","documentOutline","_readDocumentOutline","root","items","queue","parent","processed","blackColor","shift","outlineDict","parseDestDictionary","destDict","resultObj","title","flags","color","count","rgbColor","ColorSpace","singletons","rgb","getRgb","outlineItem","unsafeUrl","newWindow","bold","italic","permissions","_readPermissions","destinations","_readDests","dests","NameTree","names","getAll","getDestination","destinationId","pageLabels","_readPageLabels","style","prefix","nums","NumberTree","currentLabel","currentIndex","labelDict","st","LIMIT","A_UPPER_CASE","A_LOWER_CASE","baseCharCode","letterIndex","character","charBuf","jj","pageLayout","pageMode","viewerPreferences","ViewerPreferencesValidators","HideToolbar","HideMenubar","HideWindowUI","FitWindow","CenterWindow","DisplayDocTitle","NonFullScreenPageMode","Direction","ViewArea","ViewClip","PrintArea","PrintClip","PrintScaling","Duplex","PickTrayByPDFSize","PrintPageRange","NumCopies","prefs","prefValue","openAction","action","attachments","fs","serializable","appendIfJavaScriptDict","jsDict","js","promises","translatedFonts","translatedFont","loadedName","fallback","translated","nodesToVisit","visitedNodes","currentPageIndex","next","currentNode","pop","kids","last","pageRef","kidRef","parentRef","node","getAsync","kidPromises","kid","pagesBeforeRef","params","actionType","actionName","startsWith","addDefaultProtocolToUrl","urlDict","remoteDest","split","JSON","stringify","namedAction","jsAction","jsUrl","RegExp","exec","tryConvertUrlEncoding","entries","xrefstms","_cacheMap","streamTypes","fontTypes","startXRefQueue","trailerDict","indexObjects","readXRef","ids","fileId","CipherTransformFactory","processXRefTable","parser","tableState","entryNum","streamPos","lexer","parserBuf1","buf1","parserBuf2","buf2","readXRefTable","getObj","firstEntryNum","entryCount","entry","free","uncompressed","processXRefStream","streamParameters","byteWidths","streamState","entryRanges","readXRefStream","typeFieldWidth","offsetFieldWidth","generationFieldWidth","generation","readToken","token","skipUntil","what","dataLength","skipped","objRegExp","endobjRegExp","nestedObjRegExp","trailerBytes","startxrefBytes","objBytes","xrefBytes","trailers","xrefStms","startPos","endPos","checkPos","tokenStr","objToken","xrefTagOffset","Parser","Lexer","allowStreams","rootDict","startXRefParsedCache","topDict","getEntry","xrefEntry","cacheEntry","fetchUncompressed","fetchCompressed","obj1","obj2","obj3","createCipherTransform","tableOffset","NameOrNumberTree","_type","kidsOrEntries","limits","tmp","currentKey","mm","description","contentAvailable","pickPlatformItem","filename","_filename","contentRef","fileObj","mayHaveChildren","addChildren","dictKeys","rawValue","refSet","_walk","nodesToRevisit","pendingRequests","baseStreams","foundMissingData","_ccitt_stream","_jbig2_stream","_jpeg_stream","_jpx_stream","computeAdler32","bytesLength","imageCache","refill","tryShift","cipherTransform","makeInlineImage","array","makeStream","decryptString","findDefaultInlineStreamEnd","maybeEIPos","state","followingBytes","endOffset","findDCTDecodeInlineStreamEnd","markerLength","foundEOI","inlineStreamSkipEI","findASCII85DecodeInlineStreamEnd","tildePos","maybeEI","findASCIIHexDecodeInlineStreamEnd","dictLength","beginInlineImagePos","filterName","filterZero","cacheKey","imageStream","imageBytes","initialStreamPos","dictBytes","createStream","_findStreamLength","skipToNextLine","nextChar","ENDSTREAM_SIGNATURE","actualLength","MAX_TRUNCATION","TRUNCATED_SIGNATURE","maybeLength","lastByte","makeFilter","filterArray","paramsArray","xrefStreamStats","PredictorStream","FlateStream","earlyChange","LZWStream","JpegStream","JpxStream","Ascii85Stream","AsciiHexStream","CCITTFaxStream","RunLengthStream","Jbig2Stream","specialChars","toHexDigit","knownCommands","_hexStringNumWarn","currentChar","peekChar","getNumber","eNotation","divideBy","sign","baseValue","powerValue","powerValueSign","currentDigit","getString","numParen","charBuffered","getName","previousCh","x2","_hexStringWarn","getHexString","firstDigit","secondDigit","isFirstHex","comment","knownCommandFound","possibleCommand","getInt","linDict","allowZeroValue","hints","hintsLength","hint","getHints","endFirst","mainXRefEntriesOffset","StringStream","DecodeStream","DecryptStream","arrayBuffer","emptyBuffer","maybeMinBufferLength","_rawMinBufferLength","bufferLength","eof","minBufferLength","readBlock","ensureBuffer","requested","buffer2","bufEnd","newLength","codeLenCodeMap","Int32Array","lengthDecode","distDecode","fixedLitCodeTab","fixedDistCodeTab","cmf","flg","codeSize","codeBuf","getBits","bits","getCode","table","codes","maxLen","codeLen","codeVal","generateHuffmanTable","lengths","len","val","code2","hdr","litCodeTable","distCodeTable","numLitCodes","numDistCodes","numCodeLenCodes","codeLenCodeLengths","codeLenCodeTab","bitsLength","bitsOffset","codeLengths","repeatLength","code1","dist","k","blockLen","check","block","predictor","readBlockTiff","readBlockPng","colors","columns","pixBytes","rowBytes","rawBytes","inbuf","outbuf","inbits","outbits","bytesPerPixel","sum","compArray","bitMask","kk","prevRow","up","upLeft","left","pa","pb","pc","decrypt","nextChunk","initialized","hasMoreData","input","maxDecodeLength","digit","repeatHeader","cachedData","bitsCached","maxLzwDictionarySize","lzwState","codeLength","nextCode","dictionaryValues","dictionaryLengths","Uint16Array","dictionaryPrevCodes","currentSequence","currentSequenceLength","readBits","lastCode","q","estimatedDecodedSize","blockSize","prevCode","decodedLength","currentBufferLength","hasPrev","_ccitt","ccittFaxDecoder","CCITTFaxDecoder","K","EndOfLine","EncodedByteAlign","Columns","Rows","EndOfBlock","BlackIs1","readNextChar","ccittEOF","twoDimTable","whiteTable1","whiteTable2","blackTable1","blackTable2","blackTable3","encoding","eoline","byteAlign","rows","eoblock","black","codingLine","refLine","codingPos","row","nextLine2D","inputBits","inputBuf","outputBits","rowsDone","_lookBits","_eatBits","refPos","blackPixels","code3","_getTwoDimCode","_addPixels","_getBlackCode","_getWhiteCode","_addPixelsNeg","gotEOL","a1","_findTableCode","limitValue","_jbig","jbig2Image","Jbig2Image","globalsStream","globals","parseChunks","_arithmetic_decoder","Jbig2Error","ContextCache","DecodingContext","decodeInteger","contextCache","procedure","decoder","contexts","getContexts","prev","bit","readBit","decodeIAID","Int8Array","ArithmeticDecoder","cache","SegmentTypes","CodingTemplates","y","RefinementTemplates","coding","reference","ReusedContexts","RefinementReusedContexts","decodeBitmap","mmr","width","height","templateIndex","prediction","at","decodingContext","decodeMMRBitmap","Reader","contextLabel","pixel","row1","row2","bitmap","decodeBitmapTemplate0","useskip","template","concat","templateLength","templateX","templateY","changingTemplateEntries","reuseMask","minX","maxX","minY","changingEntriesLength","changingTemplateX","changingTemplateY","changingTemplateBit","i0","j0","sbb_left","sbb_top","sbb_right","pseudoPixelContext","ltp","decodeRefinement","referenceBitmap","offsetX","offsetY","codingTemplate","codingTemplateLength","codingTemplateX","codingTemplateY","referenceTemplate","referenceTemplateLength","referenceTemplateX","referenceTemplateY","referenceWidth","referenceHeight","decodeTextRegion","huffman","refinement","defaultPixelValue","numberOfSymbolInstances","stripSize","inputSymbols","symbolCodeLength","transposed","dsOffset","referenceCorner","combinationOperator","huffmanTables","refinementTemplateIndex","refinementAt","logStripSize","huffmanInput","stripT","tableDeltaT","decode","firstS","currentS","tableFirstS","currentT","symbolId","symbolIDTable","applyRefinement","symbolBitmap","symbolWidth","symbolHeight","rdw","rdh","s2","t2","symbolRow","offsetT","offsetS","maxWidth","deltaS","tableDeltaS","readSegmentHeader","segmentHeader","segmentType","typeName","deferredNonRetain","pageAssociationFieldSize","referredFlags","referredToCount","retainBits","referredToSegmentNumberSize","referredTo","pageAssociation","genericRegionInfo","readRegionSegmentInformation","genericRegionMmr","RegionSegmentInformationFieldLength","searchPattern","headerEnd","readSegments","header","segments","segment","randomAccess","processSegment","visitor","atLength","dictionary","dictionaryFlags","huffmanDHSelector","huffmanDWSelector","bitmapSizeSelector","aggregationInstancesSelector","bitmapCodingContextUsed","bitmapCodingContextRetained","refinementTemplate","numberOfExportedSymbols","numberOfNewSymbols","textRegion","textRegionSegmentFlags","textRegionHuffmanFlags","huffmanFS","huffmanDS","huffmanDT","huffmanRefinementDW","huffmanRefinementDH","huffmanRefinementDX","huffmanRefinementDY","huffmanRefinementSizeSelector","patternDictionary","patternDictionaryFlags","patternWidth","patternHeight","maxPatternIndex","halftoneRegion","halftoneRegionFlags","enableSkip","gridWidth","gridHeight","gridOffsetX","gridOffsetY","gridVectorX","gridVectorY","genericRegion","genericRegionSegmentFlags","pageInfo","resolutionX","resolutionY","pageSegmentFlags","lossless","requiresBuffer","combinationOperatorOverride","callbackName","processSegments","SimpleSegmentVisitor","HuffmanLine","lineData","isOOB","rangeLow","prefixLength","rangeLength","prefixCode","isLowerRange","HuffmanTreeNode","line","children","isLeaf","HuffmanTable","lines","prefixCodesDone","assignPrefixCodes","rootNode","buildTree","onPageInformation","currentPageInfo","rowSize","drawBitmap","regionInfo","mask","mask0","offset0","onImmediateGenericRegion","region","onImmediateLosslessGenericRegion","arguments","onSymbolDictionary","currentSegment","referredSegments","customTables","tableDeltaHeight","tableDeltaWidth","tableBitmapSize","tableAggregateInstances","customIndex","getStandardTable","getCustomHuffmanTable","getSymbolDictionaryHuffmanTables","symbols","referredSymbols","newSymbols","currentHeight","tableB1","symbolWidths","currentWidth","totalWidth","firstSymbol","deltaWidth","numberOfInstances","rdx","rdy","bitmapSize","collectiveBitmap","readUncompressedBitmap","originalEnd","bitmapEnd","numberOfSymbolsDecoded","xMax","bitmapWidth","xMin","exportedSymbols","currentFlag","totalSymbolsLength","runLength","decodeSymbolDictionary","onImmediateTextRegion","numberOfSymbols","reader","runCodesTable","repeatedLength","numberOfRepeats","getTextRegionHuffmanTables","onImmediateLosslessTextRegion","onPatternDictionary","patterns","patternBitmap","decodePatternDictionary","onImmediateHalftoneRegion","regionWidth","regionHeight","regionBitmap","numberOfPatterns","pattern0","bitsPerValue","grayScaleBitPlanes","mmrInput","mg","ng","patternIndex","patternRow","regionRow","regionX","regionY","decodeHalftoneRegion","onImmediateLosslessHalftoneRegion","onTables","lowestValue","highestValue","prefixSizeBits","rangeSizeBits","currentRangeLow","decodeTablesSegment","decodeNode","htOffset","linesLength","prefixLengthMax","histogram","currentCode","currentTemp","currentLength","firstCode","standardTablesCache","currentByte","endOfBlock","lookForEOFLimit","numBits","parseJbig2Chunks","imgData","numberOfPages","bitPacked","parseJbig2","QeTable","qe","nmps","nlps","switchFlag","bp","dataEnd","chigh","clow","byteIn","ct","cx_index","cx_mps","qeTableIcx","qeIcx","_jpg","jpegOptions","decodeTransform","colorTransform","decodeArr","forceRGB","bitsPerComponent","decodeArrLength","transformNeeded","maxValue","jpegImage","JpegImage","getData","drawWidth","drawHeight","isSourcePDF","JpegError","DNLMarkerError","scanLines","EOIMarkerError","dctZigZag","dctCos1","dctSin1","dctCos3","dctSin3","dctCos6","dctSin6","dctSqrt2","dctSqrt1d2","_decodeTransform","_colorTransform","buildHuffmanTable","getBlockBufferOffset","component","col","blocksPerLine","decodeScan","frame","components","resetInterval","spectralStart","spectralEnd","successivePrev","successive","parseDNLMarker","mcusPerLine","progressive","startOffset","bitsData","bitsCount","nextByte","maybeScanLines","blockRow","decodeHuffman","tree","receive","receiveAndExtend","successiveACNextValue","eobrun","successiveACState","decodeMcu","mcu","mcuCol","blockCol","h","decodeBlock","decodeFn","componentsLength","blockOffset","huffmanTableDC","diff","blockData","pred","rs","huffmanTableAC","z","offsetZ","fileMarker","mcuExpected","blocksPerColumn","mcusPerColumn","mcuToRead","findNextFileMarker","invalid","partialMsg","marker","quantizeAndInverse","blockBufferOffset","v0","v3","v4","v5","v6","v7","p0","p5","p6","p7","qt","quantizationTable","buildComponentData","computationBuffer","Int16Array","currentPos","maxPos","newPos","currentMarker","newMarker","dnlScanLines","readDataBlock","prepareComponents","samplesPerLine","maxH","maxV","blocksPerLineForMcu","blocksBufferSize","jfif","adobe","numSOSMarkers","quantizationTables","huffmanTablesAC","huffmanTablesDC","markerLoop","appData","major","minor","densityUnits","xDensity","yDensity","thumbWidth","thumbHeight","thumbData","flags0","flags1","transformCode","quantizationTablesEnd","quantizationTableSpec","tableData","extended","precision","sofScanLines","componentIds","componentId","componentsCount","qId","quantizationId","huffmanLength","huffmanTableSpec","codeLengthSum","huffmanValues","selectorsCount","componentIndex","tableSpec","successiveApproximation","nextFileMarker","output","scaleX","scaleY","numComponents","_getLinearizedBlockData","componentScaleX","componentScaleY","blocksPerScanline","xScaleBlockOffset","mask3LSB","lastComponentScaleX","_isColorConversionNeeded","_convertYccToRgb","Y","Cb","Cr","_convertYcckToRgb","_convertYcckToCmyk","_convertCmykToRgb","rgbData","grayColor","_jpx","jpxImage","JpxImage","tileCount","tiles","tileComponents","tileWidth","tileHeight","tileLeft","tileTop","top","src","srcPosition","dataPosition","imgRowSize","tileRowSize","JpxError","SubbandsGainLog2","LL","LH","HL","HH","failOnCorruptedImage","calculateComponentDimensions","siz","x0","XOsiz","XRsiz","x1","Xsiz","y0","YOsiz","YRsiz","y1","Ysiz","calculateTileGrids","context","tile","SIZ","numXtiles","XTOsiz","XTsiz","numYtiles","YTOsiz","YTsiz","tx0","ty0","tx1","ty1","Csiz","tileComponent","tcx0","tcy0","tcx1","tcy1","getBlocksDimensions","codOrCoc","codingStyleParameters","entropyCoderWithCustomPrecincts","PPx","precinctsSizes","PPy","xcb_","xcb","ycb_","ycb","buildPrecincts","resolution","dimensions","precinctWidth","precinctHeight","isZeroRes","resLevel","precinctWidthInSubband","precinctHeightInSubband","numprecinctswide","trx1","trx0","numprecinctshigh","try1","try0","numprecincts","precinctParameters","buildCodeblocks","subband","codeblock","precinctNumber","codeblockWidth","codeblockHeight","cbx0","tbx0","cby0","tby0","cbx1","tbx1","cby1","tby1","codeblocks","precincts","cbx","cby","tbx0_","tby0_","tbx1_","tby1_","subbandType","Lblock","precinct","cbxMin","cbxMax","cbyMin","cbyMax","codeblockParameters","numcodeblockwide","numcodeblockhigh","createPacket","layerNumber","precinctCodeblocks","subbands","LayerResolutionComponentPositionIterator","tileIndex","currentTile","layersCount","codingStyleDefaultParameters","maxDecompositionLevelsCount","decompositionLevelsCount","nextPacket","resolutions","packet","ResolutionLayerComponentPositionIterator","ResolutionPositionComponentLayerIterator","maxNumPrecinctsInLevel","maxNumPrecincts","PositionComponentResolutionLayerIterator","getPrecinctSizesInImageScale","precinctsIterationSizes","px","py","maxNumHigh","maxNumWide","sizeInImageScale","getPrecinctIndexIfExist","ComponentPositionResolutionLayerIterator","pxIndex","pyIndex","precinctIterationSizes","posX","minWidth","posY","minHeight","startPrecinctRowIndex","MAX_VALUE","sizePerComponent","sizePerResolution","minWidthCurrentComponent","minHeightCurrentComponent","maxNumWideCurrentComponent","maxNumHighCurrentComponent","scale","widthCurrentResolution","heightCurrentResolution","buildPackets","blocksDimensions","bscale","resolutionSubbands","progressionOrder","packetsIterator","parseTilePackets","bufferSize","skipNextBit","skipMarkerIfEqual","skipBytes","alignToByte","readCodingpasses","sopMarkerUsed","COD","ephMarkerUsed","codeblockColumn","codeblockRow","codeblockIncluded","firstTimeInclusion","included","inclusionTree","zeroBitPlanesTree","InclusionTree","TagTree","incrementValue","nextLevel","zeroBitPlanes","codingpasses","codingpassesLog2","codedDataLength","packetItem","copyCoefficients","coefficients","levelWidth","levelHeight","delta","mb","reversible","segmentationSymbolUsed","right","bottom","blockWidth","blockHeight","bitModel","currentCodingpassType","BitModel","dataItem","encodedData","setDecoder","runSignificancePropagationPass","runMagnitudeRefinementPass","runCleanupPass","checkSegmentationSymbol","nb","coefficentsSign","magnitude","coefficentsMagnitude","bitsDecoded","magnitudeCorrection","interleave","levelOffset","transformTile","quantizationParameters","spqcds","SPqcds","scalarExpounded","guardBits","reversibleTransformation","ReversibleTransform","IrreversibleTransform","subbandCoefficients","Float32Array","mu","epsilon","gainLog2","calculate","initializeTile","qcdOrQcc","QCC","QCD","COC","headerSize","lbox","tbox","jumpDataLength","method","colorspace","parseCodestream","headerType","parseImageProperties","newByte","doNotRecover","sqcd","spqcdSize","mainHeader","isSigned","qcd","noQuantization","spqcd","cqcc","qcc","cod","scod","multipleComponentTransform","blockStyle","selectiveArithmeticCodingBypass","resetContextProbabilities","terminationOnEachCodingPass","verticallyStripe","predictableTermination","precinctsSize","unsupported","partIndex","partsCount","resultImages","transformedTiles","y2","tile0","out","fourComponents","y0items","y1items","y2items","y3items","component0","alpha01","transformComponents","levelsLength","levels","currentLevel","defaultValue","stopValue","propagateValues","levelIndex","currentValue","UNIFORM_CONTEXT","LLAndLHContextsLabel","HLContextLabel","HHContextLabel","contextLabelTable","coefficientCount","neighborsSignificance","processingFlags","setNeighborsSignificance","column","labels","i1","decodeSignBit","contribution","sign0","sign1","significance1","decoded","horizontalContribution","indexNext","width4","index0","iNext","oneRowDown","twoRowsDown","threeRowsDown","indexBase","checkAllEmpty","i2","Transform","u0","ll","iterate","extend","j1","j2","hl_lh_hh","u","llWidth","llHeight","llItems","rowBuffer","numBuffers","colBuffers","currentBuffer","current","alpha","beta","gamma","calculateSHA512","calculateSHA384","calculateSHA256","PDF20","PDF17","ARCFourCipher","AES256Cipher","AES128Cipher","keyLength","encryptBlock","tmp2","decryptBlock","h0","h1","h2","h3","paddedLength","padded","w","f","rotateArg","Word64","highInteger","lowInteger","high","low","and","word","xor","or","shiftRight","places","shiftLeft","rotateRight","not","add","lowAdd","highAdd","copyTo","assign","rotr","maj","sigma","sigmaPrime","littleSigma","h4","h5","h6","h7","t1","littleSigmaPrime","mode384","tmp3","tmp1","NullCipher","AESBaseCipher","_s","_inv_s","_mix","_mixCol","bufferPosition","_expandKey","cipherKey","_decrypt","_keySize","_cyclesOfRepetition","s0","s1","s3","_encrypt","_decryptBlock2","finalize","sourceLength","iv","plain","_key","outputLength","lastBlock","psLen","cipher","_rcon","rcon","t3","t4","compareByteArrays","array1","array2","checkOwnerPassword","ownerValidationSalt","userBytes","ownerPassword","hashData","checkUserPassword","userValidationSalt","userPassword","getOwnerKey","ownerKeySalt","ownerEncryption","getUserKey","userKeySalt","userEncryption","concatArrays","calculatePDF20Hash","arrayLength","k1","remainder","concatBytes","CipherTransform","stringCipherConstructor","streamCipherConstructor","StringCipherConstructor","StreamCipherConstructor","defaultPasswordBytes","prepareKeyData","revision","hashDataSize","keyLengthInBytes","checkData","encryptionKey","derivedKey","identityName","algorithm","cfDict","streamCryptoName","handlerDict","passwordBytes","fileIdBytes","uBytes","perms","passwordLength","pdfAlgorithm","createEncryptionKey20","decodedPassword","decodeUserPassword","cf","stmf","strf","eff","buildObjectKey","isAes","buildCipherConstructor","cfm","cryptFilter","cipherConstructor","numComps","srcOffset","getRgbItem","destOffset","getRgbBuffer","getOutputLength","inputLength","isPassthrough","isDefaultDecode","decodeMap","bpc","fillRgb","originalWidth","originalHeight","actualHeight","comps","numComponentColors","needsResizing","allColors","colorMap","rgbPos","destPos","w1","w2","xRatio","yRatio","oldIndex","newIndex","xScaled","w1Scanline","resizeRgbImage","usesZeroToOneRange","cs","res","IR","parseToIR","fromIR","whitePoint","blackPoint","gray","cmyk","CalGrayCS","matrix","CalRGBCS","basePatternCS","PatternCS","baseIndexedCS","hiVal","IndexedCS","alt","tintFn","AlternateCS","LabCS","colorSpaces","resCS","altIR","DeviceGrayCS","DeviceRgbCS","DeviceCmykCS","tmpBuf","baseNumComps","baseBuf","scaled","tinted","baseCS","highVal","outputDelta","lookupPos","convertToRgb","srcScale","AG","G","L","YW","XW","ZW","XB","YB","ZB","BRADFORD_SCALE_MATRIX","BRADFORD_SCALE_INVERSE_MATRIX","SRGB_D65_XYZ_TO_RGB_MATRIX","FLAT_WHITEPOINT_MATRIX","tempNormalizeMatrix","tempConvertMatrix1","tempConvertMatrix2","matrixProduct","sRGBTransferFunction","adjustToRange","decodeL","A","B","C","AGR","GR","BGG","GG","CGB","GB","X","MXA","MXB","MXC","MYA","MYB","MYC","Z","MZA","MZB","MZC","XYZ","XYZ_Flat","sourceWhitePoint","XYZ_In","LMS","LMS_Flat","convertToFlat","normalizeWhitePointToFlat","XYZ_Black","sourceBlackPoint","zeroDecodeL","X_Scale","X_Offset","Y_Scale","Y_Offset","Z_Scale","Z_Offset","compensateBlackPoint","XYZ_D65","LMS_D65","convertToD65","normalizeWhitePointToD65","SRGB","fn_g","high1","low2","high2","maxVal","Ls","as","bs","amin","amax","bmin","bmax","M","N","LocalImageCache","_nameRefMap","_imageMap","_imageCache","getByName","getByRef","NUM_PAGES_THRESHOLD","MAX_IMAGES_TO_CACHE","_refCache","shouldCache","pageIndexSet","addPageIndex","Set","setData","onlyData","getQuadPoints","MarkupAnnotation","AnnotationBorderStyle","Annotation","quadPoints","quadPointsLists","parameters","LinkAnnotation","TextAnnotation","fieldType","TextWidgetAnnotation","ButtonWidgetAnnotation","ChoiceWidgetAnnotation","WidgetAnnotation","PopupAnnotation","FreeTextAnnotation","LineAnnotation","SquareAnnotation","CircleAnnotation","PolylineAnnotation","PolygonAnnotation","CaretAnnotation","InkAnnotation","HighlightAnnotation","UnderlineAnnotation","SquigglyAnnotation","StrikeOutAnnotation","StampAnnotation","FileAttachmentAnnotation","setContents","setModificationDate","setFlags","setRectangle","setColor","setBorderStyle","setAppearance","annotationFlags","borderStyle","contents","hasAppearance","appearance","modificationDate","_hasFlag","flag","_isViewable","_isPrintable","hasFlag","dictType","setWidth","setStyle","setDashArray","setHorizontalCornerRadius","setVerticalCornerRadius","appearanceStates","normalAppearanceState","evaluator","renderForms","appearanceDict","bbox","maxY","getAxialAlignedBoundingBox","getTransformMatrix","dashArray","horizontalCornerRadius","verticalCornerRadius","maxHeight","isValid","allZeros","radius","rawIRT","inReplyTo","rt","replyType","setCreationDate","creationDate","hasPopup","annotationType","fieldName","_constructFieldName","fieldValue","alternativeText","defaultAppearance","fieldResources","fieldFlags","readOnly","hasFieldFlag","unshift","loopDict","alignment","textAlignment","maximumLength","multiLine","comb","checkBox","radioButton","pushButton","_processCheckBox","_processRadioButton","_processPushButton","customAppearance","exportValueOptionsDict","exportValues","exportValue","buttonValue","fieldParent","fieldParentValue","option","isOptionArray","displayValue","combo","multiSelect","stateModel","parentItem","parentSubtype","parentType","rawParent","parentId","parentFlags","lineCoordinates","rawVertices","vertices","originalInkLists","inkLists","file","QueueOptimizer","addState","parentState","pattern","checkFn","iterateFn","processFn","InitialState","iCurr","fnArray","argsArray","match","lastProcessed","curr","iFirstSave","iFirstTransform","iFirstPIIXO","map","maxLineHeight","currentX","currentY","img","imgWidth","imgHeight","dataOffset","kind","iFirstPIMXO","imageMask","handlePaintSolidColorImageMask","iTransform","transformArgs","isSameImage","firstPIMXOArg0","firstTransformArg0","firstTransformArg3","iPIMXO","positions","images","maskParams","firstPIXOArg0","iFirstSetFont","firstSetFontArg0","firstSetFontArg1","iFirstBeginText","iFirstSetTextMatrix","iFirstShowText","iFirstEndText","iFirst","iEndText","_optimize","fn","NullOptimizer","streamSink","_streamSink","optimizer","dependencies","_totalLength","weight","_resolved","ready","CHUNK_SIZE","addDependency","addDependencies","getIR","_transfers","transfers","cached","enqueue","_cmap","_fonts","_encodings","_unicode","_standard_fonts","_pattern","_bidi","_glyphlist","_metrics","_murmurhash","_image","DefaultPartialEvaluatorOptions","parsingType3Font","fetchBuiltInCMap","sendWithStream","getReader","pump","compressionType","TimeSlotManager","normalizeBlendMode","parsingArray","maybeBM","checked","endTime","deferred","clone","newOptions","newEvaluator","nodes","graphicStates","graphicStatesKeys","graphicState","bm","xObjects","xObjectsKeys","xObject","xResources","xobj","initialState","group","groupOptions","isolated","knockout","groupSubtype","colorSpace","parseColorSpace","backdrop","image","isInline","localImageCache","imageRef","bitStrideLength","imgArray","PDFImage","createMask","imageIsFromDecodeStream","inverseDecode","softMask","imageObj","createImageData","cacheGlobally","imgPromise","buildImage","handleSMask","stateManager","smaskContent","smaskOptions","transferObj","isPDFFunction","transferFn","transferMap","buildFormXObject","handleTilingType","patternDict","tilingOpList","resourcesArray","patternResources","getTilingPatternIR","tilingPatternIR","handleSetFont","fontArgs","fontRef","fontName","loadFont","isType3Font","loadType3Data","TranslatedFont","ErrorFont","extraProperties","handleText","chars","glyphs","charsToGlyphs","textRenderingMode","fillColorSpace","buildFontPaths","ensureStateFont","gState","gStateObj","gStateKeys","errorFont","fontRes","getFallbackFontDict","fontCapability","preEvaluatedFont","preEvaluateFont","descriptor","fontID","translatedPromise","fontRefIsRef","fontAliases","aliasFontRef","Font","getFontID","translateFont","fontType","fontFile3","getFontType","buildPath","parsingText","lastIndex","opArgs","patternName","typeNum","shading","Pattern","parseShading","EvalState","xobjs","StateManager","preprocessor","EvaluatorPreprocessor","timeSlotManager","closePendingRestoreOPS","argument","savedStatesDepth","promiseBody","stop","operation","localImage","resolveXObject","rejectXObject","globalImage","buildPaintImageXObject","fontSize","combinedGlyphs","arrLength","arrItem","strokeColorSpace","handleColorN","shadingRes","patternIR","dictName","extGState","seenStyles","TextState","WhitespaceRegexp","textContent","styles","textContentItem","vertical","lastAdvanceWidth","lastAdvanceHeight","textAdvanceScale","spaceWidth","fakeSpaceMin","Infinity","fakeMultiSpaceMin","fakeMultiSpaceMax","textRunBreakAllowed","emptyXObjectCache","textState","ensureTextContentItem","fontFamily","fallbackName","ascent","descent","tsm","textHScale","textRise","fontMatrix","glyphHeight","trm","ctm","textMatrix","textLineMatrix","scaleLineX","scaleCtmX","isMonospace","replaceWhitespace","buildTextContentItem","textChunk","glyphWidth","glyph","vmetric","glyphUnicode","unicode","NormalizedUnicodes","getNormalizedUnicodes","reverseIfRtl","charSpacing","isSpace","wordSpacing","addFakeSpaces","tx","ty","translateTextMatrix","abs","fakeSpaces","round","flushTextContentItem","bidiResult","bidi","dir","enqueueChunk","advance","fontNameArg","fontSizeArg","leading","isSameTextLine","translateTextLineMatrix","carriageReturn","calcTextLineMatrixAdvance","setTextLineMatrix","breakTextRun","currentState","xObjStateManager","sinkWrapper","enqueueInvoked","gStateFont","extractDataStructures","baseDict","properties","cidToGidBytes","toUnicode","toUnicodePromise","readToUnicode","composite","cidSystemInfo","registry","ordering","supplement","cidToGidMap","differences","baseEncodingName","diffEncoding","defaultEncoding","getEncoding","isSymbolicFont","FontFlags","Symbolic","isNonsymbolicFont","Nonsymbolic","StandardEncoding","WinAnsiEncoding","MacRomanEncoding","SymbolSetEncoding","ZapfDingbatsEncoding","hasEncoding","buildToUnicode","builtToUnicode","readCidToGidMap","_buildSimpleFontToUnicode","forceGlyphs","charcode","glyphName","glyphsUnicodeMap","getGlyphsUnicode","codeStr","getUnicodeForGlyph","baseEncoding","fromCodePoint","ToUnicodeMap","hasIncludedToUnicodeMap","fallbackToUnicode","cMap","builtInCMap","IdentityCMap","ucs2CMapName","CMapFactory","useCMap","ucs2CMap","cid","ucs2","IdentityToUnicodeMap","firstChar","lastChar","cmapObj","cmap","getMap","charCode","glyphsData","glyphID","extractWidths","defaultVMetrics","widths","glyphsWidths","defaultWidth","glyphsVMetrics","vmetrics","parseFloat","baseFontName","metrics","getBaseFontMetrics","buildCharCodeToWidth","firstWidth","FixedPitch","isSerifFont","fontNameWoStyle","getSerifFonts","search","monospace","lookupName","getStdFontMap","Metrics","getMetrics","glyphWidths","widthsByGlyphName","uint8array","df","MurmurHash3_64","update","diffLength","diffBuf","diffEntry","hexdigest","maxCharIndex","Serif","getSymbolsFonts","newProperties","baseFont","fontNameStr","baseFontStr","cMapPromise","fontFile","length1","length2","length3","fixedPitch","xHeight","capHeight","italicAngle","cidEncoding","fontChar","renderer","hasBuiltPath","getPathJs","accent","_fallbackFontDict","_extraProperties","type3Loaded","sent","exportData","glyphCacheValues","parentOperatorList","type3Options","type3Evaluator","loadCharProcsPromise","charProcs","fontResources","charProcKeys","charProcOperatorList","glyphStream","dummyOperatorList","stateStack","old","txDiff","tyDiff","denominator","calcRenderMatrix","getOPMap","numArgs","variableArgs","J","ri","gs","Q","cm","re","S","F","W","BT","ET","Tc","Tw","Tz","TL","Tf","Tr","Ts","Td","TD","Tm","Tj","TJ","d0","d1","CS","SC","SCN","sc","scn","RG","rg","sh","BI","ID","EI","Do","MP","DP","BMC","BDC","EMC","BX","EX","BM","BD","true","fa","fal","fals","false","nu","nul","null","opMap","nonProcessedArgs","_numInvalidPathOPS","opSpec","argsLength","preprocessCommand","CMap","BUILT_IN_CMAPS","MAX_MAP_RANGE","codespaceRanges","numCodespaceRanges","addCodespaceRange","mapCidRange","dstLow","mapBfRange","mapBfRangeToArray","mapOne","dst","contains","charCodeOf","readCharCode","nn","codespaceRange","isIdentityCMap","BinaryCMapReader","hexToInt","hexToStr","addHex","incHex","MAX_NUM_SIZE","BinaryCMapStream","readByte","readNumber","readSigned","readHex","readHexNumber","stack","sp","readHexSigned","readString","char","sequence","dataSize","subitemsCount","strToInt","expectString","expectInt","parseBfChar","parseBfRange","parseCidChar","parseCidRange","parseCodespaceRange","parseWMode","parseCMapName","parseCMap","previous","embeddedUseCMap","objLoop","extendCMap","createBuiltInCMap","newCMap","useCodespaceRanges","cMapData","parsedCMap","SEAC_ANALYSIS_ENABLED","_cff_parser","_font_renderer","_type1_parser","PRIVATE_USE_AREAS","PDF_GLYPH_SPACE_UNITS","EXPORT_DATA_PROPERTIES","EXPORT_DATA_EXTRA_PROPERTIES","Script","Italic","AllCap","SmallCap","ForceBold","MacStandardGlyphOrdering","adjustWidths","recoverGlyphName","Glyph","operatorListId","isInFont","matchesForCache","amend","OpenTypeFileBuilder","writeInt16","writeInt32","writeData","sfnt","tables","getSearchParams","entriesCount","entrySize","maxPower2","searchRange","rangeShift","toArray","tablesNames","tableName","numTables","tableOffsets","searchParams","checksum","addTable","tag","missingFile","glyphCache","toFontChar","fallbackToSystemFont","fileType","fileSubtype","isTrueTypeFile","isTrueTypeCollectionFile","isOpenTypeFile","isType1File","isCFFFile","getFontFileType","mimetype","cff","CFFFont","Type1Font","convert","checkAndRepair","isOpenType","seacMap","int16","signedInt16","string16","safeString16","buildToFontChar","adjustMapping","charCodeToGlyphId","hasGlyph","newGlyphZeroId","newMap","privateUseAreaIndex","nextAvailableFontCharCode","privateUseOffetEnd","originalCharCode","glyphId","fontCharCode","createCmapTable","numGlyphs","codeIndices","getRanges","bmpLength","trailingRangesCount","segCount","startCount","endCount","idDeltas","idRangeOffsets","glyphsIds","bias","contiguous","format314","format31012","header31012","createOS2Table","charstrings","override","unitsPerEm","yMax","yMin","ulUnicodeRange1","ulUnicodeRange2","ulUnicodeRange3","ulUnicodeRange4","firstCharIndex","lastCharIndex","getUnicodeRangeFor","ascentScaled","typoAscent","typoDescent","winAscent","winDescent","createPostTable","angle","createNameTable","proto","strings","stringsUnicode","strBufUnicode","platforms","encodings","languages","namesRecordCount","nameTable","strOffset","strs","FontRendererFactory","exportDataProperties","stdFontMap","nonStdFontMap","getNonStdFontMap","isStandardFont","remeasure","GlyphMapForStandardFonts","getGlyphMapForStandardFonts","SupplementalGlyphMapForArialBlack","getSupplementalGlyphMapForArialBlack","SupplementalGlyphMapForCalibri","getSupplementalGlyphMapForCalibri","unicodeCharCode","getDingbatsGlyphsUnicode","VALID_TABLES","readTables","head","hhea","hmtx","maxp","post","readTableEntry","previousPosition","readOpenTypeHeader","ttf","entrySelector","sanitizeGlyph","sourceStart","sourceEnd","destStart","hintsValid","glyphProfile","sizeOfInstructions","glyf","contoursCount","flagsCount","instructionsStart","instructionsLength","instructionsEnd","coordinatesLength","xLength","yLength","xyLength","repeat","glyphDataLength","readNameTable","numRecords","stringsStart","records","platform","language","record","nameIndex","TTOpsStackDeltas","sanitizeTTProgram","ttContext","funcId","lastEndf","lastDeff","callstack","functionsCalled","tooComplexToFollowFunctions","inFDEF","ifLevel","inELSE","op","functionsStackDeltas","stackTop","functionsDefined","functionsUsed","newStackLength","stackDelta","NaN","foldTTTable","cffFile","ttcData","ttc","numFonts","offsetTable","ttcTag","majorVersion","minorVersion","dsigTag","dsigLength","dsigOffset","readTrueTypeCollectionHeader","potentialHeader","potentialTables","nameEntry","readTrueTypeCollectionData","isTrueType","loca","isComposite","fpgm","prep","numGlyphsOut","dupFirstEntry","maxFunctionDefs","maxSizeOfInstructions","cvt","checkInvalidFunctions","cvtData","sanitizeTTPrograms","numOfMetrics","numMissing","sanitizeMetrics","locaLength","indexToLocFormat","numGlyphsPlusOne","sanitizeHead","missingGlyphs","isGlyphLocationsLong","glyphsInfo","itemSize","itemDecode","itemEncode","locaDataSize","locaData","oldGlyfData","oldGlyfDataLength","newGlyfData","writeOffset","simpleGlyph","firstEntryLength","sanitizeGlyphLocations","metricsOverride","propertiesObj","maxpNumGlyphs","glyphNames","valid","glyphNameIndexes","customNames","stringLength","readPostScriptTable","isCidToGidMapEmpty","cmapTable","platformId","encodingId","mappings","hasShortCmap","potentialTable","canBreak","useTable","format","segIndex","offsetsCount","rangeOffset","offsetIndex","offsets","readCmapTable","cmapPlatformId","cmapEncodingId","cmapMappings","cmapMappingsLength","standardGlyphName","unicodeOrCharCode","glyphZeroId","newMapping","os2","selection","validateOS2Table","CFFParser","duplicateFirstGlyph","compiler","CFFCompiler","compile","namePrototype","builder","tableTag","builtInEncoding","adjustToUnicode","mapping","getGlyphMapping","hasGlyphId","getCharCodes","charCodes","createCharCode","seacs","charset","getCharset","seac","baseGlyphName","accentGlyphName","baseGlyphId","accentGlyphId","accentOffset","baseFontCharCode","accentFontCharCode","tan","cffWidths","charstring","possibleSpaceReplacements","charToGlyph","widthCode","mapSpecialUnicodeValues","charsCache","charsCacheKey","type1FontGlyphMapping","findBlock","streamBytes","startIndex","streamBytesLength","headerBlockLength","pfbHeader","pfbHeaderPresent","headerBlock","suggestedLength","headerBytes","headerBytesLength","EEXEC_SIGNATURE","streamStartPos","getHeaderBlock","Type1Parser","extractFontHeader","eexecBytes","eexecBlock","extractFontProgram","type2Charstrings","getType2Charstrings","subrs","getType2Subrs","wrap","getSeacs","charstringsLen","type1Charstrings","type1Subrs","type2Subrs","CFF","CFFHeader","CFFTopDict","setByName","CFFStrings","globalSubrIndex","CFFIndex","charsetArray","CFFStandardStrings","CFFCharset","charStringsIndex","charStrings","privateDict","CFFPrivateDict","field","privateData","subrIndex","subrsIndex","charsets","isCIDFont","CFFFDSelect","_charsets","CharstringValidationData","stackClearing","stem","resetStack","undefStack","CharstringValidationData12","stackFn","seacAnalysisEnabled","parseHeader","parseIndex","topDictIndex","stringIndex","topDictParsed","parseDict","createDict","parseNameIndex","parseStringIndex","parsePrivateDict","hasName","charStringOffset","charStringIndex","fontBBox","fdArrayIndex","dictRaw","fontDict","fdArray","parseCharsets","fdSelect","parseFDSelect","parseEncoding","charStringsAndSeacs","parseCharStrings","localSubrIndex","hdrSize","offSize","operands","parseFloatOperand","cffIndex","offsetSize","offsetStart","offsetEnd","Type","cffDict","pair","setByKey","parseCharString","callDepth","stackSize","validationCommand","subrNumber","hasVStems","firstStackClearing","localSubrToUse","privateDictToUse","fdIndex","getFDIndex","nominalWidth","emptyPrivateDictionary","parentDict","privateOffset","privateDictEnd","dictData","subrsOffset","relativeOffset","removeByName","CFFCharsetPredefinedTypes","ISO_ADOBE","ISOAdobeCharset","EXPERT","ExpertCharset","EXPERT_SUBSET","ExpertSubsetCharset","raw","predefined","ExpertEncoding","dataStart","glyphsCount","rangesCount","gid","supplementsCount","sid","readSupplement","CFFEncoding","glyphZero","NUM_STANDARD_CFF_STRINGS","getSID","objects","CFFDict","keyToNameMap","nameToKeyMap","defaults","types","opcodes","order","valueLength","createTables","layout","glyphIndex","CFFOffsetTracker","isTracking","track","location","setEntryLocation","offset1","offset2","offset3","offset4","compileHeader","compileNameIndex","subDict","compiled","compileTopDicts","topDictTracker","trackers","compileStringIndex","compileIndex","compileEncoding","compileCharset","compileCharStrings","compileFDSelect","fontDictTrackers","compilePrivateDicts","encodeNumber","encodeFloat","encodeInteger","nibbles","sanitizedName","dicts","removeCidKeys","fontDictTracker","fontDictData","compileDict","privateDictTracker","privateDictData","offsetTracker","compileGlobalSubrIndex","writeByteArray","numGlyphsLessNotDef","charsetIndex","numCharsets","warned","compileTypedArray","lastFD","currentFD","numRanges","lastOffset","encodingName","MacExpertEncoding","AE","AEacute","AEmacron","AEsmall","Aacute","Aacutesmall","Abreve","Abreveacute","Abrevecyrillic","Abrevedotbelow","Abrevegrave","Abrevehookabove","Abrevetilde","Acaron","Acircle","Acircumflex","Acircumflexacute","Acircumflexdotbelow","Acircumflexgrave","Acircumflexhookabove","Acircumflexsmall","Acircumflextilde","Acute","Acutesmall","Acyrillic","Adblgrave","Adieresis","Adieresiscyrillic","Adieresismacron","Adieresissmall","Adotbelow","Adotmacron","Agrave","Agravesmall","Ahookabove","Aiecyrillic","Ainvertedbreve","Alpha","Alphatonos","Amacron","Amonospace","Aogonek","Aring","Aringacute","Aringbelow","Aringsmall","Asmall","Atilde","Atildesmall","Aybarmenian","Bcircle","Bdotaccent","Bdotbelow","Becyrillic","Benarmenian","Beta","Bhook","Blinebelow","Bmonospace","Brevesmall","Bsmall","Btopbar","Caarmenian","Cacute","Caron","Caronsmall","Ccaron","Ccedilla","Ccedillaacute","Ccedillasmall","Ccircle","Ccircumflex","Cdot","Cdotaccent","Cedillasmall","Chaarmenian","Cheabkhasiancyrillic","Checyrillic","Chedescenderabkhasiancyrillic","Chedescendercyrillic","Chedieresiscyrillic","Cheharmenian","Chekhakassiancyrillic","Cheverticalstrokecyrillic","Chi","Chook","Circumflexsmall","Cmonospace","Coarmenian","Csmall","D","DZ","DZcaron","Daarmenian","Dafrican","Dcaron","Dcedilla","Dcircle","Dcircumflexbelow","Dcroat","Ddotaccent","Ddotbelow","Decyrillic","Deicoptic","Delta","Deltagreek","Dhook","Dieresis","DieresisAcute","DieresisGrave","Dieresissmall","Digammagreek","Djecyrillic","Dlinebelow","Dmonospace","Dotaccentsmall","Dslash","Dsmall","Dtopbar","Dz","Dzcaron","Dzeabkhasiancyrillic","Dzecyrillic","Dzhecyrillic","E","Eacute","Eacutesmall","Ebreve","Ecaron","Ecedillabreve","Echarmenian","Ecircle","Ecircumflex","Ecircumflexacute","Ecircumflexbelow","Ecircumflexdotbelow","Ecircumflexgrave","Ecircumflexhookabove","Ecircumflexsmall","Ecircumflextilde","Ecyrillic","Edblgrave","Edieresis","Edieresissmall","Edot","Edotaccent","Edotbelow","Efcyrillic","Egrave","Egravesmall","Eharmenian","Ehookabove","Eightroman","Einvertedbreve","Eiotifiedcyrillic","Elcyrillic","Elevenroman","Emacron","Emacronacute","Emacrongrave","Emcyrillic","Emonospace","Encyrillic","Endescendercyrillic","Eng","Enghecyrillic","Enhookcyrillic","Eogonek","Eopen","Epsilon","Epsilontonos","Ercyrillic","Ereversed","Ereversedcyrillic","Escyrillic","Esdescendercyrillic","Esh","Esmall","Eta","Etarmenian","Etatonos","Eth","Ethsmall","Etilde","Etildebelow","Euro","Ezh","Ezhcaron","Ezhreversed","Fcircle","Fdotaccent","Feharmenian","Feicoptic","Fhook","Fitacyrillic","Fiveroman","Fmonospace","Fourroman","Fsmall","GBsquare","Gacute","Gamma","Gammaafrican","Gangiacoptic","Gbreve","Gcaron","Gcedilla","Gcircle","Gcircumflex","Gcommaaccent","Gdot","Gdotaccent","Gecyrillic","Ghadarmenian","Ghemiddlehookcyrillic","Ghestrokecyrillic","Gheupturncyrillic","Ghook","Gimarmenian","Gjecyrillic","Gmacron","Gmonospace","Grave","Gravesmall","Gsmall","Gsmallhook","Gstroke","H","H18533","H18543","H18551","H22073","HPsquare","Haabkhasiancyrillic","Hadescendercyrillic","Hardsigncyrillic","Hbar","Hbrevebelow","Hcedilla","Hcircle","Hcircumflex","Hdieresis","Hdotaccent","Hdotbelow","Hmonospace","Hoarmenian","Horicoptic","Hsmall","Hungarumlaut","Hungarumlautsmall","Hzsquare","I","IAcyrillic","IJ","IUcyrillic","Iacute","Iacutesmall","Ibreve","Icaron","Icircle","Icircumflex","Icircumflexsmall","Icyrillic","Idblgrave","Idieresis","Idieresisacute","Idieresiscyrillic","Idieresissmall","Idot","Idotaccent","Idotbelow","Iebrevecyrillic","Iecyrillic","Ifraktur","Igrave","Igravesmall","Ihookabove","Iicyrillic","Iinvertedbreve","Iishortcyrillic","Imacron","Imacroncyrillic","Imonospace","Iniarmenian","Iocyrillic","Iogonek","Iota","Iotaafrican","Iotadieresis","Iotatonos","Ismall","Istroke","Itilde","Itildebelow","Izhitsacyrillic","Izhitsadblgravecyrillic","Jaarmenian","Jcircle","Jcircumflex","Jecyrillic","Jheharmenian","Jmonospace","Jsmall","KBsquare","KKsquare","Kabashkircyrillic","Kacute","Kacyrillic","Kadescendercyrillic","Kahookcyrillic","Kappa","Kastrokecyrillic","Kaverticalstrokecyrillic","Kcaron","Kcedilla","Kcircle","Kcommaaccent","Kdotbelow","Keharmenian","Kenarmenian","Khacyrillic","Kheicoptic","Khook","Kjecyrillic","Klinebelow","Kmonospace","Koppacyrillic","Koppagreek","Ksicyrillic","Ksmall","LJ","Lacute","Lambda","Lcaron","Lcedilla","Lcircle","Lcircumflexbelow","Lcommaaccent","Ldot","Ldotaccent","Ldotbelow","Ldotbelowmacron","Liwnarmenian","Lj","Ljecyrillic","Llinebelow","Lmonospace","Lslash","Lslashsmall","Lsmall","MBsquare","Macron","Macronsmall","Macute","Mcircle","Mdotaccent","Mdotbelow","Menarmenian","Mmonospace","Msmall","Mturned","Mu","NJ","Nacute","Ncaron","Ncedilla","Ncircle","Ncircumflexbelow","Ncommaaccent","Ndotaccent","Ndotbelow","Nhookleft","Nineroman","Nj","Njecyrillic","Nlinebelow","Nmonospace","Nowarmenian","Nsmall","Ntilde","Ntildesmall","Nu","O","OE","OEsmall","Oacute","Oacutesmall","Obarredcyrillic","Obarreddieresiscyrillic","Obreve","Ocaron","Ocenteredtilde","Ocircle","Ocircumflex","Ocircumflexacute","Ocircumflexdotbelow","Ocircumflexgrave","Ocircumflexhookabove","Ocircumflexsmall","Ocircumflextilde","Ocyrillic","Odblacute","Odblgrave","Odieresis","Odieresiscyrillic","Odieresissmall","Odotbelow","Ogoneksmall","Ograve","Ogravesmall","Oharmenian","Ohm","Ohookabove","Ohorn","Ohornacute","Ohorndotbelow","Ohorngrave","Ohornhookabove","Ohorntilde","Ohungarumlaut","Oi","Oinvertedbreve","Omacron","Omacronacute","Omacrongrave","Omega","Omegacyrillic","Omegagreek","Omegaroundcyrillic","Omegatitlocyrillic","Omegatonos","Omicron","Omicrontonos","Omonospace","Oneroman","Oogonek","Oogonekmacron","Oopen","Oslash","Oslashacute","Oslashsmall","Osmall","Ostrokeacute","Otcyrillic","Otilde","Otildeacute","Otildedieresis","Otildesmall","P","Pacute","Pcircle","Pdotaccent","Pecyrillic","Peharmenian","Pemiddlehookcyrillic","Phi","Phook","Pi","Piwrarmenian","Pmonospace","Psi","Psicyrillic","Psmall","Qcircle","Qmonospace","Qsmall","R","Raarmenian","Racute","Rcaron","Rcedilla","Rcircle","Rcommaaccent","Rdblgrave","Rdotaccent","Rdotbelow","Rdotbelowmacron","Reharmenian","Rfraktur","Rho","Ringsmall","Rinvertedbreve","Rlinebelow","Rmonospace","Rsmall","Rsmallinverted","Rsmallinvertedsuperior","SF010000","SF020000","SF030000","SF040000","SF050000","SF060000","SF070000","SF080000","SF090000","SF100000","SF110000","SF190000","SF200000","SF210000","SF220000","SF230000","SF240000","SF250000","SF260000","SF270000","SF280000","SF360000","SF370000","SF380000","SF390000","SF400000","SF410000","SF420000","SF430000","SF440000","SF450000","SF460000","SF470000","SF480000","SF490000","SF500000","SF510000","SF520000","SF530000","SF540000","Sacute","Sacutedotaccent","Sampigreek","Scaron","Scarondotaccent","Scaronsmall","Scedilla","Schwa","Schwacyrillic","Schwadieresiscyrillic","Scircle","Scircumflex","Scommaaccent","Sdotaccent","Sdotbelow","Sdotbelowdotaccent","Seharmenian","Sevenroman","Shaarmenian","Shacyrillic","Shchacyrillic","Sheicoptic","Shhacyrillic","Shimacoptic","Sigma","Sixroman","Smonospace","Softsigncyrillic","Ssmall","Stigmagreek","T","Tau","Tbar","Tcaron","Tcedilla","Tcircle","Tcircumflexbelow","Tcommaaccent","Tdotaccent","Tdotbelow","Tecyrillic","Tedescendercyrillic","Tenroman","Tetsecyrillic","Theta","Thook","Thorn","Thornsmall","Threeroman","Tildesmall","Tiwnarmenian","Tlinebelow","Tmonospace","Toarmenian","Tonefive","Tonesix","Tonetwo","Tretroflexhook","Tsecyrillic","Tshecyrillic","Tsmall","Twelveroman","Tworoman","U","Uacute","Uacutesmall","Ubreve","Ucaron","Ucircle","Ucircumflex","Ucircumflexbelow","Ucircumflexsmall","Ucyrillic","Udblacute","Udblgrave","Udieresis","Udieresisacute","Udieresisbelow","Udieresiscaron","Udieresiscyrillic","Udieresisgrave","Udieresismacron","Udieresissmall","Udotbelow","Ugrave","Ugravesmall","Uhookabove","Uhorn","Uhornacute","Uhorndotbelow","Uhorngrave","Uhornhookabove","Uhorntilde","Uhungarumlaut","Uhungarumlautcyrillic","Uinvertedbreve","Ukcyrillic","Umacron","Umacroncyrillic","Umacrondieresis","Umonospace","Uogonek","Upsilon","Upsilon1","Upsilonacutehooksymbolgreek","Upsilonafrican","Upsilondieresis","Upsilondieresishooksymbolgreek","Upsilonhooksymbol","Upsilontonos","Uring","Ushortcyrillic","Usmall","Ustraightcyrillic","Ustraightstrokecyrillic","Utilde","Utildeacute","Utildebelow","V","Vcircle","Vdotbelow","Vecyrillic","Vewarmenian","Vhook","Vmonospace","Voarmenian","Vsmall","Vtilde","Wacute","Wcircle","Wcircumflex","Wdieresis","Wdotaccent","Wdotbelow","Wgrave","Wmonospace","Wsmall","Xcircle","Xdieresis","Xdotaccent","Xeharmenian","Xi","Xmonospace","Xsmall","Yacute","Yacutesmall","Yatcyrillic","Ycircle","Ycircumflex","Ydieresis","Ydieresissmall","Ydotaccent","Ydotbelow","Yericyrillic","Yerudieresiscyrillic","Ygrave","Yhook","Yhookabove","Yiarmenian","Yicyrillic","Yiwnarmenian","Ymonospace","Ysmall","Ytilde","Yusbigcyrillic","Yusbigiotifiedcyrillic","Yuslittlecyrillic","Yuslittleiotifiedcyrillic","Zaarmenian","Zacute","Zcaron","Zcaronsmall","Zcircle","Zcircumflex","Zdot","Zdotaccent","Zdotbelow","Zecyrillic","Zedescendercyrillic","Zedieresiscyrillic","Zeta","Zhearmenian","Zhebrevecyrillic","Zhecyrillic","Zhedescendercyrillic","Zhedieresiscyrillic","Zlinebelow","Zmonospace","Zsmall","Zstroke","aabengali","aacute","aadeva","aagujarati","aagurmukhi","aamatragurmukhi","aarusquare","aavowelsignbengali","aavowelsigndeva","aavowelsigngujarati","abbreviationmarkarmenian","abbreviationsigndeva","abengali","abopomofo","abreve","abreveacute","abrevecyrillic","abrevedotbelow","abrevegrave","abrevehookabove","abrevetilde","acaron","acircle","acircumflex","acircumflexacute","acircumflexdotbelow","acircumflexgrave","acircumflexhookabove","acircumflextilde","acute","acutebelowcmb","acutecmb","acutecomb","acutedeva","acutelowmod","acutetonecmb","acyrillic","adblgrave","addakgurmukhi","adeva","adieresis","adieresiscyrillic","adieresismacron","adotbelow","adotmacron","ae","aeacute","aekorean","aemacron","afii00208","afii08941","afii10017","afii10018","afii10019","afii10020","afii10021","afii10022","afii10023","afii10024","afii10025","afii10026","afii10027","afii10028","afii10029","afii10030","afii10031","afii10032","afii10033","afii10034","afii10035","afii10036","afii10037","afii10038","afii10039","afii10040","afii10041","afii10042","afii10043","afii10044","afii10045","afii10046","afii10047","afii10048","afii10049","afii10050","afii10051","afii10052","afii10053","afii10054","afii10055","afii10056","afii10057","afii10058","afii10059","afii10060","afii10061","afii10062","afii10063","afii10064","afii10065","afii10066","afii10067","afii10068","afii10069","afii10070","afii10071","afii10072","afii10073","afii10074","afii10075","afii10076","afii10077","afii10078","afii10079","afii10080","afii10081","afii10082","afii10083","afii10084","afii10085","afii10086","afii10087","afii10088","afii10089","afii10090","afii10091","afii10092","afii10093","afii10094","afii10095","afii10096","afii10097","afii10098","afii10099","afii10100","afii10101","afii10102","afii10103","afii10104","afii10105","afii10106","afii10107","afii10108","afii10109","afii10110","afii10145","afii10146","afii10147","afii10148","afii10192","afii10193","afii10194","afii10195","afii10196","afii10831","afii10832","afii10846","afii299","afii300","afii301","afii57381","afii57388","afii57392","afii57393","afii57394","afii57395","afii57396","afii57397","afii57398","afii57399","afii57400","afii57401","afii57403","afii57407","afii57409","afii57410","afii57411","afii57412","afii57413","afii57414","afii57415","afii57416","afii57417","afii57418","afii57419","afii57420","afii57421","afii57422","afii57423","afii57424","afii57425","afii57426","afii57427","afii57428","afii57429","afii57430","afii57431","afii57432","afii57433","afii57434","afii57440","afii57441","afii57442","afii57443","afii57444","afii57445","afii57446","afii57448","afii57449","afii57450","afii57451","afii57452","afii57453","afii57454","afii57455","afii57456","afii57457","afii57458","afii57470","afii57505","afii57506","afii57507","afii57508","afii57509","afii57511","afii57512","afii57513","afii57514","afii57519","afii57534","afii57636","afii57645","afii57658","afii57664","afii57665","afii57666","afii57667","afii57668","afii57669","afii57670","afii57671","afii57672","afii57673","afii57674","afii57675","afii57676","afii57677","afii57678","afii57679","afii57680","afii57681","afii57682","afii57683","afii57684","afii57685","afii57686","afii57687","afii57688","afii57689","afii57690","afii57694","afii57695","afii57700","afii57705","afii57716","afii57717","afii57718","afii57723","afii57793","afii57794","afii57795","afii57796","afii57797","afii57798","afii57799","afii57800","afii57801","afii57802","afii57803","afii57804","afii57806","afii57807","afii57839","afii57841","afii57842","afii57929","afii61248","afii61289","afii61352","afii61573","afii61574","afii61575","afii61664","afii63167","afii64937","agrave","agujarati","agurmukhi","ahiragana","ahookabove","aibengali","aibopomofo","aideva","aiecyrillic","aigujarati","aigurmukhi","aimatragurmukhi","ainarabic","ainfinalarabic","aininitialarabic","ainmedialarabic","ainvertedbreve","aivowelsignbengali","aivowelsigndeva","aivowelsigngujarati","akatakana","akatakanahalfwidth","akorean","alef","alefarabic","alefdageshhebrew","aleffinalarabic","alefhamzaabovearabic","alefhamzaabovefinalarabic","alefhamzabelowarabic","alefhamzabelowfinalarabic","alefhebrew","aleflamedhebrew","alefmaddaabovearabic","alefmaddaabovefinalarabic","alefmaksuraarabic","alefmaksurafinalarabic","alefmaksurainitialarabic","alefmaksuramedialarabic","alefpatahhebrew","alefqamatshebrew","aleph","allequal","alphatonos","amacron","amonospace","ampersand","ampersandmonospace","ampersandsmall","amsquare","anbopomofo","angbopomofo","angbracketleft","angbracketright","angkhankhuthai","anglebracketleft","anglebracketleftvertical","anglebracketright","anglebracketrightvertical","angleleft","angleright","angstrom","anoteleia","anudattadeva","anusvarabengali","anusvaradeva","anusvaragujarati","aogonek","apaatosquare","aparen","apostrophearmenian","apostrophemod","apple","approaches","approxequal","approxequalorimage","approximatelyequal","araeaekorean","araeakorean","arc","arighthalfring","aring","aringacute","aringbelow","arrowboth","arrowdashdown","arrowdashleft","arrowdashright","arrowdashup","arrowdblboth","arrowdbldown","arrowdblleft","arrowdblright","arrowdblup","arrowdown","arrowdownleft","arrowdownright","arrowdownwhite","arrowheaddownmod","arrowheadleftmod","arrowheadrightmod","arrowheadupmod","arrowhorizex","arrowleft","arrowleftdbl","arrowleftdblstroke","arrowleftoverright","arrowleftwhite","arrowright","arrowrightdblstroke","arrowrightheavy","arrowrightoverleft","arrowrightwhite","arrowtableft","arrowtabright","arrowup","arrowupdn","arrowupdnbse","arrowupdownbase","arrowupleft","arrowupleftofdown","arrowupright","arrowupwhite","arrowvertex","asciicircum","asciicircummonospace","asciitilde","asciitildemonospace","ascript","ascriptturned","asmallhiragana","asmallkatakana","asmallkatakanahalfwidth","asterisk","asteriskaltonearabic","asteriskarabic","asteriskmath","asteriskmonospace","asterisksmall","asterism","asuperior","asymptoticallyequal","atilde","atmonospace","atsmall","aturned","aubengali","aubopomofo","audeva","augujarati","augurmukhi","aulengthmarkbengali","aumatragurmukhi","auvowelsignbengali","auvowelsigndeva","auvowelsigngujarati","avagrahadeva","aybarmenian","ayin","ayinaltonehebrew","ayinhebrew","babengali","backslash","backslashmonospace","badeva","bagujarati","bagurmukhi","bahiragana","bahtthai","bakatakana","bar","barmonospace","bbopomofo","bcircle","bdotaccent","bdotbelow","beamedsixteenthnotes","because","becyrillic","beharabic","behfinalarabic","behinitialarabic","behiragana","behmedialarabic","behmeeminitialarabic","behmeemisolatedarabic","behnoonfinalarabic","bekatakana","benarmenian","bet","betasymbolgreek","betdagesh","betdageshhebrew","bethebrew","betrafehebrew","bhabengali","bhadeva","bhagujarati","bhagurmukhi","bhook","bihiragana","bikatakana","bilabialclick","bindigurmukhi","birusquare","blackcircle","blackdiamond","blackdownpointingtriangle","blackleftpointingpointer","blackleftpointingtriangle","blacklenticularbracketleft","blacklenticularbracketleftvertical","blacklenticularbracketright","blacklenticularbracketrightvertical","blacklowerlefttriangle","blacklowerrighttriangle","blackrectangle","blackrightpointingpointer","blackrightpointingtriangle","blacksmallsquare","blacksmilingface","blacksquare","blackstar","blackupperlefttriangle","blackupperrighttriangle","blackuppointingsmalltriangle","blackuppointingtriangle","blank","blinebelow","bmonospace","bobaimaithai","bohiragana","bokatakana","bparen","bqsquare","braceex","braceleft","braceleftbt","braceleftmid","braceleftmonospace","braceleftsmall","bracelefttp","braceleftvertical","braceright","bracerightbt","bracerightmid","bracerightmonospace","bracerightsmall","bracerighttp","bracerightvertical","bracketleft","bracketleftbt","bracketleftex","bracketleftmonospace","bracketlefttp","bracketright","bracketrightbt","bracketrightex","bracketrightmonospace","bracketrighttp","breve","brevebelowcmb","brevecmb","breveinvertedbelowcmb","breveinvertedcmb","breveinverteddoublecmb","bridgebelowcmb","bridgeinvertedbelowcmb","brokenbar","bstroke","bsuperior","btopbar","buhiragana","bukatakana","bullet","bulletinverse","bulletoperator","bullseye","caarmenian","cabengali","cacute","cadeva","cagujarati","cagurmukhi","calsquare","candrabindubengali","candrabinducmb","candrabindudeva","candrabindugujarati","capslock","careof","caron","caronbelowcmb","caroncmb","carriagereturn","cbopomofo","ccaron","ccedilla","ccedillaacute","ccircle","ccircumflex","ccurl","cdot","cdotaccent","cdsquare","cedilla","cedillacmb","cent","centigrade","centinferior","centmonospace","centoldstyle","centsuperior","chaarmenian","chabengali","chadeva","chagujarati","chagurmukhi","chbopomofo","cheabkhasiancyrillic","checkmark","checyrillic","chedescenderabkhasiancyrillic","chedescendercyrillic","chedieresiscyrillic","cheharmenian","chekhakassiancyrillic","cheverticalstrokecyrillic","chi","chieuchacirclekorean","chieuchaparenkorean","chieuchcirclekorean","chieuchkorean","chieuchparenkorean","chochangthai","chochanthai","chochingthai","chochoethai","chook","cieucacirclekorean","cieucaparenkorean","cieuccirclekorean","cieuckorean","cieucparenkorean","cieucuparenkorean","circle","circlecopyrt","circlemultiply","circleot","circleplus","circlepostalmark","circlewithlefthalfblack","circlewithrighthalfblack","circumflex","circumflexbelowcmb","circumflexcmb","clickalveolar","clickdental","clicklateral","clickretroflex","club","clubsuitblack","clubsuitwhite","cmcubedsquare","cmonospace","cmsquaredsquare","coarmenian","colon","colonmonetary","colonmonospace","colonsign","colonsmall","colontriangularhalfmod","colontriangularmod","comma","commaabovecmb","commaaboverightcmb","commaaccent","commaarabic","commaarmenian","commainferior","commamonospace","commareversedabovecmb","commareversedmod","commasmall","commasuperior","commaturnedabovecmb","commaturnedmod","compass","congruent","contourintegral","control","controlACK","controlBEL","controlBS","controlCAN","controlCR","controlDC1","controlDC2","controlDC3","controlDC4","controlDEL","controlDLE","controlEM","controlENQ","controlEOT","controlESC","controlETB","controlETX","controlFF","controlFS","controlGS","controlHT","controlLF","controlNAK","controlNULL","controlRS","controlSI","controlSO","controlSOT","controlSTX","controlSUB","controlSYN","controlUS","controlVT","copyright","copyrightsans","copyrightserif","cornerbracketleft","cornerbracketlefthalfwidth","cornerbracketleftvertical","cornerbracketright","cornerbracketrighthalfwidth","cornerbracketrightvertical","corporationsquare","cosquare","coverkgsquare","cparen","cruzeiro","cstretched","curlyand","curlyor","currency","cyrBreve","cyrFlex","cyrbreve","cyrflex","daarmenian","dabengali","dadarabic","dadeva","dadfinalarabic","dadinitialarabic","dadmedialarabic","dagesh","dageshhebrew","dagger","daggerdbl","dagujarati","dagurmukhi","dahiragana","dakatakana","dalarabic","dalet","daletdagesh","daletdageshhebrew","dalethebrew","dalfinalarabic","dammaarabic","dammalowarabic","dammatanaltonearabic","dammatanarabic","danda","dargahebrew","dargalefthebrew","dasiapneumatacyrilliccmb","dblGrave","dblanglebracketleft","dblanglebracketleftvertical","dblanglebracketright","dblanglebracketrightvertical","dblarchinvertedbelowcmb","dblarrowleft","dblarrowright","dbldanda","dblgrave","dblgravecmb","dblintegral","dbllowline","dbllowlinecmb","dbloverlinecmb","dblprimemod","dblverticalbar","dblverticallineabovecmb","dbopomofo","dbsquare","dcaron","dcedilla","dcircle","dcircumflexbelow","dcroat","ddabengali","ddadeva","ddagujarati","ddagurmukhi","ddalarabic","ddalfinalarabic","dddhadeva","ddhabengali","ddhadeva","ddhagujarati","ddhagurmukhi","ddotaccent","ddotbelow","decimalseparatorarabic","decimalseparatorpersian","decyrillic","degree","dehihebrew","dehiragana","deicoptic","dekatakana","deleteleft","deleteright","deltaturned","denominatorminusonenumeratorbengali","dezh","dhabengali","dhadeva","dhagujarati","dhagurmukhi","dhook","dialytikatonos","dialytikatonoscmb","diamond","diamondsuitwhite","dieresis","dieresisacute","dieresisbelowcmb","dieresiscmb","dieresisgrave","dieresistonos","dihiragana","dikatakana","dittomark","divide","divides","divisionslash","djecyrillic","dkshade","dlinebelow","dlsquare","dmacron","dmonospace","dnblock","dochadathai","dodekthai","dohiragana","dokatakana","dollar","dollarinferior","dollarmonospace","dollaroldstyle","dollarsmall","dollarsuperior","dong","dorusquare","dotaccent","dotaccentcmb","dotbelowcmb","dotbelowcomb","dotkatakana","dotlessi","dotlessj","dotlessjstrokehook","dotmath","dottedcircle","doubleyodpatah","doubleyodpatahhebrew","downtackbelowcmb","downtackmod","dparen","dsuperior","dtail","dtopbar","duhiragana","dukatakana","dz","dzaltone","dzcaron","dzcurl","dzeabkhasiancyrillic","dzecyrillic","dzhecyrillic","eacute","earth","ebengali","ebopomofo","ebreve","ecandradeva","ecandragujarati","ecandravowelsigndeva","ecandravowelsigngujarati","ecaron","ecedillabreve","echarmenian","echyiwnarmenian","ecircle","ecircumflex","ecircumflexacute","ecircumflexbelow","ecircumflexdotbelow","ecircumflexgrave","ecircumflexhookabove","ecircumflextilde","ecyrillic","edblgrave","edeva","edieresis","edot","edotaccent","edotbelow","eegurmukhi","eematragurmukhi","efcyrillic","egrave","egujarati","eharmenian","ehbopomofo","ehiragana","ehookabove","eibopomofo","eight","eightarabic","eightbengali","eightcircle","eightcircleinversesansserif","eightdeva","eighteencircle","eighteenparen","eighteenperiod","eightgujarati","eightgurmukhi","eighthackarabic","eighthangzhou","eighthnotebeamed","eightideographicparen","eightinferior","eightmonospace","eightoldstyle","eightparen","eightperiod","eightpersian","eightroman","eightsuperior","eightthai","einvertedbreve","eiotifiedcyrillic","ekatakana","ekatakanahalfwidth","ekonkargurmukhi","ekorean","elcyrillic","elevencircle","elevenparen","elevenperiod","elevenroman","ellipsis","ellipsisvertical","emacron","emacronacute","emacrongrave","emcyrillic","emdash","emdashvertical","emonospace","emphasismarkarmenian","emptyset","enbopomofo","encyrillic","endash","endashvertical","endescendercyrillic","eng","engbopomofo","enghecyrillic","enhookcyrillic","enspace","eogonek","eokorean","eopen","eopenclosed","eopenreversed","eopenreversedclosed","eopenreversedhook","eparen","epsilontonos","equal","equalmonospace","equalsmall","equalsuperior","equivalence","erbopomofo","ercyrillic","ereversed","ereversedcyrillic","escyrillic","esdescendercyrillic","esh","eshcurl","eshortdeva","eshortvowelsigndeva","eshreversedloop","eshsquatreversed","esmallhiragana","esmallkatakana","esmallkatakanahalfwidth","estimated","esuperior","eta","etarmenian","etatonos","eth","etilde","etildebelow","etnahtafoukhhebrew","etnahtafoukhlefthebrew","etnahtahebrew","etnahtalefthebrew","eturned","eukorean","euro","evowelsignbengali","evowelsigndeva","evowelsigngujarati","exclam","exclamarmenian","exclamdbl","exclamdown","exclamdownsmall","exclammonospace","exclamsmall","existential","ezh","ezhcaron","ezhcurl","ezhreversed","ezhtail","fadeva","fagurmukhi","fahrenheit","fathaarabic","fathalowarabic","fathatanarabic","fbopomofo","fcircle","fdotaccent","feharabic","feharmenian","fehfinalarabic","fehinitialarabic","fehmedialarabic","feicoptic","female","ff","f_f","ffi","ffl","fi","fifteencircle","fifteenparen","fifteenperiod","figuredash","filledbox","filledrect","finalkaf","finalkafdagesh","finalkafdageshhebrew","finalkafhebrew","finalmem","finalmemhebrew","finalnun","finalnunhebrew","finalpe","finalpehebrew","finaltsadi","finaltsadihebrew","firsttonechinese","fisheye","fitacyrillic","five","fivearabic","fivebengali","fivecircle","fivecircleinversesansserif","fivedeva","fiveeighths","fivegujarati","fivegurmukhi","fivehackarabic","fivehangzhou","fiveideographicparen","fiveinferior","fivemonospace","fiveoldstyle","fiveparen","fiveperiod","fivepersian","fiveroman","fivesuperior","fivethai","fl","florin","fmonospace","fmsquare","fofanthai","fofathai","fongmanthai","forall","four","fourarabic","fourbengali","fourcircle","fourcircleinversesansserif","fourdeva","fourgujarati","fourgurmukhi","fourhackarabic","fourhangzhou","fourideographicparen","fourinferior","fourmonospace","fournumeratorbengali","fouroldstyle","fourparen","fourperiod","fourpersian","fourroman","foursuperior","fourteencircle","fourteenparen","fourteenperiod","fourthai","fourthtonechinese","fparen","fraction","franc","gabengali","gacute","gadeva","gafarabic","gaffinalarabic","gafinitialarabic","gafmedialarabic","gagujarati","gagurmukhi","gahiragana","gakatakana","gammalatinsmall","gammasuperior","gangiacoptic","gbopomofo","gbreve","gcaron","gcedilla","gcircle","gcircumflex","gcommaaccent","gdot","gdotaccent","gecyrillic","gehiragana","gekatakana","geometricallyequal","gereshaccenthebrew","gereshhebrew","gereshmuqdamhebrew","germandbls","gershayimaccenthebrew","gershayimhebrew","getamark","ghabengali","ghadarmenian","ghadeva","ghagujarati","ghagurmukhi","ghainarabic","ghainfinalarabic","ghaininitialarabic","ghainmedialarabic","ghemiddlehookcyrillic","ghestrokecyrillic","gheupturncyrillic","ghhadeva","ghhagurmukhi","ghook","ghzsquare","gihiragana","gikatakana","gimarmenian","gimel","gimeldagesh","gimeldageshhebrew","gimelhebrew","gjecyrillic","glottalinvertedstroke","glottalstop","glottalstopinverted","glottalstopmod","glottalstopreversed","glottalstopreversedmod","glottalstopreversedsuperior","glottalstopstroke","glottalstopstrokereversed","gmacron","gmonospace","gohiragana","gokatakana","gparen","gpasquare","gradient","grave","gravebelowcmb","gravecmb","gravecomb","gravedeva","gravelowmod","gravemonospace","gravetonecmb","greater","greaterequal","greaterequalorless","greatermonospace","greaterorequivalent","greaterorless","greateroverequal","greatersmall","gscript","gstroke","guhiragana","guillemotleft","guillemotright","guilsinglleft","guilsinglright","gukatakana","guramusquare","gysquare","haabkhasiancyrillic","haaltonearabic","habengali","hadescendercyrillic","hadeva","hagujarati","hagurmukhi","haharabic","hahfinalarabic","hahinitialarabic","hahiragana","hahmedialarabic","haitusquare","hakatakana","hakatakanahalfwidth","halantgurmukhi","hamzaarabic","hamzalowarabic","hangulfiller","hardsigncyrillic","harpoonleftbarbup","harpoonrightbarbup","hasquare","hatafpatah","hatafpatah16","hatafpatah23","hatafpatah2f","hatafpatahhebrew","hatafpatahnarrowhebrew","hatafpatahquarterhebrew","hatafpatahwidehebrew","hatafqamats","hatafqamats1b","hatafqamats28","hatafqamats34","hatafqamatshebrew","hatafqamatsnarrowhebrew","hatafqamatsquarterhebrew","hatafqamatswidehebrew","hatafsegol","hatafsegol17","hatafsegol24","hatafsegol30","hatafsegolhebrew","hatafsegolnarrowhebrew","hatafsegolquarterhebrew","hatafsegolwidehebrew","hbar","hbopomofo","hbrevebelow","hcedilla","hcircle","hcircumflex","hdieresis","hdotaccent","hdotbelow","he","heart","heartsuitblack","heartsuitwhite","hedagesh","hedageshhebrew","hehaltonearabic","heharabic","hehebrew","hehfinalaltonearabic","hehfinalalttwoarabic","hehfinalarabic","hehhamzaabovefinalarabic","hehhamzaaboveisolatedarabic","hehinitialaltonearabic","hehinitialarabic","hehiragana","hehmedialaltonearabic","hehmedialarabic","heiseierasquare","hekatakana","hekatakanahalfwidth","hekutaarusquare","henghook","herutusquare","het","hethebrew","hhook","hhooksuperior","hieuhacirclekorean","hieuhaparenkorean","hieuhcirclekorean","hieuhkorean","hieuhparenkorean","hihiragana","hikatakana","hikatakanahalfwidth","hiriq","hiriq14","hiriq21","hiriq2d","hiriqhebrew","hiriqnarrowhebrew","hiriqquarterhebrew","hiriqwidehebrew","hlinebelow","hmonospace","hoarmenian","hohipthai","hohiragana","hokatakana","hokatakanahalfwidth","holam","holam19","holam26","holam32","holamhebrew","holamnarrowhebrew","holamquarterhebrew","holamwidehebrew","honokhukthai","hookabovecomb","hookcmb","hookpalatalizedbelowcmb","hookretroflexbelowcmb","hoonsquare","horicoptic","horizontalbar","horncmb","hotsprings","house","hparen","hsuperior","hturned","huhiragana","huiitosquare","hukatakana","hukatakanahalfwidth","hungarumlaut","hungarumlautcmb","hv","hyphen","hypheninferior","hyphenmonospace","hyphensmall","hyphensuperior","hyphentwo","iacute","iacyrillic","ibengali","ibopomofo","ibreve","icaron","icircle","icircumflex","icyrillic","idblgrave","ideographearthcircle","ideographfirecircle","ideographicallianceparen","ideographiccallparen","ideographiccentrecircle","ideographicclose","ideographiccomma","ideographiccommaleft","ideographiccongratulationparen","ideographiccorrectcircle","ideographicearthparen","ideographicenterpriseparen","ideographicexcellentcircle","ideographicfestivalparen","ideographicfinancialcircle","ideographicfinancialparen","ideographicfireparen","ideographichaveparen","ideographichighcircle","ideographiciterationmark","ideographiclaborcircle","ideographiclaborparen","ideographicleftcircle","ideographiclowcircle","ideographicmedicinecircle","ideographicmetalparen","ideographicmoonparen","ideographicnameparen","ideographicperiod","ideographicprintcircle","ideographicreachparen","ideographicrepresentparen","ideographicresourceparen","ideographicrightcircle","ideographicsecretcircle","ideographicselfparen","ideographicsocietyparen","ideographicspace","ideographicspecialparen","ideographicstockparen","ideographicstudyparen","ideographicsunparen","ideographicsuperviseparen","ideographicwaterparen","ideographicwoodparen","ideographiczero","ideographmetalcircle","ideographmooncircle","ideographnamecircle","ideographsuncircle","ideographwatercircle","ideographwoodcircle","ideva","idieresis","idieresisacute","idieresiscyrillic","idotbelow","iebrevecyrillic","iecyrillic","ieungacirclekorean","ieungaparenkorean","ieungcirclekorean","ieungkorean","ieungparenkorean","igrave","igujarati","igurmukhi","ihiragana","ihookabove","iibengali","iicyrillic","iideva","iigujarati","iigurmukhi","iimatragurmukhi","iinvertedbreve","iishortcyrillic","iivowelsignbengali","iivowelsigndeva","iivowelsigngujarati","ij","ikatakana","ikatakanahalfwidth","ikorean","ilde","iluyhebrew","imacron","imacroncyrillic","imageorapproximatelyequal","imatragurmukhi","imonospace","increment","infinity","iniarmenian","integral","integralbottom","integralbt","integralex","integraltop","integraltp","intersection","intisquare","invbullet","invcircle","invsmileface","iocyrillic","iogonek","iota","iotadieresis","iotadieresistonos","iotalatin","iotatonos","iparen","irigurmukhi","ismallhiragana","ismallkatakana","ismallkatakanahalfwidth","issharbengali","istroke","isuperior","iterationhiragana","iterationkatakana","itilde","itildebelow","iubopomofo","iucyrillic","ivowelsignbengali","ivowelsigndeva","ivowelsigngujarati","izhitsacyrillic","izhitsadblgravecyrillic","jaarmenian","jabengali","jadeva","jagujarati","jagurmukhi","jbopomofo","jcaron","jcircle","jcircumflex","jcrossedtail","jdotlessstroke","jecyrillic","jeemarabic","jeemfinalarabic","jeeminitialarabic","jeemmedialarabic","jeharabic","jehfinalarabic","jhabengali","jhadeva","jhagujarati","jhagurmukhi","jheharmenian","jis","jmonospace","jparen","jsuperior","kabashkircyrillic","kabengali","kacute","kacyrillic","kadescendercyrillic","kadeva","kaf","kafarabic","kafdagesh","kafdageshhebrew","kaffinalarabic","kafhebrew","kafinitialarabic","kafmedialarabic","kafrafehebrew","kagujarati","kagurmukhi","kahiragana","kahookcyrillic","kakatakana","kakatakanahalfwidth","kappa","kappasymbolgreek","kapyeounmieumkorean","kapyeounphieuphkorean","kapyeounpieupkorean","kapyeounssangpieupkorean","karoriisquare","kashidaautoarabic","kashidaautonosidebearingarabic","kasmallkatakana","kasquare","kasraarabic","kasratanarabic","kastrokecyrillic","katahiraprolongmarkhalfwidth","kaverticalstrokecyrillic","kbopomofo","kcalsquare","kcaron","kcedilla","kcircle","kcommaaccent","kdotbelow","keharmenian","kehiragana","kekatakana","kekatakanahalfwidth","kenarmenian","kesmallkatakana","kgreenlandic","khabengali","khacyrillic","khadeva","khagujarati","khagurmukhi","khaharabic","khahfinalarabic","khahinitialarabic","khahmedialarabic","kheicoptic","khhadeva","khhagurmukhi","khieukhacirclekorean","khieukhaparenkorean","khieukhcirclekorean","khieukhkorean","khieukhparenkorean","khokhaithai","khokhonthai","khokhuatthai","khokhwaithai","khomutthai","khook","khorakhangthai","khzsquare","kihiragana","kikatakana","kikatakanahalfwidth","kiroguramusquare","kiromeetorusquare","kirosquare","kiyeokacirclekorean","kiyeokaparenkorean","kiyeokcirclekorean","kiyeokkorean","kiyeokparenkorean","kiyeoksioskorean","kjecyrillic","klinebelow","klsquare","kmcubedsquare","kmonospace","kmsquaredsquare","kohiragana","kohmsquare","kokaithai","kokatakana","kokatakanahalfwidth","kooposquare","koppacyrillic","koreanstandardsymbol","koroniscmb","kparen","kpasquare","ksicyrillic","ktsquare","kturned","kuhiragana","kukatakana","kukatakanahalfwidth","kvsquare","kwsquare","labengali","lacute","ladeva","lagujarati","lagurmukhi","lakkhangyaothai","lamaleffinalarabic","lamalefhamzaabovefinalarabic","lamalefhamzaaboveisolatedarabic","lamalefhamzabelowfinalarabic","lamalefhamzabelowisolatedarabic","lamalefisolatedarabic","lamalefmaddaabovefinalarabic","lamalefmaddaaboveisolatedarabic","lamarabic","lambda","lambdastroke","lamed","lameddagesh","lameddageshhebrew","lamedhebrew","lamfinalarabic","lamhahinitialarabic","laminitialarabic","lamjeeminitialarabic","lamkhahinitialarabic","lamlamhehisolatedarabic","lammedialarabic","lammeemhahinitialarabic","lammeeminitialarabic","largecircle","lbar","lbelt","lbopomofo","lcaron","lcedilla","lcircle","lcircumflexbelow","lcommaaccent","ldot","ldotaccent","ldotbelow","ldotbelowmacron","leftangleabovecmb","lefttackbelowcmb","less","lessequal","lessequalorgreater","lessmonospace","lessorequivalent","lessorgreater","lessoverequal","lesssmall","lezh","lfblock","lhookretroflex","lira","liwnarmenian","lj","ljecyrillic","lladeva","llagujarati","llinebelow","llladeva","llvocalicbengali","llvocalicdeva","llvocalicvowelsignbengali","llvocalicvowelsigndeva","lmiddletilde","lmonospace","lmsquare","lochulathai","logicaland","logicalnot","logicalnotreversed","logicalor","lolingthai","longs","lowlinecenterline","lowlinecmb","lowlinedashed","lozenge","lparen","lslash","lsquare","lsuperior","ltshade","luthai","lvocalicbengali","lvocalicdeva","lvocalicvowelsignbengali","lvocalicvowelsigndeva","lxsquare","mabengali","macron","macronbelowcmb","macroncmb","macronlowmod","macronmonospace","macute","madeva","magujarati","magurmukhi","mahapakhhebrew","mahapakhlefthebrew","mahiragana","maichattawalowleftthai","maichattawalowrightthai","maichattawathai","maichattawaupperleftthai","maieklowleftthai","maieklowrightthai","maiekthai","maiekupperleftthai","maihanakatleftthai","maihanakatthai","maitaikhuleftthai","maitaikhuthai","maitholowleftthai","maitholowrightthai","maithothai","maithoupperleftthai","maitrilowleftthai","maitrilowrightthai","maitrithai","maitriupperleftthai","maiyamokthai","makatakana","makatakanahalfwidth","male","mansyonsquare","maqafhebrew","mars","masoracirclehebrew","masquare","mbopomofo","mbsquare","mcircle","mcubedsquare","mdotaccent","mdotbelow","meemarabic","meemfinalarabic","meeminitialarabic","meemmedialarabic","meemmeeminitialarabic","meemmeemisolatedarabic","meetorusquare","mehiragana","meizierasquare","mekatakana","mekatakanahalfwidth","mem","memdagesh","memdageshhebrew","memhebrew","menarmenian","merkhahebrew","merkhakefulahebrew","merkhakefulalefthebrew","merkhalefthebrew","mhook","mhzsquare","middledotkatakanahalfwidth","middot","mieumacirclekorean","mieumaparenkorean","mieumcirclekorean","mieumkorean","mieumpansioskorean","mieumparenkorean","mieumpieupkorean","mieumsioskorean","mihiragana","mikatakana","mikatakanahalfwidth","minus","minusbelowcmb","minuscircle","minusmod","minusplus","minute","miribaarusquare","mirisquare","mlonglegturned","mlsquare","mmcubedsquare","mmonospace","mmsquaredsquare","mohiragana","mohmsquare","mokatakana","mokatakanahalfwidth","molsquare","momathai","moverssquare","moverssquaredsquare","mparen","mpasquare","mssquare","msuperior","mturned","mu1","muasquare","muchgreater","muchless","mufsquare","mugreek","mugsquare","muhiragana","mukatakana","mukatakanahalfwidth","mulsquare","multiply","mumsquare","munahhebrew","munahlefthebrew","musicalnote","musicalnotedbl","musicflatsign","musicsharpsign","mussquare","muvsquare","muwsquare","mvmegasquare","mvsquare","mwmegasquare","mwsquare","nabengali","nabla","nacute","nadeva","nagujarati","nagurmukhi","nahiragana","nakatakana","nakatakanahalfwidth","napostrophe","nasquare","nbopomofo","nbspace","ncaron","ncedilla","ncircle","ncircumflexbelow","ncommaaccent","ndotaccent","ndotbelow","nehiragana","nekatakana","nekatakanahalfwidth","newsheqelsign","nfsquare","ngabengali","ngadeva","ngagujarati","ngagurmukhi","ngonguthai","nhiragana","nhookleft","nhookretroflex","nieunacirclekorean","nieunaparenkorean","nieuncieuckorean","nieuncirclekorean","nieunhieuhkorean","nieunkorean","nieunpansioskorean","nieunparenkorean","nieunsioskorean","nieuntikeutkorean","nihiragana","nikatakana","nikatakanahalfwidth","nikhahitleftthai","nikhahitthai","nine","ninearabic","ninebengali","ninecircle","ninecircleinversesansserif","ninedeva","ninegujarati","ninegurmukhi","ninehackarabic","ninehangzhou","nineideographicparen","nineinferior","ninemonospace","nineoldstyle","nineparen","nineperiod","ninepersian","nineroman","ninesuperior","nineteencircle","nineteenparen","nineteenperiod","ninethai","nj","njecyrillic","nkatakana","nkatakanahalfwidth","nlegrightlong","nlinebelow","nmonospace","nmsquare","nnabengali","nnadeva","nnagujarati","nnagurmukhi","nnnadeva","nohiragana","nokatakana","nokatakanahalfwidth","nonbreakingspace","nonenthai","nonuthai","noonarabic","noonfinalarabic","noonghunnaarabic","noonghunnafinalarabic","nooninitialarabic","noonjeeminitialarabic","noonjeemisolatedarabic","noonmedialarabic","noonmeeminitialarabic","noonmeemisolatedarabic","noonnoonfinalarabic","notcontains","notelement","notelementof","notequal","notgreater","notgreaternorequal","notgreaternorless","notidentical","notless","notlessnorequal","notparallel","notprecedes","notsubset","notsucceeds","notsuperset","nowarmenian","nparen","nssquare","nsuperior","ntilde","nuhiragana","nukatakana","nukatakanahalfwidth","nuktabengali","nuktadeva","nuktagujarati","nuktagurmukhi","numbersign","numbersignmonospace","numbersignsmall","numeralsigngreek","numeralsignlowergreek","numero","nun","nundagesh","nundageshhebrew","nunhebrew","nvsquare","nwsquare","nyabengali","nyadeva","nyagujarati","nyagurmukhi","oacute","oangthai","obarred","obarredcyrillic","obarreddieresiscyrillic","obengali","obopomofo","obreve","ocandradeva","ocandragujarati","ocandravowelsigndeva","ocandravowelsigngujarati","ocaron","ocircle","ocircumflex","ocircumflexacute","ocircumflexdotbelow","ocircumflexgrave","ocircumflexhookabove","ocircumflextilde","ocyrillic","odblacute","odblgrave","odeva","odieresis","odieresiscyrillic","odotbelow","oe","oekorean","ogonek","ogonekcmb","ograve","ogujarati","oharmenian","ohiragana","ohookabove","ohorn","ohornacute","ohorndotbelow","ohorngrave","ohornhookabove","ohorntilde","ohungarumlaut","oi","oinvertedbreve","okatakana","okatakanahalfwidth","okorean","olehebrew","omacron","omacronacute","omacrongrave","omdeva","omega","omega1","omegacyrillic","omegalatinclosed","omegaroundcyrillic","omegatitlocyrillic","omegatonos","omgujarati","omicron","omicrontonos","omonospace","one","onearabic","onebengali","onecircle","onecircleinversesansserif","onedeva","onedotenleader","oneeighth","onefitted","onegujarati","onegurmukhi","onehackarabic","onehalf","onehangzhou","oneideographicparen","oneinferior","onemonospace","onenumeratorbengali","oneoldstyle","oneparen","oneperiod","onepersian","onequarter","oneroman","onesuperior","onethai","onethird","oogonek","oogonekmacron","oogurmukhi","oomatragurmukhi","oopen","oparen","openbullet","ordfeminine","ordmasculine","orthogonal","oshortdeva","oshortvowelsigndeva","oslash","oslashacute","osmallhiragana","osmallkatakana","osmallkatakanahalfwidth","ostrokeacute","osuperior","otcyrillic","otilde","otildeacute","otildedieresis","oubopomofo","overline","overlinecenterline","overlinecmb","overlinedashed","overlinedblwavy","overlinewavy","overscore","ovowelsignbengali","ovowelsigndeva","ovowelsigngujarati","paampssquare","paasentosquare","pabengali","pacute","padeva","pagedown","pageup","pagujarati","pagurmukhi","pahiragana","paiyannoithai","pakatakana","palatalizationcyrilliccmb","palochkacyrillic","pansioskorean","paragraph","parallel","parenleft","parenleftaltonearabic","parenleftbt","parenleftex","parenleftinferior","parenleftmonospace","parenleftsmall","parenleftsuperior","parenlefttp","parenleftvertical","parenright","parenrightaltonearabic","parenrightbt","parenrightex","parenrightinferior","parenrightmonospace","parenrightsmall","parenrightsuperior","parenrighttp","parenrightvertical","partialdiff","paseqhebrew","pashtahebrew","pasquare","patah","patah11","patah1d","patah2a","patahhebrew","patahnarrowhebrew","patahquarterhebrew","patahwidehebrew","pazerhebrew","pbopomofo","pcircle","pdotaccent","pe","pecyrillic","pedagesh","pedageshhebrew","peezisquare","pefinaldageshhebrew","peharabic","peharmenian","pehebrew","pehfinalarabic","pehinitialarabic","pehiragana","pehmedialarabic","pekatakana","pemiddlehookcyrillic","perafehebrew","percent","percentarabic","percentmonospace","percentsmall","period","periodarmenian","periodcentered","periodhalfwidth","periodinferior","periodmonospace","periodsmall","periodsuperior","perispomenigreekcmb","perpendicular","perthousand","peseta","pfsquare","phabengali","phadeva","phagujarati","phagurmukhi","phi","phi1","phieuphacirclekorean","phieuphaparenkorean","phieuphcirclekorean","phieuphkorean","phieuphparenkorean","philatin","phinthuthai","phisymbolgreek","phook","phophanthai","phophungthai","phosamphaothai","pi","pieupacirclekorean","pieupaparenkorean","pieupcieuckorean","pieupcirclekorean","pieupkiyeokkorean","pieupkorean","pieupparenkorean","pieupsioskiyeokkorean","pieupsioskorean","pieupsiostikeutkorean","pieupthieuthkorean","pieuptikeutkorean","pihiragana","pikatakana","pisymbolgreek","piwrarmenian","plus","plusbelowcmb","pluscircle","plusminus","plusmod","plusmonospace","plussmall","plussuperior","pmonospace","pmsquare","pohiragana","pointingindexdownwhite","pointingindexleftwhite","pointingindexrightwhite","pointingindexupwhite","pokatakana","poplathai","postalmark","postalmarkface","pparen","precedes","prescription","primemod","primereversed","product","projective","prolongedkana","propellor","propersubset","propersuperset","proportion","proportional","psi","psicyrillic","psilipneumatacyrilliccmb","pssquare","puhiragana","pukatakana","pvsquare","pwsquare","qadeva","qadmahebrew","qafarabic","qaffinalarabic","qafinitialarabic","qafmedialarabic","qamats","qamats10","qamats1a","qamats1c","qamats27","qamats29","qamats33","qamatsde","qamatshebrew","qamatsnarrowhebrew","qamatsqatanhebrew","qamatsqatannarrowhebrew","qamatsqatanquarterhebrew","qamatsqatanwidehebrew","qamatsquarterhebrew","qamatswidehebrew","qarneyparahebrew","qbopomofo","qcircle","qhook","qmonospace","qof","qofdagesh","qofdageshhebrew","qofhebrew","qparen","quarternote","qubuts","qubuts18","qubuts25","qubuts31","qubutshebrew","qubutsnarrowhebrew","qubutsquarterhebrew","qubutswidehebrew","question","questionarabic","questionarmenian","questiondown","questiondownsmall","questiongreek","questionmonospace","questionsmall","quotedbl","quotedblbase","quotedblleft","quotedblmonospace","quotedblprime","quotedblprimereversed","quotedblright","quoteleft","quoteleftreversed","quotereversed","quoteright","quoterightn","quotesinglbase","quotesingle","quotesinglemonospace","raarmenian","rabengali","racute","radeva","radical","radicalex","radoverssquare","radoverssquaredsquare","radsquare","rafe","rafehebrew","ragujarati","ragurmukhi","rahiragana","rakatakana","rakatakanahalfwidth","ralowerdiagonalbengali","ramiddlediagonalbengali","ramshorn","ratio","rbopomofo","rcaron","rcedilla","rcircle","rcommaaccent","rdblgrave","rdotaccent","rdotbelow","rdotbelowmacron","referencemark","reflexsubset","reflexsuperset","registered","registersans","registerserif","reharabic","reharmenian","rehfinalarabic","rehiragana","rekatakana","rekatakanahalfwidth","resh","reshdageshhebrew","reshhebrew","reversedtilde","reviahebrew","reviamugrashhebrew","revlogicalnot","rfishhook","rfishhookreversed","rhabengali","rhadeva","rho","rhook","rhookturned","rhookturnedsuperior","rhosymbolgreek","rhotichookmod","rieulacirclekorean","rieulaparenkorean","rieulcirclekorean","rieulhieuhkorean","rieulkiyeokkorean","rieulkiyeoksioskorean","rieulkorean","rieulmieumkorean","rieulpansioskorean","rieulparenkorean","rieulphieuphkorean","rieulpieupkorean","rieulpieupsioskorean","rieulsioskorean","rieulthieuthkorean","rieultikeutkorean","rieulyeorinhieuhkorean","rightangle","righttackbelowcmb","righttriangle","rihiragana","rikatakana","rikatakanahalfwidth","ring","ringbelowcmb","ringcmb","ringhalfleft","ringhalfleftarmenian","ringhalfleftbelowcmb","ringhalfleftcentered","ringhalfright","ringhalfrightbelowcmb","ringhalfrightcentered","rinvertedbreve","rittorusquare","rlinebelow","rlongleg","rlonglegturned","rmonospace","rohiragana","rokatakana","rokatakanahalfwidth","roruathai","rparen","rrabengali","rradeva","rragurmukhi","rreharabic","rrehfinalarabic","rrvocalicbengali","rrvocalicdeva","rrvocalicgujarati","rrvocalicvowelsignbengali","rrvocalicvowelsigndeva","rrvocalicvowelsigngujarati","rsuperior","rtblock","rturned","rturnedsuperior","ruhiragana","rukatakana","rukatakanahalfwidth","rupeemarkbengali","rupeesignbengali","rupiah","ruthai","rvocalicbengali","rvocalicdeva","rvocalicgujarati","rvocalicvowelsignbengali","rvocalicvowelsigndeva","rvocalicvowelsigngujarati","sabengali","sacute","sacutedotaccent","sadarabic","sadeva","sadfinalarabic","sadinitialarabic","sadmedialarabic","sagujarati","sagurmukhi","sahiragana","sakatakana","sakatakanahalfwidth","sallallahoualayhewasallamarabic","samekh","samekhdagesh","samekhdageshhebrew","samekhhebrew","saraaathai","saraaethai","saraaimaimalaithai","saraaimaimuanthai","saraamthai","saraathai","saraethai","saraiileftthai","saraiithai","saraileftthai","saraithai","saraothai","saraueeleftthai","saraueethai","saraueleftthai","sarauethai","sarauthai","sarauuthai","sbopomofo","scaron","scarondotaccent","scedilla","schwa","schwacyrillic","schwadieresiscyrillic","schwahook","scircle","scircumflex","scommaaccent","sdotaccent","sdotbelow","sdotbelowdotaccent","seagullbelowcmb","secondtonechinese","section","seenarabic","seenfinalarabic","seeninitialarabic","seenmedialarabic","segol","segol13","segol1f","segol2c","segolhebrew","segolnarrowhebrew","segolquarterhebrew","segoltahebrew","segolwidehebrew","seharmenian","sehiragana","sekatakana","sekatakanahalfwidth","semicolon","semicolonarabic","semicolonmonospace","semicolonsmall","semivoicedmarkkana","semivoicedmarkkanahalfwidth","sentisquare","sentosquare","seven","sevenarabic","sevenbengali","sevencircle","sevencircleinversesansserif","sevendeva","seveneighths","sevengujarati","sevengurmukhi","sevenhackarabic","sevenhangzhou","sevenideographicparen","seveninferior","sevenmonospace","sevenoldstyle","sevenparen","sevenperiod","sevenpersian","sevenroman","sevensuperior","seventeencircle","seventeenparen","seventeenperiod","seventhai","sfthyphen","shaarmenian","shabengali","shacyrillic","shaddaarabic","shaddadammaarabic","shaddadammatanarabic","shaddafathaarabic","shaddakasraarabic","shaddakasratanarabic","shade","shadedark","shadelight","shademedium","shadeva","shagujarati","shagurmukhi","shalshelethebrew","shbopomofo","shchacyrillic","sheenarabic","sheenfinalarabic","sheeninitialarabic","sheenmedialarabic","sheicoptic","sheqel","sheqelhebrew","sheva","sheva115","sheva15","sheva22","sheva2e","shevahebrew","shevanarrowhebrew","shevaquarterhebrew","shevawidehebrew","shhacyrillic","shimacoptic","shin","shindagesh","shindageshhebrew","shindageshshindot","shindageshshindothebrew","shindageshsindot","shindageshsindothebrew","shindothebrew","shinhebrew","shinshindot","shinshindothebrew","shinsindot","shinsindothebrew","shook","sigma1","sigmafinal","sigmalunatesymbolgreek","sihiragana","sikatakana","sikatakanahalfwidth","siluqhebrew","siluqlefthebrew","similar","sindothebrew","siosacirclekorean","siosaparenkorean","sioscieuckorean","sioscirclekorean","sioskiyeokkorean","sioskorean","siosnieunkorean","siosparenkorean","siospieupkorean","siostikeutkorean","six","sixarabic","sixbengali","sixcircle","sixcircleinversesansserif","sixdeva","sixgujarati","sixgurmukhi","sixhackarabic","sixhangzhou","sixideographicparen","sixinferior","sixmonospace","sixoldstyle","sixparen","sixperiod","sixpersian","sixroman","sixsuperior","sixteencircle","sixteencurrencydenominatorbengali","sixteenparen","sixteenperiod","sixthai","slash","slashmonospace","slong","slongdotaccent","smileface","smonospace","sofpasuqhebrew","softhyphen","softsigncyrillic","sohiragana","sokatakana","sokatakanahalfwidth","soliduslongoverlaycmb","solidusshortoverlaycmb","sorusithai","sosalathai","sosothai","sosuathai","space","spacehackarabic","spade","spadesuitblack","spadesuitwhite","sparen","squarebelowcmb","squarecc","squarecm","squarediagonalcrosshatchfill","squarehorizontalfill","squarekg","squarekm","squarekmcapital","squareln","squarelog","squaremg","squaremil","squaremm","squaremsquared","squareorthogonalcrosshatchfill","squareupperlefttolowerrightfill","squareupperrighttolowerleftfill","squareverticalfill","squarewhitewithsmallblack","srsquare","ssabengali","ssadeva","ssagujarati","ssangcieuckorean","ssanghieuhkorean","ssangieungkorean","ssangkiyeokkorean","ssangnieunkorean","ssangpieupkorean","ssangsioskorean","ssangtikeutkorean","ssuperior","sterling","sterlingmonospace","strokelongoverlaycmb","strokeshortoverlaycmb","subset","subsetnotequal","subsetorequal","succeeds","suchthat","suhiragana","sukatakana","sukatakanahalfwidth","sukunarabic","summation","sun","superset","supersetnotequal","supersetorequal","svsquare","syouwaerasquare","tabengali","tackdown","tackleft","tadeva","tagujarati","tagurmukhi","taharabic","tahfinalarabic","tahinitialarabic","tahiragana","tahmedialarabic","taisyouerasquare","takatakana","takatakanahalfwidth","tatweelarabic","tau","tav","tavdages","tavdagesh","tavdageshhebrew","tavhebrew","tbar","tbopomofo","tcaron","tccurl","tcedilla","tcheharabic","tchehfinalarabic","tchehinitialarabic","tchehmedialarabic","tcircle","tcircumflexbelow","tcommaaccent","tdieresis","tdotaccent","tdotbelow","tecyrillic","tedescendercyrillic","teharabic","tehfinalarabic","tehhahinitialarabic","tehhahisolatedarabic","tehinitialarabic","tehiragana","tehjeeminitialarabic","tehjeemisolatedarabic","tehmarbutaarabic","tehmarbutafinalarabic","tehmedialarabic","tehmeeminitialarabic","tehmeemisolatedarabic","tehnoonfinalarabic","tekatakana","tekatakanahalfwidth","telephone","telephoneblack","telishagedolahebrew","telishaqetanahebrew","tencircle","tenideographicparen","tenparen","tenperiod","tenroman","tesh","tet","tetdagesh","tetdageshhebrew","tethebrew","tetsecyrillic","tevirhebrew","tevirlefthebrew","thabengali","thadeva","thagujarati","thagurmukhi","thalarabic","thalfinalarabic","thanthakhatlowleftthai","thanthakhatlowrightthai","thanthakhatthai","thanthakhatupperleftthai","theharabic","thehfinalarabic","thehinitialarabic","thehmedialarabic","thereexists","therefore","theta","theta1","thetasymbolgreek","thieuthacirclekorean","thieuthaparenkorean","thieuthcirclekorean","thieuthkorean","thieuthparenkorean","thirteencircle","thirteenparen","thirteenperiod","thonangmonthothai","thook","thophuthaothai","thorn","thothahanthai","thothanthai","thothongthai","thothungthai","thousandcyrillic","thousandsseparatorarabic","thousandsseparatorpersian","three","threearabic","threebengali","threecircle","threecircleinversesansserif","threedeva","threeeighths","threegujarati","threegurmukhi","threehackarabic","threehangzhou","threeideographicparen","threeinferior","threemonospace","threenumeratorbengali","threeoldstyle","threeparen","threeperiod","threepersian","threequarters","threequartersemdash","threeroman","threesuperior","threethai","thzsquare","tihiragana","tikatakana","tikatakanahalfwidth","tikeutacirclekorean","tikeutaparenkorean","tikeutcirclekorean","tikeutkorean","tikeutparenkorean","tilde","tildebelowcmb","tildecmb","tildecomb","tildedoublecmb","tildeoperator","tildeoverlaycmb","tildeverticalcmb","timescircle","tipehahebrew","tipehalefthebrew","tippigurmukhi","titlocyrilliccmb","tiwnarmenian","tlinebelow","tmonospace","toarmenian","tohiragana","tokatakana","tokatakanahalfwidth","tonebarextrahighmod","tonebarextralowmod","tonebarhighmod","tonebarlowmod","tonebarmidmod","tonefive","tonesix","tonetwo","tonos","tonsquare","topatakthai","tortoiseshellbracketleft","tortoiseshellbracketleftsmall","tortoiseshellbracketleftvertical","tortoiseshellbracketright","tortoiseshellbracketrightsmall","tortoiseshellbracketrightvertical","totaothai","tpalatalhook","tparen","trademark","trademarksans","trademarkserif","tretroflexhook","triagdn","triaglf","triagrt","triagup","ts","tsadi","tsadidagesh","tsadidageshhebrew","tsadihebrew","tsecyrillic","tsere","tsere12","tsere1e","tsere2b","tserehebrew","tserenarrowhebrew","tserequarterhebrew","tserewidehebrew","tshecyrillic","tsuperior","ttabengali","ttadeva","ttagujarati","ttagurmukhi","tteharabic","ttehfinalarabic","ttehinitialarabic","ttehmedialarabic","tthabengali","tthadeva","tthagujarati","tthagurmukhi","tturned","tuhiragana","tukatakana","tukatakanahalfwidth","tusmallhiragana","tusmallkatakana","tusmallkatakanahalfwidth","twelvecircle","twelveparen","twelveperiod","twelveroman","twentycircle","twentyhangzhou","twentyparen","twentyperiod","two","twoarabic","twobengali","twocircle","twocircleinversesansserif","twodeva","twodotenleader","twodotleader","twodotleadervertical","twogujarati","twogurmukhi","twohackarabic","twohangzhou","twoideographicparen","twoinferior","twomonospace","twonumeratorbengali","twooldstyle","twoparen","twoperiod","twopersian","tworoman","twostroke","twosuperior","twothai","twothirds","uacute","ubar","ubengali","ubopomofo","ubreve","ucaron","ucircle","ucircumflex","ucircumflexbelow","ucyrillic","udattadeva","udblacute","udblgrave","udeva","udieresis","udieresisacute","udieresisbelow","udieresiscaron","udieresiscyrillic","udieresisgrave","udieresismacron","udotbelow","ugrave","ugujarati","ugurmukhi","uhiragana","uhookabove","uhorn","uhornacute","uhorndotbelow","uhorngrave","uhornhookabove","uhorntilde","uhungarumlaut","uhungarumlautcyrillic","uinvertedbreve","ukatakana","ukatakanahalfwidth","ukcyrillic","ukorean","umacron","umacroncyrillic","umacrondieresis","umatragurmukhi","umonospace","underscore","underscoredbl","underscoremonospace","underscorevertical","underscorewavy","union","universal","uogonek","uparen","upblock","upperdothebrew","upsilon","upsilondieresis","upsilondieresistonos","upsilonlatin","upsilontonos","uptackbelowcmb","uptackmod","uragurmukhi","uring","ushortcyrillic","usmallhiragana","usmallkatakana","usmallkatakanahalfwidth","ustraightcyrillic","ustraightstrokecyrillic","utilde","utildeacute","utildebelow","uubengali","uudeva","uugujarati","uugurmukhi","uumatragurmukhi","uuvowelsignbengali","uuvowelsigndeva","uuvowelsigngujarati","uvowelsignbengali","uvowelsigndeva","uvowelsigngujarati","vadeva","vagujarati","vagurmukhi","vakatakana","vav","vavdagesh","vavdagesh65","vavdageshhebrew","vavhebrew","vavholam","vavholamhebrew","vavvavhebrew","vavyodhebrew","vcircle","vdotbelow","vecyrillic","veharabic","vehfinalarabic","vehinitialarabic","vehmedialarabic","vekatakana","venus","verticalbar","verticallineabovecmb","verticallinebelowcmb","verticallinelowmod","verticallinemod","vewarmenian","vhook","vikatakana","viramabengali","viramadeva","viramagujarati","visargabengali","visargadeva","visargagujarati","vmonospace","voarmenian","voicediterationhiragana","voicediterationkatakana","voicedmarkkana","voicedmarkkanahalfwidth","vokatakana","vparen","vtilde","vturned","vuhiragana","vukatakana","wacute","waekorean","wahiragana","wakatakana","wakatakanahalfwidth","wakorean","wasmallhiragana","wasmallkatakana","wattosquare","wavedash","wavyunderscorevertical","wawarabic","wawfinalarabic","wawhamzaabovearabic","wawhamzaabovefinalarabic","wbsquare","wcircle","wcircumflex","wdieresis","wdotaccent","wdotbelow","wehiragana","weierstrass","wekatakana","wekorean","weokorean","wgrave","whitebullet","whitecircle","whitecircleinverse","whitecornerbracketleft","whitecornerbracketleftvertical","whitecornerbracketright","whitecornerbracketrightvertical","whitediamond","whitediamondcontainingblacksmalldiamond","whitedownpointingsmalltriangle","whitedownpointingtriangle","whiteleftpointingsmalltriangle","whiteleftpointingtriangle","whitelenticularbracketleft","whitelenticularbracketright","whiterightpointingsmalltriangle","whiterightpointingtriangle","whitesmallsquare","whitesmilingface","whitesquare","whitestar","whitetelephone","whitetortoiseshellbracketleft","whitetortoiseshellbracketright","whiteuppointingsmalltriangle","whiteuppointingtriangle","wihiragana","wikatakana","wikorean","wmonospace","wohiragana","wokatakana","wokatakanahalfwidth","won","wonmonospace","wowaenthai","wparen","wring","wsuperior","wturned","wynn","xabovecmb","xbopomofo","xcircle","xdieresis","xdotaccent","xeharmenian","xi","xmonospace","xparen","xsuperior","yaadosquare","yabengali","yacute","yadeva","yaekorean","yagujarati","yagurmukhi","yahiragana","yakatakana","yakatakanahalfwidth","yakorean","yamakkanthai","yasmallhiragana","yasmallkatakana","yasmallkatakanahalfwidth","yatcyrillic","ycircle","ycircumflex","ydieresis","ydotaccent","ydotbelow","yeharabic","yehbarreearabic","yehbarreefinalarabic","yehfinalarabic","yehhamzaabovearabic","yehhamzaabovefinalarabic","yehhamzaaboveinitialarabic","yehhamzaabovemedialarabic","yehinitialarabic","yehmedialarabic","yehmeeminitialarabic","yehmeemisolatedarabic","yehnoonfinalarabic","yehthreedotsbelowarabic","yekorean","yen","yenmonospace","yeokorean","yeorinhieuhkorean","yerahbenyomohebrew","yerahbenyomolefthebrew","yericyrillic","yerudieresiscyrillic","yesieungkorean","yesieungpansioskorean","yesieungsioskorean","yetivhebrew","ygrave","yhook","yhookabove","yiarmenian","yicyrillic","yikorean","yinyang","yiwnarmenian","ymonospace","yod","yoddagesh","yoddageshhebrew","yodhebrew","yodyodhebrew","yodyodpatahhebrew","yohiragana","yoikorean","yokatakana","yokatakanahalfwidth","yokorean","yosmallhiragana","yosmallkatakana","yosmallkatakanahalfwidth","yotgreek","yoyaekorean","yoyakorean","yoyakthai","yoyingthai","yparen","ypogegrammeni","ypogegrammenigreekcmb","yr","yring","ysuperior","ytilde","yturned","yuhiragana","yuikorean","yukatakana","yukatakanahalfwidth","yukorean","yusbigcyrillic","yusbigiotifiedcyrillic","yuslittlecyrillic","yuslittleiotifiedcyrillic","yusmallhiragana","yusmallkatakana","yusmallkatakanahalfwidth","yuyekorean","yuyeokorean","yyabengali","yyadeva","zaarmenian","zacute","zadeva","zagurmukhi","zaharabic","zahfinalarabic","zahinitialarabic","zahiragana","zahmedialarabic","zainarabic","zainfinalarabic","zakatakana","zaqefgadolhebrew","zaqefqatanhebrew","zarqahebrew","zayin","zayindagesh","zayindageshhebrew","zayinhebrew","zbopomofo","zcaron","zcircle","zcircumflex","zcurl","zdot","zdotaccent","zdotbelow","zecyrillic","zedescendercyrillic","zedieresiscyrillic","zehiragana","zekatakana","zero","zeroarabic","zerobengali","zerodeva","zerogujarati","zerogurmukhi","zerohackarabic","zeroinferior","zeromonospace","zerooldstyle","zeropersian","zerosuperior","zerothai","zerowidthjoiner","zerowidthnonjoiner","zerowidthspace","zeta","zhbopomofo","zhearmenian","zhebrevecyrillic","zhecyrillic","zhedescendercyrillic","zhedieresiscyrillic","zihiragana","zikatakana","zinorhebrew","zlinebelow","zmonospace","zohiragana","zokatakana","zparen","zretroflexhook","zstroke","zuhiragana","zukatakana","angbracketleftbig","angbracketleftBig","angbracketleftbigg","angbracketleftBigg","angbracketrightBig","angbracketrightbig","angbracketrightBigg","angbracketrightbigg","arrowhookleft","arrowhookright","arrowlefttophalf","arrowleftbothalf","arrownortheast","arrownorthwest","arrowrighttophalf","arrowrightbothalf","arrowsoutheast","arrowsouthwest","backslashbig","backslashBig","backslashBigg","backslashbigg","bardbl","bracehtipdownleft","bracehtipdownright","bracehtipupleft","bracehtipupright","braceleftBig","braceleftbig","braceleftbigg","braceleftBigg","bracerightBig","bracerightbig","bracerightbigg","bracerightBigg","bracketleftbig","bracketleftBig","bracketleftbigg","bracketleftBigg","bracketrightBig","bracketrightbig","bracketrightbigg","bracketrightBigg","ceilingleftbig","ceilingleftBig","ceilingleftBigg","ceilingleftbigg","ceilingrightbig","ceilingrightBig","ceilingrightbigg","ceilingrightBigg","circledotdisplay","circledottext","circlemultiplydisplay","circlemultiplytext","circleplusdisplay","circleplustext","contintegraldisplay","contintegraltext","coproductdisplay","coproducttext","floorleftBig","floorleftbig","floorleftbigg","floorleftBigg","floorrightbig","floorrightBig","floorrightBigg","floorrightbigg","hatwide","hatwider","hatwidest","intercal","integraldisplay","integraltext","intersectiondisplay","intersectiontext","logicalanddisplay","logicalandtext","logicalordisplay","logicalortext","parenleftBig","parenleftbig","parenleftBigg","parenleftbigg","parenrightBig","parenrightbig","parenrightBigg","parenrightbigg","prime","productdisplay","producttext","radicalbig","radicalBig","radicalBigg","radicalbigg","radicalbt","radicaltp","radicalvertex","slashbig","slashBig","slashBigg","slashbigg","summationdisplay","summationtext","tildewide","tildewider","tildewidest","uniondisplay","unionmultidisplay","unionmultitext","unionsqdisplay","unionsqtext","uniontext","vextenddouble","vextendsingle","a2","a202","a3","a4","a5","a119","a118","a117","a11","a12","a13","a14","a15","a16","a105","a17","a18","a19","a20","a21","a22","a23","a24","a25","a26","a27","a28","a6","a7","a8","a9","a10","a29","a30","a31","a32","a33","a34","a35","a36","a37","a38","a39","a40","a41","a42","a43","a44","a45","a46","a47","a48","a49","a50","a51","a52","a53","a54","a55","a56","a57","a58","a59","a60","a61","a62","a63","a64","a65","a66","a67","a68","a69","a70","a71","a72","a73","a74","a203","a75","a204","a76","a77","a78","a79","a81","a82","a83","a84","a97","a98","a99","a100","a101","a102","a103","a104","a106","a107","a108","a112","a111","a110","a109","a120","a121","a122","a123","a124","a125","a126","a127","a128","a129","a130","a131","a132","a133","a134","a135","a136","a137","a138","a139","a140","a141","a142","a143","a144","a145","a146","a147","a148","a149","a150","a151","a152","a153","a154","a155","a156","a157","a158","a159","a160","a161","a163","a164","a196","a165","a192","a166","a167","a168","a169","a170","a171","a172","a173","a162","a174","a175","a176","a177","a178","a179","a193","a180","a199","a181","a200","a182","a201","a183","a184","a197","a185","a194","a198","a186","a195","a187","a188","a189","a190","a191","a89","a90","a93","a94","a91","a92","a205","a85","a206","a86","a87","a88","a95","a96","ArialNarrow","ArialBlack","Arial","ArialMT","CourierNew","CourierNewPSMT","Helvetica","TimesNewRoman","TimesNewRomanPS","TimesNewRomanPSMT","Calibri","CenturyGothic","ComicSansMS","LucidaConsole","NuptialScript","SegoeUISymbol","Wingdings","Albertus","Aldus","Alexandria","Algerian","Antiqua","Apex","Arno","Aster","Aurora","Baskerville","Bell","Bembo","Benguiat","Bodoni","Bookman","Calisto","Calvert","Capitals","Cambria","Cartier","Caslon","Catull","Centaur","Chaparral","Cheltenham","Clarendon","Clearface","Cochin","Colonna","Constantia","Corona","Ecotype","Egyptienne","Elephant","Excelsior","Fairfield","Folkard","Footlight","FreeSerif","Garamond","Gentium","Georgia","Gloucester","Granjon","Heather","Hercules","Hiroshige","Imprint","Janson","Joanna","Korinna","Lexicon","Literaturnaya","Lucida","Melior","Memphis","Miller","Minion","Modern","Palatino","Perpetua","Plantin","Playbill","Renault","Requiem","Rockwell","Roman","Sabon","Scala","Seagull","Sistina","Souvenir","STIX","Sylfaen","Times","Trajan","Utopia","Versailles","Wanted","Weiss","Windsor","XITS","Dingbats","ZapfDingbats","getSpecialPUASymbols","UnicodeRanges","charsLength","hexStr","nameLen","toUpperCase","getLong","getUshort","getSubroutineBias","numSubrs","parseCmap","idDelta","idOffset","groups","parseCff","gsubrs","isCFFCIDFont","lookupCmap","codePointAt","compileGlyf","cmds","quadraticCurveTo","xa","ya","numberOfContours","arg1","arg2","scale01","scale10","subglyph","endPtsOfContours","numberOfPoints","points","startPoint","endPoint","contour","compileCharString","charStringCode","bezierCurveTo","stems","xb","yb","subrCode","stackClean","subrsBias","achar","bchar","glyphNameMap","gsubrsBias","NOOP","CompiledFont","compiledGlyphs","compiledCharCodeToGlyphId","compileGlyph","compileGlyphImpl","TrueTypeCompiled","Type2Compiled","cffInfo","parseGlyfTable","Type1CharString","COMMAND_MAP","lsb","flexing","encoded","wx","sbx","dy","executeCommand","sby","num2","num1","flexArgs","howManyArgs","command","keepStack","stackLength","isHexDigit","discardNumber","decrypted","isSpecial","encrypted","isBinary","digit1","digit2","decryptAscii","readNumberArray","getToken","readInt","readBoolean","readCharStrings","lenIV","program","blueArray","charString","charStringObject","encodingArg","xstep","ystep","paintType","tilingType","getPattern","ctx","Shadings","RadialAxial","Mesh","Dummy","coordsArr","shadingType","t0","domainArr","extendStart","extendEnd","extendArr","r1","r2","distance","fnObj","createFromArray","colorStops","cssColor","makeCssRgb","background","SMALL_NUMBER","r0","singularValueDecompose2dScale","MeshStreamReader","tmpCompsBuf","csNumComps","tmpCsCompsBuf","colorFn","hasData","align","readFlag","bitsPerFlag","readCoordinate","bitsPerCoordinate","yi","readComponents","ci","getB","lut","t_","buildB","buildFigureFromPatch","mesh","figure","figures","coords","figureMinX","figureMinY","figureMaxX","figureMaxY","splitXBy","bounds","splitYBy","verticesPerRow","figureCoords","figureColors","cl","cr","c0","c1","c2","c3","bRow","bCol","newColor","updateBounds","patchMesh","operators","ps","verticesLeft","coord","decodeType4Shading","decodeType5Shading","tmp4","decodeType6Shading","decodeType7Shading","coordsPacked","xy","colorsPacked","packData","startLevel","isLTR","strLength","createBidiText","numBidi","charType","baseTypes","arabicTypes","isOdd","sor","eor","lastType","findUnequal","before","after","setValues","isEven","highestLevel","lowestOddLevel","reverseValues","temp","Courier","fnDict","PostScriptCompiler","PostScriptEvaluator","_ps_parser","toNumberArray","PDFFunction","parseArray","getSampleArray","outputSize","bps","sampleMul","strBytes","strIdx","typeFn","constructSampled","constructInterpolated","constructStiched","constructPostScript","constructSampledFromIR","constructInterpolatedFromIR","constructStichedFromIR","constructPostScriptFromIR","toMultiArray","domain","inputSize","encode","interpolate","xmin","xmax","ymin","ymax","samples","cubeVertices","cubeN","Float64Array","cubeVertex","domain_2i","domain_2i_1","size_i","e0","n0","n1","rj","fnRefs","fns","dmin","dmax","rmin","rmax","PostScriptLexer","PostScriptParser","numOutputs","numInputs","cache_available","cachedValue","execute","stackIndex","bound","PostScriptStack","initialStack","copy","roll","operator","counter","atan","cos","LN10","sin","AstNode","AstArgument","AstLiteral","AstBinaryOperation","AstMin","AstVariable","AstVariableDefinition","variable","ExpressionBuilderVisitor","parts","buildAddOperation","buildMulOperation","buildSubOperation","buildMinOperation","visit","visitArgument","visitLiteral","visitBinaryOperation","visitMin","visitVariable","visitVariableDefinition","literal","definition","ast1","ast2","tmpVar","instructions","lastRegister","instruction","statementBuilder","expr","nextToken","accept","expect","PostScriptTokenTypes","LBRACE","parseBlock","RBRACE","NUMBER","OPERATOR","parseCondition","conditionLocation","IF","jumpLocation","endOfTrue","IFELSE","PostScriptToken","opCache","getOperator","SEED","MASK_HIGH","MASK_LOW","seed","blockCounts","tailLength","dataUint32","k2","C1","C2","C1_LOW","C2_LOW","hex1","hex2","decodeAndClamp","addend","coefficient","resizeImageMask","isMask","matte","needsDecode","decodeCoefficients","decodeAddends","isIndexed","imageData","smaskData","maskData","computedLength","decodeBuffer","getComponents","bufferPos","buf","rowComps","loop1End","loop2End","remainingBits","fillOpacity","rgbaBuf","alphaBuf","sw","fillGrayBuffer","opacity","imageOffset","maskOffset","undoPreblend","matteRgb","matteR","matteG","matteB","forceRGBA","getImageBytes","newArray","imageLength","maybeUndoPreblend","wrapReason","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbackCapabilities","actionHandler","_onComObjOnMessage","event","_processStreamMessage","cbSourceName","cbTargetName","_createStreamSink","addEventListener","ah","_postMessage","queueingStrategy","controller","startCapability","startCall","pullCall","cancelCall","isClosed","pull","pullCapability","cancel","cancelCapability","isCancelled","lastDesiredSize","sinkCapability","success","_deleteStreamController","removeEventListener","_msgHandler","_contentLength","_fullRequestReader","_rangeRequestReaders","PDFWorkerStreamReader","PDFWorkerStreamRangeReader","_isRangeSupported","_isStreamingSupported","readableStream","_reader","_headersReady","__webpack_module_cache__","pdfjsWorker","__webpack_require__","cachedModule","__webpack_modules__"],"sourceRoot":""}