{"version":3,"file":"main.js","mappings":"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b,EACF9b,EAAS8b,cAAgBiF,EACrBvtB,GAAgButB,EAAWjF,IAC7BhkB,EACEgkB,EACAiF,EACA/gB,EAASygB,gBACT,KACAzzB,EACAgT,EACA9S,EACAC,EACAC,GAEE4S,EAASnuB,MAAQ,EACnBmuB,EAAS5oD,UACA0pE,IACJG,IACHnpB,EACEwoB,EACAU,EACAl0B,EACAC,EACAC,EACA,KAEAE,EACAC,EACAC,GAEFwzB,GAAgB5gB,EAAUghB,OAI9BhhB,EAASgc,UAAYD,KACjBkF,GACFjhB,EAASihB,aAAc,EACvBjhB,EAASsgB,aAAexE,GAExBxsB,EAAQwsB,EAAe9uB,EAAiBgT,GAE1CA,EAASnuB,KAAO,EAChBmuB,EAASpvB,QAAQpyC,OAAS,EAC1BwhE,EAASygB,gBAAkBrjF,EAAc,OACrC0jF,GACFhpB,EACE,KACAipB,EACA/gB,EAASygB,gBACT,KACAzzB,EACAgT,EACA9S,EACAC,EACAC,GAEE4S,EAASnuB,MAAQ,EACnBmuB,EAAS5oD,WAET0gD,EACEwoB,EACAU,EACAl0B,EACAC,EACAC,EACA,KAEAE,EACAC,EACAC,GAEFwzB,GAAgB5gB,EAAUghB,KAEnBV,GAAgB9sB,GAAgButB,EAAWT,IACpDxoB,EACEwoB,EACAS,EACAj0B,EACAC,EACAC,EACAgT,EACA9S,EACAC,EACAC,GAEF4S,EAAS5oD,SAAQ,KAEjB0gD,EACE,KACAipB,EACA/gB,EAASygB,gBACT,KACAzzB,EACAgT,EACA9S,EACAC,EACAC,GAEE4S,EAASnuB,MAAQ,GACnBmuB,EAAS5oD,iBAKf,GAAIkpE,GAAgB9sB,GAAgButB,EAAWT,GAC7CxoB,EACEwoB,EACAS,EACAj0B,EACAC,EACAC,EACAgT,EACA9S,EACAC,EACAC,GAEFwzB,GAAgB5gB,EAAU+gB,QAoB1B,GAlBAJ,GAAa9zB,EAAI,aACjBmT,EAAS8b,cAAgBiF,EACC,IAAtBA,EAAUjzB,UACZkS,EAASgc,UAAY+E,EAAUv+B,UAAUu5B,WAEzC/b,EAASgc,UAAYD,KAEvBjkB,EACE,KACAipB,EACA/gB,EA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AG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAG7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAE7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAE7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAE7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAE5C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC9C,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE3D,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC3D,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC3D,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC3D,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE3D,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAC5D,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAC5D,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE5D,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAA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ACR,MAAQ,QACR,KAAQ,QACR,KAAQ,QACR,KAAQ,KACR,MAAQ,QACR,KAAQ,KACR,KAAQ,QACR,KAAQ,QACR,KAAQ,KACR,KAAQ,KACR,KAAQ,QACR,KAAQ,KACR,KAAQ,KACR,KAAQ,UACR,KAAQ,KACR,KAAQ,KACR,MAAQ,QACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,MAAQ,QACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,QACR,KAAQ,KACR,KAAQ,QACR,KAAQ,KACR,KAAQ,QACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,QACR,KAAQ,KACR,KAAQ,MACR,KAAQ,QACR,KAAQ,QACR,KAAQ,KACR,KAAQ,KACR,KAAQ,UACR,KAAQ,QACR,KAAQ,QACR,KAAQ,MACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,QACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,QACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,QACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,QACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,QACR,KAAQ,KACR,KAAQ,MACR,KAAQ,KACR,KAAQ,QACR,KAAQ,KACR,KAAQ,SACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,MACR,KAAQ,MACR,KAAQ,KACR,KAAQ,KACR,KAAQ,QACR,KAAQ,KACR,KAAQ,QACR,KAAQ,UACR,KAAQ,KACR,KAAQ,UACR,KAAQ,KACR,KAAQ,KACR,KAAQ,QACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,MACR,KAAQ,KACR,KAAQ,MACR,KAAQ,KACR,KAAQ,SACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,MACR,KAAQ,KACR,KAAQ,QACR,KAAQ,QACR,KAAQ,KACR,KAAQ,MACR,KAAQ,KACR,KAAQ,KACR,KAAQ,aACR,KAAQ,KACR,KAAQ,QACR,KAAQ,KACR,KAAQ,K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C,IAAMA,EACXrzC,KAAKi6H,YAAa,CACtB,EAeJ,IAAIoB,GAA2C,IAAQhB,GAA0C,CAE7F,CACI,EACA,aACA,QACA,MAEJ,CACI,EACA,aACA,QACA,MAEJ,CACI,EACA,cACA,QACA,MAEJ,CACI,EACA,mBACA,QACA,MAEJ,CACI,CACI,GACA,GAEJ,YACA,SACA,SAEJ,CACI,CACI,GACA,IAEJ,YACA,SACA,GAEJ,CACI,CACI,GACA,IAEJ,WACA,SACA,GAEJ,CACI,GACA,QACA,SACA,MAEJ,CACI,GACA,QACA,SACA,MAEJ,CACI,CACI,GACA,IAEJ,YACA,QACA,MAEJ,CACI,CACI,GACA,IAEJ,YACA,QACA,MAEJ,CACI,CACI,GACA,IAEJ,YACA,WACA,GAEJ,CACI,CACI,GACA,IAEJ,gBACA,SACA,GAEJ,CACI,CACI,GACA,IAEJ,kBACA,SACA,KAEJ,CACI,CACI,GACA,IAEJ,oBACA,SACA,GAEJ,CACI,GACA,gBACA,SACA,GAEJ,CACI,GACA,gBACA,SACA,GAEJ,CACI,GACA,UACA,SACA,GAEJ,CACI,GACA,QAnJR,MACI,aAAOh2H,CAAOwc,EAAQgB,EAAQ04G,GAC1B,IAAIe,EAAYf,EAAS5+G,MAGzB,KAAM4+G,EAASr4H,OAASo5H,GAAUf,EAAS5+G,KAC/C,GA+II,MAEJ,CACI,GACA,QACA,IAAQw/G,GAA0C,IAAQnC,GAA2C,CACjGhqH,KAAM,UAEV,QAOJusH,GAA2C,CAC3C,UACA,QACA,SACA,WACA,aACA,SACA,UACA,YACA,aACA,YACA,aACA,WACA,OACA,QACA,SACA,SACA,QACA,OACA,MACA,MACA,QACA,OACA,OACA,MACA,QACA,QACA,OACA,QACA,YACA,OACA,QACA,UACA,WACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,cACA,YACA,eACA,cACA,aACA,YACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,YACA,MACA,aACA,aACA,aACA,OACA,WACA,WACA,MACA,SACA,UACA,WACA,cACA,eACA,gBACA,gBACA,iBACA,KACA,KACA,SACA,SACA,YACA,iBACA,YACA,SACA,iBACA,eACA,gBACA,iBACA,WACA,cACA,eACA,QACA,QACA,aACA,QACA,SACA,QACA,YACA,WACA,OACA,UACA,eACA,SACA,QACA,SACA,KACA,cACA,SACA,SACA,KACA,eACA,KACA,WACA,SACA,SACA,KACA,aACA,cACA,aACA,KACA,YACA,MACA,UACA,YACA,QACA,aACA,SACA,YACA,SACA,QACA,gBACA,cACA,aACA,QACA,MACA,WACA,gBACA,YACA,SACA,cACA,YACA,SACA,QACA,SACA,WACA,SACA,cACA,YACA,SACA,SACA,cACA,YACA,SACA,SACA,SACA,cACA,YACA,SACA,SACA,SACA,SACA,cACA,YACA,SACA,SACA,YACA,SACA,SACA,cACA,YACA,SACA,QACA,SACA,WACA,SACA,cACA,YACA,SACA,SACA,cACA,YACA,SACA,SACA,SACA,cACA,YACA,SACA,SACA,SACA,SACA,cACA,YACA,SACA,SACA,YACA,SACA,cACA,oBACA,iBACA,iBACA,iBACA,aACA,oBACA,qBACA,iBACA,iBACA,eACA,cACA,cACA,gBACA,eACA,eACA,cACA,gBACA,gBACA,eACA,gBACA,sBACA,iBACA,gBACA,YACA,YACA,eACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,KACA,MACA,MACA,oBACA,qBACA,kBACA,iBACA,aACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,gBACA,YACA,SACA,aACA,kBACA,eACA,cACA,cACA,cACA,gBACA,aACA,aACA,iBACA,cACA,aACA,iBACA,cACA,YACA,eACA,oBACA,YACA,eACA,cACA,eACA,WACA,YACA,eACA,eACA,eACA,cACA,gBACA,gBACA,eACA,eACA,cACA,cACA,gBACA,eACA,eACA,cACA,gBACA,gBACA,eACA,eACA,iBACA,iBACA,gBACA,cACA,cACA,mBACA,cACA,iBACA,aACA,UACA,gBACA,cACA,cACA,mBACA,iBACA,cACA,cACA,mBACA,iBACA,WACA,cACA,cACA,cACA,mBACA,cACA,iBACA,UACA,cACA,cACA,cACA,mBACA,iBACA,cACA,aACA,iBACA,UACA,UACA,UACA,UACA,QACA,OACA,OACA,QACA,SACA,UACA,QACA,YAIJ,IAAIC,GAA4C,CAC5C,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,QACA,SACA,WACA,aACA,SACA,UACA,YACA,aACA,YACA,aACA,WACA,OACA,QACA,SACA,SACA,QACA,OACA,MACA,MACA,QACA,OACA,OACA,MACA,QACA,QACA,OACA,QACA,YACA,OACA,QACA,UACA,WACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,cACA,YACA,eACA,cACA,aACA,YACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,YACA,MACA,aACA,aACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,aACA,OACA,WACA,WACA,MACA,SACA,UACA,WACA,cACA,eACA,gBACA,gBACA,iBACA,KACA,KACA,GACA,SACA,SACA,YACA,iBACA,GACA,YACA,SACA,iBACA,eACA,gBACA,iBACA,WACA,cACA,GACA,eACA,GACA,QACA,QACA,aACA,QACA,SACA,QACA,YACA,WACA,GACA,OACA,UACA,GACA,eACA,SACA,QACA,SACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,KACA,GACA,cACA,GACA,GACA,GACA,GACA,SACA,SACA,KACA,eACA,GACA,GACA,GACA,GACA,GACA,KACA,GACA,GACA,GACA,WACA,GACA,GACA,SACA,SACA,KACA,cAqQAC,GAA4C,CAC5C,UACA,QACA,SACA,WACA,aACA,SACA,UACA,YACA,aACA,YACA,aACA,WACA,OACA,QACA,SACA,SACA,QACA,OACA,MACA,MACA,QACA,OACA,OACA,MACA,QACA,QACA,OACA,QACA,YACA,OACA,QACA,UACA,WACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,cACA,YACA,eACA,cACA,aACA,YACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,YACA,MACA,aACA,aACA,aACA,OACA,WACA,WACA,MACA,SACA,UACA,WACA,cACA,eACA,gBACA,gBACA,iBACA,KACA,KACA,SACA,SACA,YACA,iBACA,YACA,SACA,iBACA,eACA,gBACA,iBACA,WACA,cACA,eACA,QACA,QACA,aACA,QACA,SACA,QACA,YACA,WACA,OACA,UACA,eACA,SACA,QACA,SACA,KACA,cACA,SACA,SACA,KACA,eACA,KACA,WACA,SACA,SACA,KACA,aACA,cACA,aACA,KACA,YACA,MACA,UACA,YACA,QACA,aACA,SACA,YACA,SACA,QACA,gBACA,cACA,aACA,QACA,MACA,WACA,gBACA,YACA,SACA,cACA,YACA,SACA,QACA,SACA,WACA,SACA,cACA,YACA,SACA,SACA,cACA,YACA,SACA,SACA,SACA,cACA,YACA,SACA,SACA,SACA,SACA,cACA,YACA,SACA,SACA,YACA,SACA,SACA,cACA,YACA,SACA,QACA,SACA,WACA,SACA,cACA,YACA,SACA,SACA,cACA,YACA,SACA,SACA,SACA,cACA,YACA,SACA,SACA,SACA,SACA,cACA,YACA,SACA,SACA,YACA,UAyQAC,GAAqC,IAAI,SAAc,CACvD5L,SAAU,IAAI,WAAgB,UAC9B6L,gBAAiB,SACjBC,aAAc,SACdC,eAAgB,IAAI,QAAa,SAAe,kBAEhDC,GAAsC,IAAI,SAAc,CACxDvsC,IAAK,IAAI,SAAc,GACvBwsC,QAAS,IAAI,UAAe,SAAeL,GAAoC,CAC3E1sH,KAAM,aAGVgtH,GAA+B,IAAI,SAAc,CACjDC,eAAgB,IAAI,UAAe,SAAeP,IAClDl3G,MAAO,SACP03G,eAAgB,IAAI,QAAaJ,GAAqC,WAEtEK,GAAqC,IAAI,SAAc,CACvD5sC,IAAK,IAAI,SAAc,GACvB6sC,OAAQ,IAAI,UAAe,SAAeJ,GAA8B,CACpEhtH,KAAM,aAGVqtH,GAA4C,IAAI,QAAaF,GAAoC,UAIjGG,GAAsC,IAAI,SAAc,CACxDv9F,QAAS,SACTw1F,OAAQ,WAERgI,GAA2C,IAAI,SAAc,CAC7DC,cAAe,IAAI,UAAe,SAAeF,IACjDG,YAAa,SACbC,kBAAmB,IAAI,QAAa,SAAe,iBAEnDC,GAAsC,IAAI,SAAc,CACxDptC,IAAK,IAAI,SAAc,GACvBqtC,QAAS,IAAI,UAAe,SAAeL,GAA0C,CACjFvtH,KAAM,aAGV6tH,GAA4C,IAAI,QAAaF,GAAqC,UAClGG,GAAo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AQgB,EAAQ04G,GACnB,OAAIv6H,KAAKsjI,cAAc/I,EAAS,IAAYv6H,KAAKsjI,cAAc/I,EAAS,IACjEv6H,KAAKgP,KAAK3K,OAAOwc,EAAQgB,EAAQ04G,EAC5C,CACA,IAAA75H,CAAKojB,EAAOmqC,GACR,OAAOjuD,KAAKgP,KAAKtO,KAAKojB,EAAOmqC,EACjC,CACA,MAAAqgD,CAAOztF,EAAQiD,EAAOmqC,GAClB,IAAI7c,EAAQpxC,KAAKsjI,cAAc9tH,QAAQsO,GACvC,OAAe,IAAXstB,EAAqBA,EAClBpxC,KAAKgP,KAAKs/F,OAAOztF,EAAQiD,EAAOmqC,EAC3C,CACA,WAAAzqC,CAAY8/G,EAAet0H,GACvBhP,KAAKsjI,cAAgBA,EACrBtjI,KAAKgP,KAAOA,CAChB,EAEJ,MAAMu0H,WAAiD,SACnD,MAAAl/H,CAAOwc,GACH,OAAqC,IAA9B,QAAaxc,OAAOwc,EAC/B,CACA,WAAA2C,GACIoF,MAAM,QACV,EAEJ,IAAI46G,GAA+B,IAAI,SAAc,CACjD71F,MAAO,SACP81F,MAAO,UAEPC,GAA+B,IAAI,SAAc,CACjD/1F,MAAO,SACP81F,MAAO,WAYPE,GAAoC,IAAIN,GAAmC,CACvE7H,GAniCwC,CAC5C,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,QACA,cACA,oBACA,GACA,iBACA,iBACA,iBACA,aACA,oBACA,qBACA,iBACA,iBACA,QACA,SACA,SACA,WACA,eACA,cACA,cACA,gBACA,eACA,eACA,cACA,gBACA,gBACA,eACA,QACA,YACA,gBACA,sBACA,iBACA,gBACA,GACA,YACA,YACA,eACA,YACA,YACA,GACA,GACA,YACA,GACA,GACA,YACA,YACA,YACA,YACA,GACA,GACA,YACA,YACA,YACA,GACA,KACA,KACA,KACA,MACA,MACA,oBACA,GACA,qBACA,kBACA,iBACA,aACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,gBACA,YACA,SACA,aACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,kBACA,eACA,cACA,GACA,GACA,cACA,cACA,gBACA,aACA,aACA,GACA,iBACA,GACA,GACA,cACA,GACA,GACA,aACA,iBACA,GACA,GACA,cACA,YACA,eACA,GACA,GACA,GACA,aACA,UACA,gBACA,oBACA,YACA,eACA,cACA,eACA,WACA,YACA,GACA,GACA,eACA,cACA,cACA,gBACA,eACA,eACA,cACA,gBACA,gBACA,eACA,eACA,cACA,cACA,gBACA,eACA,eACA,cACA,gBACA,gBACA,eACA,eACA,iBACA,iBACA,gBACA,cACA,cACA,mBACA,cACA,iBACA,aACA,UACA,gBACA,cACA,cACA,mBACA,iBACA,cACA,cACA,mBACA,iBACA,WACA,cACA,cACA,cACA,mBACA,cACA,iBACA,UACA,cACA,cACA,cACA,mBACA,iBACA,cACA,aACA,mBAsyBD,IAAQL,GAbmC,IAAI,kBAAuB,IAAIoI,GAA4C,CACrH,EAAG,CACCK,OAAQ,QACR/gB,MAAO,IAAI,QAAa,QAAc,WAE1C,EAAG,CACCghB,QAAS,QACTC,OAAQ,IAAI,QAAaN,GAA8B,cAM+B,CAC1FrnC,MAAM,KAIV,MAAM4nC,WAAyC,QAC3C,MAAA1/H,CAAOwc,EAAQgB,GACX,IAAI3f,GAAS,EAAI,iBAAsBlC,KAAKkC,OAAQ2e,EAAQgB,GACxD2C,EAAQ,EACR43B,EAAM,GACV,KAAM53B,EAAQtiB,GAAO,CACjB,IAAIuhG,EAAQzjG,KAAKgP,KAAK3K,OAAOwc,EAAQgB,GACrC4hF,EAAM8e,OAAS/9F,EACfA,GAASi/E,EAAMggC,MAAQ,EACvBrnF,EAAIv6C,KAAK4hG,EACb,CACA,OAAOrnD,CACX,EAEJ,IAWI4nF,GAAmC,IAAIX,GAAmC,CACtE5H,GA1lBwC,CAC5C,UACA,QACA,cACA,oBACA,iBACA,iBACA,iBACA,aACA,oBACA,qBACA,iBACA,iBACA,QACA,SACA,SACA,WACA,eACA,cACA,cACA,gBACA,eACA,eACA,cACA,gBACA,gBACA,eACA,QACA,YACA,gBACA,sBACA,iBACA,gBACA,YACA,YACA,eACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,KACA,KACA,KACA,MACA,MACA,oBACA,qBACA,kBACA,iBACA,aACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,gBACA,YACA,SACA,aACA,kBACA,eACA,cACA,cACA,cACA,gBACA,aACA,aACA,iBACA,cACA,aACA,iBACA,cACA,YACA,eACA,aACA,UACA,gBACA,oBACA,YACA,eACA,cACA,eACA,WACA,YACA,eACA,cACA,cACA,gBACA,eACA,eACA,cACA,gBACA,gBACA,eACA,eACA,cACA,cACA,gBACA,eACA,eACA,cACA,gBACA,gBACA,eACA,eACA,iBACA,iBACA,gBACA,cACA,cACA,mBACA,cACA,iBACA,aACA,UACA,gBACA,cACA,cACA,mBACA,iBACA,cACA,cACA,mBACA,iBACA,WACA,cACA,cACA,cACA,mBACA,cACA,iBACA,UACA,cACA,cACA,cACA,mBACA,iBACA,cACA,aACA,kBAE4C,CAC5C,UACA,QACA,iBACA,iBACA,oBACA,qBACA,iBACA,iBACA,QACA,SACA,SACA,WACA,eACA,cACA,cACA,gBACA,eACA,eACA,cACA,gBACA,gBACA,eACA,QACA,YACA,gBACA,sBACA,iBACA,YACA,YACA,eACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,KACA,KACA,KACA,MACA,MACA,oBACA,qBACA,iBACA,gBACA,YACA,SACA,eACA,aACA,iBACA,aACA,UACA,gBACA,YACA,eACA,cACA,eACA,WACA,YACA,eACA,cACA,cACA,gBACA,eACA,eACA,cACA,gBACA,gBACA,eACA,eACA,cACA,cACA,gBACA,eACA,eACA,cACA,gBACA,gBACA,eACA,eACA,iBACA,iBACA,kBA8VD,IAAQN,GAfkC,IAAI,kBAAuB,QAAc,CAClF,EAAG,CACCyC,OAAQ,IAAI,QAAa,UAAgB14H,GAAIA,EAAE2c,OAAOoiH,YAAY/hI,OAAS,KAE/E,EAAG,CACC4hI,OAAQ,IAAIC,GAAiCP,IAA+Bt+H,GAAIA,EAAE2c,OAAOoiH,YAAY/hI,OAAS,KAElH,EAAG,CACC4hI,OAAQ,IAAIC,GAAiCL,IAA+Bx+H,GAAIA,EAAE2c,OAAOoiH,YAAY/hI,OAAS,OAOzB,CACzFi6F,MAAM,KAEN+nC,GAAiC,IAAI,SAAc,CACnDv2F,MAAO,SACP9nB,GAAI,UAEJs+G,GAAiC,IAAI,SAAc,CACnDx2F,MAAO,SACP9nB,GAAI,WAEJu+G,GAAiC,IAAI,kBAAuB,QAAc,CAC1E,EAAG,CACCC,IAAK,IAAI,QAAa,SAAen/H,GAAIA,EAAE2c,OAAOoiH,YAAY/hI,UAElE,EAAG,CACC2hI,QAAS,SACTC,OAAQ,IAAI,QAAaI,GAAgC,WACzDI,SAAU,UAEd,EAAG,CACCT,QAAS,SACTC,OAAQ,IAAI,QAAaK,GAAgC,WACzDG,SAAU,YAGdC,GAA4B,IAAQpJ,GAA8CE,IACtF,MAAMmJ,GACF,MAAAngI,CAAOwc,EAAQgB,EAAQ04G,GAEnB,OADA14G,EAAO3f,OAASq4H,EAAS,GAClBgK,GAA0BlgI,OAAOwc,EAAQgB,EAAQ,CACpD04G,EAAS,IAEjB,CACA,IAAA75H,CAAKk6H,EAAM3sE,GACP,MAAO,CACCotE,GAA0C36H,KAAKk6H,EAAM3sE,GAAK,GAC9Ds2E,GAA0B7jI,KAAKk6H,EAAM3sE,GAAK,GAElD,CACA,MAAAqgD,CAAOztF,EAAQ+5G,EAAM3sE,GACjB,MAAO,CACCotE,GAA0C36H,KAAKk6H,EAAM3sE,GAAK,GAC9Ds2E,GAA0Bj2B,OAAOztF,EAAQ+5G,EAAM3sE,GAAK,GAE5D,EAEJ,IAAIw2E,GAAiC,IAAQpK,GAA0C,CAEnF,CACI,GACA,UACA,IAAImK,GACJ,MAEJ,CACI,CACI,GACA,IAEJ,WACA,MACA,MAEJ,CACI,CACI,GACA,GAEJ,aACA,QACA,CACI,KACA,EACA,EACA,KACA,EACA,IAGR,CACI,CACI,GACA,GAEJ,YACA,SACA,KAGJE,GAAmC,IAAQrK,GAA0C,CAErF,CACI,CACI,GACA,IAEJ,MACA,CACI,MACA,MACA,UAEJ,MAEJ,CACI,EACA,UACA,MACA,MAEJ,CACI,EACA,SACA,MACA,MAEJ,CACI,CACI,GACA,GAEJ,YACA,MACA,MAEJ,CACI,EACA,WACA,MACA,MAEJ,CACI,EACA,aACA,MACA,MAEJ,CACI,EACA,SACA,MACA,MAEJ,CACI,CACI,GACA,GAEJ,eACA,WACA,GAEJ,CACI,CACI,GACA,GAEJ,cACA,SACA,GAEJ,CACI,CACI,GACA,GAEJ,oBACA,UACC,KAEL,CACI,CACI,GACA,GAEJ,qBACA,SACA,IAEJ,CACI,CACI,GACA,GAEJ,YACA,SACA,GAEJ,CACI,CACI,GACA,GAEJ,iBACA,SACA,GAEJ,CACI,CACI,GACA,GAEJ,aACA,QACA,CACI,KACA,EACA,EACA,KACA,EACA,IAGR,CACI,GACA,WACA,SACA,MAEJ,CACI,EACA,WACA,QACA,CACI,EACA,EACA,EACA,IAGR,CACI,CACI,GACA,GAEJ,cACA,SACA,GAEJ,CACI,GACA,OACA,QACA,MAEJ,CACI,GACA,UACA2J,GACIvI,IAER,CACI,GACA,WACAkI,GACInI,IAER,CACI,GACA,cACA,IAAQL,GAA0C,IAAQnC,IAC1D,MAEJ,CACI,GACA,UACA,IAAIwL,GACJ,MAEJ,CACI,CACI,GACA,IAEJ,gBACA,SACA,MAEJ,CACI,CACI,GACA,IAEJ,aACA,MACA,MAEJ,CACI,CACI,GACA,IAEJ,eACA,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X,OAAO1N,KAAKuT,UAAU,EAAG,EAAG,EAAG,EAAG9J,EAAGiE,EACzC,CAGE,MAAA8F,CAAOwvK,GACL,IAAItvK,EAAMvR,KAAKuR,IAAIsvK,GACfvvK,EAAMtR,KAAKsR,IAAIuvK,GACnB,OAAOhjL,KAAKuT,UAAUG,EAAKD,GAAMA,EAAKC,EAAK,EAAG,EAClD,CAGE,KAAAuvK,CAAMC,EAAQC,EAASD,GACrB,OAAOljL,KAAKuT,UAAU2vK,EAAQ,EAAG,EAAGC,EAAQ,EAAG,EACnD,CACA,WAAA3/J,GACIxjB,KAAKmhL,SAAW,GAChBnhL,KAAKuhL,MAAQ,KACbvhL,KAAKshL,MAAQ,IACjB,EAEJ,IAAK,IAAIF,IAAW,CAChB,SACA,SACA,mBACA,gBACA,aACFH,GAAyC7qK,UAAUgrK,GAAW,YAAYptI,GAMxE,OALAh0C,KAAKuhL,MAAQvhL,KAAKshL,MAAQ,KAC1BthL,KAAKmhL,SAASt/K,KAAK,CACfu/K,QAASA,EACTptI,KAAMA,IAEHh0C,IACX,EAIA,IAAIojL,GAA2C,CAC3C,UACA,QACA,mBACA,QACA,SACA,WACA,aACA,SACA,UACA,YACA,cACA,YACA,aACA,WACA,OACA,QACA,SACA,SACA,QACA,OACA,MACA,MACA,QACA,OACA,OACA,MACA,QACA,QACA,OACA,QACA,YACA,OACA,QACA,UACA,WACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,cACA,YACA,eACA,cACA,aACA,QACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,YACA,MACA,aACA,aACA,YACA,QACA,WACA,SACA,SACA,YACA,YACA,SACA,SACA,cACA,YACA,SACA,QACA,WACA,SACA,SACA,cACA,YACA,SACA,SACA,cACA,YACA,SACA,SACA,SACA,cACA,YACA,SACA,SACA,SACA,cACA,YACA,SACA,SACA,OACA,WACA,UACA,SACA,YACA,aACA,aACA,YACA,YACA,QACA,WACA,WACA,KACA,SACA,WACA,YACA,YACA,eACA,MACA,KACA,cACA,YACA,UACA,KACA,WACA,cACA,eACA,QACA,KACA,SACA,eACA,aACA,aACA,UACA,SACA,cACA,QACA,gBACA,iBACA,WACA,mBACA,SACA,SACA,SACA,KACA,KACA,SACA,SACA,eACA,gBACA,YACA,aACA,SACA,UACA,YACA,YACA,WACA,WACA,gBACA,iBACA,KACA,KACA,YACA,iBACA,iBACA,eACA,cACA,cACA,cACA,SACA,YACA,SACA,SACA,cACA,YACA,SACA,SACA,cACA,QACA,SACA,SACA,cACA,SACA,WACA,aACA,QACA,SACA,QACA,YACA,OACA,UACA,eACA,SACA,QACA,SACA,SACA,SACA,SACA,SACA,SACA,YACA,MACA,MACA,SACA,SACA,QACA,QACA,QACA,WACA,cACA,cACA,gBACA,UACA,aACA,gBACA,QACA,SACA,SACA,aACA,WACA,WACA,SACA,SACA,SACA,SACA,UAIJ,MAAMC,GACF,QAAAC,GACI,OAAO,IAAQrC,EACnB,CACA,QAAAsC,GACI,OAAOvjL,KAAKkiB,KAAKgoI,IACrB,CACA,QAAAs5B,GACI,OAAOxjL,KAAKkiB,KAAKuyI,IACrB,CACA,gBAAAgvB,CAAiB5iE,GACb,GAAI7gH,KAAKmhB,GAAK0/F,EAAM2R,QAAQtwH,OAAQ,OAAO2+G,EAAM2R,QAAQxwH,IAAIhC,KAAKmhB,IAClE,IAAIuiK,EAAS7iE,EAAM2R,QAAQxwH,IAAI6+G,EAAM2R,QAAQtwH,OAAS,GAKtD,MAJU,CACNkxB,QAASswJ,EAASA,EAAOtwJ,QAAU,EACnCk/F,QAASzR,EAAM6R,SAAS1wH,IAAIhC,KAAKmhB,GAAK0/F,EAAM2R,QAAQtwH,SAAW,EAGvE,CACA,WAAAyhL,CAAYz5B,GACR,GAAIlqJ,KAAK4jL,SAAU,OAAO5jL,KAAK4jL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","sources":["webpack://wweebpack/webpack/runtime/load script","webpack://wweebpack/./node_modules/@rive-app/canvas/rive.js","webpack://wweebpack/./node_modules/@swc/helpers/esm/_define_property.js","webpack://wweebpack/./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack://wweebpack/./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack://wweebpack/./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack://wweebpack/./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack://wweebpack/./node_modules/axios/index.js","webpack://wweebpack/./node_modules/axios/lib/adapters/xhr.js","webpack://wweebpack/./node_modules/axios/lib/axios.js","webpack://wweebpack/./node_modules/axios/lib/cancel/Cancel.js","webpack://wweebpack/./node_modules/axios/lib/cancel/CancelToken.js","webpack://wweebpack/./node_modules/axios/lib/cancel/isCancel.js","webpack://wweebpack/./node_modules/axios/lib/core/Axios.js","webpack://wweebpack/./node_modules/axios/lib/core/InterceptorManager.js","webpack://wweebpack/./node_modules/axios/lib/core/buildFullPath.js","webpack://wweebpack/./node_modules/axios/lib/core/createError.js","webpack://wweebpack/./node_modules/axios/lib/core/dispatchRequest.js","webpack://wweebpack/./node_modules/axios/lib/core/enhanceError.js","webpack://wweebpack/./node_modules/axios/lib/core/mergeConfig.js","webpack://wweebpack/./node_modules/axios/lib/core/settle.js","webpack://wweebpack/./node_modules/axios/lib/core/transformData.js","webpack://wweebpack/./node_modules/axios/lib/defaults.js","webpack://wweebpack/./node_modules/axios/lib/helpers/bind.js","webpack://wweebpack/./node_modules/axios/lib/helpers/buildURL.js","webpack://wweebpack/./node_modules/axios/lib/helpers/combineURLs.js","webpack://wweebpack/./node_modules/axios/lib/helpers/cookies.js","webpack://wweebpack/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://wweebpack/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://wweebpack/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://wweebpack/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://wweebpack/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://wweebpack/./node_modules/axios/lib/helpers/spread.js","webpack://wweebpack/./node_modules/axios/lib/helpers/validator.js","webpack://wweebpack/./node_modules/axios/lib/utils.js","webpack://wweebpack/./src/js/apps/CharacterBlock.vue","webpack://wweebpack/./src/js/apps/DoubleMediaRiveElement.vue","webpack://wweebpack/./src/js/apps/FeaturedBlock.vue","webpack://wweebpack/./src/js/apps/FeaturedElement.vue","webpack://wweebpack/./src/js/apps/FeaturedRive.vue","webpack://wweebpack/./src/js/apps/FontSpecimenBlock.vue","webpack://wweebpack/./src/js/apps/FontSpecimenVariableBlock.vue","webpack://wweebpack/./src/js/apps/GlyphBlock.vue","webpack://wweebpack/./src/js/apps/elements/FontSpecimenElement.vue","webpack://wweebpack/./src/js/apps/elements/FontSpecimenVariableElement.vue","webpack://wweebpack/./node_modules/base64-js/index.js","webpack://wweebpack/./node_modules/brotli/dec/bit_reader.js","webpack://wweebpack/./node_modules/brotli/dec/context.js","webpack://wweebpack/./node_modules/brotli/dec/decode.js","webpack://wweebpack/./node_modules/brotli/dec/dictionary-browser.js","webpack://wweebpack/./node_modules/brotli/dec/dictionary.bin.js","webpack://wweebpack/./node_modules/brotli/dec/dictionary.js","webpack://wweebpack/./node_modules/brotli/dec/huffman.js","webpack://wweebpack/./node_modules/brotli/dec/prefix.js","webpack://wweebpack/./node_modules/brotli/dec/streams.js","webpack://wweebpack/./node_modules/brotli/dec/transform.js","webpack://wweebpack/./node_modules/brotli/decompress.js","webpack://wweebpack/./node_modules/clone/clone.js","webpack://wweebpack/./node_modules/dfa/index.js","webpack://wweebpack/./node_modules/fast-deep-equal/index.js","webpack://wweebpack/./node_modules/fontkit/dist/browser-module.mjs","webpack://wweebpack/./node_modules/restructure/src/Array.js","webpack://wweebpack/./node_modules/restructure/src/Base.js","webpack://wweebpack/./node_modules/restructure/src/Bitfield.js","webpack://wweebpack/./node_modules/restructure/src/Boolean.js","webpack://wweebpack/./node_modules/restructure/src/Buffer.js","webpack://wweebpack/./node_modules/restructure/src/DecodeStream.js","webpack://wweebpack/./node_modules/restructure/src/EncodeStream.js","webpack://wweebpack/./node_modules/restructure/src/Enum.js","webpack://wweebpack/./node_modules/restructure/src/LazyArray.js","webpack://wweebpack/./node_modules/restructure/src/Number.js","webpack://wweebpack/./node_modules/restructure/src/Optional.js","webpack://wweebpack/./node_modules/restructure/src/Pointer.js","webpack://wweebpack/./node_modules/restructure/src/Reserved.js","webpack://wweebpack/./node_modules/restructure/src/String.js","webpack://wweebpack/./node_modules/restructure/src/Struct.js","webpack://wweebpack/./node_modules/restructure/src/VersionedStruct.js","webpack://wweebpack/./node_modules/restructure/src/utils.js","webpack://wweebpack/./node_modules/svg4everybody/dist/svg4everybody.js","webpack://wweebpack/./node_modules/tiny-inflate/index.js","webpack://wweebpack/./node_modules/tslib/tslib.es6.mjs","webpack://wweebpack/./node_modules/unicode-properties/dist/module.mjs","webpack://wweebpack/./node_modules/unicode-trie/index.js","webpack://wweebpack/./node_modules/unicode-trie/swap.js","webpack://wweebpack/./node_modules/vue-loader/dist/exportHelper.js","webpack://wweebpack/./node_modules/vue/dist/vue.runtime.esm-bundler.js","webpack://wweebpack/./src/js/app.ts","webpack://wweebpack/./src/js/apps/CharacterBlock.vue?2e11","webpack://wweebpack/./src/js/apps/DoubleMediaRiveElement.vue?92c7","webpack://wweebpack/./src/js/apps/FeaturedBlock.vue?f778","webpack://wweebpack/./src/js/apps/FeaturedElement.vue?eba4","webpack://wweebpack/./src/js/apps/FeaturedRive.vue?6c49","webpack://wweebpack/./src/js/apps/FontSpecimenBlock.vue?7dcc","webpack://wweebpack/./src/js/apps/FontSpecimenVariableBlock.vue?e8e8","webpack://wweebpack/./src/js/apps/GlyphBlock.vue?532b","webpack://wweebpack/./src/js/apps/elements/FontSpecimenElement.vue?687b","webpack://wweebpack/./src/js/apps/elements/FontSpecimenVariableElement.vue?712b","webpack://wweebpack/./src/js/modules/abcd8LogoModule.ts","webpack://wweebpack/./src/js/modules/accordionModule.ts","webpack://wweebpack/./src/js/modules/animatedFavicon.ts","webpack://wweebpack/./src/js/modules/carouselModule.ts","webpack://wweebpack/./src/js/modules/caseStudiesRiveModule.ts","webpack://wweebpack/./src/js/modules/ctaBlockAnimationModule.ts","webpack://wweebpack/./src/js/modules/doubleMediaRiveModule.js","webpack://wweebpack/./src/js/modules/featuredBlockModule.js","webpack://wweebpack/./src/js/modules/featuredElementModule.js","webpack://wweebpack/./src/js/modules/fontSpecimenModule.js","webpack://wweebpack/./src/js/modules/fontSpecimenVariableModule.js","webpack://wweebpack/./src/js/modules/footerModule.ts","webpack://wweebpack/./src/js/modules/glyphBlockModule.js","webpack://wweebpack/./src/js/modules/heroLoadAnimationModule.ts","webpack://wweebpack/./src/js/modules/menuModule.ts","webpack://wweebpack/./src/js/modules/numberCounterModule.ts","webpack://wweebpack/./src/js/modules/splitTextModule.ts","webpack://wweebpack/./src/js/modules/testimonialAnimationModule.ts","webpack://wweebpack/./src/js/modules/videoModule.ts","webpack://wweebpack/webpack/bootstrap","webpack://wweebpack/webpack/runtime/compat get default export","webpack://wweebpack/webpack/runtime/define property getters","webpack://wweebpack/webpack/runtime/ensure chunk","webpack://wweebpack/webpack/runtime/get javascript chunk filename","webpack://wweebpack/webpack/runtime/get mini-css chunk filename","webpack://wweebpack/webpack/runtime/global","webpack://wweebpack/webpack/runtime/hasOwnProperty shorthand","webpack://wweebpack/webpack/runtime/make namespace object","webpack://wweebpack/webpack/runtime/publicPath","webpack://wweebpack/webpack/runtime/jsonp chunk loading","webpack://wweebpack/./node_modules/svg-spritemap-webpack-plugin/svg4everybody-helper.js"],"sourcesContent":["var inProgress = {};\nvar dataWebpackPrefix = \"wweebpack:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"rive\"] = factory();\n\telse\n\t\troot[\"rive\"] = factory();\n})(this, () => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ([\n/* 0 */,\n/* 1 */\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n\nvar Rive = (() => {\n var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;\n \n return (\nfunction(moduleArg = {}) {\n\nvar m = moduleArg, aa, ba;\nm.ready = new Promise((a, b) => {\n aa = a;\n ba = b;\n});\nfunction fa() {\n function a(g) {\n const n = d;\n c = b = 0;\n d = new Map();\n n.forEach(p => {\n try {\n p(g);\n } catch (l) {\n console.error(l);\n }\n });\n this.ob();\n e && e.Tb();\n }\n let b = 0, c = 0, d = new Map(), e = null, f = null;\n this.requestAnimationFrame = function(g) {\n b || (b = requestAnimationFrame(a.bind(this)));\n const n = ++c;\n d.set(n, g);\n return n;\n };\n this.cancelAnimationFrame = function(g) {\n d.delete(g);\n b && 0 == d.size && (cancelAnimationFrame(b), b = 0);\n };\n this.Rb = function(g) {\n f && (document.body.remove(f), f = null);\n g || (f = document.createElement(\"div\"), f.style.backgroundColor = \"black\", f.style.position = \"fixed\", f.style.right = 0, f.style.top = 0, f.style.color = \"white\", f.style.padding = \"4px\", f.innerHTML = \"RIVE FPS\", g = function(n) {\n f.innerHTML = \"RIVE FPS \" + n.toFixed(1);\n }, document.body.appendChild(f));\n e = new function() {\n let n = 0, p = 0;\n this.Tb = function() {\n var l = performance.now();\n p ? (++n, l -= p, 1000 < l && (g(1000 * n / l), n = p = 0)) : (p = l, n = 0);\n };\n }();\n };\n this.Ob = function() {\n f && (document.body.remove(f), f = null);\n e = null;\n };\n this.ob = function() {\n };\n}\nfunction ha(a) {\n console.assert(!0);\n const b = new Map();\n let c = -Infinity;\n this.push = function(d) {\n d = d + ((1 << a) - 1) >> a;\n b.has(d) && clearTimeout(b.get(d));\n b.set(d, setTimeout(function() {\n b.delete(d);\n 0 == b.length ? c = -Infinity : d == c && (c = Math.max(...b.keys()), console.assert(c < d));\n }, 1000));\n c = Math.max(d, c);\n return c << a;\n };\n}\nconst ia = m.onRuntimeInitialized;\nm.onRuntimeInitialized = function() {\n ia && ia();\n let a = m.decodeAudio;\n m.decodeAudio = function(e, f) {\n e = a(e);\n f(e);\n };\n let b = m.decodeFont;\n m.decodeFont = function(e, f) {\n e = b(e);\n f(e);\n };\n const c = m.FileAssetLoader;\n m.ptrToAsset = e => {\n let f = m.ptrToFileAsset(e);\n return f.isImage ? m.ptrToImageAsset(e) : f.isFont ? m.ptrToFontAsset(e) : f.isAudio ? m.ptrToAudioAsset(e) : f;\n };\n m.CustomFileAssetLoader = c.extend(\"CustomFileAssetLoader\", {__construct:function({loadContents:e}) {\n this.__parent.__construct.call(this);\n this.Gb = e;\n }, loadContents:function(e, f) {\n e = m.ptrToAsset(e);\n return this.Gb(e, f);\n },});\n m.CDNFileAssetLoader = c.extend(\"CDNFileAssetLoader\", {__construct:function() {\n this.__parent.__construct.call(this);\n }, loadContents:function(e) {\n let f = m.ptrToAsset(e);\n e = f.cdnUuid;\n if (\"\" === e) {\n return !1;\n }\n (function(g, n) {\n var p = new XMLHttpRequest();\n p.responseType = \"arraybuffer\";\n p.onreadystatechange = function() {\n 4 == p.readyState && 200 == p.status && n(p);\n };\n p.open(\"GET\", g, !0);\n p.send(null);\n })(f.cdnBaseUrl + \"/\" + e, g => {\n f.decode(new Uint8Array(g.response));\n });\n return !0;\n },});\n m.FallbackFileAssetLoader = c.extend(\"FallbackFileAssetLoader\", {__construct:function() {\n this.__parent.__construct.call(this);\n this.kb = [];\n }, addLoader:function(e) {\n this.kb.push(e);\n }, loadContents:function(e, f) {\n for (let g of this.kb) {\n if (g.loadContents(e, f)) {\n return !0;\n }\n }\n return !1;\n },});\n let d = m.computeAlignment;\n m.computeAlignment = function(e, f, g, n, p = 1.0) {\n return d.call(this, e, f, g, n, p);\n };\n};\nconst ja = \"createConicGradient createImageData createLinearGradient createPattern createRadialGradient getContextAttributes getImageData getLineDash getTransform isContextLost isPointInPath isPointInStroke measureText\".split(\" \"), ka = new function() {\n function a() {\n if (!b) {\n var k = document.createElement(\"canvas\"), t = {alpha:1, depth:0, stencil:0, antialias:0, premultipliedAlpha:1, preserveDrawingBuffer:0, powerPreference:\"high-performance\", failIfMajorPerformanceCaveat:0, enableExtensionsByDefault:1, explicitSwapControl:1, renderViaOffscreenBackBuffer:1,};\n let r;\n if (/iPhone|iPad|iPod/i.test(navigator.userAgent)) {\n if (r = k.getContext(\"webgl\", t), c = 1, !r) {\n return console.log(\"No WebGL support. Image mesh will not be drawn.\"), !1;\n }\n } else {\n if (r = k.getContext(\"webgl2\", t)) {\n c = 2;\n } else {\n if (r = k.getContext(\"webgl\", t)) {\n c = 1;\n } else {\n return console.log(\"No WebGL support. Image mesh will not be drawn.\"), !1;\n }\n }\n }\n r = new Proxy(r, {get(D, w) {\n if (D.isContextLost()) {\n if (p || (console.error(\"Cannot render the mesh because the GL Context was lost. Tried to invoke \", w), p = !0), \"function\" === typeof D[w]) {\n return function() {\n };\n }\n } else {\n return \"function\" === typeof D[w] ? function(...M) {\n return D[w].apply(D, M);\n } : D[w];\n }\n }, set(D, w, M) {\n if (D.isContextLost()) {\n p || (console.error(\"Cannot render the mesh because the GL Context was lost. Tried to set property \" + w), p = !0);\n } else {\n return D[w] = M, !0;\n }\n },});\n d = Math.min(r.getParameter(r.MAX_RENDERBUFFER_SIZE), r.getParameter(r.MAX_TEXTURE_SIZE));\n function B(D, w, M) {\n w = r.createShader(w);\n r.shaderSource(w, M);\n r.compileShader(w);\n M = r.getShaderInfoLog(w);\n if (0 < (M || \"\").length) {\n throw M;\n }\n r.attachShader(D, w);\n }\n k = r.createProgram();\n B(k, r.VERTEX_SHADER, \"attribute vec2 vertex;\\n attribute vec2 uv;\\n uniform vec4 mat;\\n uniform vec2 translate;\\n varying vec2 st;\\n void main() {\\n st = uv;\\n gl_Position = vec4(mat2(mat) * vertex + translate, 0, 1);\\n }\");\n B(k, r.FRAGMENT_SHADER, \"precision highp float;\\n uniform sampler2D image;\\n varying vec2 st;\\n void main() {\\n gl_FragColor = texture2D(image, st);\\n }\");\n r.bindAttribLocation(k, 0, \"vertex\");\n r.bindAttribLocation(k, 1, \"uv\");\n r.linkProgram(k);\n t = r.getProgramInfoLog(k);\n if (0 < (t || \"\").trim().length) {\n throw t;\n }\n e = r.getUniformLocation(k, \"mat\");\n f = r.getUniformLocation(k, \"translate\");\n r.useProgram(k);\n r.bindBuffer(r.ARRAY_BUFFER, r.createBuffer());\n r.enableVertexAttribArray(0);\n r.enableVertexAttribArray(1);\n r.bindBuffer(r.ELEMENT_ARRAY_BUFFER, r.createBuffer());\n r.uniform1i(r.getUniformLocation(k, \"image\"), 0);\n r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL, !0);\n b = r;\n }\n return !0;\n }\n let b = null, c = 0, d = 0, e = null, f = null, g = 0, n = 0, p = !1;\n a();\n this.hc = function() {\n a();\n return d;\n };\n this.Mb = function(k) {\n b.deleteTexture && b.deleteTexture(k);\n };\n this.Lb = function(k) {\n if (!a()) {\n return null;\n }\n const t = b.createTexture();\n if (!t) {\n return null;\n }\n b.bindTexture(b.TEXTURE_2D, t);\n b.texImage2D(b.TEXTURE_2D, 0, b.RGBA, b.RGBA, b.UNSIGNED_BYTE, k);\n b.texParameteri(b.TEXTURE_2D, b.TEXTURE_WRAP_S, b.CLAMP_TO_EDGE);\n b.texParameteri(b.TEXTURE_2D, b.TEXTURE_WRAP_T, b.CLAMP_TO_EDGE);\n b.texParameteri(b.TEXTURE_2D, b.TEXTURE_MAG_FILTER, b.LINEAR);\n 2 == c ? (b.texParameteri(b.TEXTURE_2D, b.TEXTURE_MIN_FILTER, b.LINEAR_MIPMAP_LINEAR), b.generateMipmap(b.TEXTURE_2D)) : b.texParameteri(b.TEXTURE_2D, b.TEXTURE_MIN_FILTER, b.LINEAR);\n return t;\n };\n const l = new ha(8), u = new ha(8), v = new ha(10), x = new ha(10);\n this.Qb = function(k, t, r, B, D) {\n if (a()) {\n var w = l.push(k), M = u.push(t);\n if (b.canvas) {\n if (b.canvas.width != w || b.canvas.height != M) {\n b.canvas.width = w, b.canvas.height = M;\n }\n b.viewport(0, M - t, k, t);\n b.disable(b.SCISSOR_TEST);\n b.clearColor(0, 0, 0, 0);\n b.clear(b.COLOR_BUFFER_BIT);\n b.enable(b.SCISSOR_TEST);\n r.sort((H, ca) => ca.wb - H.wb);\n w = v.push(B);\n g != w && (b.bufferData(b.ARRAY_BUFFER, 8 * w, b.DYNAMIC_DRAW), g = w);\n w = 0;\n for (var T of r) {\n b.bufferSubData(b.ARRAY_BUFFER, w, T.Ta), w += 4 * T.Ta.length;\n }\n console.assert(w == 4 * B);\n for (var da of r) {\n b.bufferSubData(b.ARRAY_BUFFER, w, da.Db), w += 4 * da.Db.length;\n }\n console.assert(w == 8 * B);\n w = x.push(D);\n n != w && (b.bufferData(b.ELEMENT_ARRAY_BUFFER, 2 * w, b.DYNAMIC_DRAW), n = w);\n T = 0;\n for (var ra of r) {\n b.bufferSubData(b.ELEMENT_ARRAY_BUFFER, T, ra.indices), T += 2 * ra.indices.length;\n }\n console.assert(T == 2 * D);\n ra = 0;\n da = !0;\n w = T = 0;\n for (const H of r) {\n H.image.Ka != ra && (b.bindTexture(b.TEXTURE_2D, H.image.Ja || null), ra = H.image.Ka);\n H.mc ? (b.scissor(H.Ya, M - H.Za - H.jb, H.Ac, H.jb), da = !0) : da && (b.scissor(0, M - t, k, t), da = !1);\n r = 2 / k;\n const ca = -2 / t;\n b.uniform4f(e, H.ha[0] * r * H.Ba, H.ha[1] * ca * H.Ca, H.ha[2] * r * H.Ba, H.ha[3] * ca * H.Ca);\n b.uniform2f(f, H.ha[4] * r * H.Ba + r * (H.Ya - H.ic * H.Ba) - 1, H.ha[5] * ca * H.Ca + ca * (H.Za - H.jc * H.Ca) + 1);\n b.vertexAttribPointer(0, 2, b.FLOAT, !1, 0, w);\n b.vertexAttribPointer(1, 2, b.FLOAT, !1, 0, w + 4 * B);\n b.drawElements(b.TRIANGLES, H.indices.length, b.UNSIGNED_SHORT, T);\n w += 4 * H.Ta.length;\n T += 2 * H.indices.length;\n }\n console.assert(w == 4 * B);\n console.assert(T == 2 * D);\n }\n }\n };\n this.canvas = function() {\n return a() && b.canvas;\n };\n}(), la = m.onRuntimeInitialized;\nm.onRuntimeInitialized = function() {\n function a(q) {\n switch(q) {\n case l.srcOver:\n return \"source-over\";\n case l.screen:\n return \"screen\";\n case l.overlay:\n return \"overlay\";\n case l.darken:\n return \"darken\";\n case l.lighten:\n return \"lighten\";\n case l.colorDodge:\n return \"color-dodge\";\n case l.colorBurn:\n return \"color-burn\";\n case l.hardLight:\n return \"hard-light\";\n case l.softLight:\n return \"soft-light\";\n case l.difference:\n return \"difference\";\n case l.exclusion:\n return \"exclusion\";\n case l.multiply:\n return \"multiply\";\n case l.hue:\n return \"hue\";\n case l.saturation:\n return \"saturation\";\n case l.color:\n return \"color\";\n case l.luminosity:\n return \"luminosity\";\n }\n }\n function b(q) {\n return \"rgba(\" + ((16711680 & q) >>> 16) + \",\" + ((65280 & q) >>> 8) + \",\" + ((255 & q) >>> 0) + \",\" + ((4278190080 & q) >>> 24) / 255 + \")\";\n }\n function c() {\n 0 < M.length && (ka.Qb(w.drawWidth(), w.drawHeight(), M, T, da), M = [], da = T = 0, w.reset(512, 512));\n for (const q of D) {\n for (const y of q.H) {\n y();\n }\n q.H = [];\n }\n D.clear();\n }\n la && la();\n var d = m.RenderPaintStyle;\n const e = m.RenderPath, f = m.RenderPaint, g = m.Renderer, n = m.StrokeCap, p = m.StrokeJoin, l = m.BlendMode, u = d.fill, v = d.stroke, x = m.FillRule.evenOdd;\n let k = 1;\n var t = m.RenderImage.extend(\"CanvasRenderImage\", {__construct:function({la:q, xa:y} = {}) {\n this.__parent.__construct.call(this);\n this.Ka = k;\n k = k + 1 & 2147483647 || 1;\n this.la = q;\n this.xa = y;\n }, __destruct:function() {\n this.Ja && (ka.Mb(this.Ja), URL.revokeObjectURL(this.Wa));\n this.__parent.__destruct.call(this);\n }, decode:function(q) {\n var y = this;\n y.xa && y.xa(y);\n var F = new Image();\n y.Wa = URL.createObjectURL(new Blob([q], {type:\"image/png\",}));\n F.onload = function() {\n y.Fb = F;\n y.Ja = ka.Lb(F);\n y.size(F.width, F.height);\n y.la && y.la(y);\n };\n F.src = y.Wa;\n },}), r = e.extend(\"CanvasRenderPath\", {__construct:function() {\n this.__parent.__construct.call(this);\n this.T = new Path2D();\n }, rewind:function() {\n this.T = new Path2D();\n }, addPath:function(q, y, F, G, A, I, J) {\n var K = this.T, X = K.addPath;\n q = q.T;\n const Q = new DOMMatrix();\n Q.a = y;\n Q.b = F;\n Q.c = G;\n Q.d = A;\n Q.e = I;\n Q.f = J;\n X.call(K, q, Q);\n }, fillRule:function(q) {\n this.Va = q;\n }, moveTo:function(q, y) {\n this.T.moveTo(q, y);\n }, lineTo:function(q, y) {\n this.T.lineTo(q, y);\n }, cubicTo:function(q, y, F, G, A, I) {\n this.T.bezierCurveTo(q, y, F, G, A, I);\n }, close:function() {\n this.T.closePath();\n },}), B = f.extend(\"CanvasRenderPaint\", {color:function(q) {\n this.Xa = b(q);\n }, thickness:function(q) {\n this.Ib = q;\n }, join:function(q) {\n switch(q) {\n case p.miter:\n this.Ia = \"miter\";\n break;\n case p.round:\n this.Ia = \"round\";\n break;\n case p.bevel:\n this.Ia = \"bevel\";\n }\n }, cap:function(q) {\n switch(q) {\n case n.butt:\n this.Ha = \"butt\";\n break;\n case n.round:\n this.Ha = \"round\";\n break;\n case n.square:\n this.Ha = \"square\";\n }\n }, style:function(q) {\n this.Hb = q;\n }, blendMode:function(q) {\n this.Eb = a(q);\n }, clearGradient:function() {\n this.ja = null;\n }, linearGradient:function(q, y, F, G) {\n this.ja = {yb:q, zb:y, bb:F, cb:G, Ra:[],};\n }, radialGradient:function(q, y, F, G) {\n this.ja = {yb:q, zb:y, bb:F, cb:G, Ra:[], ec:!0,};\n }, addStop:function(q, y) {\n this.ja.Ra.push({color:q, stop:y,});\n }, completeGradient:function() {\n }, draw:function(q, y, F) {\n let G = this.Hb;\n var A = this.Xa, I = this.ja;\n q.globalCompositeOperation = this.Eb;\n if (null != I) {\n A = I.yb;\n var J = I.zb;\n const X = I.bb;\n var K = I.cb;\n const Q = I.Ra;\n I.ec ? (I = X - A, K -= J, A = q.createRadialGradient(A, J, 0, A, J, Math.sqrt(I * I + K * K))) : A = q.createLinearGradient(A, J, X, K);\n for (let ea = 0, R = Q.length; ea < R; ea++) {\n J = Q[ea], A.addColorStop(J.stop, b(J.color));\n }\n this.Xa = A;\n this.ja = null;\n }\n switch(G) {\n case v:\n q.strokeStyle = A;\n q.lineWidth = this.Ib;\n q.lineCap = this.Ha;\n q.lineJoin = this.Ia;\n q.stroke(y);\n break;\n case u:\n q.fillStyle = A, q.fill(y, F);\n }\n },});\n const D = new Set();\n let w = null, M = [], T = 0, da = 0;\n var ra = m.CanvasRenderer = g.extend(\"Renderer\", {__construct:function(q) {\n this.__parent.__construct.call(this);\n this.S = [1, 0, 0, 1, 0, 0];\n this.C = q.getContext(\"2d\");\n this.Ua = q;\n this.H = [];\n }, save:function() {\n this.S.push(...this.S.slice(this.S.length - 6));\n this.H.push(this.C.save.bind(this.C));\n }, restore:function() {\n const q = this.S.length - 6;\n if (6 > q) {\n throw \"restore() called without matching save().\";\n }\n this.S.splice(q);\n this.H.push(this.C.restore.bind(this.C));\n }, transform:function(q, y, F, G, A, I) {\n const J = this.S, K = J.length - 6;\n J.splice(K, 6, J[K] * q + J[K + 2] * y, J[K + 1] * q + J[K + 3] * y, J[K] * F + J[K + 2] * G, J[K + 1] * F + J[K + 3] * G, J[K] * A + J[K + 2] * I + J[K + 4], J[K + 1] * A + J[K + 3] * I + J[K + 5]);\n this.H.push(this.C.transform.bind(this.C, q, y, F, G, A, I));\n }, rotate:function(q) {\n const y = Math.sin(q);\n q = Math.cos(q);\n this.transform(q, y, -y, q, 0, 0);\n }, _drawPath:function(q, y) {\n this.H.push(y.draw.bind(y, this.C, q.T, q.Va === x ? \"evenodd\" : \"nonzero\"));\n }, _drawRiveImage:function(q, y, F) {\n var G = q.Fb;\n if (G) {\n var A = this.C, I = a(y);\n this.H.push(function() {\n A.globalCompositeOperation = I;\n A.globalAlpha = F;\n A.drawImage(G, 0, 0);\n A.globalAlpha = 1;\n });\n }\n }, _getMatrix:function(q) {\n const y = this.S, F = y.length - 6;\n for (let G = 0; 6 > G; ++G) {\n q[G] = y[F + G];\n }\n }, _drawImageMesh:function(q, y, F, G, A, I, J, K, X, Q) {\n var ea = this.C.canvas.width, R = this.C.canvas.height;\n const Yb = X - J, Zb = Q - K;\n J = Math.max(J, 0);\n K = Math.max(K, 0);\n X = Math.min(X, ea);\n Q = Math.min(Q, R);\n const Ga = X - J, Ha = Q - K;\n console.assert(Ga <= Math.min(Yb, ea));\n console.assert(Ha <= Math.min(Zb, R));\n if (!(0 >= Ga || 0 >= Ha)) {\n X = Ga < Yb || Ha < Zb;\n ea = Q = 1;\n var sa = Math.ceil(Ga * Q), ta = Math.ceil(Ha * ea);\n R = ka.hc();\n sa > R && (Q *= R / sa, sa = R);\n ta > R && (ea *= R / ta, ta = R);\n w || (w = new m.DynamicRectanizer(R), w.reset(512, 512));\n R = w.addRect(sa, ta);\n 0 > R && (c(), D.add(this), R = w.addRect(sa, ta), console.assert(0 <= R));\n var $b = R & 65535, ac = R >> 16;\n M.push({ha:this.S.slice(this.S.length - 6), image:q, Ya:$b, Za:ac, ic:J, jc:K, Ac:sa, jb:ta, Ba:Q, Ca:ea, Ta:new Float32Array(G), Db:new Float32Array(A), indices:new Uint16Array(I), mc:X, wb:q.Ka << 1 | (X ? 1 : 0),});\n T += G.length;\n da += I.length;\n var za = this.C, qd = a(y);\n this.H.push(function() {\n za.save();\n za.resetTransform();\n za.globalCompositeOperation = qd;\n za.globalAlpha = F;\n const bc = ka.canvas();\n bc && za.drawImage(bc, $b, ac, sa, ta, J, K, Ga, Ha);\n za.restore();\n });\n }\n }, _clipPath:function(q) {\n this.H.push(this.C.clip.bind(this.C, q.T, q.Va === x ? \"evenodd\" : \"nonzero\"));\n }, clear:function() {\n D.add(this);\n this.H.push(this.C.clearRect.bind(this.C, 0, 0, this.Ua.width, this.Ua.height));\n }, flush:function() {\n }, translate:function(q, y) {\n this.transform(1, 0, 0, 1, q, y);\n },});\n m.makeRenderer = function(q) {\n const y = new ra(q), F = y.C;\n return new Proxy(y, {get(G, A) {\n if (\"function\" === typeof G[A]) {\n return function(...I) {\n return G[A].apply(G, I);\n };\n }\n if (\"function\" === typeof F[A]) {\n if (-1 < ja.indexOf(A)) {\n throw Error(\"RiveException: Method call to '\" + A + \"()' is not allowed, as the renderer cannot immediately pass through the return values of any canvas 2d context methods.\");\n }\n return function(...I) {\n y.H.push(F[A].bind(F, ...I));\n };\n }\n return G[A];\n }, set(G, A, I) {\n if (A in F) {\n return y.H.push(() => {\n F[A] = I;\n }), !0;\n }\n },});\n };\n m.decodeImage = function(q, y) {\n (new t({la:y})).decode(q);\n };\n m.renderFactory = {makeRenderPaint:function() {\n return new B();\n }, makeRenderPath:function() {\n return new r();\n }, makeRenderImage:function() {\n let q = ca;\n return new t({xa:() => {\n q.total++;\n }, la:() => {\n q.loaded++;\n if (q.loaded === q.total) {\n const y = q.ready;\n y && (y(), q.ready = null);\n }\n },});\n },};\n let H = m.load, ca = null;\n m.load = function(q, y, F = !0) {\n const G = new m.FallbackFileAssetLoader();\n void 0 !== y && G.addLoader(y);\n F && (y = new m.CDNFileAssetLoader(), G.addLoader(y));\n return new Promise(function(A) {\n let I = null;\n ca = {total:0, loaded:0, ready:function() {\n A(I);\n },};\n I = H(q, G);\n 0 == ca.total && A(I);\n });\n };\n let rd = m.RendererWrapper.prototype.align;\n m.RendererWrapper.prototype.align = function(q, y, F, G, A = 1.0) {\n rd.call(this, q, y, F, G, A);\n };\n d = new fa();\n m.requestAnimationFrame = d.requestAnimationFrame.bind(d);\n m.cancelAnimationFrame = d.cancelAnimationFrame.bind(d);\n m.enableFPSCounter = d.Rb.bind(d);\n m.disableFPSCounter = d.Ob;\n d.ob = c;\n m.resolveAnimationFrame = c;\n m.cleanup = function() {\n w && w.delete();\n };\n};\nvar ma = Object.assign({}, m), na = \"./this.program\", oa = \"object\" == typeof window, pa = \"function\" == typeof importScripts, qa = \"\", ua, va;\nif (oa || pa) {\n pa ? qa = self.location.href : \"undefined\" != typeof document && document.currentScript && (qa = document.currentScript.src), _scriptDir && (qa = _scriptDir), 0 !== qa.indexOf(\"blob:\") ? qa = qa.substr(0, qa.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1) : qa = \"\", pa && (va = a => {\n var b = new XMLHttpRequest();\n b.open(\"GET\", a, !1);\n b.responseType = \"arraybuffer\";\n b.send(null);\n return new Uint8Array(b.response);\n }), ua = (a, b, c) => {\n var d = new XMLHttpRequest();\n d.open(\"GET\", a, !0);\n d.responseType = \"arraybuffer\";\n d.onload = () => {\n 200 == d.status || 0 == d.status && d.response ? b(d.response) : c();\n };\n d.onerror = c;\n d.send(null);\n };\n}\nvar wa = m.print || console.log.bind(console), xa = m.printErr || console.error.bind(console);\nObject.assign(m, ma);\nma = null;\nm.thisProgram && (na = m.thisProgram);\nvar ya;\nm.wasmBinary && (ya = m.wasmBinary);\nvar noExitRuntime = m.noExitRuntime || !0;\n\"object\" != typeof WebAssembly && Aa(\"no native wasm support detected\");\nvar Ba, z, Ca = !1, C, E, Da, Ea, L, N, Fa, Ia;\nfunction Ja() {\n var a = Ba.buffer;\n m.HEAP8 = C = new Int8Array(a);\n m.HEAP16 = Da = new Int16Array(a);\n m.HEAP32 = L = new Int32Array(a);\n m.HEAPU8 = E = new Uint8Array(a);\n m.HEAPU16 = Ea = new Uint16Array(a);\n m.HEAPU32 = N = new Uint32Array(a);\n m.HEAPF32 = Fa = new Float32Array(a);\n m.HEAPF64 = Ia = new Float64Array(a);\n}\nvar Ka, La = [], Ma = [], Na = [];\nfunction Oa() {\n var a = m.preRun.shift();\n La.unshift(a);\n}\nvar Pa = 0, Qa = null, Ra = null;\nfunction Aa(a) {\n if (m.onAbort) {\n m.onAbort(a);\n }\n a = \"Aborted(\" + a + \")\";\n xa(a);\n Ca = !0;\n a = new WebAssembly.RuntimeError(a + \". Build with -sASSERTIONS for more info.\");\n ba(a);\n throw a;\n}\nfunction Sa(a) {\n return a.startsWith(\"data:application/octet-stream;base64,\");\n}\nvar Ta;\nTa = \"canvas_advanced.wasm\";\nif (!Sa(Ta)) {\n var Ua = Ta;\n Ta = m.locateFile ? m.locateFile(Ua, qa) : qa + Ua;\n}\nfunction Va(a) {\n if (a == Ta && ya) {\n return new Uint8Array(ya);\n }\n if (va) {\n return va(a);\n }\n throw \"both async and sync fetching of the wasm failed\";\n}\nfunction Wa(a) {\n if (!ya && (oa || pa)) {\n if (\"function\" == typeof fetch && !a.startsWith(\"file://\")) {\n return fetch(a, {credentials:\"same-origin\"}).then(b => {\n if (!b.ok) {\n throw \"failed to load wasm binary file at '\" + a + \"'\";\n }\n return b.arrayBuffer();\n }).catch(() => Va(a));\n }\n if (ua) {\n return new Promise((b, c) => {\n ua(a, d => b(new Uint8Array(d)), c);\n });\n }\n }\n return Promise.resolve().then(() => Va(a));\n}\nfunction Xa(a, b, c) {\n return Wa(a).then(d => WebAssembly.instantiate(d, b)).then(d => d).then(c, d => {\n xa(\"failed to asynchronously prepare wasm: \" + d);\n Aa(d);\n });\n}\nfunction Ya(a, b) {\n var c = Ta;\n return ya || \"function\" != typeof WebAssembly.instantiateStreaming || Sa(c) || c.startsWith(\"file://\") || \"function\" != typeof fetch ? Xa(c, a, b) : fetch(c, {credentials:\"same-origin\"}).then(d => WebAssembly.instantiateStreaming(d, a).then(b, function(e) {\n xa(\"wasm streaming compile failed: \" + e);\n xa(\"falling back to ArrayBuffer instantiation\");\n return Xa(c, a, b);\n }));\n}\nvar Za, $a, db = {449484:(a, b, c, d, e) => {\n if (\"undefined\" === typeof window || void 0 === (window.AudioContext || window.webkitAudioContext)) {\n return 0;\n }\n if (\"undefined\" === typeof window.h) {\n window.h = {Aa:0};\n window.h.I = {};\n window.h.I.ya = a;\n window.h.I.capture = b;\n window.h.I.La = c;\n window.h.ga = {};\n window.h.ga.stopped = d;\n window.h.ga.xb = e;\n let f = window.h;\n f.D = [];\n f.yc = function(g) {\n for (var n = 0; n < f.D.length; ++n) {\n if (null == f.D[n]) {\n return f.D[n] = g, n;\n }\n }\n f.D.push(g);\n return f.D.length - 1;\n };\n f.Cb = function(g) {\n for (f.D[g] = null; 0 < f.D.length;) {\n if (null == f.D[f.D.length - 1]) {\n f.D.pop();\n } else {\n break;\n }\n }\n };\n f.Sc = function(g) {\n for (var n = 0; n < f.D.length; ++n) {\n if (f.D[n] == g) {\n return f.Cb(n);\n }\n }\n };\n f.ra = function(g) {\n return f.D[g];\n };\n f.Bb = [\"touchend\", \"click\"];\n f.unlock = function() {\n for (var g = 0; g < f.D.length; ++g) {\n var n = f.D[g];\n null != n && null != n.J && n.state === f.ga.xb && n.J.resume().then(() => {\n ab(n.pb);\n }, p => {\n console.error(\"Failed to resume audiocontext\", p);\n });\n }\n f.Bb.map(function(p) {\n document.removeEventListener(p, f.unlock, !0);\n });\n };\n f.Bb.map(function(g) {\n document.addEventListener(g, f.unlock, !0);\n });\n }\n window.h.Aa += 1;\n return 1;\n}, 451662:() => {\n \"undefined\" !== typeof window.h && (--window.h.Aa, 0 === window.h.Aa && delete window.h);\n}, 451826:() => void 0 !== navigator.mediaDevices && void 0 !== navigator.mediaDevices.getUserMedia, 451930:() => {\n try {\n var a = new (window.AudioContext || window.webkitAudioContext)(), b = a.sampleRate;\n a.close();\n return b;\n } catch (c) {\n return 0;\n }\n}, 452101:(a, b, c, d, e, f) => {\n if (\"undefined\" === typeof window.h) {\n return -1;\n }\n var g = {}, n = {};\n a == window.h.I.ya && 0 != c && (n.sampleRate = c);\n g.J = new (window.AudioContext || window.webkitAudioContext)(n);\n g.J.suspend();\n g.state = window.h.ga.stopped;\n c = 0;\n a != window.h.I.ya && (c = b);\n g.Z = g.J.createScriptProcessor(d, c, b);\n g.Z.onaudioprocess = function(p) {\n if (null == g.sa || 0 == g.sa.length) {\n g.sa = new Float32Array(Fa.buffer, e, d * b);\n }\n if (a == window.h.I.capture || a == window.h.I.La) {\n for (var l = 0; l < b; l += 1) {\n for (var u = p.inputBuffer.getChannelData(l), v = g.sa, x = 0; x < d; x += 1) {\n v[x * b + l] = u[x];\n }\n }\n bb(f, d, e);\n }\n if (a == window.h.I.ya || a == window.h.I.La) {\n for (cb(f, d, e), l = 0; l < p.outputBuffer.numberOfChannels; ++l) {\n for (u = p.outputBuffer.getChannelData(l), v = g.sa, x = 0; x < d; x += 1) {\n u[x] = v[x * b + l];\n }\n }\n } else {\n for (l = 0; l < p.outputBuffer.numberOfChannels; ++l) {\n p.outputBuffer.getChannelData(l).fill(0.0);\n }\n }\n };\n a != window.h.I.capture && a != window.h.I.La || navigator.mediaDevices.getUserMedia({audio:!0, video:!1}).then(function(p) {\n g.Da = g.J.createMediaStreamSource(p);\n g.Da.connect(g.Z);\n g.Z.connect(g.J.destination);\n }).catch(function(p) {\n console.log(\"Failed to get user media: \" + p);\n });\n a == window.h.I.ya && g.Z.connect(g.J.destination);\n g.pb = f;\n return window.h.yc(g);\n}, 454978:a => window.h.ra(a).J.sampleRate, 455051:a => {\n a = window.h.ra(a);\n void 0 !== a.Z && (a.Z.onaudioprocess = function() {\n }, a.Z.disconnect(), a.Z = void 0);\n void 0 !== a.Da && (a.Da.disconnect(), a.Da = void 0);\n a.J.close();\n a.J = void 0;\n a.pb = void 0;\n}, 455451:a => {\n window.h.Cb(a);\n}, 455501:a => {\n a = window.h.ra(a);\n a.J.resume();\n a.state = window.h.ga.xb;\n}, 455640:a => {\n a = window.h.ra(a);\n a.J.suspend();\n a.state = window.h.ga.stopped;\n}}, eb = a => {\n for (; 0 < a.length;) {\n a.shift()(m);\n }\n}, fb = (a, b) => {\n for (var c = 0, d = a.length - 1; 0 <= d; d--) {\n var e = a[d];\n \".\" === e ? a.splice(d, 1) : \"..\" === e ? (a.splice(d, 1), c++) : c && (a.splice(d, 1), c--);\n }\n if (b) {\n for (; c; c--) {\n a.unshift(\"..\");\n }\n }\n return a;\n}, gb = a => {\n var b = \"/\" === a.charAt(0), c = \"/\" === a.substr(-1);\n (a = fb(a.split(\"/\").filter(d => !!d), !b).join(\"/\")) || b || (a = \".\");\n a && c && (a += \"/\");\n return (b ? \"/\" : \"\") + a;\n}, hb = a => {\n var b = /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/.exec(a).slice(1);\n a = b[0];\n b = b[1];\n if (!a && !b) {\n return \".\";\n }\n b && (b = b.substr(0, b.length - 1));\n return a + b;\n}, ib = a => {\n if (\"/\" === a) {\n return \"/\";\n }\n a = gb(a);\n a = a.replace(/\\/$/, \"\");\n var b = a.lastIndexOf(\"/\");\n return -1 === b ? a : a.substr(b + 1);\n}, jb = () => {\n if (\"object\" == typeof crypto && \"function\" == typeof crypto.getRandomValues) {\n return a => crypto.getRandomValues(a);\n }\n Aa(\"initRandomDevice\");\n}, kb = a => (kb = jb())(a);\nfunction lb() {\n for (var a = \"\", b = !1, c = arguments.length - 1; -1 <= c && !b; c--) {\n b = 0 <= c ? arguments[c] : \"/\";\n if (\"string\" != typeof b) {\n throw new TypeError(\"Arguments to path.resolve must be strings\");\n }\n if (!b) {\n return \"\";\n }\n a = b + \"/\" + a;\n b = \"/\" === b.charAt(0);\n }\n a = fb(a.split(\"/\").filter(d => !!d), !b).join(\"/\");\n return (b ? \"/\" : \"\") + a || \".\";\n}\nvar mb = \"undefined\" != typeof TextDecoder ? new TextDecoder(\"utf8\") : void 0, nb = (a, b, c) => {\n var d = b + c;\n for (c = b; a[c] && !(c >= d);) {\n ++c;\n }\n if (16 < c - b && a.buffer && mb) {\n return mb.decode(a.subarray(b, c));\n }\n for (d = \"\"; b < c;) {\n var e = a[b++];\n if (e & 128) {\n var f = a[b++] & 63;\n if (192 == (e & 224)) {\n d += String.fromCharCode((e & 31) << 6 | f);\n } else {\n var g = a[b++] & 63;\n e = 224 == (e & 240) ? (e & 15) << 12 | f << 6 | g : (e & 7) << 18 | f << 12 | g << 6 | a[b++] & 63;\n 65536 > e ? d += String.fromCharCode(e) : (e -= 65536, d += String.fromCharCode(55296 | e >> 10, 56320 | e & 1023));\n }\n } else {\n d += String.fromCharCode(e);\n }\n }\n return d;\n}, ob = [], pb = a => {\n for (var b = 0, c = 0; c < a.length; ++c) {\n var d = a.charCodeAt(c);\n 127 >= d ? b++ : 2047 >= d ? b += 2 : 55296 <= d && 57343 >= d ? (b += 4, ++c) : b += 3;\n }\n return b;\n}, qb = (a, b, c, d) => {\n if (!(0 < d)) {\n return 0;\n }\n var e = c;\n d = c + d - 1;\n for (var f = 0; f < a.length; ++f) {\n var g = a.charCodeAt(f);\n if (55296 <= g && 57343 >= g) {\n var n = a.charCodeAt(++f);\n g = 65536 + ((g & 1023) << 10) | n & 1023;\n }\n if (127 >= g) {\n if (c >= d) {\n break;\n }\n b[c++] = g;\n } else {\n if (2047 >= g) {\n if (c + 1 >= d) {\n break;\n }\n b[c++] = 192 | g >> 6;\n } else {\n if (65535 >= g) {\n if (c + 2 >= d) {\n break;\n }\n b[c++] = 224 | g >> 12;\n } else {\n if (c + 3 >= d) {\n break;\n }\n b[c++] = 240 | g >> 18;\n b[c++] = 128 | g >> 12 & 63;\n }\n b[c++] = 128 | g >> 6 & 63;\n }\n b[c++] = 128 | g & 63;\n }\n }\n b[c] = 0;\n return c - e;\n};\nfunction rb(a, b) {\n var c = Array(pb(a) + 1);\n a = qb(a, c, 0, c.length);\n b && (c.length = a);\n return c;\n}\nvar sb = [];\nfunction tb(a, b) {\n sb[a] = {input:[], F:[], V:b};\n ub(a, vb);\n}\nvar vb = {open:function(a) {\n var b = sb[a.node.za];\n if (!b) {\n throw new O(43);\n }\n a.s = b;\n a.seekable = !1;\n}, close:function(a) {\n a.s.V.qa(a.s);\n}, qa:function(a) {\n a.s.V.qa(a.s);\n}, read:function(a, b, c, d) {\n if (!a.s || !a.s.V.ib) {\n throw new O(60);\n }\n for (var e = 0, f = 0; f < d; f++) {\n try {\n var g = a.s.V.ib(a.s);\n } catch (n) {\n throw new O(29);\n }\n if (void 0 === g && 0 === e) {\n throw new O(6);\n }\n if (null === g || void 0 === g) {\n break;\n }\n e++;\n b[c + f] = g;\n }\n e && (a.node.timestamp = Date.now());\n return e;\n}, write:function(a, b, c, d) {\n if (!a.s || !a.s.V.Oa) {\n throw new O(60);\n }\n try {\n for (var e = 0; e < d; e++) {\n a.s.V.Oa(a.s, b[c + e]);\n }\n } catch (f) {\n throw new O(29);\n }\n d && (a.node.timestamp = Date.now());\n return e;\n},}, wb = {ib:function() {\n a: {\n if (!ob.length) {\n var a = null;\n \"undefined\" != typeof window && \"function\" == typeof window.prompt ? (a = window.prompt(\"Input: \"), null !== a && (a += \"\\n\")) : \"function\" == typeof readline && (a = readline(), null !== a && (a += \"\\n\"));\n if (!a) {\n a = null;\n break a;\n }\n ob = rb(a, !0);\n }\n a = ob.shift();\n }\n return a;\n}, Oa:function(a, b) {\n null === b || 10 === b ? (wa(nb(a.F, 0)), a.F = []) : 0 != b && a.F.push(b);\n}, qa:function(a) {\n a.F && 0 < a.F.length && (wa(nb(a.F, 0)), a.F = []);\n}, bc:function() {\n return {Fc:25856, Hc:5, Ec:191, Gc:35387, Dc:[3, 28, 127, 21, 4, 0, 1, 0, 17, 19, 26, 0, 18, 15, 23, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,]};\n}, cc:function() {\n return 0;\n}, dc:function() {\n return [24, 80];\n},}, xb = {Oa:function(a, b) {\n null === b || 10 === b ? (xa(nb(a.F, 0)), a.F = []) : 0 != b && a.F.push(b);\n}, qa:function(a) {\n a.F && 0 < a.F.length && (xa(nb(a.F, 0)), a.F = []);\n},};\nfunction yb(a, b) {\n var c = a.j ? a.j.length : 0;\n c >= b || (b = Math.max(b, c * (1048576 > c ? 2.0 : 1.125) >>> 0), 0 != c && (b = Math.max(b, 256)), c = a.j, a.j = new Uint8Array(b), 0 < a.v && a.j.set(c.subarray(0, a.v), 0));\n}\nvar P = {O:null, U() {\n return P.createNode(null, \"/\", 16895, 0);\n}, createNode(a, b, c, d) {\n if (24576 === (c & 61440) || 4096 === (c & 61440)) {\n throw new O(63);\n }\n P.O || (P.O = {dir:{node:{Y:P.l.Y, P:P.l.P, ka:P.l.ka, va:P.l.va, ub:P.l.ub, Ab:P.l.Ab, vb:P.l.vb, sb:P.l.sb, Ea:P.l.Ea}, stream:{ba:P.m.ba}}, file:{node:{Y:P.l.Y, P:P.l.P}, stream:{ba:P.m.ba, read:P.m.read, write:P.m.write, pa:P.m.pa, lb:P.m.lb, nb:P.m.nb}}, link:{node:{Y:P.l.Y, P:P.l.P, ma:P.l.ma}, stream:{}}, $a:{node:{Y:P.l.Y, P:P.l.P}, stream:zb}});\n c = Ab(a, b, c, d);\n 16384 === (c.mode & 61440) ? (c.l = P.O.dir.node, c.m = P.O.dir.stream, c.j = {}) : 32768 === (c.mode & 61440) ? (c.l = P.O.file.node, c.m = P.O.file.stream, c.v = 0, c.j = null) : 40960 === (c.mode & 61440) ? (c.l = P.O.link.node, c.m = P.O.link.stream) : 8192 === (c.mode & 61440) && (c.l = P.O.$a.node, c.m = P.O.$a.stream);\n c.timestamp = Date.now();\n a && (a.j[b] = c, a.timestamp = c.timestamp);\n return c;\n}, Kc(a) {\n return a.j ? a.j.subarray ? a.j.subarray(0, a.v) : new Uint8Array(a.j) : new Uint8Array(0);\n}, l:{Y(a) {\n var b = {};\n b.Jc = 8192 === (a.mode & 61440) ? a.id : 1;\n b.Mc = a.id;\n b.mode = a.mode;\n b.Oc = 1;\n b.uid = 0;\n b.Lc = 0;\n b.za = a.za;\n 16384 === (a.mode & 61440) ? b.size = 4096 : 32768 === (a.mode & 61440) ? b.size = a.v : 40960 === (a.mode & 61440) ? b.size = a.link.length : b.size = 0;\n b.Bc = new Date(a.timestamp);\n b.Nc = new Date(a.timestamp);\n b.Ic = new Date(a.timestamp);\n b.Jb = 4096;\n b.Cc = Math.ceil(b.size / b.Jb);\n return b;\n}, P(a, b) {\n void 0 !== b.mode && (a.mode = b.mode);\n void 0 !== b.timestamp && (a.timestamp = b.timestamp);\n if (void 0 !== b.size && (b = b.size, a.v != b)) {\n if (0 == b) {\n a.j = null, a.v = 0;\n } else {\n var c = a.j;\n a.j = new Uint8Array(b);\n c && a.j.set(c.subarray(0, Math.min(b, a.v)));\n a.v = b;\n }\n }\n}, ka() {\n throw Bb[44];\n}, va(a, b, c, d) {\n return P.createNode(a, b, c, d);\n}, ub(a, b, c) {\n if (16384 === (a.mode & 61440)) {\n try {\n var d = Cb(b, c);\n } catch (f) {\n }\n if (d) {\n for (var e in d.j) {\n throw new O(55);\n }\n }\n }\n delete a.parent.j[a.name];\n a.parent.timestamp = Date.now();\n a.name = c;\n b.j[c] = a;\n b.timestamp = a.parent.timestamp;\n a.parent = b;\n}, Ab(a, b) {\n delete a.j[b];\n a.timestamp = Date.now();\n}, vb(a, b) {\n var c = Cb(a, b), d;\n for (d in c.j) {\n throw new O(55);\n }\n delete a.j[b];\n a.timestamp = Date.now();\n}, sb(a) {\n var b = [\".\", \"..\"], c;\n for (c in a.j) {\n a.j.hasOwnProperty(c) && b.push(c);\n }\n return b;\n}, Ea(a, b, c) {\n a = P.createNode(a, b, 41471, 0);\n a.link = c;\n return a;\n}, ma(a) {\n if (40960 !== (a.mode & 61440)) {\n throw new O(28);\n }\n return a.link;\n},}, m:{read(a, b, c, d, e) {\n var f = a.node.j;\n if (e >= a.node.v) {\n return 0;\n }\n a = Math.min(a.node.v - e, d);\n if (8 < a && f.subarray) {\n b.set(f.subarray(e, e + a), c);\n } else {\n for (d = 0; d < a; d++) {\n b[c + d] = f[e + d];\n }\n }\n return a;\n}, write(a, b, c, d, e, f) {\n b.buffer === C.buffer && (f = !1);\n if (!d) {\n return 0;\n }\n a = a.node;\n a.timestamp = Date.now();\n if (b.subarray && (!a.j || a.j.subarray)) {\n if (f) {\n return a.j = b.subarray(c, c + d), a.v = d;\n }\n if (0 === a.v && 0 === e) {\n return a.j = b.slice(c, c + d), a.v = d;\n }\n if (e + d <= a.v) {\n return a.j.set(b.subarray(c, c + d), e), d;\n }\n }\n yb(a, e + d);\n if (a.j.subarray && b.subarray) {\n a.j.set(b.subarray(c, c + d), e);\n } else {\n for (f = 0; f < d; f++) {\n a.j[e + f] = b[c + f];\n }\n }\n a.v = Math.max(a.v, e + d);\n return d;\n}, ba(a, b, c) {\n 1 === c ? b += a.position : 2 === c && 32768 === (a.node.mode & 61440) && (b += a.node.v);\n if (0 > b) {\n throw new O(28);\n }\n return b;\n}, pa(a, b, c) {\n yb(a.node, b + c);\n a.node.v = Math.max(a.node.v, b + c);\n}, lb(a, b, c, d, e) {\n if (32768 !== (a.node.mode & 61440)) {\n throw new O(43);\n }\n a = a.node.j;\n if (e & 2 || a.buffer !== C.buffer) {\n if (0 < c || c + b < a.length) {\n a.subarray ? a = a.subarray(c, c + b) : a = Array.prototype.slice.call(a, c, c + b);\n }\n c = !0;\n Aa();\n b = void 0;\n if (!b) {\n throw new O(48);\n }\n C.set(a, b);\n } else {\n c = !1, b = a.byteOffset;\n }\n return {o:b, M:c};\n}, nb(a, b, c, d) {\n P.m.write(a, b, 0, d, c, !1);\n return 0;\n},},};\nfunction Db(a, b) {\n var c = 0;\n a && (c |= 365);\n b && (c |= 146);\n return c;\n}\nvar Eb = null, Fb = {}, Gb = [], Hb = 1, Ib = null, Jb = !0, O = null, Bb = {}, Lb = (a, b = {}) => {\n a = lb(a);\n if (!a) {\n return {path:\"\", node:null};\n }\n b = Object.assign({gb:!0, Qa:0}, b);\n if (8 < b.Qa) {\n throw new O(32);\n }\n a = a.split(\"/\").filter(g => !!g);\n for (var c = Eb, d = \"/\", e = 0; e < a.length; e++) {\n var f = e === a.length - 1;\n if (f && b.parent) {\n break;\n }\n c = Cb(c, a[e]);\n d = gb(d + \"/\" + a[e]);\n c.wa && (!f || f && b.gb) && (c = c.wa.root);\n if (!f || b.fb) {\n for (f = 0; 40960 === (c.mode & 61440);) {\n if (c = Kb(d), d = lb(hb(d), c), c = Lb(d, {Qa:b.Qa + 1}).node, 40 < f++) {\n throw new O(32);\n }\n }\n }\n }\n return {path:d, node:c};\n}, Mb = a => {\n for (var b;;) {\n if (a === a.parent) {\n return a = a.U.mb, b ? \"/\" !== a[a.length - 1] ? `${a}/${b}` : a + b : a;\n }\n b = b ? `${a.name}/${b}` : a.name;\n a = a.parent;\n }\n}, Nb = (a, b) => {\n for (var c = 0, d = 0; d < b.length; d++) {\n c = (c << 5) - c + b.charCodeAt(d) | 0;\n }\n return (a + c >>> 0) % Ib.length;\n}, Cb = (a, b) => {\n var c;\n if (c = (c = Ob(a, \"x\")) ? c : a.l.ka ? 0 : 2) {\n throw new O(c, a);\n }\n for (c = Ib[Nb(a.id, b)]; c; c = c.lc) {\n var d = c.name;\n if (c.parent.id === a.id && d === b) {\n return c;\n }\n }\n return a.l.ka(a, b);\n}, Ab = (a, b, c, d) => {\n a = new Pb(a, b, c, d);\n b = Nb(a.parent.id, a.name);\n a.lc = Ib[b];\n return Ib[b] = a;\n}, Qb = a => {\n var b = [\"r\", \"w\", \"rw\"][a & 3];\n a & 512 && (b += \"w\");\n return b;\n}, Ob = (a, b) => {\n if (Jb) {\n return 0;\n }\n if (!b.includes(\"r\") || a.mode & 292) {\n if (b.includes(\"w\") && !(a.mode & 146) || b.includes(\"x\") && !(a.mode & 73)) {\n return 2;\n }\n } else {\n return 2;\n }\n return 0;\n}, Rb = (a, b) => {\n try {\n return Cb(a, b), 20;\n } catch (c) {\n }\n return Ob(a, \"wx\");\n}, Sb = () => {\n for (var a = 0; 4096 >= a; a++) {\n if (!Gb[a]) {\n return a;\n }\n }\n throw new O(33);\n}, Tb = a => {\n a = Gb[a];\n if (!a) {\n throw new O(8);\n }\n return a;\n}, Vb = (a, b = -1) => {\n Ub || (Ub = function() {\n this.h = {};\n }, Ub.prototype = {}, Object.defineProperties(Ub.prototype, {object:{get() {\n return this.node;\n }, set(c) {\n this.node = c;\n }}, flags:{get() {\n return this.h.flags;\n }, set(c) {\n this.h.flags = c;\n },}, position:{get() {\n return this.h.position;\n }, set(c) {\n this.h.position = c;\n },},}));\n a = Object.assign(new Ub(), a);\n -1 == b && (b = Sb());\n a.X = b;\n return Gb[b] = a;\n}, zb = {open:a => {\n a.m = Fb[a.node.za].m;\n a.m.open && a.m.open(a);\n}, ba:() => {\n throw new O(70);\n},}, ub = (a, b) => {\n Fb[a] = {m:b};\n}, Wb = (a, b) => {\n var c = \"/\" === b, d = !b;\n if (c && Eb) {\n throw new O(10);\n }\n if (!c && !d) {\n var e = Lb(b, {gb:!1});\n b = e.path;\n e = e.node;\n if (e.wa) {\n throw new O(10);\n }\n if (16384 !== (e.mode & 61440)) {\n throw new O(54);\n }\n }\n b = {type:a, Qc:{}, mb:b, kc:[]};\n a = a.U(b);\n a.U = b;\n b.root = a;\n c ? Eb = a : e && (e.wa = b, e.U && e.U.kc.push(b));\n}, S = (a, b, c) => {\n var d = Lb(a, {parent:!0}).node;\n a = ib(a);\n if (!a || \".\" === a || \"..\" === a) {\n throw new O(28);\n }\n var e = Rb(d, a);\n if (e) {\n throw new O(e);\n }\n if (!d.l.va) {\n throw new O(63);\n }\n return d.l.va(d, a, b, c);\n}, Xb = (a, b, c) => {\n \"undefined\" == typeof c && (c = b, b = 438);\n S(a, b | 8192, c);\n}, cc = (a, b) => {\n if (!lb(a)) {\n throw new O(44);\n }\n var c = Lb(b, {parent:!0}).node;\n if (!c) {\n throw new O(44);\n }\n b = ib(b);\n var d = Rb(c, b);\n if (d) {\n throw new O(d);\n }\n if (!c.l.Ea) {\n throw new O(63);\n }\n c.l.Ea(c, b, a);\n}, Kb = a => {\n a = Lb(a).node;\n if (!a) {\n throw new O(44);\n }\n if (!a.l.ma) {\n throw new O(28);\n }\n return lb(Mb(a.parent), a.l.ma(a));\n}, ec = (a, b, c) => {\n if (\"\" === a) {\n throw new O(44);\n }\n if (\"string\" == typeof b) {\n var d = {r:0, \"r+\":2, w:577, \"w+\":578, a:1089, \"a+\":1090,}[b];\n if (\"undefined\" == typeof d) {\n throw Error(`Unknown file open mode: ${b}`);\n }\n b = d;\n }\n c = b & 64 ? (\"undefined\" == typeof c ? 438 : c) & 4095 | 32768 : 0;\n if (\"object\" == typeof a) {\n var e = a;\n } else {\n a = gb(a);\n try {\n e = Lb(a, {fb:!(b & 131072)}).node;\n } catch (f) {\n }\n }\n d = !1;\n if (b & 64) {\n if (e) {\n if (b & 128) {\n throw new O(20);\n }\n } else {\n e = S(a, c, 0), d = !0;\n }\n }\n if (!e) {\n throw new O(44);\n }\n 8192 === (e.mode & 61440) && (b &= -513);\n if (b & 65536 && 16384 !== (e.mode & 61440)) {\n throw new O(54);\n }\n if (!d && (c = e ? 40960 === (e.mode & 61440) ? 32 : 16384 === (e.mode & 61440) && (\"r\" !== Qb(b) || b & 512) ? 31 : Ob(e, Qb(b)) : 44)) {\n throw new O(c);\n }\n if (b & 512 && !d) {\n c = e;\n c = \"string\" == typeof c ? Lb(c, {fb:!0}).node : c;\n if (!c.l.P) {\n throw new O(63);\n }\n if (16384 === (c.mode & 61440)) {\n throw new O(31);\n }\n if (32768 !== (c.mode & 61440)) {\n throw new O(28);\n }\n if (d = Ob(c, \"w\")) {\n throw new O(d);\n }\n c.l.P(c, {size:0, timestamp:Date.now()});\n }\n b &= -131713;\n e = Vb({node:e, path:Mb(e), flags:b, seekable:!0, position:0, m:e.m, zc:[], error:!1});\n e.m.open && e.m.open(e);\n !m.logReadFiles || b & 1 || (dc || (dc = {}), a in dc || (dc[a] = 1));\n return e;\n}, fc = (a, b, c) => {\n if (null === a.X) {\n throw new O(8);\n }\n if (!a.seekable || !a.m.ba) {\n throw new O(70);\n }\n if (0 != c && 1 != c && 2 != c) {\n throw new O(28);\n }\n a.position = a.m.ba(a, b, c);\n a.zc = [];\n}, gc = () => {\n O || (O = function(a, b) {\n this.name = \"ErrnoError\";\n this.node = b;\n this.pc = function(c) {\n this.aa = c;\n };\n this.pc(a);\n this.message = \"FS error\";\n }, O.prototype = Error(), O.prototype.constructor = O, [44].forEach(a => {\n Bb[a] = new O(a);\n Bb[a].stack = \"\";\n }));\n}, hc, jc = (a, b, c) => {\n a = gb(\"/dev/\" + a);\n var d = Db(!!b, !!c);\n ic || (ic = 64);\n var e = ic++ << 8 | 0;\n ub(e, {open:f => {\n f.seekable = !1;\n }, close:() => {\n c && c.buffer && c.buffer.length && c(10);\n }, read:(f, g, n, p) => {\n for (var l = 0, u = 0; u < p; u++) {\n try {\n var v = b();\n } catch (x) {\n throw new O(29);\n }\n if (void 0 === v && 0 === l) {\n throw new O(6);\n }\n if (null === v || void 0 === v) {\n break;\n }\n l++;\n g[n + u] = v;\n }\n l && (f.node.timestamp = Date.now());\n return l;\n }, write:(f, g, n, p) => {\n for (var l = 0; l < p; l++) {\n try {\n c(g[n + l]);\n } catch (u) {\n throw new O(29);\n }\n }\n p && (f.node.timestamp = Date.now());\n return l;\n }});\n Xb(a, d, e);\n}, ic, kc = {}, Ub, dc, lc = void 0;\nfunction mc() {\n lc += 4;\n return L[lc - 4 >> 2];\n}\nfunction nc(a) {\n if (void 0 === a) {\n return \"_unknown\";\n }\n a = a.replace(/[^a-zA-Z0-9_]/g, \"$\");\n var b = a.charCodeAt(0);\n return 48 <= b && 57 >= b ? `_${a}` : a;\n}\nfunction oc(a, b) {\n a = nc(a);\n return {[a]:function() {\n return b.apply(this, arguments);\n }}[a];\n}\nfunction pc() {\n this.M = [void 0];\n this.hb = [];\n}\nvar U = new pc(), qc = void 0;\nfunction V(a) {\n throw new qc(a);\n}\nvar rc = a => {\n a || V(\"Cannot use deleted val. handle = \" + a);\n return U.get(a).value;\n}, sc = a => {\n switch(a) {\n case void 0:\n return 1;\n case null:\n return 2;\n case !0:\n return 3;\n case !1:\n return 4;\n default:\n return U.pa({tb:1, value:a});\n }\n};\nfunction tc(a) {\n var b = Error, c = oc(a, function(d) {\n this.name = a;\n this.message = d;\n d = Error(d).stack;\n void 0 !== d && (this.stack = this.toString() + \"\\n\" + d.replace(/^Error(:[^\\n]*)?\\n/, \"\"));\n });\n c.prototype = Object.create(b.prototype);\n c.prototype.constructor = c;\n c.prototype.toString = function() {\n return void 0 === this.message ? this.name : `${this.name}: ${this.message}`;\n };\n return c;\n}\nvar uc = void 0, vc = void 0;\nfunction W(a) {\n for (var b = \"\"; E[a];) {\n b += vc[E[a++]];\n }\n return b;\n}\nvar wc = [];\nfunction xc() {\n for (; wc.length;) {\n var a = wc.pop();\n a.g.fa = !1;\n a[\"delete\"]();\n }\n}\nvar yc = void 0, zc = {};\nfunction Ac(a, b) {\n for (void 0 === b && V(\"ptr should not be undefined\"); a.A;) {\n b = a.na(b), a = a.A;\n }\n return b;\n}\nvar Bc = {};\nfunction Cc(a) {\n a = Dc(a);\n var b = W(a);\n Ec(a);\n return b;\n}\nfunction Fc(a, b) {\n var c = Bc[a];\n void 0 === c && V(b + \" has unknown type \" + Cc(a));\n return c;\n}\nfunction Gc() {\n}\nvar Hc = !1;\nfunction Ic(a) {\n --a.count.value;\n 0 === a.count.value && (a.G ? a.L.W(a.G) : a.u.i.W(a.o));\n}\nfunction Jc(a, b, c) {\n if (b === c) {\n return a;\n }\n if (void 0 === c.A) {\n return null;\n }\n a = Jc(a, b, c.A);\n return null === a ? null : c.Pb(a);\n}\nvar Kc = {};\nfunction Lc(a, b) {\n b = Ac(a, b);\n return zc[b];\n}\nvar Mc = void 0;\nfunction Nc(a) {\n throw new Mc(a);\n}\nfunction Oc(a, b) {\n b.u && b.o || Nc(\"makeClassHandle requires ptr and ptrType\");\n !!b.L !== !!b.G && Nc(\"Both smartPtrType and smartPtr must be specified\");\n b.count = {value:1};\n return Pc(Object.create(a, {g:{value:b,},}));\n}\nfunction Pc(a) {\n if (\"undefined\" === typeof FinalizationRegistry) {\n return Pc = b => b, a;\n }\n Hc = new FinalizationRegistry(b => {\n Ic(b.g);\n });\n Pc = b => {\n var c = b.g;\n c.G && Hc.register(b, {g:c}, b);\n return b;\n };\n Gc = b => {\n Hc.unregister(b);\n };\n return Pc(a);\n}\nvar Qc = {};\nfunction Rc(a) {\n for (; a.length;) {\n var b = a.pop();\n a.pop()(b);\n }\n}\nfunction Sc(a) {\n return this.fromWireType(L[a >> 2]);\n}\nvar Tc = {}, Uc = {};\nfunction Y(a, b, c) {\n function d(n) {\n n = c(n);\n n.length !== a.length && Nc(\"Mismatched type converter count\");\n for (var p = 0; p < a.length; ++p) {\n Vc(a[p], n[p]);\n }\n }\n a.forEach(function(n) {\n Uc[n] = b;\n });\n var e = Array(b.length), f = [], g = 0;\n b.forEach((n, p) => {\n Bc.hasOwnProperty(n) ? e[p] = Bc[n] : (f.push(n), Tc.hasOwnProperty(n) || (Tc[n] = []), Tc[n].push(() => {\n e[p] = Bc[n];\n ++g;\n g === f.length && d(e);\n }));\n });\n 0 === f.length && d(e);\n}\nfunction Wc(a) {\n switch(a) {\n case 1:\n return 0;\n case 2:\n return 1;\n case 4:\n return 2;\n case 8:\n return 3;\n default:\n throw new TypeError(`Unknown type size: ${a}`);\n }\n}\nfunction Xc(a, b, c = {}) {\n var d = b.name;\n a || V(`type \"${d}\" must have a positive integer typeid pointer`);\n if (Bc.hasOwnProperty(a)) {\n if (c.$b) {\n return;\n }\n V(`Cannot register type '${d}' twice`);\n }\n Bc[a] = b;\n delete Uc[a];\n Tc.hasOwnProperty(a) && (b = Tc[a], delete Tc[a], b.forEach(e => e()));\n}\nfunction Vc(a, b, c = {}) {\n if (!(\"argPackAdvance\" in b)) {\n throw new TypeError(\"registerType registeredInstance requires argPackAdvance\");\n }\n Xc(a, b, c);\n}\nfunction Yc(a) {\n V(a.g.u.i.name + \" instance already deleted\");\n}\nfunction Zc() {\n}\nfunction $c(a, b, c) {\n if (void 0 === a[b].B) {\n var d = a[b];\n a[b] = function() {\n a[b].B.hasOwnProperty(arguments.length) || V(`Function '${c}' called with an invalid number of arguments (${arguments.length}) - expects one of (${a[b].B})!`);\n return a[b].B[arguments.length].apply(this, arguments);\n };\n a[b].B = [];\n a[b].B[d.ea] = d;\n }\n}\nfunction ad(a, b, c) {\n m.hasOwnProperty(a) ? ((void 0 === c || void 0 !== m[a].B && void 0 !== m[a].B[c]) && V(`Cannot register public name '${a}' twice`), $c(m, a, a), m.hasOwnProperty(c) && V(`Cannot register multiple overloads of a function with the same number of arguments (${c})!`), m[a].B[c] = b) : (m[a] = b, void 0 !== c && (m[a].Pc = c));\n}\nfunction bd(a, b, c, d, e, f, g, n) {\n this.name = a;\n this.constructor = b;\n this.N = c;\n this.W = d;\n this.A = e;\n this.Ub = f;\n this.na = g;\n this.Pb = n;\n this.qb = [];\n}\nfunction cd(a, b, c) {\n for (; b !== c;) {\n b.na || V(`Expected null or instance of ${c.name}, got an instance of ${b.name}`), a = b.na(a), b = b.A;\n }\n return a;\n}\nfunction dd(a, b) {\n if (null === b) {\n return this.Na && V(`null is not a valid ${this.name}`), 0;\n }\n b.g || V(`Cannot pass \"${ed(b)}\" as a ${this.name}`);\n b.g.o || V(`Cannot pass deleted object as a pointer of type ${this.name}`);\n return cd(b.g.o, b.g.u.i, this.i);\n}\nfunction fd(a, b) {\n if (null === b) {\n this.Na && V(`null is not a valid ${this.name}`);\n if (this.ua) {\n var c = this.Pa();\n null !== a && a.push(this.W, c);\n return c;\n }\n return 0;\n }\n b.g || V(`Cannot pass \"${ed(b)}\" as a ${this.name}`);\n b.g.o || V(`Cannot pass deleted object as a pointer of type ${this.name}`);\n !this.ta && b.g.u.ta && V(`Cannot convert argument of type ${b.g.L ? b.g.L.name : b.g.u.name} to parameter type ${this.name}`);\n c = cd(b.g.o, b.g.u.i, this.i);\n if (this.ua) {\n switch(void 0 === b.g.G && V(\"Passing raw pointer to smart pointer is illegal\"), this.tc) {\n case 0:\n b.g.L === this ? c = b.g.G : V(`Cannot convert argument of type ${b.g.L ? b.g.L.name : b.g.u.name} to parameter type ${this.name}`);\n break;\n case 1:\n c = b.g.G;\n break;\n case 2:\n if (b.g.L === this) {\n c = b.g.G;\n } else {\n var d = b.clone();\n c = this.oc(c, sc(function() {\n d[\"delete\"]();\n }));\n null !== a && a.push(this.W, c);\n }\n break;\n default:\n V(\"Unsupporting sharing policy\");\n }\n }\n return c;\n}\nfunction gd(a, b) {\n if (null === b) {\n return this.Na && V(`null is not a valid ${this.name}`), 0;\n }\n b.g || V(`Cannot pass \"${ed(b)}\" as a ${this.name}`);\n b.g.o || V(`Cannot pass deleted object as a pointer of type ${this.name}`);\n b.g.u.ta && V(`Cannot convert argument of type ${b.g.u.name} to parameter type ${this.name}`);\n return cd(b.g.o, b.g.u.i, this.i);\n}\nfunction hd(a, b, c, d) {\n this.name = a;\n this.i = b;\n this.Na = c;\n this.ta = d;\n this.ua = !1;\n this.W = this.oc = this.Pa = this.rb = this.tc = this.nc = void 0;\n void 0 !== b.A ? this.toWireType = fd : (this.toWireType = d ? dd : gd, this.K = null);\n}\nfunction jd(a, b, c) {\n m.hasOwnProperty(a) || Nc(\"Replacing nonexistant public symbol\");\n void 0 !== m[a].B && void 0 !== c ? m[a].B[c] = b : (m[a] = b, m[a].ea = c);\n}\nvar kd = [], ld = a => {\n var b = kd[a];\n b || (a >= kd.length && (kd.length = a + 1), kd[a] = b = Ka.get(a));\n return b;\n}, md = (a, b) => {\n var c = [];\n return function() {\n c.length = 0;\n Object.assign(c, arguments);\n if (a.includes(\"j\")) {\n var d = m[\"dynCall_\" + a];\n d = c && c.length ? d.apply(null, [b].concat(c)) : d.call(null, b);\n } else {\n d = ld(b).apply(null, c);\n }\n return d;\n };\n};\nfunction Z(a, b) {\n a = W(a);\n var c = a.includes(\"j\") ? md(a, b) : ld(b);\n \"function\" != typeof c && V(`unknown function pointer with signature ${a}: ${b}`);\n return c;\n}\nvar nd = void 0;\nfunction od(a, b) {\n function c(f) {\n e[f] || Bc[f] || (Uc[f] ? Uc[f].forEach(c) : (d.push(f), e[f] = !0));\n }\n var d = [], e = {};\n b.forEach(c);\n throw new nd(`${a}: ` + d.map(Cc).join([\", \"]));\n}\nfunction pd(a, b, c, d, e) {\n var f = b.length;\n 2 > f && V(\"argTypes array size mismatch! Must at least get return value and 'this' types!\");\n var g = null !== b[1] && null !== c, n = !1;\n for (c = 1; c < b.length; ++c) {\n if (null !== b[c] && void 0 === b[c].K) {\n n = !0;\n break;\n }\n }\n var p = \"void\" !== b[0].name, l = f - 2, u = Array(l), v = [], x = [];\n return function() {\n arguments.length !== l && V(`function ${a} called with ${arguments.length} arguments, expected ${l} args!`);\n x.length = 0;\n v.length = g ? 2 : 1;\n v[0] = e;\n if (g) {\n var k = b[1].toWireType(x, this);\n v[1] = k;\n }\n for (var t = 0; t < l; ++t) {\n u[t] = b[t + 2].toWireType(x, arguments[t]), v.push(u[t]);\n }\n t = d.apply(null, v);\n if (n) {\n Rc(x);\n } else {\n for (var r = g ? 1 : 2; r < b.length; r++) {\n var B = 1 === r ? k : u[r - 2];\n null !== b[r].K && b[r].K(B);\n }\n }\n k = p ? b[0].fromWireType(t) : void 0;\n return k;\n };\n}\nfunction sd(a, b) {\n for (var c = [], d = 0; d < a; d++) {\n c.push(N[b + 4 * d >> 2]);\n }\n return c;\n}\nfunction td(a, b, c) {\n a instanceof Object || V(`${c} with invalid \"this\": ${a}`);\n a instanceof b.i.constructor || V(`${c} incompatible with \"this\" of type ${a.constructor.name}`);\n a.g.o || V(`cannot call emscripten binding method ${c} on deleted object`);\n return cd(a.g.o, a.g.u.i, b.i);\n}\nfunction ud(a) {\n a >= U.h && 0 === --U.get(a).tb && U.Zb(a);\n}\nfunction vd(a, b, c) {\n switch(b) {\n case 0:\n return function(d) {\n return this.fromWireType((c ? C : E)[d]);\n };\n case 1:\n return function(d) {\n return this.fromWireType((c ? Da : Ea)[d >> 1]);\n };\n case 2:\n return function(d) {\n return this.fromWireType((c ? L : N)[d >> 2]);\n };\n default:\n throw new TypeError(\"Unknown integer type: \" + a);\n }\n}\nfunction ed(a) {\n if (null === a) {\n return \"null\";\n }\n var b = typeof a;\n return \"object\" === b || \"array\" === b || \"function\" === b ? a.toString() : \"\" + a;\n}\nfunction wd(a, b) {\n switch(b) {\n case 2:\n return function(c) {\n return this.fromWireType(Fa[c >> 2]);\n };\n case 3:\n return function(c) {\n return this.fromWireType(Ia[c >> 3]);\n };\n default:\n throw new TypeError(\"Unknown float type: \" + a);\n }\n}\nfunction xd(a, b, c) {\n switch(b) {\n case 0:\n return c ? function(d) {\n return C[d];\n } : function(d) {\n return E[d];\n };\n case 1:\n return c ? function(d) {\n return Da[d >> 1];\n } : function(d) {\n return Ea[d >> 1];\n };\n case 2:\n return c ? function(d) {\n return L[d >> 2];\n } : function(d) {\n return N[d >> 2];\n };\n default:\n throw new TypeError(\"Unknown integer type: \" + a);\n }\n}\nvar yd = \"undefined\" != typeof TextDecoder ? new TextDecoder(\"utf-16le\") : void 0, zd = (a, b) => {\n var c = a >> 1;\n for (var d = c + b / 2; !(c >= d) && Ea[c];) {\n ++c;\n }\n c <<= 1;\n if (32 < c - a && yd) {\n return yd.decode(E.subarray(a, c));\n }\n c = \"\";\n for (d = 0; !(d >= b / 2); ++d) {\n var e = Da[a + 2 * d >> 1];\n if (0 == e) {\n break;\n }\n c += String.fromCharCode(e);\n }\n return c;\n}, Ad = (a, b, c) => {\n void 0 === c && (c = 2147483647);\n if (2 > c) {\n return 0;\n }\n c -= 2;\n var d = b;\n c = c < 2 * a.length ? c / 2 : a.length;\n for (var e = 0; e < c; ++e) {\n Da[b >> 1] = a.charCodeAt(e), b += 2;\n }\n Da[b >> 1] = 0;\n return b - d;\n}, Bd = a => 2 * a.length, Cd = (a, b) => {\n for (var c = 0, d = \"\"; !(c >= b / 4);) {\n var e = L[a + 4 * c >> 2];\n if (0 == e) {\n break;\n }\n ++c;\n 65536 <= e ? (e -= 65536, d += String.fromCharCode(55296 | e >> 10, 56320 | e & 1023)) : d += String.fromCharCode(e);\n }\n return d;\n}, Dd = (a, b, c) => {\n void 0 === c && (c = 2147483647);\n if (4 > c) {\n return 0;\n }\n var d = b;\n c = d + c - 4;\n for (var e = 0; e < a.length; ++e) {\n var f = a.charCodeAt(e);\n if (55296 <= f && 57343 >= f) {\n var g = a.charCodeAt(++e);\n f = 65536 + ((f & 1023) << 10) | g & 1023;\n }\n L[b >> 2] = f;\n b += 4;\n if (b + 4 > c) {\n break;\n }\n }\n L[b >> 2] = 0;\n return b - d;\n}, Ed = a => {\n for (var b = 0, c = 0; c < a.length; ++c) {\n var d = a.charCodeAt(c);\n 55296 <= d && 57343 >= d && ++c;\n b += 4;\n }\n return b;\n}, Fd = {};\nfunction Gd(a) {\n var b = Fd[a];\n return void 0 === b ? W(a) : b;\n}\nvar Hd = [];\nfunction Id(a) {\n var b = Hd.length;\n Hd.push(a);\n return b;\n}\nfunction Jd(a, b) {\n for (var c = Array(a), d = 0; d < a; ++d) {\n c[d] = Fc(N[b + 4 * d >> 2], \"parameter \" + d);\n }\n return c;\n}\nvar Kd = [], Ld = [], Md = {}, Od = () => {\n if (!Nd) {\n var a = {USER:\"web_user\", LOGNAME:\"web_user\", PATH:\"/\", PWD:\"/\", HOME:\"/home/web_user\", LANG:(\"object\" == typeof navigator && navigator.languages && navigator.languages[0] || \"C\").replace(\"-\", \"_\") + \".UTF-8\", _:na || \"./this.program\"}, b;\n for (b in Md) {\n void 0 === Md[b] ? delete a[b] : a[b] = Md[b];\n }\n var c = [];\n for (b in a) {\n c.push(`${b}=${a[b]}`);\n }\n Nd = c;\n }\n return Nd;\n}, Nd, Pd = a => 0 === a % 4 && (0 !== a % 100 || 0 === a % 400), Qd = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], Rd = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], Sd = (a, b, c, d) => {\n function e(k, t, r) {\n for (k = \"number\" == typeof k ? k.toString() : k || \"\"; k.length < t;) {\n k = r[0] + k;\n }\n return k;\n }\n function f(k, t) {\n return e(k, t, \"0\");\n }\n function g(k, t) {\n function r(D) {\n return 0 > D ? -1 : 0 < D ? 1 : 0;\n }\n var B;\n 0 === (B = r(k.getFullYear() - t.getFullYear())) && 0 === (B = r(k.getMonth() - t.getMonth())) && (B = r(k.getDate() - t.getDate()));\n return B;\n }\n function n(k) {\n switch(k.getDay()) {\n case 0:\n return new Date(k.getFullYear() - 1, 11, 29);\n case 1:\n return k;\n case 2:\n return new Date(k.getFullYear(), 0, 3);\n case 3:\n return new Date(k.getFullYear(), 0, 2);\n case 4:\n return new Date(k.getFullYear(), 0, 1);\n case 5:\n return new Date(k.getFullYear() - 1, 11, 31);\n case 6:\n return new Date(k.getFullYear() - 1, 11, 30);\n }\n }\n function p(k) {\n var t = k.ca;\n for (k = new Date((new Date(k.da + 1900, 0, 1)).getTime()); 0 < t;) {\n var r = k.getMonth(), B = (Pd(k.getFullYear()) ? Qd : Rd)[r];\n if (t > B - k.getDate()) {\n t -= B - k.getDate() + 1, k.setDate(1), 11 > r ? k.setMonth(r + 1) : (k.setMonth(0), k.setFullYear(k.getFullYear() + 1));\n } else {\n k.setDate(k.getDate() + t);\n break;\n }\n }\n r = new Date(k.getFullYear() + 1, 0, 4);\n t = n(new Date(k.getFullYear(), 0, 4));\n r = n(r);\n return 0 >= g(t, k) ? 0 >= g(r, k) ? k.getFullYear() + 1 : k.getFullYear() : k.getFullYear() - 1;\n }\n var l = L[d + 40 >> 2];\n d = {wc:L[d >> 2], vc:L[d + 4 >> 2], Fa:L[d + 8 >> 2], Sa:L[d + 12 >> 2], Ga:L[d + 16 >> 2], da:L[d + 20 >> 2], R:L[d + 24 >> 2], ca:L[d + 28 >> 2], Rc:L[d + 32 >> 2], uc:L[d + 36 >> 2], xc:l ? l ? nb(E, l) : \"\" : \"\"};\n c = c ? nb(E, c) : \"\";\n l = {\"%c\":\"%a %b %d %H:%M:%S %Y\", \"%D\":\"%m/%d/%y\", \"%F\":\"%Y-%m-%d\", \"%h\":\"%b\", \"%r\":\"%I:%M:%S %p\", \"%R\":\"%H:%M\", \"%T\":\"%H:%M:%S\", \"%x\":\"%m/%d/%y\", \"%X\":\"%H:%M:%S\", \"%Ec\":\"%c\", \"%EC\":\"%C\", \"%Ex\":\"%m/%d/%y\", \"%EX\":\"%H:%M:%S\", \"%Ey\":\"%y\", \"%EY\":\"%Y\", \"%Od\":\"%d\", \"%Oe\":\"%e\", \"%OH\":\"%H\", \"%OI\":\"%I\", \"%Om\":\"%m\", \"%OM\":\"%M\", \"%OS\":\"%S\", \"%Ou\":\"%u\", \"%OU\":\"%U\", \"%OV\":\"%V\", \"%Ow\":\"%w\", \"%OW\":\"%W\", \"%Oy\":\"%y\",};\n for (var u in l) {\n c = c.replace(new RegExp(u, \"g\"), l[u]);\n }\n var v = \"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"), x = \"January February March April May June July August September October November December\".split(\" \");\n l = {\"%a\":k => v[k.R].substring(0, 3), \"%A\":k => v[k.R], \"%b\":k => x[k.Ga].substring(0, 3), \"%B\":k => x[k.Ga], \"%C\":k => f((k.da + 1900) / 100 | 0, 2), \"%d\":k => f(k.Sa, 2), \"%e\":k => e(k.Sa, 2, \" \"), \"%g\":k => p(k).toString().substring(2), \"%G\":k => p(k), \"%H\":k => f(k.Fa, 2), \"%I\":k => {\n k = k.Fa;\n 0 == k ? k = 12 : 12 < k && (k -= 12);\n return f(k, 2);\n }, \"%j\":k => {\n for (var t = 0, r = 0; r <= k.Ga - 1; t += (Pd(k.da + 1900) ? Qd : Rd)[r++]) {\n }\n return f(k.Sa + t, 3);\n }, \"%m\":k => f(k.Ga + 1, 2), \"%M\":k => f(k.vc, 2), \"%n\":() => \"\\n\", \"%p\":k => 0 <= k.Fa && 12 > k.Fa ? \"AM\" : \"PM\", \"%S\":k => f(k.wc, 2), \"%t\":() => \"\\t\", \"%u\":k => k.R || 7, \"%U\":k => f(Math.floor((k.ca + 7 - k.R) / 7), 2), \"%V\":k => {\n var t = Math.floor((k.ca + 7 - (k.R + 6) % 7) / 7);\n 2 >= (k.R + 371 - k.ca - 2) % 7 && t++;\n if (t) {\n 53 == t && (r = (k.R + 371 - k.ca) % 7, 4 == r || 3 == r && Pd(k.da) || (t = 1));\n } else {\n t = 52;\n var r = (k.R + 7 - k.ca - 1) % 7;\n (4 == r || 5 == r && Pd(k.da % 400 - 1)) && t++;\n }\n return f(t, 2);\n }, \"%w\":k => k.R, \"%W\":k => f(Math.floor((k.ca + 7 - (k.R + 6) % 7) / 7), 2), \"%y\":k => (k.da + 1900).toString().substring(2), \"%Y\":k => k.da + 1900, \"%z\":k => {\n k = k.uc;\n var t = 0 <= k;\n k = Math.abs(k) / 60;\n return (t ? \"+\" : \"-\") + String(\"0000\" + (k / 60 * 100 + k % 60)).slice(-4);\n }, \"%Z\":k => k.xc, \"%%\":() => \"%\"};\n c = c.replace(/%%/g, \"\\x00\\x00\");\n for (u in l) {\n c.includes(u) && (c = c.replace(new RegExp(u, \"g\"), l[u](d)));\n }\n c = c.replace(/\\0\\0/g, \"%\");\n u = rb(c, !1);\n if (u.length > b) {\n return 0;\n }\n C.set(u, a);\n return u.length - 1;\n};\nfunction Pb(a, b, c, d) {\n a || (a = this);\n this.parent = a;\n this.U = a.U;\n this.wa = null;\n this.id = Hb++;\n this.name = b;\n this.mode = c;\n this.l = {};\n this.m = {};\n this.za = d;\n}\nObject.defineProperties(Pb.prototype, {read:{get:function() {\n return 365 === (this.mode & 365);\n}, set:function(a) {\n a ? this.mode |= 365 : this.mode &= -366;\n}}, write:{get:function() {\n return 146 === (this.mode & 146);\n}, set:function(a) {\n a ? this.mode |= 146 : this.mode &= -147;\n}}});\ngc();\nIb = Array(4096);\nWb(P, \"/\");\nS(\"/tmp\", 16895, 0);\nS(\"/home\", 16895, 0);\nS(\"/home/web_user\", 16895, 0);\n(() => {\n S(\"/dev\", 16895, 0);\n ub(259, {read:() => 0, write:(d, e, f, g) => g,});\n Xb(\"/dev/null\", 259);\n tb(1280, wb);\n tb(1536, xb);\n Xb(\"/dev/tty\", 1280);\n Xb(\"/dev/tty1\", 1536);\n var a = new Uint8Array(1024), b = 0, c = () => {\n 0 === b && (b = kb(a).byteLength);\n return a[--b];\n };\n jc(\"random\", c);\n jc(\"urandom\", c);\n S(\"/dev/shm\", 16895, 0);\n S(\"/dev/shm/tmp\", 16895, 0);\n})();\n(() => {\n S(\"/proc\", 16895, 0);\n var a = S(\"/proc/self\", 16895, 0);\n S(\"/proc/self/fd\", 16895, 0);\n Wb({U:() => {\n var b = Ab(a, \"fd\", 16895, 73);\n b.l = {ka:(c, d) => {\n var e = Tb(+d);\n c = {parent:null, U:{mb:\"fake\"}, l:{ma:() => e.path},};\n return c.parent = c;\n }};\n return b;\n }}, \"/proc/self/fd\");\n})();\nObject.assign(pc.prototype, {get(a) {\n return this.M[a];\n}, has(a) {\n return void 0 !== this.M[a];\n}, pa(a) {\n var b = this.hb.pop() || this.M.length;\n this.M[b] = a;\n return b;\n}, Zb(a) {\n this.M[a] = void 0;\n this.hb.push(a);\n}});\nqc = m.BindingError = class extends Error {\n constructor(a) {\n super(a);\n this.name = \"BindingError\";\n }\n};\nU.M.push({value:void 0}, {value:null}, {value:!0}, {value:!1},);\nU.h = U.M.length;\nm.count_emval_handles = function() {\n for (var a = 0, b = U.h; b < U.M.length; ++b) {\n void 0 !== U.M[b] && ++a;\n }\n return a;\n};\nuc = m.PureVirtualError = tc(\"PureVirtualError\");\nfor (var Td = Array(256), Ud = 0; 256 > Ud; ++Ud) {\n Td[Ud] = String.fromCharCode(Ud);\n}\nvc = Td;\nm.getInheritedInstanceCount = function() {\n return Object.keys(zc).length;\n};\nm.getLiveInheritedInstances = function() {\n var a = [], b;\n for (b in zc) {\n zc.hasOwnProperty(b) && a.push(zc[b]);\n }\n return a;\n};\nm.flushPendingDeletes = xc;\nm.setDelayFunction = function(a) {\n yc = a;\n wc.length && yc && yc(xc);\n};\nMc = m.InternalError = class extends Error {\n constructor(a) {\n super(a);\n this.name = \"InternalError\";\n }\n};\nZc.prototype.isAliasOf = function(a) {\n if (!(this instanceof Zc && a instanceof Zc)) {\n return !1;\n }\n var b = this.g.u.i, c = this.g.o, d = a.g.u.i;\n for (a = a.g.o; b.A;) {\n c = b.na(c), b = b.A;\n }\n for (; d.A;) {\n a = d.na(a), d = d.A;\n }\n return b === d && c === a;\n};\nZc.prototype.clone = function() {\n this.g.o || Yc(this);\n if (this.g.ia) {\n return this.g.count.value += 1, this;\n }\n var a = Pc, b = Object, c = b.create, d = Object.getPrototypeOf(this), e = this.g;\n a = a(c.call(b, d, {g:{value:{count:e.count, fa:e.fa, ia:e.ia, o:e.o, u:e.u, G:e.G, L:e.L,},}}));\n a.g.count.value += 1;\n a.g.fa = !1;\n return a;\n};\nZc.prototype[\"delete\"] = function() {\n this.g.o || Yc(this);\n this.g.fa && !this.g.ia && V(\"Object already scheduled for deletion\");\n Gc(this);\n Ic(this.g);\n this.g.ia || (this.g.G = void 0, this.g.o = void 0);\n};\nZc.prototype.isDeleted = function() {\n return !this.g.o;\n};\nZc.prototype.deleteLater = function() {\n this.g.o || Yc(this);\n this.g.fa && !this.g.ia && V(\"Object already scheduled for deletion\");\n wc.push(this);\n 1 === wc.length && yc && yc(xc);\n this.g.fa = !0;\n return this;\n};\nhd.prototype.Vb = function(a) {\n this.rb && (a = this.rb(a));\n return a;\n};\nhd.prototype.ab = function(a) {\n this.W && this.W(a);\n};\nhd.prototype.argPackAdvance = 8;\nhd.prototype.readValueFromPointer = Sc;\nhd.prototype.deleteObject = function(a) {\n if (null !== a) {\n a[\"delete\"]();\n }\n};\nhd.prototype.fromWireType = function(a) {\n function b() {\n return this.ua ? Oc(this.i.N, {u:this.nc, o:c, L:this, G:a,}) : Oc(this.i.N, {u:this, o:a,});\n }\n var c = this.Vb(a);\n if (!c) {\n return this.ab(a), null;\n }\n var d = Lc(this.i, c);\n if (void 0 !== d) {\n if (0 === d.g.count.value) {\n return d.g.o = c, d.g.G = a, d.clone();\n }\n d = d.clone();\n this.ab(a);\n return d;\n }\n d = this.i.Ub(c);\n d = Kc[d];\n if (!d) {\n return b.call(this);\n }\n d = this.ta ? d.Kb : d.pointerType;\n var e = Jc(c, this.i, d.i);\n return null === e ? b.call(this) : this.ua ? Oc(d.i.N, {u:d, o:e, L:this, G:a,}) : Oc(d.i.N, {u:d, o:e,});\n};\nnd = m.UnboundTypeError = tc(\"UnboundTypeError\");\nvar Xd = {__syscall_fcntl64:function(a, b, c) {\n lc = c;\n try {\n var d = Tb(a);\n switch(b) {\n case 0:\n var e = mc();\n return 0 > e ? -28 : Vb(d, e).X;\n case 1:\n case 2:\n return 0;\n case 3:\n return d.flags;\n case 4:\n return e = mc(), d.flags |= e, 0;\n case 5:\n return e = mc(), Da[e + 0 >> 1] = 2, 0;\n case 6:\n case 7:\n return 0;\n case 16:\n case 8:\n return -28;\n case 9:\n return L[Vd() >> 2] = 28, -1;\n default:\n return -28;\n }\n } catch (f) {\n if (\"undefined\" == typeof kc || \"ErrnoError\" !== f.name) {\n throw f;\n }\n return -f.aa;\n }\n}, __syscall_ioctl:function(a, b, c) {\n lc = c;\n try {\n var d = Tb(a);\n switch(b) {\n case 21509:\n return d.s ? 0 : -59;\n case 21505:\n if (!d.s) {\n return -59;\n }\n if (d.s.V.bc) {\n b = [3, 28, 127, 21, 4, 0, 1, 0, 17, 19, 26, 0, 18, 15, 23, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,];\n var e = mc();\n L[e >> 2] = 25856;\n L[e + 4 >> 2] = 5;\n L[e + 8 >> 2] = 191;\n L[e + 12 >> 2] = 35387;\n for (var f = 0; 32 > f; f++) {\n C[e + f + 17 >> 0] = b[f] || 0;\n }\n }\n return 0;\n case 21510:\n case 21511:\n case 21512:\n return d.s ? 0 : -59;\n case 21506:\n case 21507:\n case 21508:\n if (!d.s) {\n return -59;\n }\n if (d.s.V.cc) {\n for (e = mc(), b = [], f = 0; 32 > f; f++) {\n b.push(C[e + f + 17 >> 0]);\n }\n }\n return 0;\n case 21519:\n if (!d.s) {\n return -59;\n }\n e = mc();\n return L[e >> 2] = 0;\n case 21520:\n return d.s ? -28 : -59;\n case 21531:\n e = mc();\n if (!d.m.ac) {\n throw new O(59);\n }\n return d.m.ac(d, b, e);\n case 21523:\n if (!d.s) {\n return -59;\n }\n d.s.V.dc && (f = [24, 80], e = mc(), Da[e >> 1] = f[0], Da[e + 2 >> 1] = f[1]);\n return 0;\n case 21524:\n return d.s ? 0 : -59;\n case 21515:\n return d.s ? 0 : -59;\n default:\n return -28;\n }\n } catch (g) {\n if (\"undefined\" == typeof kc || \"ErrnoError\" !== g.name) {\n throw g;\n }\n return -g.aa;\n }\n}, __syscall_openat:function(a, b, c, d) {\n lc = d;\n try {\n b = b ? nb(E, b) : \"\";\n var e = b;\n if (\"/\" === e.charAt(0)) {\n b = e;\n } else {\n var f = -100 === a ? \"/\" : Tb(a).path;\n if (0 == e.length) {\n throw new O(44);\n }\n b = gb(f + \"/\" + e);\n }\n var g = d ? mc() : 0;\n return ec(b, c, g).X;\n } catch (n) {\n if (\"undefined\" == typeof kc || \"ErrnoError\" !== n.name) {\n throw n;\n }\n return -n.aa;\n }\n}, _embind_create_inheriting_constructor:function(a, b, c) {\n a = W(a);\n b = Fc(b, \"wrapper\");\n c = rc(c);\n var d = [].slice, e = b.i, f = e.N, g = e.A.N, n = e.A.constructor;\n a = oc(a, function() {\n e.A.qb.forEach(function(l) {\n if (this[l] === g[l]) {\n throw new uc(`Pure virtual function ${l} must be implemented in JavaScript`);\n }\n }.bind(this));\n Object.defineProperty(this, \"__parent\", {value:f});\n this.__construct.apply(this, d.call(arguments));\n });\n f.__construct = function() {\n this === f && V(\"Pass correct 'this' to __construct\");\n var l = n.implement.apply(void 0, [this].concat(d.call(arguments)));\n Gc(l);\n var u = l.g;\n l.notifyOnDestruction();\n u.ia = !0;\n Object.defineProperties(this, {g:{value:u}});\n Pc(this);\n l = u.o;\n l = Ac(e, l);\n zc.hasOwnProperty(l) ? V(`Tried to register registered instance: ${l}`) : zc[l] = this;\n };\n f.__destruct = function() {\n this === f && V(\"Pass correct 'this' to __destruct\");\n Gc(this);\n var l = this.g.o;\n l = Ac(e, l);\n zc.hasOwnProperty(l) ? delete zc[l] : V(`Tried to unregister unregistered instance: ${l}`);\n };\n a.prototype = Object.create(f);\n for (var p in c) {\n a.prototype[p] = c[p];\n }\n return sc(a);\n}, _embind_finalize_value_object:function(a) {\n var b = Qc[a];\n delete Qc[a];\n var c = b.Pa, d = b.W, e = b.eb, f = e.map(g => g.Yb).concat(e.map(g => g.rc));\n Y([a], f, g => {\n var n = {};\n e.forEach((p, l) => {\n var u = g[l], v = p.Wb, x = p.Xb, k = g[l + e.length], t = p.qc, r = p.sc;\n n[p.Sb] = {read:B => u.fromWireType(v(x, B)), write:(B, D) => {\n var w = [];\n t(r, B, k.toWireType(w, D));\n Rc(w);\n }};\n });\n return [{name:b.name, fromWireType:function(p) {\n var l = {}, u;\n for (u in n) {\n l[u] = n[u].read(p);\n }\n d(p);\n return l;\n }, toWireType:function(p, l) {\n for (var u in n) {\n if (!(u in l)) {\n throw new TypeError(`Missing field: \"${u}\"`);\n }\n }\n var v = c();\n for (u in n) {\n n[u].write(v, l[u]);\n }\n null !== p && p.push(d, v);\n return v;\n }, argPackAdvance:8, readValueFromPointer:Sc, K:d,}];\n });\n}, _embind_register_bigint:function() {\n}, _embind_register_bool:function(a, b, c, d, e) {\n var f = Wc(c);\n b = W(b);\n Vc(a, {name:b, fromWireType:function(g) {\n return !!g;\n }, toWireType:function(g, n) {\n return n ? d : e;\n }, argPackAdvance:8, readValueFromPointer:function(g) {\n if (1 === c) {\n var n = C;\n } else if (2 === c) {\n n = Da;\n } else if (4 === c) {\n n = L;\n } else {\n throw new TypeError(\"Unknown boolean type size: \" + b);\n }\n return this.fromWireType(n[g >> f]);\n }, K:null,});\n}, _embind_register_class:function(a, b, c, d, e, f, g, n, p, l, u, v, x) {\n u = W(u);\n f = Z(e, f);\n n && (n = Z(g, n));\n l && (l = Z(p, l));\n x = Z(v, x);\n var k = nc(u);\n ad(k, function() {\n od(`Cannot construct ${u} due to unbound types`, [d]);\n });\n Y([a, b, c], d ? [d] : [], function(t) {\n t = t[0];\n if (d) {\n var r = t.i;\n var B = r.N;\n } else {\n B = Zc.prototype;\n }\n t = oc(k, function() {\n if (Object.getPrototypeOf(this) !== D) {\n throw new qc(\"Use 'new' to construct \" + u);\n }\n if (void 0 === w.$) {\n throw new qc(u + \" has no accessible constructor\");\n }\n var T = w.$[arguments.length];\n if (void 0 === T) {\n throw new qc(`Tried to invoke ctor of ${u} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(w.$).toString()}) parameters instead!`);\n }\n return T.apply(this, arguments);\n });\n var D = Object.create(B, {constructor:{value:t},});\n t.prototype = D;\n var w = new bd(u, t, D, x, r, f, n, l);\n w.A && (void 0 === w.A.oa && (w.A.oa = []), w.A.oa.push(w));\n r = new hd(u, w, !0, !1);\n B = new hd(u + \"*\", w, !1, !1);\n var M = new hd(u + \" const*\", w, !1, !0);\n Kc[a] = {pointerType:B, Kb:M};\n jd(k, t);\n return [r, B, M];\n });\n}, _embind_register_class_class_function:function(a, b, c, d, e, f, g) {\n var n = sd(c, d);\n b = W(b);\n f = Z(e, f);\n Y([], [a], function(p) {\n function l() {\n od(`Cannot call ${u} due to unbound types`, n);\n }\n p = p[0];\n var u = `${p.name}.${b}`;\n b.startsWith(\"@@\") && (b = Symbol[b.substring(2)]);\n var v = p.i.constructor;\n void 0 === v[b] ? (l.ea = c - 1, v[b] = l) : ($c(v, b, u), v[b].B[c - 1] = l);\n Y([], n, function(x) {\n x = pd(u, [x[0], null].concat(x.slice(1)), null, f, g);\n void 0 === v[b].B ? (x.ea = c - 1, v[b] = x) : v[b].B[c - 1] = x;\n if (p.i.oa) {\n for (const k of p.i.oa) {\n k.constructor.hasOwnProperty(b) || (k.constructor[b] = x);\n }\n }\n return [];\n });\n return [];\n });\n}, _embind_register_class_class_property:function(a, b, c, d, e, f, g, n) {\n b = W(b);\n f = Z(e, f);\n Y([], [a], function(p) {\n p = p[0];\n var l = `${p.name}.${b}`, u = {get() {\n od(`Cannot access ${l} due to unbound types`, [c]);\n }, enumerable:!0, configurable:!0};\n u.set = n ? () => {\n od(`Cannot access ${l} due to unbound types`, [c]);\n } : () => {\n V(`${l} is a read-only property`);\n };\n Object.defineProperty(p.i.constructor, b, u);\n Y([], [c], function(v) {\n v = v[0];\n var x = {get() {\n return v.fromWireType(f(d));\n }, enumerable:!0};\n n && (n = Z(g, n), x.set = k => {\n var t = [];\n n(d, v.toWireType(t, k));\n Rc(t);\n });\n Object.defineProperty(p.i.constructor, b, x);\n return [];\n });\n return [];\n });\n}, _embind_register_class_constructor:function(a, b, c, d, e, f) {\n var g = sd(b, c);\n e = Z(d, e);\n Y([], [a], function(n) {\n n = n[0];\n var p = `constructor ${n.name}`;\n void 0 === n.i.$ && (n.i.$ = []);\n if (void 0 !== n.i.$[b - 1]) {\n throw new qc(`Cannot register multiple constructors with identical number of parameters (${b - 1}) for class '${n.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);\n }\n n.i.$[b - 1] = () => {\n od(`Cannot construct ${n.name} due to unbound types`, g);\n };\n Y([], g, function(l) {\n l.splice(1, 0, null);\n n.i.$[b - 1] = pd(p, l, null, e, f);\n return [];\n });\n return [];\n });\n}, _embind_register_class_function:function(a, b, c, d, e, f, g, n) {\n var p = sd(c, d);\n b = W(b);\n f = Z(e, f);\n Y([], [a], function(l) {\n function u() {\n od(`Cannot call ${v} due to unbound types`, p);\n }\n l = l[0];\n var v = `${l.name}.${b}`;\n b.startsWith(\"@@\") && (b = Symbol[b.substring(2)]);\n n && l.i.qb.push(b);\n var x = l.i.N, k = x[b];\n void 0 === k || void 0 === k.B && k.className !== l.name && k.ea === c - 2 ? (u.ea = c - 2, u.className = l.name, x[b] = u) : ($c(x, b, v), x[b].B[c - 2] = u);\n Y([], p, function(t) {\n t = pd(v, t, l, f, g);\n void 0 === x[b].B ? (t.ea = c - 2, x[b] = t) : x[b].B[c - 2] = t;\n return [];\n });\n return [];\n });\n}, _embind_register_class_property:function(a, b, c, d, e, f, g, n, p, l) {\n b = W(b);\n e = Z(d, e);\n Y([], [a], function(u) {\n u = u[0];\n var v = `${u.name}.${b}`, x = {get() {\n od(`Cannot access ${v} due to unbound types`, [c, g]);\n }, enumerable:!0, configurable:!0};\n x.set = p ? () => {\n od(`Cannot access ${v} due to unbound types`, [c, g]);\n } : () => {\n V(v + \" is a read-only property\");\n };\n Object.defineProperty(u.i.N, b, x);\n Y([], p ? [c, g] : [c], function(k) {\n var t = k[0], r = {get() {\n var D = td(this, u, v + \" getter\");\n return t.fromWireType(e(f, D));\n }, enumerable:!0};\n if (p) {\n p = Z(n, p);\n var B = k[1];\n r.set = function(D) {\n var w = td(this, u, v + \" setter\"), M = [];\n p(l, w, B.toWireType(M, D));\n Rc(M);\n };\n }\n Object.defineProperty(u.i.N, b, r);\n return [];\n });\n return [];\n });\n}, _embind_register_emval:function(a, b) {\n b = W(b);\n Vc(a, {name:b, fromWireType:function(c) {\n var d = rc(c);\n ud(c);\n return d;\n }, toWireType:function(c, d) {\n return sc(d);\n }, argPackAdvance:8, readValueFromPointer:Sc, K:null,});\n}, _embind_register_enum:function(a, b, c, d) {\n function e() {\n }\n c = Wc(c);\n b = W(b);\n e.values = {};\n Vc(a, {name:b, constructor:e, fromWireType:function(f) {\n return this.constructor.values[f];\n }, toWireType:function(f, g) {\n return g.value;\n }, argPackAdvance:8, readValueFromPointer:vd(b, c, d), K:null,});\n ad(b, e);\n}, _embind_register_enum_value:function(a, b, c) {\n var d = Fc(a, \"enum\");\n b = W(b);\n a = d.constructor;\n d = Object.create(d.constructor.prototype, {value:{value:c}, constructor:{value:oc(`${d.name}_${b}`, function() {\n })},});\n a.values[c] = d;\n a[b] = d;\n}, _embind_register_float:function(a, b, c) {\n c = Wc(c);\n b = W(b);\n Vc(a, {name:b, fromWireType:function(d) {\n return d;\n }, toWireType:function(d, e) {\n return e;\n }, argPackAdvance:8, readValueFromPointer:wd(b, c), K:null,});\n}, _embind_register_function:function(a, b, c, d, e, f) {\n var g = sd(b, c);\n a = W(a);\n e = Z(d, e);\n ad(a, function() {\n od(`Cannot call ${a} due to unbound types`, g);\n }, b - 1);\n Y([], g, function(n) {\n jd(a, pd(a, [n[0], null].concat(n.slice(1)), null, e, f), b - 1);\n return [];\n });\n}, _embind_register_integer:function(a, b, c, d, e) {\n b = W(b);\n -1 === e && (e = 4294967295);\n e = Wc(c);\n var f = n => n;\n if (0 === d) {\n var g = 32 - 8 * c;\n f = n => n << g >>> g;\n }\n c = b.includes(\"unsigned\") ? function(n, p) {\n return p >>> 0;\n } : function(n, p) {\n return p;\n };\n Vc(a, {name:b, fromWireType:f, toWireType:c, argPackAdvance:8, readValueFromPointer:xd(b, e, 0 !== d), K:null,});\n}, _embind_register_memory_view:function(a, b, c) {\n function d(f) {\n f >>= 2;\n var g = N;\n return new e(g.buffer, g[f + 1], g[f]);\n }\n var e = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array,][b];\n c = W(c);\n Vc(a, {name:c, fromWireType:d, argPackAdvance:8, readValueFromPointer:d,}, {$b:!0,});\n}, _embind_register_std_string:function(a, b) {\n b = W(b);\n var c = \"std::string\" === b;\n Vc(a, {name:b, fromWireType:function(d) {\n var e = N[d >> 2], f = d + 4;\n if (c) {\n for (var g = f, n = 0; n <= e; ++n) {\n var p = f + n;\n if (n == e || 0 == E[p]) {\n g = g ? nb(E, g, p - g) : \"\";\n if (void 0 === l) {\n var l = g;\n } else {\n l += String.fromCharCode(0), l += g;\n }\n g = p + 1;\n }\n }\n } else {\n l = Array(e);\n for (n = 0; n < e; ++n) {\n l[n] = String.fromCharCode(E[f + n]);\n }\n l = l.join(\"\");\n }\n Ec(d);\n return l;\n }, toWireType:function(d, e) {\n e instanceof ArrayBuffer && (e = new Uint8Array(e));\n var f = \"string\" == typeof e;\n f || e instanceof Uint8Array || e instanceof Uint8ClampedArray || e instanceof Int8Array || V(\"Cannot pass non-string to std::string\");\n var g = c && f ? pb(e) : e.length;\n var n = Wd(4 + g + 1), p = n + 4;\n N[n >> 2] = g;\n if (c && f) {\n qb(e, E, p, g + 1);\n } else {\n if (f) {\n for (f = 0; f < g; ++f) {\n var l = e.charCodeAt(f);\n 255 < l && (Ec(p), V(\"String has UTF-16 code units that do not fit in 8 bits\"));\n E[p + f] = l;\n }\n } else {\n for (f = 0; f < g; ++f) {\n E[p + f] = e[f];\n }\n }\n }\n null !== d && d.push(Ec, n);\n return n;\n }, argPackAdvance:8, readValueFromPointer:Sc, K:function(d) {\n Ec(d);\n },});\n}, _embind_register_std_wstring:function(a, b, c) {\n c = W(c);\n if (2 === b) {\n var d = zd;\n var e = Ad;\n var f = Bd;\n var g = () => Ea;\n var n = 1;\n } else {\n 4 === b && (d = Cd, e = Dd, f = Ed, g = () => N, n = 2);\n }\n Vc(a, {name:c, fromWireType:function(p) {\n for (var l = N[p >> 2], u = g(), v, x = p + 4, k = 0; k <= l; ++k) {\n var t = p + 4 + k * b;\n if (k == l || 0 == u[t >> n]) {\n x = d(x, t - x), void 0 === v ? v = x : (v += String.fromCharCode(0), v += x), x = t + b;\n }\n }\n Ec(p);\n return v;\n }, toWireType:function(p, l) {\n \"string\" != typeof l && V(`Cannot pass non-string to C++ string type ${c}`);\n var u = f(l), v = Wd(4 + u + b);\n N[v >> 2] = u >> n;\n e(l, v + 4, u + b);\n null !== p && p.push(Ec, v);\n return v;\n }, argPackAdvance:8, readValueFromPointer:Sc, K:function(p) {\n Ec(p);\n },});\n}, _embind_register_value_object:function(a, b, c, d, e, f) {\n Qc[a] = {name:W(b), Pa:Z(c, d), W:Z(e, f), eb:[],};\n}, _embind_register_value_object_field:function(a, b, c, d, e, f, g, n, p, l) {\n Qc[a].eb.push({Sb:W(b), Yb:c, Wb:Z(d, e), Xb:f, rc:g, qc:Z(n, p), sc:l,});\n}, _embind_register_void:function(a, b) {\n b = W(b);\n Vc(a, {fc:!0, name:b, argPackAdvance:0, fromWireType:function() {\n }, toWireType:function() {\n },});\n}, _emscripten_get_now_is_monotonic:() => !0, _emval_as:function(a, b, c) {\n a = rc(a);\n b = Fc(b, \"emval::as\");\n var d = [], e = sc(d);\n N[c >> 2] = e;\n return b.toWireType(d, a);\n}, _emval_call_method:function(a, b, c, d, e) {\n a = Hd[a];\n b = rc(b);\n c = Gd(c);\n var f = [];\n N[d >> 2] = sc(f);\n return a(b, c, f, e);\n}, _emval_call_void_method:function(a, b, c, d) {\n a = Hd[a];\n b = rc(b);\n c = Gd(c);\n a(b, c, null, d);\n}, _emval_decref:ud, _emval_get_method_caller:function(a, b) {\n var c = Jd(a, b), d = c[0];\n b = d.name + \"_$\" + c.slice(1).map(function(g) {\n return g.name;\n }).join(\"_\") + \"$\";\n var e = Kd[b];\n if (void 0 !== e) {\n return e;\n }\n var f = Array(a - 1);\n e = Id((g, n, p, l) => {\n for (var u = 0, v = 0; v < a - 1; ++v) {\n f[v] = c[v + 1].readValueFromPointer(l + u), u += c[v + 1].argPackAdvance;\n }\n g = g[n].apply(g, f);\n for (v = 0; v < a - 1; ++v) {\n c[v + 1].Nb && c[v + 1].Nb(f[v]);\n }\n if (!d.fc) {\n return d.toWireType(p, g);\n }\n });\n return Kd[b] = e;\n}, _emval_get_module_property:function(a) {\n a = Gd(a);\n return sc(m[a]);\n}, _emval_get_property:function(a, b) {\n a = rc(a);\n b = rc(b);\n return sc(a[b]);\n}, _emval_incref:function(a) {\n 4 < a && (U.get(a).tb += 1);\n}, _emval_new_array:function() {\n return sc([]);\n}, _emval_new_cstring:function(a) {\n return sc(Gd(a));\n}, _emval_new_object:function() {\n return sc({});\n}, _emval_run_destructors:function(a) {\n var b = rc(a);\n Rc(b);\n ud(a);\n}, _emval_set_property:function(a, b, c) {\n a = rc(a);\n b = rc(b);\n c = rc(c);\n a[b] = c;\n}, _emval_take_value:function(a, b) {\n a = Fc(a, \"_emval_take_value\");\n a = a.readValueFromPointer(b);\n return sc(a);\n}, abort:() => {\n Aa(\"\");\n}, emscripten_asm_const_int:(a, b, c) => {\n Ld.length = 0;\n var d;\n for (c >>= 2; d = E[b++];) {\n c += 105 != d & c, Ld.push(105 == d ? L[c] : Ia[c++ >> 1]), ++c;\n }\n return db[a].apply(null, Ld);\n}, emscripten_date_now:function() {\n return Date.now();\n}, emscripten_get_now:() => performance.now(), emscripten_memcpy_big:(a, b, c) => E.copyWithin(a, b, b + c), emscripten_resize_heap:a => {\n var b = E.length;\n a >>>= 0;\n if (2147483648 < a) {\n return !1;\n }\n for (var c = 1; 4 >= c; c *= 2) {\n var d = b * (1 + 0.2 / c);\n d = Math.min(d, a + 100663296);\n var e = Math;\n d = Math.max(a, d);\n a: {\n e = e.min.call(e, 2147483648, d + (65536 - d % 65536) % 65536) - Ba.buffer.byteLength + 65535 >>> 16;\n try {\n Ba.grow(e);\n Ja();\n var f = 1;\n break a;\n } catch (g) {\n }\n f = void 0;\n }\n if (f) {\n return !0;\n }\n }\n return !1;\n}, environ_get:(a, b) => {\n var c = 0;\n Od().forEach(function(d, e) {\n var f = b + c;\n e = N[a + 4 * e >> 2] = f;\n for (f = 0; f < d.length; ++f) {\n C[e++ >> 0] = d.charCodeAt(f);\n }\n C[e >> 0] = 0;\n c += d.length + 1;\n });\n return 0;\n}, environ_sizes_get:(a, b) => {\n var c = Od();\n N[a >> 2] = c.length;\n var d = 0;\n c.forEach(function(e) {\n d += e.length + 1;\n });\n N[b >> 2] = d;\n return 0;\n}, fd_close:function(a) {\n try {\n var b = Tb(a);\n if (null === b.X) {\n throw new O(8);\n }\n b.Ma && (b.Ma = null);\n try {\n b.m.close && b.m.close(b);\n } catch (c) {\n throw c;\n } finally {\n Gb[b.X] = null;\n }\n b.X = null;\n return 0;\n } catch (c) {\n if (\"undefined\" == typeof kc || \"ErrnoError\" !== c.name) {\n throw c;\n }\n return c.aa;\n }\n}, fd_read:function(a, b, c, d) {\n try {\n a: {\n var e = Tb(a);\n a = b;\n for (var f, g = b = 0; g < c; g++) {\n var n = N[a >> 2], p = N[a + 4 >> 2];\n a += 8;\n var l = e, u = n, v = p, x = f, k = C;\n if (0 > v || 0 > x) {\n throw new O(28);\n }\n if (null === l.X) {\n throw new O(8);\n }\n if (1 === (l.flags & 2097155)) {\n throw new O(8);\n }\n if (16384 === (l.node.mode & 61440)) {\n throw new O(31);\n }\n if (!l.m.read) {\n throw new O(28);\n }\n var t = \"undefined\" != typeof x;\n if (!t) {\n x = l.position;\n } else if (!l.seekable) {\n throw new O(70);\n }\n var r = l.m.read(l, k, u, v, x);\n t || (l.position += r);\n var B = r;\n if (0 > B) {\n var D = -1;\n break a;\n }\n b += B;\n if (B < p) {\n break;\n }\n \"undefined\" !== typeof f && (f += B);\n }\n D = b;\n }\n N[d >> 2] = D;\n return 0;\n } catch (w) {\n if (\"undefined\" == typeof kc || \"ErrnoError\" !== w.name) {\n throw w;\n }\n return w.aa;\n }\n}, fd_seek:function(a, b, c, d, e) {\n b = c + 2097152 >>> 0 < 4194305 - !!b ? (b >>> 0) + 4294967296 * c : NaN;\n try {\n if (isNaN(b)) {\n return 61;\n }\n var f = Tb(a);\n fc(f, b, d);\n $a = [f.position >>> 0, (Za = f.position, 1.0 <= +Math.abs(Za) ? 0.0 < Za ? +Math.floor(Za / 4294967296.0) >>> 0 : ~~+Math.ceil((Za - +(~~Za >>> 0)) / 4294967296.0) >>> 0 : 0)];\n L[e >> 2] = $a[0];\n L[e + 4 >> 2] = $a[1];\n f.Ma && 0 === b && 0 === d && (f.Ma = null);\n return 0;\n } catch (g) {\n if (\"undefined\" == typeof kc || \"ErrnoError\" !== g.name) {\n throw g;\n }\n return g.aa;\n }\n}, fd_write:function(a, b, c, d) {\n try {\n a: {\n var e = Tb(a);\n a = b;\n for (var f, g = b = 0; g < c; g++) {\n var n = N[a >> 2], p = N[a + 4 >> 2];\n a += 8;\n var l = e, u = n, v = p, x = f, k = C;\n if (0 > v || 0 > x) {\n throw new O(28);\n }\n if (null === l.X) {\n throw new O(8);\n }\n if (0 === (l.flags & 2097155)) {\n throw new O(8);\n }\n if (16384 === (l.node.mode & 61440)) {\n throw new O(31);\n }\n if (!l.m.write) {\n throw new O(28);\n }\n l.seekable && l.flags & 1024 && fc(l, 0, 2);\n var t = \"undefined\" != typeof x;\n if (!t) {\n x = l.position;\n } else if (!l.seekable) {\n throw new O(70);\n }\n var r = l.m.write(l, k, u, v, x, void 0);\n t || (l.position += r);\n var B = r;\n if (0 > B) {\n var D = -1;\n break a;\n }\n b += B;\n \"undefined\" !== typeof f && (f += B);\n }\n D = b;\n }\n N[d >> 2] = D;\n return 0;\n } catch (w) {\n if (\"undefined\" == typeof kc || \"ErrnoError\" !== w.name) {\n throw w;\n }\n return w.aa;\n }\n}, strftime_l:(a, b, c, d) => Sd(a, b, c, d)};\n(function() {\n function a(c) {\n z = c = c.exports;\n Ba = z.memory;\n Ja();\n Ka = z.__indirect_function_table;\n Ma.unshift(z.__wasm_call_ctors);\n Pa--;\n m.monitorRunDependencies && m.monitorRunDependencies(Pa);\n if (0 == Pa && (null !== Qa && (clearInterval(Qa), Qa = null), Ra)) {\n var d = Ra;\n Ra = null;\n d();\n }\n return c;\n }\n var b = {env:Xd, wasi_snapshot_preview1:Xd,};\n Pa++;\n m.monitorRunDependencies && m.monitorRunDependencies(Pa);\n if (m.instantiateWasm) {\n try {\n return m.instantiateWasm(b, a);\n } catch (c) {\n xa(\"Module.instantiateWasm callback failed with error: \" + c), ba(c);\n }\n }\n Ya(b, function(c) {\n a(c.instance);\n }).catch(ba);\n return {};\n})();\nvar Ec = a => (Ec = z.free)(a), Wd = a => (Wd = z.malloc)(a), ab = m._ma_device__on_notification_unlocked = a => (ab = m._ma_device__on_notification_unlocked = z.ma_device__on_notification_unlocked)(a);\nm._ma_malloc_emscripten = (a, b) => (m._ma_malloc_emscripten = z.ma_malloc_emscripten)(a, b);\nm._ma_free_emscripten = (a, b) => (m._ma_free_emscripten = z.ma_free_emscripten)(a, b);\nvar bb = m._ma_device_process_pcm_frames_capture__webaudio = (a, b, c) => (bb = m._ma_device_process_pcm_frames_capture__webaudio = z.ma_device_process_pcm_frames_capture__webaudio)(a, b, c), cb = m._ma_device_process_pcm_frames_playback__webaudio = (a, b, c) => (cb = m._ma_device_process_pcm_frames_playback__webaudio = z.ma_device_process_pcm_frames_playback__webaudio)(a, b, c), Vd = () => (Vd = z.__errno_location)(), Dc = a => (Dc = z.__getTypeName)(a);\nm.__embind_initialize_bindings = () => (m.__embind_initialize_bindings = z._embind_initialize_bindings)();\nm.dynCall_iiji = (a, b, c, d, e) => (m.dynCall_iiji = z.dynCall_iiji)(a, b, c, d, e);\nm.dynCall_jiji = (a, b, c, d, e) => (m.dynCall_jiji = z.dynCall_jiji)(a, b, c, d, e);\nm.dynCall_iiiji = (a, b, c, d, e, f) => (m.dynCall_iiiji = z.dynCall_iiiji)(a, b, c, d, e, f);\nm.dynCall_iij = (a, b, c, d) => (m.dynCall_iij = z.dynCall_iij)(a, b, c, d);\nm.dynCall_jii = (a, b, c) => (m.dynCall_jii = z.dynCall_jii)(a, b, c);\nm.dynCall_viijii = (a, b, c, d, e, f, g) => (m.dynCall_viijii = z.dynCall_viijii)(a, b, c, d, e, f, g);\nm.dynCall_iiiiij = (a, b, c, d, e, f, g) => (m.dynCall_iiiiij = z.dynCall_iiiiij)(a, b, c, d, e, f, g);\nm.dynCall_iiiiijj = (a, b, c, d, e, f, g, n, p) => (m.dynCall_iiiiijj = z.dynCall_iiiiijj)(a, b, c, d, e, f, g, n, p);\nm.dynCall_iiiiiijj = (a, b, c, d, e, f, g, n, p, l) => (m.dynCall_iiiiiijj = z.dynCall_iiiiiijj)(a, b, c, d, e, f, g, n, p, l);\nvar Yd;\nRa = function Zd() {\n Yd || $d();\n Yd || (Ra = Zd);\n};\nfunction $d() {\n function a() {\n if (!Yd && (Yd = !0, m.calledRun = !0, !Ca)) {\n m.noFSInit || hc || (hc = !0, gc(), m.stdin = m.stdin, m.stdout = m.stdout, m.stderr = m.stderr, m.stdin ? jc(\"stdin\", m.stdin) : cc(\"/dev/tty\", \"/dev/stdin\"), m.stdout ? jc(\"stdout\", null, m.stdout) : cc(\"/dev/tty\", \"/dev/stdout\"), m.stderr ? jc(\"stderr\", null, m.stderr) : cc(\"/dev/tty1\", \"/dev/stderr\"), ec(\"/dev/stdin\", 0), ec(\"/dev/stdout\", 1), ec(\"/dev/stderr\", 1));\n Jb = !1;\n eb(Ma);\n aa(m);\n if (m.onRuntimeInitialized) {\n m.onRuntimeInitialized();\n }\n if (m.postRun) {\n for (\"function\" == typeof m.postRun && (m.postRun = [m.postRun]); m.postRun.length;) {\n var b = m.postRun.shift();\n Na.unshift(b);\n }\n }\n eb(Na);\n }\n }\n if (!(0 < Pa)) {\n if (m.preRun) {\n for (\"function\" == typeof m.preRun && (m.preRun = [m.preRun]); m.preRun.length;) {\n Oa();\n }\n }\n eb(La);\n 0 < Pa || (m.setStatus ? (m.setStatus(\"Running...\"), setTimeout(function() {\n setTimeout(function() {\n m.setStatus(\"\");\n }, 1);\n a();\n }, 1)) : a());\n }\n}\nif (m.preInit) {\n for (\"function\" == typeof m.preInit && (m.preInit = [m.preInit]); 0 < m.preInit.length;) {\n m.preInit.pop()();\n }\n}\n$d();\n\n\n\n return moduleArg.ready\n}\n\n);\n})();\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Rive);\n\n/***/ }),\n/* 2 */\n/***/ ((module) => {\n\nmodule.exports = /*#__PURE__*/JSON.parse('{\"name\":\"@rive-app/canvas\",\"version\":\"2.26.5\",\"description\":\"Rive\\'s canvas based web api.\",\"main\":\"rive.js\",\"homepage\":\"https://rive.app\",\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/rive-app/rive-wasm/tree/master/js\"},\"keywords\":[\"rive\",\"animation\"],\"author\":\"Rive\",\"contributors\":[\"Luigi Rosso (https://rive.app)\",\"Maxwell Talbot (https://rive.app)\",\"Arthur Vivian (https://rive.app)\",\"Umberto Sonnino (https://rive.app)\",\"Matthew Sullivan (mailto:matt.j.sullivan@gmail.com)\"],\"license\":\"MIT\",\"files\":[\"rive.js\",\"rive.js.map\",\"rive.wasm\",\"rive_fallback.wasm\",\"rive.d.ts\",\"rive_advanced.mjs.d.ts\"],\"typings\":\"rive.d.ts\",\"dependencies\":{},\"browser\":{\"fs\":false,\"path\":false}}');\n\n/***/ }),\n/* 3 */\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Animation: () => (/* reexport safe */ _Animation__WEBPACK_IMPORTED_MODULE_0__.Animation)\n/* harmony export */ });\n/* harmony import */ var _Animation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4);\n\n\n\n/***/ }),\n/* 4 */\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Animation: () => (/* binding */ Animation)\n/* harmony export */ });\n/**\n * Represents an animation that can be played on an Artboard.\n * Wraps animations and instances from the runtime and keeps track of playback state.\n *\n * The `Animation` class manages the state and behavior of a single animation instance,\n * including its current time, loop count, and ability to scrub to a specific time.\n *\n * The class provides methods to advance the animation, apply its interpolated keyframe\n * values to the Artboard, and clean up the underlying animation instance when the\n * animation is no longer needed.\n */\nvar Animation = /** @class */ (function () {\n /**\n * Constructs a new animation\n * @constructor\n * @param {any} animation: runtime animation object\n * @param {any} instance: runtime animation instance object\n */\n function Animation(animation, artboard, runtime, playing) {\n this.animation = animation;\n this.artboard = artboard;\n this.playing = playing;\n this.loopCount = 0;\n /**\n * The time to which the animation should move to on the next render.\n * If not null, the animation will scrub to this time instead of advancing by the given time.\n */\n this.scrubTo = null;\n this.instance = new runtime.LinearAnimationInstance(animation, artboard);\n }\n Object.defineProperty(Animation.prototype, \"name\", {\n /**\n * Returns the animation's name\n */\n get: function () {\n return this.animation.name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Animation.prototype, \"time\", {\n /**\n * Returns the animation's name\n */\n get: function () {\n return this.instance.time;\n },\n /**\n * Sets the animation's current time\n */\n set: function (value) {\n this.instance.time = value;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Animation.prototype, \"loopValue\", {\n /**\n * Returns the animation's loop type\n */\n get: function () {\n return this.animation.loopValue;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Animation.prototype, \"needsScrub\", {\n /**\n * Indicates whether the animation needs to be scrubbed.\n * @returns `true` if the animation needs to be scrubbed, `false` otherwise.\n */\n get: function () {\n return this.scrubTo !== null;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Advances the animation by the give time. If the animation needs scrubbing,\n * time is ignored and the stored scrub value is used.\n * @param time the time to advance the animation by if no scrubbing required\n */\n Animation.prototype.advance = function (time) {\n if (this.scrubTo === null) {\n this.instance.advance(time);\n }\n else {\n this.instance.time = 0;\n this.instance.advance(this.scrubTo);\n this.scrubTo = null;\n }\n };\n /**\n * Apply interpolated keyframe values to the artboard. This should be called after calling\n * .advance() on an animation instance so that new values are applied to properties.\n *\n * Note: This does not advance the artboard, which updates all objects on the artboard\n * @param mix - Mix value for the animation from 0 to 1\n */\n Animation.prototype.apply = function (mix) {\n this.instance.apply(mix);\n };\n /**\n * Deletes the backing Wasm animation instance; once this is called, this\n * animation is no more.\n */\n Animation.prototype.cleanup = function () {\n this.instance.delete();\n };\n return Animation;\n}());\n\n\n\n/***/ }),\n/* 5 */\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BLANK_URL: () => (/* reexport safe */ _sanitizeUrl__WEBPACK_IMPORTED_MODULE_1__.BLANK_URL),\n/* harmony export */ registerTouchInteractions: () => (/* reexport safe */ _registerTouchInteractions__WEBPACK_IMPORTED_MODULE_0__.registerTouchInteractions),\n/* harmony export */ sanitizeUrl: () => (/* reexport safe */ _sanitizeUrl__WEBPACK_IMPORTED_MODULE_1__.sanitizeUrl)\n/* harmony export */ });\n/* harmony import */ var _registerTouchInteractions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6);\n/* harmony import */ var _sanitizeUrl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7);\n\n\n\n\n/***/ }),\n/* 6 */\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ registerTouchInteractions: () => (/* binding */ registerTouchInteractions)\n/* harmony export */ });\nvar _this = undefined;\n/**\n * Returns the clientX and clientY properties from touch or mouse events. Also\n * calls preventDefault() on the event if it is a touchstart or touchmove to prevent\n * scrolling the page on mobile devices\n * @param event - Either a TouchEvent or a MouseEvent\n * @returns - Coordinates of the clientX and clientY properties from the touch/mouse event\n */\nvar getClientCoordinates = function (event, isTouchScrollEnabled) {\n var _a, _b;\n if ([\"touchstart\", \"touchmove\"].indexOf(event.type) > -1 &&\n ((_a = event.touches) === null || _a === void 0 ? void 0 : _a.length)) {\n // This flag, if false, prevents touch events on the canvas default behavior\n // which may prevent scrolling if a drag motion on the canvas is performed\n if (!isTouchScrollEnabled) {\n event.preventDefault();\n }\n return {\n clientX: event.touches[0].clientX,\n clientY: event.touches[0].clientY,\n };\n }\n else if (event.type === \"touchend\" &&\n ((_b = event.changedTouches) === null || _b === void 0 ? void 0 : _b.length)) {\n return {\n clientX: event.changedTouches[0].clientX,\n clientY: event.changedTouches[0].clientY,\n };\n }\n else {\n return {\n clientX: event.clientX,\n clientY: event.clientY,\n };\n }\n};\n/**\n * Registers mouse move/up/down callback handlers on the canvas to send meaningful coordinates to\n * the state machine pointer move/up/down functions based on cursor interaction\n */\nvar registerTouchInteractions = function (_a) {\n var canvas = _a.canvas, artboard = _a.artboard, _b = _a.stateMachines, stateMachines = _b === void 0 ? [] : _b, renderer = _a.renderer, rive = _a.rive, fit = _a.fit, alignment = _a.alignment, _c = _a.isTouchScrollEnabled, isTouchScrollEnabled = _c === void 0 ? false : _c, _d = _a.layoutScaleFactor, layoutScaleFactor = _d === void 0 ? 1.0 : _d;\n if (!canvas ||\n !stateMachines.length ||\n !renderer ||\n !rive ||\n !artboard ||\n typeof window === \"undefined\") {\n return null;\n }\n /**\n * After a touchend event, some browsers may fire synthetic mouse events\n * (mouseover, mousedown, mousemove, mouseup) if the touch interaction did not cause\n * any default action (such as scrolling).\n *\n * This is done to simulate the behavior of a mouse for applications that do not support\n * touch events.\n *\n * We're keeping track of the previous event to not send the synthetic mouse events if the\n * touch event was a click (touchstart -> touchend).\n *\n * This is only needed when `isTouchScrollEnabled` is false\n * When true, `preventDefault()` is called which prevents this behaviour.\n **/\n var _prevEventType = null;\n var _syntheticEventsActive = false;\n var processEventCallback = function (event) {\n // Exit early out of all synthetic mouse events\n // https://stackoverflow.com/questions/9656990/how-to-prevent-simulated-mouse-events-in-mobile-browsers\n // https://stackoverflow.com/questions/25572070/javascript-touchend-versus-click-dilemma\n if (_syntheticEventsActive && event instanceof MouseEvent) {\n // Synthetic event finished\n if (event.type == \"mouseup\") {\n _syntheticEventsActive = false;\n }\n return;\n }\n // Test if it's a \"touch click\". This could cause the browser to send\n // synthetic mouse events.\n _syntheticEventsActive =\n isTouchScrollEnabled &&\n event.type === \"touchend\" &&\n _prevEventType === \"touchstart\";\n _prevEventType = event.type;\n var boundingRect = event.currentTarget.getBoundingClientRect();\n var _a = getClientCoordinates(event, isTouchScrollEnabled), clientX = _a.clientX, clientY = _a.clientY;\n if (!clientX && !clientY) {\n return;\n }\n var canvasX = clientX - boundingRect.left;\n var canvasY = clientY - boundingRect.top;\n var forwardMatrix = rive.computeAlignment(fit, alignment, {\n minX: 0,\n minY: 0,\n maxX: boundingRect.width,\n maxY: boundingRect.height,\n }, artboard.bounds, layoutScaleFactor);\n var invertedMatrix = new rive.Mat2D();\n forwardMatrix.invert(invertedMatrix);\n var canvasCoordinatesVector = new rive.Vec2D(canvasX, canvasY);\n var transformedVector = rive.mapXY(invertedMatrix, canvasCoordinatesVector);\n var transformedX = transformedVector.x();\n var transformedY = transformedVector.y();\n transformedVector.delete();\n invertedMatrix.delete();\n canvasCoordinatesVector.delete();\n forwardMatrix.delete();\n switch (event.type) {\n /**\n * There's a 2px buffer for a hitRadius when translating the pointer coordinates\n * down to the state machine. In cases where the hitbox is about that much away\n * from the Artboard border, we don't have exact precision on determining pointer\n * exit. We're therefore adding to the translated coordinates on mouseout of a canvas\n * to ensure that we report the mouse has truly exited the hitarea.\n * https://github.com/rive-app/rive-cpp/blob/master/src/animation/state_machine_instance.cpp#L336\n *\n * We add/subtract 10000 to account for when the graphic goes beyond the canvas bound\n * due to for example, a fit: 'cover'. Not perfect, but helps reliably (for now) ensure\n * we report going out of bounds when the mouse is out of the canvas\n */\n case \"mouseout\":\n for (var _i = 0, stateMachines_1 = stateMachines; _i < stateMachines_1.length; _i++) {\n var stateMachine = stateMachines_1[_i];\n stateMachine.pointerMove(transformedX, transformedY);\n }\n break;\n // Pointer moving/hovering on the canvas\n case \"touchmove\":\n case \"mouseover\":\n case \"mousemove\": {\n for (var _b = 0, stateMachines_2 = stateMachines; _b < stateMachines_2.length; _b++) {\n var stateMachine = stateMachines_2[_b];\n stateMachine.pointerMove(transformedX, transformedY);\n }\n break;\n }\n // Pointer click initiated but not released yet on the canvas\n case \"touchstart\":\n case \"mousedown\": {\n for (var _c = 0, stateMachines_3 = stateMachines; _c < stateMachines_3.length; _c++) {\n var stateMachine = stateMachines_3[_c];\n stateMachine.pointerDown(transformedX, transformedY);\n }\n break;\n }\n // Pointer click released on the canvas\n case \"touchend\":\n case \"mouseup\": {\n for (var _d = 0, stateMachines_4 = stateMachines; _d < stateMachines_4.length; _d++) {\n var stateMachine = stateMachines_4[_d];\n stateMachine.pointerUp(transformedX, transformedY);\n }\n break;\n }\n default:\n }\n };\n var callback = processEventCallback.bind(_this);\n canvas.addEventListener(\"mouseover\", callback);\n canvas.addEventListener(\"mouseout\", callback);\n canvas.addEventListener(\"mousemove\", callback);\n canvas.addEventListener(\"mousedown\", callback);\n canvas.addEventListener(\"mouseup\", callback);\n canvas.addEventListener(\"touchmove\", callback, {\n passive: isTouchScrollEnabled,\n });\n canvas.addEventListener(\"touchstart\", callback, {\n passive: isTouchScrollEnabled,\n });\n canvas.addEventListener(\"touchend\", callback);\n return function () {\n canvas.removeEventListener(\"mouseover\", callback);\n canvas.removeEventListener(\"mouseout\", callback);\n canvas.removeEventListener(\"mousemove\", callback);\n canvas.removeEventListener(\"mousedown\", callback);\n canvas.removeEventListener(\"mouseup\", callback);\n canvas.removeEventListener(\"touchmove\", callback);\n canvas.removeEventListener(\"touchstart\", callback);\n canvas.removeEventListener(\"touchend\", callback);\n };\n};\n\n\n/***/ }),\n/* 7 */\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BLANK_URL: () => (/* binding */ BLANK_URL),\n/* harmony export */ sanitizeUrl: () => (/* binding */ sanitizeUrl)\n/* harmony export */ });\n// Reference: https://github.com/braintree/sanitize-url/tree/main\nvar invalidProtocolRegex = /^([^\\w]*)(javascript|data|vbscript)/im;\nvar htmlEntitiesRegex = /&#(\\w+)(^\\w|;)?/g;\nvar htmlCtrlEntityRegex = /&(newline|tab);/gi;\nvar ctrlCharactersRegex = /[\\u0000-\\u001F\\u007F-\\u009F\\u2000-\\u200D\\uFEFF]/gim;\nvar urlSchemeRegex = /^.+(:|:)/gim;\nvar relativeFirstCharacters = [\".\", \"/\"];\nvar BLANK_URL = \"about:blank\";\nfunction isRelativeUrlWithoutProtocol(url) {\n return relativeFirstCharacters.indexOf(url[0]) > -1;\n}\n// adapted from https://stackoverflow.com/a/29824550/2601552\nfunction decodeHtmlCharacters(str) {\n var removedNullByte = str.replace(ctrlCharactersRegex, \"\");\n return removedNullByte.replace(htmlEntitiesRegex, function (match, dec) {\n return String.fromCharCode(dec);\n });\n}\nfunction sanitizeUrl(url) {\n if (!url) {\n return BLANK_URL;\n }\n var sanitizedUrl = decodeHtmlCharacters(url)\n .replace(htmlCtrlEntityRegex, \"\")\n .replace(ctrlCharactersRegex, \"\")\n .trim();\n if (!sanitizedUrl) {\n return BLANK_URL;\n }\n if (isRelativeUrlWithoutProtocol(sanitizedUrl)) {\n return sanitizedUrl;\n }\n var urlSchemeParseResults = sanitizedUrl.match(urlSchemeRegex);\n if (!urlSchemeParseResults) {\n return sanitizedUrl;\n }\n var urlScheme = urlSchemeParseResults[0];\n if (invalidProtocolRegex.test(urlScheme)) {\n return BLANK_URL;\n }\n return sanitizedUrl;\n}\n\n\n/***/ })\n/******/ \t]);\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk.\n(() => {\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Alignment: () => (/* binding */ Alignment),\n/* harmony export */ DataEnum: () => (/* binding */ DataEnum),\n/* harmony export */ EventType: () => (/* binding */ EventType),\n/* harmony export */ Fit: () => (/* binding */ Fit),\n/* harmony export */ Layout: () => (/* binding */ Layout),\n/* harmony export */ LoopType: () => (/* binding */ LoopType),\n/* harmony export */ Rive: () => (/* binding */ Rive),\n/* harmony export */ RiveEventType: () => (/* binding */ RiveEventType),\n/* harmony export */ RiveFile: () => (/* binding */ RiveFile),\n/* harmony export */ RuntimeLoader: () => (/* binding */ RuntimeLoader),\n/* harmony export */ StateMachineInput: () => (/* binding */ StateMachineInput),\n/* harmony export */ StateMachineInputType: () => (/* binding */ StateMachineInputType),\n/* harmony export */ Testing: () => (/* binding */ Testing),\n/* harmony export */ ViewModel: () => (/* binding */ ViewModel),\n/* harmony export */ ViewModelInstance: () => (/* binding */ ViewModelInstance),\n/* harmony export */ ViewModelInstanceBoolean: () => (/* binding */ ViewModelInstanceBoolean),\n/* harmony export */ ViewModelInstanceColor: () => (/* binding */ ViewModelInstanceColor),\n/* harmony export */ ViewModelInstanceEnum: () => (/* binding */ ViewModelInstanceEnum),\n/* harmony export */ ViewModelInstanceNumber: () => (/* binding */ ViewModelInstanceNumber),\n/* harmony export */ ViewModelInstanceString: () => (/* binding */ ViewModelInstanceString),\n/* harmony export */ ViewModelInstanceTrigger: () => (/* binding */ ViewModelInstanceTrigger),\n/* harmony export */ ViewModelInstanceValue: () => (/* binding */ ViewModelInstanceValue),\n/* harmony export */ decodeAudio: () => (/* binding */ decodeAudio),\n/* harmony export */ decodeFont: () => (/* binding */ decodeFont),\n/* harmony export */ decodeImage: () => (/* binding */ decodeImage)\n/* harmony export */ });\n/* harmony import */ var _rive_advanced_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1);\n/* harmony import */ var package_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2);\n/* harmony import */ var _animation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5);\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (undefined && undefined.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (undefined && undefined.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n\n\n\n\nvar RiveError = /** @class */ (function (_super) {\n __extends(RiveError, _super);\n function RiveError() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.isHandledError = true;\n return _this;\n }\n return RiveError;\n}(Error));\n// #regions helpers\nvar resolveErrorMessage = function (error) {\n return error && error.isHandledError\n ? error.message\n : \"Problem loading file; may be corrupt!\";\n};\n// #region layout\n// Fit options for the canvas\nvar Fit;\n(function (Fit) {\n Fit[\"Cover\"] = \"cover\";\n Fit[\"Contain\"] = \"contain\";\n Fit[\"Fill\"] = \"fill\";\n Fit[\"FitWidth\"] = \"fitWidth\";\n Fit[\"FitHeight\"] = \"fitHeight\";\n Fit[\"None\"] = \"none\";\n Fit[\"ScaleDown\"] = \"scaleDown\";\n Fit[\"Layout\"] = \"layout\";\n})(Fit || (Fit = {}));\n// Alignment options for the canvas\nvar Alignment;\n(function (Alignment) {\n Alignment[\"Center\"] = \"center\";\n Alignment[\"TopLeft\"] = \"topLeft\";\n Alignment[\"TopCenter\"] = \"topCenter\";\n Alignment[\"TopRight\"] = \"topRight\";\n Alignment[\"CenterLeft\"] = \"centerLeft\";\n Alignment[\"CenterRight\"] = \"centerRight\";\n Alignment[\"BottomLeft\"] = \"bottomLeft\";\n Alignment[\"BottomCenter\"] = \"bottomCenter\";\n Alignment[\"BottomRight\"] = \"bottomRight\";\n})(Alignment || (Alignment = {}));\n// Alignment options for Rive animations in a HTML canvas\nvar Layout = /** @class */ (function () {\n function Layout(params) {\n var _a, _b, _c, _d, _e, _f, _g;\n this.fit = (_a = params === null || params === void 0 ? void 0 : params.fit) !== null && _a !== void 0 ? _a : Fit.Contain;\n this.alignment = (_b = params === null || params === void 0 ? void 0 : params.alignment) !== null && _b !== void 0 ? _b : Alignment.Center;\n this.layoutScaleFactor = (_c = params === null || params === void 0 ? void 0 : params.layoutScaleFactor) !== null && _c !== void 0 ? _c : 1;\n this.minX = (_d = params === null || params === void 0 ? void 0 : params.minX) !== null && _d !== void 0 ? _d : 0;\n this.minY = (_e = params === null || params === void 0 ? void 0 : params.minY) !== null && _e !== void 0 ? _e : 0;\n this.maxX = (_f = params === null || params === void 0 ? void 0 : params.maxX) !== null && _f !== void 0 ? _f : 0;\n this.maxY = (_g = params === null || params === void 0 ? void 0 : params.maxY) !== null && _g !== void 0 ? _g : 0;\n }\n // Alternative constructor to build a Layout from an interface/object\n Layout.new = function (_a) {\n var fit = _a.fit, alignment = _a.alignment, minX = _a.minX, minY = _a.minY, maxX = _a.maxX, maxY = _a.maxY;\n console.warn(\"This function is deprecated: please use `new Layout({})` instead\");\n return new Layout({ fit: fit, alignment: alignment, minX: minX, minY: minY, maxX: maxX, maxY: maxY });\n };\n /**\n * Makes a copy of the layout, replacing any specified parameters\n */\n Layout.prototype.copyWith = function (_a) {\n var fit = _a.fit, alignment = _a.alignment, layoutScaleFactor = _a.layoutScaleFactor, minX = _a.minX, minY = _a.minY, maxX = _a.maxX, maxY = _a.maxY;\n return new Layout({\n fit: fit !== null && fit !== void 0 ? fit : this.fit,\n alignment: alignment !== null && alignment !== void 0 ? alignment : this.alignment,\n layoutScaleFactor: layoutScaleFactor !== null && layoutScaleFactor !== void 0 ? layoutScaleFactor : this.layoutScaleFactor,\n minX: minX !== null && minX !== void 0 ? minX : this.minX,\n minY: minY !== null && minY !== void 0 ? minY : this.minY,\n maxX: maxX !== null && maxX !== void 0 ? maxX : this.maxX,\n maxY: maxY !== null && maxY !== void 0 ? maxY : this.maxY,\n });\n };\n // Returns fit for the Wasm runtime format\n Layout.prototype.runtimeFit = function (rive) {\n if (this.cachedRuntimeFit)\n return this.cachedRuntimeFit;\n var fit;\n if (this.fit === Fit.Cover)\n fit = rive.Fit.cover;\n else if (this.fit === Fit.Contain)\n fit = rive.Fit.contain;\n else if (this.fit === Fit.Fill)\n fit = rive.Fit.fill;\n else if (this.fit === Fit.FitWidth)\n fit = rive.Fit.fitWidth;\n else if (this.fit === Fit.FitHeight)\n fit = rive.Fit.fitHeight;\n else if (this.fit === Fit.ScaleDown)\n fit = rive.Fit.scaleDown;\n else if (this.fit === Fit.Layout)\n fit = rive.Fit.layout;\n else\n fit = rive.Fit.none;\n this.cachedRuntimeFit = fit;\n return fit;\n };\n // Returns alignment for the Wasm runtime format\n Layout.prototype.runtimeAlignment = function (rive) {\n if (this.cachedRuntimeAlignment)\n return this.cachedRuntimeAlignment;\n var alignment;\n if (this.alignment === Alignment.TopLeft)\n alignment = rive.Alignment.topLeft;\n else if (this.alignment === Alignment.TopCenter)\n alignment = rive.Alignment.topCenter;\n else if (this.alignment === Alignment.TopRight)\n alignment = rive.Alignment.topRight;\n else if (this.alignment === Alignment.CenterLeft)\n alignment = rive.Alignment.centerLeft;\n else if (this.alignment === Alignment.CenterRight)\n alignment = rive.Alignment.centerRight;\n else if (this.alignment === Alignment.BottomLeft)\n alignment = rive.Alignment.bottomLeft;\n else if (this.alignment === Alignment.BottomCenter)\n alignment = rive.Alignment.bottomCenter;\n else if (this.alignment === Alignment.BottomRight)\n alignment = rive.Alignment.bottomRight;\n else\n alignment = rive.Alignment.center;\n this.cachedRuntimeAlignment = alignment;\n return alignment;\n };\n return Layout;\n}());\n\n// Runtime singleton; use getInstance to provide a callback that returns the\n// Rive runtime\nvar RuntimeLoader = /** @class */ (function () {\n // Class is never instantiated\n function RuntimeLoader() {\n }\n // Loads the runtime\n RuntimeLoader.loadRuntime = function () {\n _rive_advanced_mjs__WEBPACK_IMPORTED_MODULE_0__[\"default\"]({\n // Loads Wasm bundle\n locateFile: function () { return RuntimeLoader.wasmURL; },\n })\n .then(function (rive) {\n var _a;\n RuntimeLoader.runtime = rive;\n // Fire all the callbacks\n while (RuntimeLoader.callBackQueue.length > 0) {\n (_a = RuntimeLoader.callBackQueue.shift()) === null || _a === void 0 ? void 0 : _a(RuntimeLoader.runtime);\n }\n })\n .catch(function (error) {\n // Capture specific error details\n var errorDetails = {\n message: (error === null || error === void 0 ? void 0 : error.message) || \"Unknown error\",\n type: (error === null || error === void 0 ? void 0 : error.name) || \"Error\",\n // Some browsers may provide additional WebAssembly-specific details\n wasmError: error instanceof WebAssembly.CompileError ||\n error instanceof WebAssembly.RuntimeError,\n originalError: error,\n };\n // Log detailed error for debugging\n console.debug(\"Rive WASM load error details:\", errorDetails);\n // In case unpkg fails, or the wasm was not supported, we try to load the fallback module from jsdelivr.\n // This `rive_fallback.wasm` is compiled to support older architecture.\n // TODO: (Gordon): preemptively test browser support and load the correct wasm file. Then use jsdelvr only if unpkg fails.\n var backupJsdelivrUrl = \"https://cdn.jsdelivr.net/npm/\".concat(package_json__WEBPACK_IMPORTED_MODULE_1__.name, \"@\").concat(package_json__WEBPACK_IMPORTED_MODULE_1__.version, \"/rive_fallback.wasm\");\n if (RuntimeLoader.wasmURL.toLowerCase() !== backupJsdelivrUrl) {\n console.warn(\"Failed to load WASM from \".concat(RuntimeLoader.wasmURL, \" (\").concat(errorDetails.message, \"), trying jsdelivr as a backup\"));\n RuntimeLoader.setWasmUrl(backupJsdelivrUrl);\n RuntimeLoader.loadRuntime();\n }\n else {\n var errorMessage = [\n \"Could not load Rive WASM file from \".concat(RuntimeLoader.wasmURL, \" or \").concat(backupJsdelivrUrl, \".\"),\n \"Possible reasons:\",\n \"- Network connection is down\",\n \"- WebAssembly is not supported in this environment\",\n \"- The WASM file is corrupted or incompatible\",\n \"\\nError details:\",\n \"- Type: \".concat(errorDetails.type),\n \"- Message: \".concat(errorDetails.message),\n \"- WebAssembly-specific error: \".concat(errorDetails.wasmError),\n \"\\nTo resolve, you may need to:\",\n \"1. Check your network connection\",\n \"2. Set a new WASM source via RuntimeLoader.setWasmUrl()\",\n \"3. Call RuntimeLoader.loadRuntime() again\",\n ].join(\"\\n\");\n console.error(errorMessage);\n }\n });\n };\n // Provides a runtime instance via a callback\n RuntimeLoader.getInstance = function (callback) {\n // If it's not loading, start loading runtime\n if (!RuntimeLoader.isLoading) {\n RuntimeLoader.isLoading = true;\n RuntimeLoader.loadRuntime();\n }\n if (!RuntimeLoader.runtime) {\n RuntimeLoader.callBackQueue.push(callback);\n }\n else {\n callback(RuntimeLoader.runtime);\n }\n };\n // Provides a runtime instance via a promise\n RuntimeLoader.awaitInstance = function () {\n return new Promise(function (resolve) {\n return RuntimeLoader.getInstance(function (rive) { return resolve(rive); });\n });\n };\n // Manually sets the wasm url\n RuntimeLoader.setWasmUrl = function (url) {\n RuntimeLoader.wasmURL = url;\n };\n // Gets the current wasm url\n RuntimeLoader.getWasmUrl = function () {\n return RuntimeLoader.wasmURL;\n };\n // Flag to indicate that loading has started/completed\n RuntimeLoader.isLoading = false;\n // List of callbacks for the runtime that come in while loading\n RuntimeLoader.callBackQueue = [];\n // Path to the Wasm file; default path works for testing only;\n // if embedded wasm is used then this is never used.\n RuntimeLoader.wasmURL = \"https://unpkg.com/\".concat(package_json__WEBPACK_IMPORTED_MODULE_1__.name, \"@\").concat(package_json__WEBPACK_IMPORTED_MODULE_1__.version, \"/rive.wasm\");\n return RuntimeLoader;\n}());\n\n// #endregion\n// #region state machines\nvar StateMachineInputType;\n(function (StateMachineInputType) {\n StateMachineInputType[StateMachineInputType[\"Number\"] = 56] = \"Number\";\n StateMachineInputType[StateMachineInputType[\"Trigger\"] = 58] = \"Trigger\";\n StateMachineInputType[StateMachineInputType[\"Boolean\"] = 59] = \"Boolean\";\n})(StateMachineInputType || (StateMachineInputType = {}));\n/**\n * An input for a state machine\n */\nvar StateMachineInput = /** @class */ (function () {\n function StateMachineInput(type, runtimeInput) {\n this.type = type;\n this.runtimeInput = runtimeInput;\n }\n Object.defineProperty(StateMachineInput.prototype, \"name\", {\n /**\n * Returns the name of the input\n */\n get: function () {\n return this.runtimeInput.name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateMachineInput.prototype, \"value\", {\n /**\n * Returns the current value of the input\n */\n get: function () {\n return this.runtimeInput.value;\n },\n /**\n * Sets the value of the input\n */\n set: function (value) {\n this.runtimeInput.value = value;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Fires a trigger; does nothing on Number or Boolean input types\n */\n StateMachineInput.prototype.fire = function () {\n if (this.type === StateMachineInputType.Trigger) {\n this.runtimeInput.fire();\n }\n };\n /**\n * Deletes the input\n */\n StateMachineInput.prototype.delete = function () {\n this.runtimeInput = null;\n };\n return StateMachineInput;\n}());\n\nvar RiveEventType;\n(function (RiveEventType) {\n RiveEventType[RiveEventType[\"General\"] = 128] = \"General\";\n RiveEventType[RiveEventType[\"OpenUrl\"] = 131] = \"OpenUrl\";\n})(RiveEventType || (RiveEventType = {}));\nvar StateMachine = /** @class */ (function () {\n /**\n * @constructor\n * @param stateMachine runtime state machine object\n * @param instance runtime state machine instance object\n */\n function StateMachine(stateMachine, runtime, playing, artboard) {\n this.stateMachine = stateMachine;\n this.playing = playing;\n this.artboard = artboard;\n /**\n * Caches the inputs from the runtime\n */\n this.inputs = [];\n this.instance = new runtime.StateMachineInstance(stateMachine, artboard);\n this.initInputs(runtime);\n }\n Object.defineProperty(StateMachine.prototype, \"name\", {\n get: function () {\n return this.stateMachine.name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateMachine.prototype, \"statesChanged\", {\n /**\n * Returns a list of state names that have changed on this frame\n */\n get: function () {\n var names = [];\n for (var i = 0; i < this.instance.stateChangedCount(); i++) {\n names.push(this.instance.stateChangedNameByIndex(i));\n }\n return names;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Advances the state machine instance by a given time.\n * @param time - the time to advance the animation by in seconds\n */\n StateMachine.prototype.advance = function (time) {\n this.instance.advance(time);\n };\n /**\n * Advances the state machine instance by a given time and apply changes to artboard.\n * @param time - the time to advance the animation by in seconds\n */\n StateMachine.prototype.advanceAndApply = function (time) {\n this.instance.advanceAndApply(time);\n };\n /**\n * Returns the number of events reported from the last advance call\n * @returns Number of events reported\n */\n StateMachine.prototype.reportedEventCount = function () {\n return this.instance.reportedEventCount();\n };\n /**\n * Returns a RiveEvent object emitted from the last advance call at the given index\n * of a list of potentially multiple events. If an event at the index is not found,\n * undefined is returned.\n * @param i index of the event reported in a list of potentially multiple events\n * @returns RiveEvent or extended RiveEvent object returned, or undefined\n */\n StateMachine.prototype.reportedEventAt = function (i) {\n return this.instance.reportedEventAt(i);\n };\n /**\n * Fetches references to the state machine's inputs and caches them\n * @param runtime an instance of the runtime; needed for the SMIInput types\n */\n StateMachine.prototype.initInputs = function (runtime) {\n // Fetch the inputs from the runtime if we don't have them\n for (var i = 0; i < this.instance.inputCount(); i++) {\n var input = this.instance.input(i);\n this.inputs.push(this.mapRuntimeInput(input, runtime));\n }\n };\n /**\n * Maps a runtime input to it's appropriate type\n * @param input\n */\n StateMachine.prototype.mapRuntimeInput = function (input, runtime) {\n if (input.type === runtime.SMIInput.bool) {\n return new StateMachineInput(StateMachineInputType.Boolean, input.asBool());\n }\n else if (input.type === runtime.SMIInput.number) {\n return new StateMachineInput(StateMachineInputType.Number, input.asNumber());\n }\n else if (input.type === runtime.SMIInput.trigger) {\n return new StateMachineInput(StateMachineInputType.Trigger, input.asTrigger());\n }\n };\n /**\n * Deletes the backing Wasm state machine instance; once this is called, this\n * state machine is no more.\n */\n StateMachine.prototype.cleanup = function () {\n this.inputs.forEach(function (input) {\n input.delete();\n });\n this.inputs.length = 0;\n this.instance.delete();\n };\n StateMachine.prototype.bindViewModelInstance = function (viewModelInstance) {\n if (viewModelInstance.runtimeInstance != null) {\n this.instance.bindViewModelInstance(viewModelInstance.runtimeInstance);\n }\n };\n return StateMachine;\n}());\n// #endregion\n// #region animator\n/**\n * Manages animation\n */\nvar Animator = /** @class */ (function () {\n /**\n * Constructs a new animator\n * @constructor\n * @param runtime Rive runtime; needed to instance animations & state machines\n * @param artboard the artboard that holds all animations and state machines\n * @param animations optional list of animations\n * @param stateMachines optional list of state machines\n */\n function Animator(runtime, artboard, eventManager, animations, stateMachines) {\n if (animations === void 0) { animations = []; }\n if (stateMachines === void 0) { stateMachines = []; }\n this.runtime = runtime;\n this.artboard = artboard;\n this.eventManager = eventManager;\n this.animations = animations;\n this.stateMachines = stateMachines;\n }\n /**\n * Adds animations and state machines by their names. If names are shared\n * between animations & state machines, then the first one found will be\n * created. Best not to use the same names for these in your Rive file.\n * @param animatable the name(s) of animations and state machines to add\n * @returns a list of names of the playing animations and state machines\n */\n Animator.prototype.add = function (animatables, playing, fireEvent) {\n if (fireEvent === void 0) { fireEvent = true; }\n animatables = mapToStringArray(animatables);\n // If animatables is empty, play or pause everything\n if (animatables.length === 0) {\n this.animations.forEach(function (a) { return (a.playing = playing); });\n this.stateMachines.forEach(function (m) { return (m.playing = playing); });\n }\n else {\n // Play/pause already instanced items, or create new instances\n var instancedAnimationNames = this.animations.map(function (a) { return a.name; });\n var instancedMachineNames = this.stateMachines.map(function (m) { return m.name; });\n for (var i = 0; i < animatables.length; i++) {\n var aIndex = instancedAnimationNames.indexOf(animatables[i]);\n var mIndex = instancedMachineNames.indexOf(animatables[i]);\n if (aIndex >= 0 || mIndex >= 0) {\n if (aIndex >= 0) {\n // Animation is instanced, play/pause it\n this.animations[aIndex].playing = playing;\n }\n else {\n // State machine is instanced, play/pause it\n this.stateMachines[mIndex].playing = playing;\n }\n }\n else {\n // Try to create a new animation instance\n var anim = this.artboard.animationByName(animatables[i]);\n if (anim) {\n var newAnimation = new _animation__WEBPACK_IMPORTED_MODULE_2__.Animation(anim, this.artboard, this.runtime, playing);\n // Display the first frame of the specified animation\n newAnimation.advance(0);\n newAnimation.apply(1.0);\n this.animations.push(newAnimation);\n }\n else {\n // Try to create a new state machine instance\n var sm = this.artboard.stateMachineByName(animatables[i]);\n if (sm) {\n var newStateMachine = new StateMachine(sm, this.runtime, playing, this.artboard);\n this.stateMachines.push(newStateMachine);\n }\n }\n }\n }\n }\n // Fire play/paused events for animations\n if (fireEvent) {\n if (playing) {\n this.eventManager.fire({\n type: EventType.Play,\n data: this.playing,\n });\n }\n else {\n this.eventManager.fire({\n type: EventType.Pause,\n data: this.paused,\n });\n }\n }\n return playing ? this.playing : this.paused;\n };\n /**\n * Adds linear animations by their names.\n * @param animatables the name(s) of animations to add\n * @param playing whether animations should play on instantiation\n */\n Animator.prototype.initLinearAnimations = function (animatables, playing) {\n // Play/pause already instanced items, or create new instances\n // This validation is kept to maintain compatibility with current behavior.\n // But given that it this is called during artboard initialization\n // it should probably be safe to remove.\n var instancedAnimationNames = this.animations.map(function (a) { return a.name; });\n for (var i = 0; i < animatables.length; i++) {\n var aIndex = instancedAnimationNames.indexOf(animatables[i]);\n if (aIndex >= 0) {\n this.animations[aIndex].playing = playing;\n }\n else {\n // Try to create a new animation instance\n var anim = this.artboard.animationByName(animatables[i]);\n if (anim) {\n var newAnimation = new _animation__WEBPACK_IMPORTED_MODULE_2__.Animation(anim, this.artboard, this.runtime, playing);\n // Display the first frame of the specified animation\n newAnimation.advance(0);\n newAnimation.apply(1.0);\n this.animations.push(newAnimation);\n }\n }\n }\n };\n /**\n * Adds state machines by their names.\n * @param animatables the name(s) of state machines to add\n * @param playing whether state machines should play on instantiation\n */\n Animator.prototype.initStateMachines = function (animatables, playing) {\n // Play/pause already instanced items, or create new instances\n // This validation is kept to maintain compatibility with current behavior.\n // But given that it this is called during artboard initialization\n // it should probably be safe to remove.\n var instancedStateMachineNames = this.stateMachines.map(function (a) { return a.name; });\n for (var i = 0; i < animatables.length; i++) {\n var aIndex = instancedStateMachineNames.indexOf(animatables[i]);\n if (aIndex >= 0) {\n this.stateMachines[aIndex].playing = playing;\n }\n else {\n // Try to create a new state machine instance\n var sm = this.artboard.stateMachineByName(animatables[i]);\n if (sm) {\n var newStateMachine = new StateMachine(sm, this.runtime, playing, this.artboard);\n this.stateMachines.push(newStateMachine);\n if (!playing) {\n newStateMachine.advanceAndApply(0);\n }\n }\n else {\n // In order to maintain compatibility with current behavior, if a state machine is not found\n // we look for an animation with the same name\n this.initLinearAnimations([animatables[i]], playing);\n }\n }\n }\n };\n /**\n * Play the named animations/state machines\n * @param animatables the names of the animations/machines to play; plays all if empty\n * @returns a list of the playing items\n */\n Animator.prototype.play = function (animatables) {\n return this.add(animatables, true);\n };\n /**\n * Pauses named animations and state machines, or everything if nothing is\n * specified\n * @param animatables names of the animations and state machines to pause\n * @returns a list of names of the animations and state machines paused\n */\n Animator.prototype.pause = function (animatables) {\n return this.add(animatables, false);\n };\n /**\n * Set time of named animations\n * @param animations names of the animations to scrub\n * @param value time scrub value, a floating point number to which the playhead is jumped\n * @returns a list of names of the animations that were scrubbed\n */\n Animator.prototype.scrub = function (animatables, value) {\n var forScrubbing = this.animations.filter(function (a) {\n return animatables.includes(a.name);\n });\n forScrubbing.forEach(function (a) { return (a.scrubTo = value); });\n return forScrubbing.map(function (a) { return a.name; });\n };\n Object.defineProperty(Animator.prototype, \"playing\", {\n /**\n * Returns a list of names of all animations and state machines currently\n * playing\n */\n get: function () {\n return this.animations\n .filter(function (a) { return a.playing; })\n .map(function (a) { return a.name; })\n .concat(this.stateMachines.filter(function (m) { return m.playing; }).map(function (m) { return m.name; }));\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Animator.prototype, \"paused\", {\n /**\n * Returns a list of names of all animations and state machines currently\n * paused\n */\n get: function () {\n return this.animations\n .filter(function (a) { return !a.playing; })\n .map(function (a) { return a.name; })\n .concat(this.stateMachines.filter(function (m) { return !m.playing; }).map(function (m) { return m.name; }));\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Stops and removes all named animations and state machines\n * @param animatables animations and state machines to remove\n * @returns a list of names of removed items\n */\n Animator.prototype.stop = function (animatables) {\n var _this = this;\n animatables = mapToStringArray(animatables);\n // If nothing's specified, wipe them out, all of them\n var removedNames = [];\n // Stop everything\n if (animatables.length === 0) {\n removedNames = this.animations\n .map(function (a) { return a.name; })\n .concat(this.stateMachines.map(function (m) { return m.name; }));\n // Clean up before emptying the arrays\n this.animations.forEach(function (a) { return a.cleanup(); });\n this.stateMachines.forEach(function (m) { return m.cleanup(); });\n // Empty out the arrays\n this.animations.splice(0, this.animations.length);\n this.stateMachines.splice(0, this.stateMachines.length);\n }\n else {\n // Remove only the named animations/state machines\n var animationsToRemove = this.animations.filter(function (a) {\n return animatables.includes(a.name);\n });\n animationsToRemove.forEach(function (a) {\n a.cleanup();\n _this.animations.splice(_this.animations.indexOf(a), 1);\n });\n var machinesToRemove = this.stateMachines.filter(function (m) {\n return animatables.includes(m.name);\n });\n machinesToRemove.forEach(function (m) {\n m.cleanup();\n _this.stateMachines.splice(_this.stateMachines.indexOf(m), 1);\n });\n removedNames = animationsToRemove\n .map(function (a) { return a.name; })\n .concat(machinesToRemove.map(function (m) { return m.name; }));\n }\n this.eventManager.fire({\n type: EventType.Stop,\n data: removedNames,\n });\n // Return the list of animations removed\n return removedNames;\n };\n Object.defineProperty(Animator.prototype, \"isPlaying\", {\n /**\n * Returns true if at least one animation is active\n */\n get: function () {\n return (this.animations.reduce(function (acc, curr) { return acc || curr.playing; }, false) ||\n this.stateMachines.reduce(function (acc, curr) { return acc || curr.playing; }, false));\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Animator.prototype, \"isPaused\", {\n /**\n * Returns true if all animations are paused and there's at least one animation\n */\n get: function () {\n return (!this.isPlaying &&\n (this.animations.length > 0 || this.stateMachines.length > 0));\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Animator.prototype, \"isStopped\", {\n /**\n * Returns true if there are no playing or paused animations/state machines\n */\n get: function () {\n return this.animations.length === 0 && this.stateMachines.length === 0;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * If there are no animations or state machines, add the first one found\n * @returns the name of the animation or state machine instanced\n */\n Animator.prototype.atLeastOne = function (playing, fireEvent) {\n if (fireEvent === void 0) { fireEvent = true; }\n var instancedName;\n if (this.animations.length === 0 && this.stateMachines.length === 0) {\n if (this.artboard.animationCount() > 0) {\n // Add the first animation\n this.add([(instancedName = this.artboard.animationByIndex(0).name)], playing, fireEvent);\n }\n else if (this.artboard.stateMachineCount() > 0) {\n // Add the first state machine\n this.add([(instancedName = this.artboard.stateMachineByIndex(0).name)], playing, fireEvent);\n }\n }\n return instancedName;\n };\n /**\n * Checks if any animations have looped and if so, fire the appropriate event\n */\n Animator.prototype.handleLooping = function () {\n for (var _i = 0, _a = this.animations.filter(function (a) { return a.playing; }); _i < _a.length; _i++) {\n var animation = _a[_i];\n // Emit if the animation looped\n if (animation.loopValue === 0 && animation.loopCount) {\n animation.loopCount = 0;\n // This is a one-shot; if it has ended, delete the instance\n this.stop(animation.name);\n }\n else if (animation.loopValue === 1 && animation.loopCount) {\n this.eventManager.fire({\n type: EventType.Loop,\n data: { animation: animation.name, type: LoopType.Loop },\n });\n animation.loopCount = 0;\n }\n // Wasm indicates a loop at each time the animation\n // changes direction, so a full loop/lap occurs every\n // two loop counts\n else if (animation.loopValue === 2 && animation.loopCount > 1) {\n this.eventManager.fire({\n type: EventType.Loop,\n data: { animation: animation.name, type: LoopType.PingPong },\n });\n animation.loopCount = 0;\n }\n }\n };\n /**\n * Checks if states have changed in state machines and fires a statechange\n * event\n */\n Animator.prototype.handleStateChanges = function () {\n var statesChanged = [];\n for (var _i = 0, _a = this.stateMachines.filter(function (sm) { return sm.playing; }); _i < _a.length; _i++) {\n var stateMachine = _a[_i];\n statesChanged.push.apply(statesChanged, stateMachine.statesChanged);\n }\n if (statesChanged.length > 0) {\n this.eventManager.fire({\n type: EventType.StateChange,\n data: statesChanged,\n });\n }\n };\n Animator.prototype.handleAdvancing = function (time) {\n this.eventManager.fire({\n type: EventType.Advance,\n data: time,\n });\n };\n return Animator;\n}());\n// #endregion\n// #region events\n/**\n * Supported event types triggered in Rive\n */\nvar EventType;\n(function (EventType) {\n EventType[\"Load\"] = \"load\";\n EventType[\"LoadError\"] = \"loaderror\";\n EventType[\"Play\"] = \"play\";\n EventType[\"Pause\"] = \"pause\";\n EventType[\"Stop\"] = \"stop\";\n EventType[\"Loop\"] = \"loop\";\n EventType[\"Draw\"] = \"draw\";\n EventType[\"Advance\"] = \"advance\";\n EventType[\"StateChange\"] = \"statechange\";\n EventType[\"RiveEvent\"] = \"riveevent\";\n EventType[\"AudioStatusChange\"] = \"audiostatuschange\";\n})(EventType || (EventType = {}));\n/**\n * Looping types: one-shot, loop, and ping-pong\n */\nvar LoopType;\n(function (LoopType) {\n LoopType[\"OneShot\"] = \"oneshot\";\n LoopType[\"Loop\"] = \"loop\";\n LoopType[\"PingPong\"] = \"pingpong\";\n})(LoopType || (LoopType = {}));\n// Manages Rive events and listeners\nvar EventManager = /** @class */ (function () {\n function EventManager(listeners) {\n if (listeners === void 0) { listeners = []; }\n this.listeners = listeners;\n }\n // Gets listeners of specified type\n EventManager.prototype.getListeners = function (type) {\n return this.listeners.filter(function (e) { return e.type === type; });\n };\n // Adds a listener\n EventManager.prototype.add = function (listener) {\n if (!this.listeners.includes(listener)) {\n this.listeners.push(listener);\n }\n };\n /**\n * Removes a listener\n * @param listener the listener with the callback to be removed\n */\n EventManager.prototype.remove = function (listener) {\n // We can't simply look for the listener as it'll be a different instance to\n // one originally subscribed. Find all the listeners of the right type and\n // then check their callbacks which should match.\n for (var i = 0; i < this.listeners.length; i++) {\n var currentListener = this.listeners[i];\n if (currentListener.type === listener.type) {\n if (currentListener.callback === listener.callback) {\n this.listeners.splice(i, 1);\n break;\n }\n }\n }\n };\n /**\n * Clears all listeners of specified type, or every listener if no type is\n * specified\n * @param type the type of listeners to clear, or all listeners if not\n * specified\n */\n EventManager.prototype.removeAll = function (type) {\n var _this = this;\n if (!type) {\n this.listeners.splice(0, this.listeners.length);\n }\n else {\n this.listeners\n .filter(function (l) { return l.type === type; })\n .forEach(function (l) { return _this.remove(l); });\n }\n };\n // Fires an event\n EventManager.prototype.fire = function (event) {\n var eventListeners = this.getListeners(event.type);\n eventListeners.forEach(function (listener) { return listener.callback(event); });\n };\n return EventManager;\n}());\n// Manages a queue of tasks\nvar TaskQueueManager = /** @class */ (function () {\n function TaskQueueManager(eventManager) {\n this.eventManager = eventManager;\n this.queue = [];\n }\n // Adds a task top the queue\n TaskQueueManager.prototype.add = function (task) {\n this.queue.push(task);\n };\n // Processes all tasks in the queue\n TaskQueueManager.prototype.process = function () {\n while (this.queue.length > 0) {\n var task = this.queue.shift();\n if (task === null || task === void 0 ? void 0 : task.action) {\n task.action();\n }\n if (task === null || task === void 0 ? void 0 : task.event) {\n this.eventManager.fire(task.event);\n }\n }\n };\n return TaskQueueManager;\n}());\n// #endregion\n// #region Audio\nvar SystemAudioStatus;\n(function (SystemAudioStatus) {\n SystemAudioStatus[SystemAudioStatus[\"AVAILABLE\"] = 0] = \"AVAILABLE\";\n SystemAudioStatus[SystemAudioStatus[\"UNAVAILABLE\"] = 1] = \"UNAVAILABLE\";\n})(SystemAudioStatus || (SystemAudioStatus = {}));\n// Class to handle audio context availability and status changes\nvar AudioManager = /** @class */ (function (_super) {\n __extends(AudioManager, _super);\n function AudioManager() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._started = false;\n _this._enabled = false;\n _this._status = SystemAudioStatus.UNAVAILABLE;\n return _this;\n }\n AudioManager.prototype.delay = function (time) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (resolve) { return setTimeout(resolve, time); })];\n });\n });\n };\n AudioManager.prototype.timeout = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (_, reject) { return setTimeout(reject, 50); })];\n });\n });\n };\n // Alerts animations on status changes and removes the listeners to avoid alerting twice.\n AudioManager.prototype.reportToListeners = function () {\n this.fire({ type: EventType.AudioStatusChange });\n this.removeAll();\n };\n /**\n * The audio context has been resolved.\n * Alert any listeners that we can now play audio.\n * Rive will now play audio at the configured volume.\n */\n AudioManager.prototype.enableAudio = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (!this._enabled) {\n this._enabled = true;\n this._status = SystemAudioStatus.AVAILABLE;\n this.reportToListeners();\n }\n return [2 /*return*/];\n });\n });\n };\n /**\n * Check if we are able to play audio.\n *\n * We currently check the audio context, when resume() returns before a timeout we know that the\n * audio context is running and we can enable audio.\n */\n AudioManager.prototype.testAudio = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!(this._status === SystemAudioStatus.UNAVAILABLE &&\n this._audioContext !== null)) return [3 /*break*/, 4];\n _b.label = 1;\n case 1:\n _b.trys.push([1, 3, , 4]);\n return [4 /*yield*/, Promise.race([this._audioContext.resume(), this.timeout()])];\n case 2:\n _b.sent();\n this.enableAudio();\n return [3 /*break*/, 4];\n case 3:\n _a = _b.sent();\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Establish audio for use with rive.\n * We both test if we can use audio intermittently and listen for user interaction.\n * The aim is to enable audio playback as soon as the browser allows this.\n */\n AudioManager.prototype._establishAudio = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this._started) return [3 /*break*/, 5];\n this._started = true;\n if (!(typeof window == \"undefined\")) return [3 /*break*/, 1];\n this.enableAudio();\n return [3 /*break*/, 5];\n case 1:\n this._audioContext = new AudioContext();\n this.listenForUserAction();\n _a.label = 2;\n case 2:\n if (!(this._status === SystemAudioStatus.UNAVAILABLE)) return [3 /*break*/, 5];\n return [4 /*yield*/, this.testAudio()];\n case 3:\n _a.sent();\n return [4 /*yield*/, this.delay(1000)];\n case 4:\n _a.sent();\n return [3 /*break*/, 2];\n case 5: return [2 /*return*/];\n }\n });\n });\n };\n AudioManager.prototype.listenForUserAction = function () {\n var _this = this;\n // NOTE: AudioContexts are ready immediately if requested in a ui callback\n // we *could* re request one in this listener.\n var _clickListener = function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n // note this has \"better\" results than calling `await this.testAudio()`\n // as we force audio to be enabled in the current thread, rather than chancing\n // the thread to be passed over for some other async context\n this.enableAudio();\n return [2 /*return*/];\n });\n }); };\n // NOTE: we should test this on mobile/pads\n document.addEventListener(\"pointerdown\", _clickListener, {\n once: true,\n });\n };\n /**\n * Establish the audio context for rive, this lets rive know that we can play audio.\n */\n AudioManager.prototype.establishAudio = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n this._establishAudio();\n return [2 /*return*/];\n });\n });\n };\n Object.defineProperty(AudioManager.prototype, \"systemVolume\", {\n get: function () {\n if (this._status === SystemAudioStatus.UNAVAILABLE) {\n // We do an immediate test to avoid depending on the delay of the running test\n this.testAudio();\n return 0;\n }\n return 1;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(AudioManager.prototype, \"status\", {\n get: function () {\n return this._status;\n },\n enumerable: false,\n configurable: true\n });\n return AudioManager;\n}(EventManager));\nvar audioManager = new AudioManager();\nvar FakeResizeObserver = /** @class */ (function () {\n function FakeResizeObserver() {\n }\n FakeResizeObserver.prototype.observe = function () { };\n FakeResizeObserver.prototype.unobserve = function () { };\n FakeResizeObserver.prototype.disconnect = function () { };\n return FakeResizeObserver;\n}());\nvar MyResizeObserver = globalThis.ResizeObserver || FakeResizeObserver;\n/**\n * This class takes care of any observers that will be attached to an animation.\n * It should be treated as a singleton because observers are much more performant\n * when used for observing multiple elements by a single instance.\n */\nvar ObjectObservers = /** @class */ (function () {\n function ObjectObservers() {\n var _this = this;\n this._elementsMap = new Map();\n /**\n * Resize observers trigger both when the element changes its size and also when the\n * element is added or removed from the document.\n */\n this._onObservedEntry = function (entry) {\n var observed = _this._elementsMap.get(entry.target);\n if (observed !== null) {\n observed.onResize(entry.target.clientWidth == 0 || entry.target.clientHeight == 0);\n }\n else {\n _this._resizeObserver.unobserve(entry.target);\n }\n };\n this._onObserved = function (entries) {\n entries.forEach(_this._onObservedEntry);\n };\n this._resizeObserver = new MyResizeObserver(this._onObserved);\n }\n // Adds an observable element\n ObjectObservers.prototype.add = function (element, onResize) {\n var observed = {\n onResize: onResize,\n element: element,\n };\n this._elementsMap.set(element, observed);\n this._resizeObserver.observe(element);\n return observed;\n };\n // Removes an observable element\n ObjectObservers.prototype.remove = function (observed) {\n this._resizeObserver.unobserve(observed.element);\n this._elementsMap.delete(observed.element);\n };\n return ObjectObservers;\n}());\nvar observers = new ObjectObservers();\nvar RiveFile = /** @class */ (function () {\n function RiveFile(params) {\n // Allow the runtime to automatically load assets hosted in Rive's runtime.\n this.enableRiveAssetCDN = true;\n this.referenceCount = 0;\n this.destroyed = false;\n this.src = params.src;\n this.buffer = params.buffer;\n if (params.assetLoader)\n this.assetLoader = params.assetLoader;\n this.enableRiveAssetCDN =\n typeof params.enableRiveAssetCDN == \"boolean\"\n ? params.enableRiveAssetCDN\n : true;\n // New event management system\n this.eventManager = new EventManager();\n if (params.onLoad)\n this.on(EventType.Load, params.onLoad);\n if (params.onLoadError)\n this.on(EventType.LoadError, params.onLoadError);\n }\n RiveFile.prototype.initData = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a, loader, _b;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n if (!this.src) return [3 /*break*/, 2];\n _a = this;\n return [4 /*yield*/, loadRiveFile(this.src)];\n case 1:\n _a.buffer = _d.sent();\n _d.label = 2;\n case 2:\n if (this.destroyed) {\n return [2 /*return*/];\n }\n if (this.assetLoader) {\n loader = new this.runtime.CustomFileAssetLoader({\n loadContents: this.assetLoader,\n });\n }\n // Load the Rive file\n _b = this;\n return [4 /*yield*/, this.runtime.load(new Uint8Array(this.buffer), loader, this.enableRiveAssetCDN)];\n case 3:\n // Load the Rive file\n _b.file = _d.sent();\n if (this.destroyed) {\n (_c = this.file) === null || _c === void 0 ? void 0 : _c.delete();\n this.file = null;\n return [2 /*return*/];\n }\n if (this.file !== null) {\n this.eventManager.fire({\n type: EventType.Load,\n data: this,\n });\n }\n else {\n this.eventManager.fire({\n type: EventType.LoadError,\n data: null,\n });\n throw new Error(RiveFile.fileLoadErrorMessage);\n }\n return [2 /*return*/];\n }\n });\n });\n };\n RiveFile.prototype.init = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n // If no source file url specified, it's a bust\n if (!this.src && !this.buffer) {\n throw new Error(RiveFile.missingErrorMessage);\n }\n _a = this;\n return [4 /*yield*/, RuntimeLoader.awaitInstance()];\n case 1:\n _a.runtime = _b.sent();\n if (this.destroyed) {\n return [2 /*return*/];\n }\n return [4 /*yield*/, this.initData()];\n case 2:\n _b.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Subscribe to Rive-generated events\n * @param type the type of event to subscribe to\n * @param callback callback to fire when the event occurs\n */\n RiveFile.prototype.on = function (type, callback) {\n this.eventManager.add({\n type: type,\n callback: callback,\n });\n };\n /**\n * Unsubscribes from a Rive-generated event\n * @param type the type of event to unsubscribe from\n * @param callback the callback to unsubscribe\n */\n RiveFile.prototype.off = function (type, callback) {\n this.eventManager.remove({\n type: type,\n callback: callback,\n });\n };\n RiveFile.prototype.cleanup = function () {\n var _a;\n this.referenceCount -= 1;\n if (this.referenceCount <= 0) {\n this.removeAllRiveEventListeners();\n (_a = this.file) === null || _a === void 0 ? void 0 : _a.delete();\n this.file = null;\n this.destroyed = true;\n }\n };\n /**\n * Unsubscribes all Rive listeners from an event type, or everything if no type is\n * given\n * @param type the type of event to unsubscribe from, or all types if\n * undefined\n */\n RiveFile.prototype.removeAllRiveEventListeners = function (type) {\n this.eventManager.removeAll(type);\n };\n RiveFile.prototype.getInstance = function () {\n if (this.file !== null) {\n this.referenceCount += 1;\n return this.file;\n }\n };\n // Error message for missing source or buffer\n RiveFile.missingErrorMessage = \"Rive source file or data buffer required\";\n // Error message for file load error\n RiveFile.fileLoadErrorMessage = \"The file failed to load\";\n return RiveFile;\n}());\n\nvar Rive = /** @class */ (function () {\n function Rive(params) {\n var _this = this;\n var _a;\n // Tracks if a Rive file is loaded\n this.loaded = false;\n // Tracks if a Rive file is destroyed\n this.destroyed = false;\n // Reference of an object that handles any observers for the animation\n this._observed = null;\n /**\n * Tracks if a Rive file is loaded; we need this in addition to loaded as some\n * commands (e.g. contents) can be called as soon as the file is loaded.\n * However, playback commands need to be queued and run in order once initial\n * animations and autoplay has been sorted out. This applies to play, pause,\n * and start.\n */\n this.readyForPlaying = false;\n // Runtime artboard\n this.artboard = null;\n // place to clear up event listeners\n this.eventCleanup = null;\n this.shouldDisableRiveListeners = false;\n this.automaticallyHandleEvents = false;\n // Allow the runtime to automatically load assets hosted in Rive's runtime.\n this.enableRiveAssetCDN = true;\n // Keep a local value of the set volume to update it asynchronously\n this._volume = 1;\n // Keep a local value of the set width to update it asynchronously\n this._artboardWidth = undefined;\n // Keep a local value of the set height to update it asynchronously\n this._artboardHeight = undefined;\n // Keep a local value of the device pixel ratio used in rendering and canvas/artboard resizing\n this._devicePixelRatioUsed = 1;\n // Whether the canvas element's size is 0\n this._hasZeroSize = false;\n // Audio event listener\n this._audioEventListener = null;\n // draw method bound to the class\n this._boundDraw = null;\n this._viewModelInstance = null;\n this._dataEnums = null;\n // Durations to generate a frame for the last second. Used for performance profiling.\n this.durations = [];\n this.frameTimes = [];\n this.frameCount = 0;\n this.isTouchScrollEnabled = false;\n this.onCanvasResize = function (hasZeroSize) {\n var toggledDisplay = _this._hasZeroSize !== hasZeroSize;\n _this._hasZeroSize = hasZeroSize;\n if (!hasZeroSize) {\n if (toggledDisplay) {\n _this.resizeDrawingSurfaceToCanvas();\n }\n }\n else if (!_this._layout.maxX || !_this._layout.maxY) {\n _this.resizeToCanvas();\n }\n };\n /**\n * Used be draw to track when a second of active rendering time has passed.\n * Used for debugging purposes\n */\n this.renderSecondTimer = 0;\n this._boundDraw = this.draw.bind(this);\n this.canvas = params.canvas;\n if (params.canvas.constructor === HTMLCanvasElement) {\n this._observed = observers.add(this.canvas, this.onCanvasResize);\n }\n this.src = params.src;\n this.buffer = params.buffer;\n this.riveFile = params.riveFile;\n this.layout = (_a = params.layout) !== null && _a !== void 0 ? _a : new Layout();\n this.shouldDisableRiveListeners = !!params.shouldDisableRiveListeners;\n this.isTouchScrollEnabled = !!params.isTouchScrollEnabled;\n this.automaticallyHandleEvents = !!params.automaticallyHandleEvents;\n this.enableRiveAssetCDN =\n params.enableRiveAssetCDN === undefined\n ? true\n : params.enableRiveAssetCDN;\n // New event management system\n this.eventManager = new EventManager();\n if (params.onLoad)\n this.on(EventType.Load, params.onLoad);\n if (params.onLoadError)\n this.on(EventType.LoadError, params.onLoadError);\n if (params.onPlay)\n this.on(EventType.Play, params.onPlay);\n if (params.onPause)\n this.on(EventType.Pause, params.onPause);\n if (params.onStop)\n this.on(EventType.Stop, params.onStop);\n if (params.onLoop)\n this.on(EventType.Loop, params.onLoop);\n if (params.onStateChange)\n this.on(EventType.StateChange, params.onStateChange);\n if (params.onAdvance)\n this.on(EventType.Advance, params.onAdvance);\n /**\n * @deprecated Use camelCase'd versions instead.\n */\n if (params.onload && !params.onLoad)\n this.on(EventType.Load, params.onload);\n if (params.onloaderror && !params.onLoadError)\n this.on(EventType.LoadError, params.onloaderror);\n if (params.onplay && !params.onPlay)\n this.on(EventType.Play, params.onplay);\n if (params.onpause && !params.onPause)\n this.on(EventType.Pause, params.onpause);\n if (params.onstop && !params.onStop)\n this.on(EventType.Stop, params.onstop);\n if (params.onloop && !params.onLoop)\n this.on(EventType.Loop, params.onloop);\n if (params.onstatechange && !params.onStateChange)\n this.on(EventType.StateChange, params.onstatechange);\n /**\n * Asset loading\n */\n if (params.assetLoader)\n this.assetLoader = params.assetLoader;\n // Hook up the task queue\n this.taskQueue = new TaskQueueManager(this.eventManager);\n this.init({\n src: this.src,\n buffer: this.buffer,\n riveFile: this.riveFile,\n autoplay: params.autoplay,\n autoBind: params.autoBind,\n animations: params.animations,\n stateMachines: params.stateMachines,\n artboard: params.artboard,\n useOffscreenRenderer: params.useOffscreenRenderer,\n });\n }\n // Alternative constructor to build a Rive instance from an interface/object\n Rive.new = function (params) {\n console.warn(\"This function is deprecated: please use `new Rive({})` instead\");\n return new Rive(params);\n };\n // Event handler for when audio context becomes available\n Rive.prototype.onSystemAudioChanged = function () {\n this.volume = this._volume;\n };\n // Initializes the Rive object either from constructor or load()\n Rive.prototype.init = function (_a) {\n var _this = this;\n var src = _a.src, buffer = _a.buffer, riveFile = _a.riveFile, animations = _a.animations, stateMachines = _a.stateMachines, artboard = _a.artboard, _b = _a.autoplay, autoplay = _b === void 0 ? false : _b, _c = _a.useOffscreenRenderer, useOffscreenRenderer = _c === void 0 ? false : _c, _d = _a.autoBind, autoBind = _d === void 0 ? false : _d;\n if (this.destroyed) {\n return;\n }\n this.src = src;\n this.buffer = buffer;\n this.riveFile = riveFile;\n // If no source file url specified, it's a bust\n if (!this.src && !this.buffer && !this.riveFile) {\n throw new RiveError(Rive.missingErrorMessage);\n }\n // List of animations that should be initialized.\n var startingAnimationNames = mapToStringArray(animations);\n // List of state machines that should be initialized\n var startingStateMachineNames = mapToStringArray(stateMachines);\n // Ensure loaded is marked as false if loading new file\n this.loaded = false;\n this.readyForPlaying = false;\n // Ensure the runtime is loaded\n RuntimeLoader.awaitInstance()\n .then(function (runtime) {\n if (_this.destroyed) {\n return;\n }\n _this.runtime = runtime;\n _this.removeRiveListeners();\n _this.deleteRiveRenderer();\n // Get the canvas where you want to render the animation and create a renderer\n _this.renderer = _this.runtime.makeRenderer(_this.canvas, useOffscreenRenderer);\n // Initial size adjustment based on devicePixelRatio if no width/height are\n // specified explicitly\n if (!(_this.canvas.width || _this.canvas.height)) {\n _this.resizeDrawingSurfaceToCanvas();\n }\n // Load Rive data from a source uri or a data buffer\n _this.initData(artboard, startingAnimationNames, startingStateMachineNames, autoplay, autoBind)\n .then(function () { return _this.setupRiveListeners(); })\n .catch(function (e) {\n console.error(e);\n });\n })\n .catch(function (e) {\n console.error(e);\n });\n };\n /**\n * Setup Rive Listeners on the canvas\n * @param riveListenerOptions - Enables TouchEvent events on the canvas. Set to true to allow\n * touch scrolling on the canvas element on touch-enabled devices\n * i.e. { isTouchScrollEnabled: true }\n */\n Rive.prototype.setupRiveListeners = function (riveListenerOptions) {\n var _this = this;\n if (this.eventCleanup) {\n this.eventCleanup();\n }\n if (!this.shouldDisableRiveListeners) {\n var activeStateMachines = (this.animator.stateMachines || [])\n .filter(function (sm) { return sm.playing && _this.runtime.hasListeners(sm.instance); })\n .map(function (sm) { return sm.instance; });\n var touchScrollEnabledOption = this.isTouchScrollEnabled;\n if (riveListenerOptions &&\n \"isTouchScrollEnabled\" in riveListenerOptions) {\n touchScrollEnabledOption = riveListenerOptions.isTouchScrollEnabled;\n }\n this.eventCleanup = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.registerTouchInteractions)({\n canvas: this.canvas,\n artboard: this.artboard,\n stateMachines: activeStateMachines,\n renderer: this.renderer,\n rive: this.runtime,\n fit: this._layout.runtimeFit(this.runtime),\n alignment: this._layout.runtimeAlignment(this.runtime),\n isTouchScrollEnabled: touchScrollEnabledOption,\n layoutScaleFactor: this._layout.layoutScaleFactor,\n });\n }\n };\n /**\n * Remove Rive Listeners setup on the canvas\n */\n Rive.prototype.removeRiveListeners = function () {\n if (this.eventCleanup) {\n this.eventCleanup();\n this.eventCleanup = null;\n }\n };\n /**\n * If the instance has audio and the system audio is not ready\n * we hook the instance to the audio manager\n */\n Rive.prototype.initializeAudio = function () {\n var _this = this;\n var _a;\n // Initialize audio if needed\n if (audioManager.status == SystemAudioStatus.UNAVAILABLE) {\n if (((_a = this.artboard) === null || _a === void 0 ? void 0 : _a.hasAudio) && this._audioEventListener === null) {\n this._audioEventListener = {\n type: EventType.AudioStatusChange,\n callback: function () { return _this.onSystemAudioChanged(); },\n };\n audioManager.add(this._audioEventListener);\n audioManager.establishAudio();\n }\n }\n };\n Rive.prototype.initArtboardSize = function () {\n if (!this.artboard)\n return;\n // Use preset values if they are not undefined\n this._artboardWidth = this.artboard.width =\n this._artboardWidth || this.artboard.width;\n this._artboardHeight = this.artboard.height =\n this._artboardHeight || this.artboard.height;\n };\n // Initializes runtime with Rive data and preps for playing\n Rive.prototype.initData = function (artboardName, animationNames, stateMachineNames, autoplay, autoBind) {\n return __awaiter(this, void 0, void 0, function () {\n var error_1, msg;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 3, , 4]);\n if (!(this.riveFile == null)) return [3 /*break*/, 2];\n this.riveFile = new RiveFile({\n src: this.src,\n buffer: this.buffer,\n enableRiveAssetCDN: this.enableRiveAssetCDN,\n assetLoader: this.assetLoader,\n });\n return [4 /*yield*/, this.riveFile.init()];\n case 1:\n _b.sent();\n _b.label = 2;\n case 2:\n // Check for riveFile in case it has been cleaned up while initializing;\n if (!this.riveFile) {\n throw new RiveError(Rive.cleanupErrorMessage);\n }\n this.file = this.riveFile.getInstance();\n // Initialize and draw frame\n this.initArtboard(artboardName, animationNames, stateMachineNames, autoplay, autoBind);\n // Initialize the artboard size\n this.initArtboardSize();\n // Check for audio\n this.initializeAudio();\n // Everything's set up, emit a load event\n this.loaded = true;\n this.eventManager.fire({\n type: EventType.Load,\n data: (_a = this.src) !== null && _a !== void 0 ? _a : \"buffer\",\n });\n // Flag ready for playback commands and clear the task queue; this order\n // is important or it may infinitely recurse\n this.readyForPlaying = true;\n this.taskQueue.process();\n this.drawFrame();\n return [2 /*return*/, Promise.resolve()];\n case 3:\n error_1 = _b.sent();\n msg = resolveErrorMessage(error_1);\n console.warn(msg);\n this.eventManager.fire({ type: EventType.LoadError, data: msg });\n return [2 /*return*/, Promise.reject(msg)];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n // Initialize for playback\n Rive.prototype.initArtboard = function (artboardName, animationNames, stateMachineNames, autoplay, autoBind) {\n if (!this.file) {\n return;\n }\n // Fetch the artboard\n var rootArtboard = artboardName\n ? this.file.artboardByName(artboardName)\n : this.file.defaultArtboard();\n // Check we have a working artboard\n if (!rootArtboard) {\n var msg = \"Invalid artboard name or no default artboard\";\n console.warn(msg);\n this.eventManager.fire({ type: EventType.LoadError, data: msg });\n return;\n }\n this.artboard = rootArtboard;\n rootArtboard.volume = this._volume * audioManager.systemVolume;\n // Check that the artboard has at least 1 animation\n if (this.artboard.animationCount() < 1) {\n var msg = \"Artboard has no animations\";\n this.eventManager.fire({ type: EventType.LoadError, data: msg });\n throw msg;\n }\n // Initialize the animator\n this.animator = new Animator(this.runtime, this.artboard, this.eventManager);\n // Initialize the animations; as loaded hasn't happened yet, we need to\n // suppress firing the play/pause events until the load event has fired. To\n // do this we tell the animator to suppress firing events, and add event\n // firing to the task queue.\n var instanceNames;\n if (animationNames.length > 0 || stateMachineNames.length > 0) {\n instanceNames = animationNames.concat(stateMachineNames);\n this.animator.initLinearAnimations(animationNames, autoplay);\n this.animator.initStateMachines(stateMachineNames, autoplay);\n }\n else {\n instanceNames = [this.animator.atLeastOne(autoplay, false)];\n }\n // Queue up firing the playback events\n this.taskQueue.add({\n event: {\n type: autoplay ? EventType.Play : EventType.Pause,\n data: instanceNames,\n },\n });\n if (autoBind) {\n var viewModel = this.file.defaultArtboardViewModel(rootArtboard);\n if (viewModel !== null) {\n var runtimeInstance = viewModel.defaultInstance();\n if (runtimeInstance !== null) {\n var viewModelInstance = new ViewModelInstance(runtimeInstance, null);\n this.bindViewModelInstance(viewModelInstance);\n }\n }\n }\n };\n // Draws the current artboard frame\n Rive.prototype.drawFrame = function () {\n var _a, _b;\n if ((_a = document === null || document === void 0 ? void 0 : document.timeline) === null || _a === void 0 ? void 0 : _a.currentTime) {\n if (this.loaded && this.artboard && !this.frameRequestId) {\n this._boundDraw(document.timeline.currentTime);\n (_b = this.runtime) === null || _b === void 0 ? void 0 : _b.resolveAnimationFrame();\n }\n }\n else {\n this.startRendering();\n }\n };\n /**\n * Draw rendering loop; renders animation frames at the correct time interval.\n * @param time the time at which to render a frame\n */\n Rive.prototype.draw = function (time, onSecond) {\n var _a;\n // Clear the frameRequestId, as we're now rendering a fresh frame\n this.frameRequestId = null;\n var before = performance.now();\n // On the first pass, make sure lastTime has a valid value\n if (!this.lastRenderTime) {\n this.lastRenderTime = time;\n }\n // Handle the onSecond callback\n this.renderSecondTimer += time - this.lastRenderTime;\n if (this.renderSecondTimer > 5000) {\n this.renderSecondTimer = 0;\n onSecond === null || onSecond === void 0 ? void 0 : onSecond();\n }\n // Calculate the elapsed time between frames in seconds\n var elapsedTime = (time - this.lastRenderTime) / 1000;\n this.lastRenderTime = time;\n // - Advance non-paused animations by the elapsed number of seconds\n // - Advance any animations that require scrubbing\n // - Advance to the first frame even when autoplay is false\n var activeAnimations = this.animator.animations\n .filter(function (a) { return a.playing || a.needsScrub; })\n // The scrubbed animations must be applied first to prevent weird artifacts\n // if the playing animations conflict with the scrubbed animating attribuates.\n .sort(function (first) { return (first.needsScrub ? -1 : 1); });\n for (var _i = 0, activeAnimations_1 = activeAnimations; _i < activeAnimations_1.length; _i++) {\n var animation = activeAnimations_1[_i];\n animation.advance(elapsedTime);\n if (animation.instance.didLoop) {\n animation.loopCount += 1;\n }\n animation.apply(1.0);\n }\n // - Advance non-paused state machines by the elapsed number of seconds\n // - Advance to the first frame even when autoplay is false\n var activeStateMachines = this.animator.stateMachines.filter(function (a) { return a.playing; });\n for (var _b = 0, activeStateMachines_1 = activeStateMachines; _b < activeStateMachines_1.length; _b++) {\n var stateMachine = activeStateMachines_1[_b];\n // Check for events before the current frame's state machine advance\n var numEventsReported = stateMachine.reportedEventCount();\n if (numEventsReported) {\n for (var i = 0; i < numEventsReported; i++) {\n var event_1 = stateMachine.reportedEventAt(i);\n if (event_1) {\n if (event_1.type === RiveEventType.OpenUrl) {\n this.eventManager.fire({\n type: EventType.RiveEvent,\n data: event_1,\n });\n // Handle the event side effect if explicitly enabled\n if (this.automaticallyHandleEvents) {\n var newAnchorTag = document.createElement(\"a\");\n var _c = event_1, url = _c.url, target = _c.target;\n var sanitizedUrl = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.sanitizeUrl)(url);\n url && newAnchorTag.setAttribute(\"href\", sanitizedUrl);\n target && newAnchorTag.setAttribute(\"target\", target);\n if (sanitizedUrl && sanitizedUrl !== _utils__WEBPACK_IMPORTED_MODULE_3__.BLANK_URL) {\n newAnchorTag.click();\n }\n }\n }\n else {\n this.eventManager.fire({\n type: EventType.RiveEvent,\n data: event_1,\n });\n }\n }\n }\n }\n stateMachine.advanceAndApply(elapsedTime);\n // stateMachine.instance.apply(this.artboard);\n }\n // Once the animations have been applied to the artboard, advance it\n // by the elapsed time.\n if (this.animator.stateMachines.length == 0) {\n this.artboard.advance(elapsedTime);\n }\n var renderer = this.renderer;\n // Canvas must be wiped to prevent artifacts\n renderer.clear();\n renderer.save();\n // Update the renderer alignment if necessary\n this.alignRenderer();\n // Do not draw on 0 canvas size\n if (!this._hasZeroSize) {\n this.artboard.draw(renderer);\n }\n renderer.restore();\n renderer.flush();\n // Check for any animations that looped\n this.animator.handleLooping();\n // Check for any state machines that had a state change\n this.animator.handleStateChanges();\n // Report advanced time\n this.animator.handleAdvancing(elapsedTime);\n // Add duration to create frame to durations array\n this.frameCount++;\n var after = performance.now();\n this.frameTimes.push(after);\n this.durations.push(after - before);\n while (this.frameTimes[0] <= after - 1000) {\n this.frameTimes.shift();\n this.durations.shift();\n }\n (_a = this._viewModelInstance) === null || _a === void 0 ? void 0 : _a.handleCallbacks();\n // Calling requestAnimationFrame will rerun draw() at the correct rate:\n // https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Basic_animations\n if (this.animator.isPlaying) {\n // Request a new rendering frame\n this.startRendering();\n }\n else if (this.animator.isPaused) {\n // Reset the end time so on playback it starts at the correct frame\n this.lastRenderTime = 0;\n }\n else if (this.animator.isStopped) {\n // Reset animation instances, artboard and time\n // TODO: implement this properly when we have instancing\n // this.initArtboard();\n // this.drawFrame();\n this.lastRenderTime = 0;\n }\n };\n /**\n * Align the renderer\n */\n Rive.prototype.alignRenderer = function () {\n var _a = this, renderer = _a.renderer, runtime = _a.runtime, _layout = _a._layout, artboard = _a.artboard;\n // Align things up safe in the knowledge we can restore if changed\n renderer.align(_layout.runtimeFit(runtime), _layout.runtimeAlignment(runtime), {\n minX: _layout.minX,\n minY: _layout.minY,\n maxX: _layout.maxX,\n maxY: _layout.maxY,\n }, artboard.bounds, this._devicePixelRatioUsed * _layout.layoutScaleFactor);\n };\n Object.defineProperty(Rive.prototype, \"fps\", {\n get: function () {\n return this.durations.length;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rive.prototype, \"frameTime\", {\n get: function () {\n if (this.durations.length === 0) {\n return 0;\n }\n return (this.durations.reduce(function (a, b) { return a + b; }, 0) / this.durations.length).toFixed(4);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Cleans up all Wasm-generated objects that need to be manually destroyed:\n * artboard instances, animation instances, state machine instances,\n * renderer instance, file and runtime.\n *\n * Once this is called, you will need to initialise a new instance of the\n * Rive class\n */\n Rive.prototype.cleanup = function () {\n var _a, _b;\n this.destroyed = true;\n // Stop the renderer if it hasn't already been stopped.\n this.stopRendering();\n // Clean up any artboard, animation or state machine instances.\n this.cleanupInstances();\n // Remove from observer\n if (this._observed !== null) {\n observers.remove(this._observed);\n }\n this.removeRiveListeners();\n if (this.file) {\n (_a = this.riveFile) === null || _a === void 0 ? void 0 : _a.cleanup();\n this.file = null;\n }\n this.riveFile = null;\n this.deleteRiveRenderer();\n if (this._audioEventListener !== null) {\n audioManager.remove(this._audioEventListener);\n this._audioEventListener = null;\n }\n (_b = this._viewModelInstance) === null || _b === void 0 ? void 0 : _b.cleanup();\n this._viewModelInstance = null;\n this._dataEnums = null;\n };\n /**\n * Cleans up the Renderer object. Only call this API if you no longer\n * need to render Rive content in your session.\n */\n Rive.prototype.deleteRiveRenderer = function () {\n var _a;\n (_a = this.renderer) === null || _a === void 0 ? void 0 : _a.delete();\n this.renderer = null;\n };\n /**\n * Cleans up any Wasm-generated objects that need to be manually destroyed:\n * artboard instances, animation instances, state machine instances.\n *\n * Once this is called, things will need to be reinitialized or bad things\n * might happen.\n */\n Rive.prototype.cleanupInstances = function () {\n if (this.eventCleanup !== null) {\n this.eventCleanup();\n }\n // Delete all animation and state machine instances\n this.stop();\n if (this.artboard) {\n this.artboard.delete();\n this.artboard = null;\n }\n };\n /**\n * Tries to query the setup Artboard for a text run node with the given name.\n *\n * @param textRunName - Name of the text run node associated with a text object\n * @returns - TextValueRun node or undefined if the text run cannot be queried\n */\n Rive.prototype.retrieveTextRun = function (textRunName) {\n var _a;\n if (!textRunName) {\n console.warn(\"No text run name provided\");\n return;\n }\n if (!this.artboard) {\n console.warn(\"Tried to access text run, but the Artboard is null\");\n return;\n }\n var textRun = this.artboard.textRun(textRunName);\n if (!textRun) {\n console.warn(\"Could not access a text run with name '\".concat(textRunName, \"' in the '\").concat((_a = this.artboard) === null || _a === void 0 ? void 0 : _a.name, \"' Artboard. Note that you must rename a text run node in the Rive editor to make it queryable at runtime.\"));\n return;\n }\n return textRun;\n };\n /**\n * Returns a string from a given text run node name, or undefined if the text run\n * cannot be queried.\n *\n * @param textRunName - Name of the text run node associated with a text object\n * @returns - String value of the text run node or undefined\n */\n Rive.prototype.getTextRunValue = function (textRunName) {\n var textRun = this.retrieveTextRun(textRunName);\n return textRun ? textRun.text : undefined;\n };\n /**\n * Sets a text value for a given text run node name if possible\n *\n * @param textRunName - Name of the text run node associated with a text object\n * @param textRunValue - String value to set on the text run node\n */\n Rive.prototype.setTextRunValue = function (textRunName, textRunValue) {\n var textRun = this.retrieveTextRun(textRunName);\n if (textRun) {\n textRun.text = textRunValue;\n }\n };\n // Plays specified animations; if none specified, it unpauses everything.\n Rive.prototype.play = function (animationNames, autoplay) {\n var _this = this;\n animationNames = mapToStringArray(animationNames);\n // If the file's not loaded, queue up the play\n if (!this.readyForPlaying) {\n this.taskQueue.add({\n action: function () { return _this.play(animationNames, autoplay); },\n });\n return;\n }\n this.animator.play(animationNames);\n if (this.eventCleanup) {\n this.eventCleanup();\n }\n this.setupRiveListeners();\n this.startRendering();\n };\n // Pauses specified animations; if none specified, pauses all.\n Rive.prototype.pause = function (animationNames) {\n var _this = this;\n animationNames = mapToStringArray(animationNames);\n // If the file's not loaded, early out, nothing to pause\n if (!this.readyForPlaying) {\n this.taskQueue.add({\n action: function () { return _this.pause(animationNames); },\n });\n return;\n }\n if (this.eventCleanup) {\n this.eventCleanup();\n }\n this.animator.pause(animationNames);\n };\n Rive.prototype.scrub = function (animationNames, value) {\n var _this = this;\n animationNames = mapToStringArray(animationNames);\n // If the file's not loaded, early out, nothing to pause\n if (!this.readyForPlaying) {\n this.taskQueue.add({\n action: function () { return _this.scrub(animationNames, value); },\n });\n return;\n }\n // Scrub the animation time; we draw a single frame here so that if\n // nothing's currently playing, the scrubbed animation is still rendered/\n this.animator.scrub(animationNames, value || 0);\n this.drawFrame();\n };\n // Stops specified animations; if none specifies, stops them all.\n Rive.prototype.stop = function (animationNames) {\n var _this = this;\n animationNames = mapToStringArray(animationNames);\n // If the file's not loaded, early out, nothing to pause\n if (!this.readyForPlaying) {\n this.taskQueue.add({\n action: function () { return _this.stop(animationNames); },\n });\n return;\n }\n // If there is no artboard, this.animator will be undefined\n if (this.animator) {\n this.animator.stop(animationNames);\n }\n if (this.eventCleanup) {\n this.eventCleanup();\n }\n };\n /**\n * Resets the animation\n * @param artboard the name of the artboard, or default if none given\n * @param animations the names of animations for playback\n * @param stateMachines the names of state machines for playback\n * @param autoplay whether to autoplay when reset, defaults to false\n *\n */\n Rive.prototype.reset = function (params) {\n var _a, _b;\n // Get the current artboard, animations, state machines, and playback states\n var artBoardName = params === null || params === void 0 ? void 0 : params.artboard;\n var animationNames = mapToStringArray(params === null || params === void 0 ? void 0 : params.animations);\n var stateMachineNames = mapToStringArray(params === null || params === void 0 ? void 0 : params.stateMachines);\n var autoplay = (_a = params === null || params === void 0 ? void 0 : params.autoplay) !== null && _a !== void 0 ? _a : false;\n var autoBind = (_b = params === null || params === void 0 ? void 0 : params.autoBind) !== null && _b !== void 0 ? _b : false;\n // Stop everything and clean up\n this.cleanupInstances();\n // Reinitialize an artboard instance with the state\n this.initArtboard(artBoardName, animationNames, stateMachineNames, autoplay, autoBind);\n this.taskQueue.process();\n };\n // Loads a new Rive file, keeping listeners in place\n Rive.prototype.load = function (params) {\n this.file = null;\n // Stop all animations\n this.stop();\n // Reinitialize\n this.init(params);\n };\n Object.defineProperty(Rive.prototype, \"layout\", {\n /**\n * Returns the current layout. Note that layout should be treated as\n * immutable. If you want to change the layout, create a new one use the\n * layout setter\n */\n get: function () {\n return this._layout;\n },\n // Sets a new layout\n set: function (layout) {\n this._layout = layout;\n // If the maxX or maxY are 0, then set them to the canvas width and height\n if (!layout.maxX || !layout.maxY) {\n this.resizeToCanvas();\n }\n if (this.loaded && !this.animator.isPlaying) {\n this.drawFrame();\n }\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Sets the layout bounds to the current canvas size; this is typically called\n * when the canvas is resized\n */\n Rive.prototype.resizeToCanvas = function () {\n this._layout = this.layout.copyWith({\n minX: 0,\n minY: 0,\n maxX: this.canvas.width,\n maxY: this.canvas.height,\n });\n };\n /**\n * Accounts for devicePixelRatio as a multiplier to render the size of the canvas drawing surface.\n * Uses the size of the backing canvas to set new width/height attributes. Need to re-render\n * and resize the layout to match the new drawing surface afterwards.\n * Useful function for consumers to include in a window resize listener.\n *\n * This method will set the {@link devicePixelRatioUsed} property.\n *\n * Optionally, you can provide a {@link customDevicePixelRatio} to provide a\n * custom value.\n */\n Rive.prototype.resizeDrawingSurfaceToCanvas = function (customDevicePixelRatio) {\n if (this.canvas instanceof HTMLCanvasElement && !!window) {\n var _a = this.canvas.getBoundingClientRect(), width = _a.width, height = _a.height;\n var dpr = customDevicePixelRatio || window.devicePixelRatio || 1;\n this.devicePixelRatioUsed = dpr;\n this.canvas.width = dpr * width;\n this.canvas.height = dpr * height;\n this.resizeToCanvas();\n this.drawFrame();\n if (this.layout.fit === Fit.Layout) {\n var scaleFactor = this._layout.layoutScaleFactor;\n this.artboard.width = width / scaleFactor;\n this.artboard.height = height / scaleFactor;\n }\n }\n };\n Object.defineProperty(Rive.prototype, \"source\", {\n // Returns the animation source, which may be undefined\n get: function () {\n return this.src;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rive.prototype, \"activeArtboard\", {\n /**\n * Returns the name of the active artboard\n */\n get: function () {\n return this.artboard ? this.artboard.name : \"\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rive.prototype, \"animationNames\", {\n // Returns a list of animation names on the chosen artboard\n get: function () {\n // If the file's not loaded, we got nothing to return\n if (!this.loaded || !this.artboard) {\n return [];\n }\n var animationNames = [];\n for (var i = 0; i < this.artboard.animationCount(); i++) {\n animationNames.push(this.artboard.animationByIndex(i).name);\n }\n return animationNames;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rive.prototype, \"stateMachineNames\", {\n /**\n * Returns a list of state machine names from the current artboard\n */\n get: function () {\n // If the file's not loaded, we got nothing to return\n if (!this.loaded || !this.artboard) {\n return [];\n }\n var stateMachineNames = [];\n for (var i = 0; i < this.artboard.stateMachineCount(); i++) {\n stateMachineNames.push(this.artboard.stateMachineByIndex(i).name);\n }\n return stateMachineNames;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Returns the inputs for the specified instanced state machine, or an empty\n * list if the name is invalid or the state machine is not instanced\n * @param name the state machine name\n * @returns the inputs for the named state machine\n */\n Rive.prototype.stateMachineInputs = function (name) {\n // If the file's not loaded, early out, nothing to pause\n if (!this.loaded) {\n return;\n }\n var stateMachine = this.animator.stateMachines.find(function (m) { return m.name === name; });\n return stateMachine === null || stateMachine === void 0 ? void 0 : stateMachine.inputs;\n };\n // Returns the input with the provided name at the given path\n Rive.prototype.retrieveInputAtPath = function (name, path) {\n if (!name) {\n console.warn(\"No input name provided for path '\".concat(path, \"'\"));\n return;\n }\n if (!this.artboard) {\n console.warn(\"Tried to access input: '\".concat(name, \"', at path: '\").concat(path, \"', but the Artboard is null\"));\n return;\n }\n var input = this.artboard.inputByPath(name, path);\n if (!input) {\n console.warn(\"Could not access an input with name: '\".concat(name, \"', at path:'\").concat(path, \"'\"));\n return;\n }\n return input;\n };\n /**\n * Set the boolean input with the provided name at the given path with value\n * @param input the state machine input name\n * @param value the value to set the input to\n * @param path the path the input is located at an artboard level\n */\n Rive.prototype.setBooleanStateAtPath = function (inputName, value, path) {\n var input = this.retrieveInputAtPath(inputName, path);\n if (!input)\n return;\n if (input.type === StateMachineInputType.Boolean) {\n input.asBool().value = value;\n }\n else {\n console.warn(\"Input with name: '\".concat(inputName, \"', at path:'\").concat(path, \"' is not a boolean\"));\n }\n };\n /**\n * Set the number input with the provided name at the given path with value\n * @param input the state machine input name\n * @param value the value to set the input to\n * @param path the path the input is located at an artboard level\n */\n Rive.prototype.setNumberStateAtPath = function (inputName, value, path) {\n var input = this.retrieveInputAtPath(inputName, path);\n if (!input)\n return;\n if (input.type === StateMachineInputType.Number) {\n input.asNumber().value = value;\n }\n else {\n console.warn(\"Input with name: '\".concat(inputName, \"', at path:'\").concat(path, \"' is not a number\"));\n }\n };\n /**\n * Fire the trigger with the provided name at the given path\n * @param input the state machine input name\n * @param path the path the input is located at an artboard level\n */\n Rive.prototype.fireStateAtPath = function (inputName, path) {\n var input = this.retrieveInputAtPath(inputName, path);\n if (!input)\n return;\n if (input.type === StateMachineInputType.Trigger) {\n input.asTrigger().fire();\n }\n else {\n console.warn(\"Input with name: '\".concat(inputName, \"', at path:'\").concat(path, \"' is not a trigger\"));\n }\n };\n // Returns the TextValueRun object for the provided name at the given path\n Rive.prototype.retrieveTextAtPath = function (name, path) {\n if (!name) {\n console.warn(\"No text name provided for path '\".concat(path, \"'\"));\n return;\n }\n if (!path) {\n console.warn(\"No path provided for text '\".concat(name, \"'\"));\n return;\n }\n if (!this.artboard) {\n console.warn(\"Tried to access text: '\".concat(name, \"', at path: '\").concat(path, \"', but the Artboard is null\"));\n return;\n }\n var text = this.artboard.textByPath(name, path);\n if (!text) {\n console.warn(\"Could not access text with name: '\".concat(name, \"', at path:'\").concat(path, \"'\"));\n return;\n }\n return text;\n };\n /**\n * Retrieves the text value for a specified text run at a given path\n * @param textName The name of the text run\n * @param path The path to the text run within the artboard\n * @returns The text value of the text run, or undefined if not found\n *\n * @example\n * // Get the text value for a text run named \"title\" at one nested artboard deep\n * const titleText = riveInstance.getTextRunValueAtPath(\"title\", \"artboard1\");\n *\n * @example\n * // Get the text value for a text run named \"subtitle\" within a nested group two artboards deep\n * const subtitleText = riveInstance.getTextRunValueAtPath(\"subtitle\", \"group/nestedGroup\");\n *\n * @remarks\n * If the text run cannot be found at the specified path, a warning will be logged to the console.\n */\n Rive.prototype.getTextRunValueAtPath = function (textName, path) {\n var run = this.retrieveTextAtPath(textName, path);\n if (!run) {\n console.warn(\"Could not get text with name: '\".concat(textName, \"', at path:'\").concat(path, \"'\"));\n return;\n }\n return run.text;\n };\n /**\n * Sets the text value for a specified text run at a given path\n * @param textName The name of the text run\n * @param value The new text value to set\n * @param path The path to the text run within the artboard\n * @returns void\n *\n * @example\n * // Set the text value for a text run named \"title\" at one nested artboard deep\n * riveInstance.setTextRunValueAtPath(\"title\", \"New Title\", \"artboard1\");\n *\n * @example\n * // Set the text value for a text run named \"subtitle\" within a nested group two artboards deep\n * riveInstance.setTextRunValueAtPath(\"subtitle\", \"New Subtitle\", \"group/nestedGroup\");\n *\n * @remarks\n * If the text run cannot be found at the specified path, a warning will be logged to the console.\n */\n Rive.prototype.setTextRunValueAtPath = function (textName, value, path) {\n var run = this.retrieveTextAtPath(textName, path);\n if (!run) {\n console.warn(\"Could not set text with name: '\".concat(textName, \"', at path:'\").concat(path, \"'\"));\n return;\n }\n run.text = value;\n };\n Object.defineProperty(Rive.prototype, \"playingStateMachineNames\", {\n // Returns a list of playing machine names\n get: function () {\n // If the file's not loaded, we got nothing to return\n if (!this.loaded) {\n return [];\n }\n return this.animator.stateMachines\n .filter(function (m) { return m.playing; })\n .map(function (m) { return m.name; });\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rive.prototype, \"playingAnimationNames\", {\n // Returns a list of playing animation names\n get: function () {\n // If the file's not loaded, we got nothing to return\n if (!this.loaded) {\n return [];\n }\n return this.animator.animations.filter(function (a) { return a.playing; }).map(function (a) { return a.name; });\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rive.prototype, \"pausedAnimationNames\", {\n // Returns a list of paused animation names\n get: function () {\n // If the file's not loaded, we got nothing to return\n if (!this.loaded) {\n return [];\n }\n return this.animator.animations\n .filter(function (a) { return !a.playing; })\n .map(function (a) { return a.name; });\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rive.prototype, \"pausedStateMachineNames\", {\n /**\n * Returns a list of paused machine names\n * @returns a list of state machine names that are paused\n */\n get: function () {\n // If the file's not loaded, we got nothing to return\n if (!this.loaded) {\n return [];\n }\n return this.animator.stateMachines\n .filter(function (m) { return !m.playing; })\n .map(function (m) { return m.name; });\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rive.prototype, \"isPlaying\", {\n /**\n * @returns true if any animation is playing\n */\n get: function () {\n return this.animator.isPlaying;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rive.prototype, \"isPaused\", {\n /**\n * @returns true if all instanced animations are paused\n */\n get: function () {\n return this.animator.isPaused;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rive.prototype, \"isStopped\", {\n /**\n * @returns true if no animations are playing or paused\n */\n get: function () {\n return this.animator.isStopped;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rive.prototype, \"bounds\", {\n /**\n * @returns the bounds of the current artboard, or undefined if the artboard\n * isn't loaded yet.\n */\n get: function () {\n return this.artboard ? this.artboard.bounds : undefined;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Subscribe to Rive-generated events\n * @param type the type of event to subscribe to\n * @param callback callback to fire when the event occurs\n */\n Rive.prototype.on = function (type, callback) {\n this.eventManager.add({\n type: type,\n callback: callback,\n });\n };\n /**\n * Unsubscribes from a Rive-generated event\n * @param type the type of event to unsubscribe from\n * @param callback the callback to unsubscribe\n */\n Rive.prototype.off = function (type, callback) {\n this.eventManager.remove({\n type: type,\n callback: callback,\n });\n };\n /**\n * Unsubscribes from a Rive-generated event\n * @deprecated\n * @param callback the callback to unsubscribe from\n */\n Rive.prototype.unsubscribe = function (type, callback) {\n console.warn(\"This function is deprecated: please use `off()` instead.\");\n this.off(type, callback);\n };\n /**\n * Unsubscribes all Rive listeners from an event type, or everything if no type is\n * given\n * @param type the type of event to unsubscribe from, or all types if\n * undefined\n */\n Rive.prototype.removeAllRiveEventListeners = function (type) {\n this.eventManager.removeAll(type);\n };\n /**\n * Unsubscribes all listeners from an event type, or everything if no type is\n * given\n * @deprecated\n * @param type the type of event to unsubscribe from, or all types if\n * undefined\n */\n Rive.prototype.unsubscribeAll = function (type) {\n console.warn(\"This function is deprecated: please use `removeAllRiveEventListeners()` instead.\");\n this.removeAllRiveEventListeners(type);\n };\n /**\n * Stops the rendering loop; this is different from pausing in that it doesn't\n * change the state of any animation. It stops rendering from occurring. This\n * is designed for situations such as when Rive isn't visible.\n *\n * The only way to start rendering again is to call `startRendering`.\n * Animations that are marked as playing will start from the position that\n * they would have been at if rendering had not been stopped.\n */\n Rive.prototype.stopRendering = function () {\n if (this.loaded && this.frameRequestId) {\n if (this.runtime.cancelAnimationFrame) {\n this.runtime.cancelAnimationFrame(this.frameRequestId);\n }\n else {\n cancelAnimationFrame(this.frameRequestId);\n }\n this.frameRequestId = null;\n }\n };\n /**\n * Starts the rendering loop if it has been previously stopped. If the\n * renderer is already active, then this will have zero effect.\n */\n Rive.prototype.startRendering = function () {\n if (this.loaded && this.artboard && !this.frameRequestId) {\n if (this.runtime.requestAnimationFrame) {\n this.frameRequestId = this.runtime.requestAnimationFrame(this._boundDraw);\n }\n else {\n this.frameRequestId = requestAnimationFrame(this._boundDraw);\n }\n }\n };\n /**\n * Enables frames-per-second (FPS) reporting for the runtime\n * If no callback is provided, Rive will append a fixed-position div at the top-right corner of\n * the page with the FPS reading\n * @param fpsCallback - Callback from the runtime during the RAF loop that supplies the FPS value\n */\n Rive.prototype.enableFPSCounter = function (fpsCallback) {\n this.runtime.enableFPSCounter(fpsCallback);\n };\n /**\n * Disables frames-per-second (FPS) reporting for the runtime\n */\n Rive.prototype.disableFPSCounter = function () {\n this.runtime.disableFPSCounter();\n };\n Object.defineProperty(Rive.prototype, \"contents\", {\n /**\n * Returns the contents of a Rive file: the artboards, animations, and state machines\n */\n get: function () {\n if (!this.loaded) {\n return undefined;\n }\n var riveContents = {\n artboards: [],\n };\n for (var i = 0; i < this.file.artboardCount(); i++) {\n var artboard = this.file.artboardByIndex(i);\n var artboardContents = {\n name: artboard.name,\n animations: [],\n stateMachines: [],\n };\n for (var j = 0; j < artboard.animationCount(); j++) {\n var animation = artboard.animationByIndex(j);\n artboardContents.animations.push(animation.name);\n }\n for (var k = 0; k < artboard.stateMachineCount(); k++) {\n var stateMachine = artboard.stateMachineByIndex(k);\n var name_1 = stateMachine.name;\n var instance = new this.runtime.StateMachineInstance(stateMachine, artboard);\n var inputContents = [];\n for (var l = 0; l < instance.inputCount(); l++) {\n var input = instance.input(l);\n inputContents.push({ name: input.name, type: input.type });\n }\n artboardContents.stateMachines.push({\n name: name_1,\n inputs: inputContents,\n });\n }\n riveContents.artboards.push(artboardContents);\n }\n return riveContents;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rive.prototype, \"volume\", {\n /**\n * Getter / Setter for the volume of the artboard\n */\n get: function () {\n if (this.artboard && this.artboard.volume !== this._volume) {\n this._volume = this.artboard.volume;\n }\n return this._volume;\n },\n set: function (value) {\n this._volume = value;\n if (this.artboard) {\n this.artboard.volume = value * audioManager.systemVolume;\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rive.prototype, \"artboardWidth\", {\n /**\n * The width of the artboard.\n *\n * This will return 0 if the artboard is not loaded yet and a custom\n * width has not been set.\n *\n * Do not set this value manually when using {@link resizeDrawingSurfaceToCanvas}\n * with a {@link Layout.fit} of {@link Fit.Layout}, as the artboard width is\n * automatically set.\n */\n get: function () {\n var _a;\n if (this.artboard) {\n return this.artboard.width;\n }\n return (_a = this._artboardWidth) !== null && _a !== void 0 ? _a : 0;\n },\n set: function (value) {\n this._artboardWidth = value;\n if (this.artboard) {\n this.artboard.width = value;\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rive.prototype, \"artboardHeight\", {\n /**\n * The height of the artboard.\n *\n * This will return 0 if the artboard is not loaded yet and a custom\n * height has not been set.\n *\n * Do not set this value manually when using {@link resizeDrawingSurfaceToCanvas}\n * with a {@link Layout.fit} of {@link Fit.Layout}, as the artboard height is\n * automatically set.\n */\n get: function () {\n var _a;\n if (this.artboard) {\n return this.artboard.height;\n }\n return (_a = this._artboardHeight) !== null && _a !== void 0 ? _a : 0;\n },\n set: function (value) {\n this._artboardHeight = value;\n if (this.artboard) {\n this.artboard.height = value;\n }\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Reset the artboard size to its original values.\n */\n Rive.prototype.resetArtboardSize = function () {\n if (this.artboard) {\n this.artboard.resetArtboardSize();\n this._artboardWidth = this.artboard.width;\n this._artboardHeight = this.artboard.height;\n }\n else {\n // If the artboard isn't loaded, we need to reset the custom width and height\n this._artboardWidth = undefined;\n this._artboardHeight = undefined;\n }\n };\n Object.defineProperty(Rive.prototype, \"devicePixelRatioUsed\", {\n /**\n * The device pixel ratio used in rendering and canvas/artboard resizing.\n *\n * This value will be overidden by the device pixel ratio used in\n * {@link resizeDrawingSurfaceToCanvas}. If you use that method, do not set this value.\n */\n get: function () {\n return this._devicePixelRatioUsed;\n },\n set: function (value) {\n this._devicePixelRatioUsed = value;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Initialize the data context with the view model instance.\n */\n Rive.prototype.bindViewModelInstance = function (viewModelInstance) {\n var _a;\n if (this.artboard && !this.destroyed) {\n if (viewModelInstance && viewModelInstance.runtimeInstance) {\n viewModelInstance.internalIncrementReferenceCount();\n (_a = this._viewModelInstance) === null || _a === void 0 ? void 0 : _a.cleanup();\n this._viewModelInstance = viewModelInstance;\n this.artboard.bindViewModelInstance(viewModelInstance.runtimeInstance);\n this.animator.stateMachines.forEach(function (stateMachine) {\n return stateMachine.bindViewModelInstance(viewModelInstance);\n });\n }\n }\n };\n Object.defineProperty(Rive.prototype, \"viewModelInstance\", {\n get: function () {\n return this._viewModelInstance;\n },\n enumerable: false,\n configurable: true\n });\n Rive.prototype.viewModelByIndex = function (index) {\n var viewModel = this.file.viewModelByIndex(index);\n if (viewModel !== null) {\n return new ViewModel(viewModel);\n }\n return null;\n };\n Rive.prototype.viewModelByName = function (name) {\n var viewModel = this.file.viewModelByName(name);\n if (viewModel !== null) {\n return new ViewModel(viewModel);\n }\n return null;\n };\n Rive.prototype.enums = function () {\n if (this._dataEnums === null) {\n var dataEnums = this.file.enums();\n this._dataEnums = dataEnums.map(function (dataEnum) {\n return new DataEnum(dataEnum);\n });\n }\n return this._dataEnums;\n };\n Rive.prototype.defaultViewModel = function () {\n if (this.artboard) {\n var viewModel = this.file.defaultArtboardViewModel(this.artboard);\n if (viewModel) {\n return new ViewModel(viewModel);\n }\n }\n return null;\n };\n // Error message for missing source or buffer\n Rive.missingErrorMessage = \"Rive source file or data buffer required\";\n // Error message for removed rive file\n Rive.cleanupErrorMessage = \"Attempt to use file after calling cleanup.\";\n return Rive;\n}());\n\nvar ViewModel = /** @class */ (function () {\n function ViewModel(viewModel) {\n this._viewModel = viewModel;\n }\n Object.defineProperty(ViewModel.prototype, \"instanceCount\", {\n get: function () {\n return this._viewModel.instanceCount;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ViewModel.prototype, \"name\", {\n get: function () {\n return this._viewModel.name;\n },\n enumerable: false,\n configurable: true\n });\n ViewModel.prototype.instanceByIndex = function (index) {\n var instance = this._viewModel.instanceByIndex(index);\n if (instance !== null) {\n return new ViewModelInstance(instance, null);\n }\n return null;\n };\n ViewModel.prototype.instanceByName = function (name) {\n var instance = this._viewModel.instanceByName(name);\n if (instance !== null) {\n return new ViewModelInstance(instance, null);\n }\n return null;\n };\n ViewModel.prototype.defaultInstance = function () {\n var runtimeInstance = this._viewModel.defaultInstance();\n if (runtimeInstance !== null) {\n return new ViewModelInstance(runtimeInstance, null);\n }\n return null;\n };\n ViewModel.prototype.instance = function () {\n var runtimeInstance = this._viewModel.instance();\n if (runtimeInstance !== null) {\n return new ViewModelInstance(runtimeInstance, null);\n }\n return null;\n };\n Object.defineProperty(ViewModel.prototype, \"properties\", {\n get: function () {\n return this._viewModel.getProperties();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ViewModel.prototype, \"instanceNames\", {\n get: function () {\n return this._viewModel.getInstanceNames();\n },\n enumerable: false,\n configurable: true\n });\n return ViewModel;\n}());\n\nvar DataEnum = /** @class */ (function () {\n function DataEnum(dataEnum) {\n this._dataEnum = dataEnum;\n }\n Object.defineProperty(DataEnum.prototype, \"name\", {\n get: function () {\n return this._dataEnum.name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DataEnum.prototype, \"values\", {\n get: function () {\n return this._dataEnum.values;\n },\n enumerable: false,\n configurable: true\n });\n return DataEnum;\n}());\n\nvar ViewModelInstance = /** @class */ (function () {\n function ViewModelInstance(runtimeInstance, root) {\n this._propertiesWithCallbacks = [];\n this._referenceCount = 0;\n this._runtimeInstance = runtimeInstance;\n this._root = root || this;\n }\n Object.defineProperty(ViewModelInstance.prototype, \"runtimeInstance\", {\n get: function () {\n return this._runtimeInstance;\n },\n enumerable: false,\n configurable: true\n });\n ViewModelInstance.prototype.handleCallbacks = function () {\n if (this._propertiesWithCallbacks.length !== 0) {\n this._propertiesWithCallbacks.forEach(function (property) {\n property.handleCallbacks();\n });\n }\n };\n ViewModelInstance.prototype.clearCallbacks = function () {\n this._propertiesWithCallbacks.forEach(function (property) {\n property.clearCallbacks();\n });\n };\n /**\n * method to access a property instance of type number belonging\n * to the view model instance or to a nested view model instance\n * @param path - path to the number property\n */\n ViewModelInstance.prototype.number = function (path) {\n var _a;\n var instance = (_a = this._runtimeInstance) === null || _a === void 0 ? void 0 : _a.number(path);\n if (instance) {\n return new ViewModelInstanceNumber(instance, this._root);\n }\n return null;\n };\n /**\n * method to access a property instance of type string belonging\n * to the view model instance or to a nested view model instance\n * @param path - path to the number property\n */\n ViewModelInstance.prototype.string = function (path) {\n var _a;\n var instance = (_a = this._runtimeInstance) === null || _a === void 0 ? void 0 : _a.string(path);\n if (instance) {\n return new ViewModelInstanceString(instance, this._root);\n }\n return null;\n };\n /**\n * method to access a property instance of type boolean belonging\n * to the view model instance or to a nested view model instance\n * @param path - path to the number property\n */\n ViewModelInstance.prototype.boolean = function (path) {\n var _a;\n var instance = (_a = this._runtimeInstance) === null || _a === void 0 ? void 0 : _a.boolean(path);\n if (instance) {\n return new ViewModelInstanceBoolean(instance, this._root);\n }\n return null;\n };\n /**\n * method to access a property instance of type color belonging\n * to the view model instance or to a nested view model instance\n * @param path - path to the number property\n */\n ViewModelInstance.prototype.color = function (path) {\n var _a;\n var instance = (_a = this._runtimeInstance) === null || _a === void 0 ? void 0 : _a.color(path);\n if (instance) {\n return new ViewModelInstanceColor(instance, this._root);\n }\n return null;\n };\n /**\n * method to access a property instance of type trigger belonging\n * to the view model instance or to a nested view model instance\n * @param path - path to the number property\n */\n ViewModelInstance.prototype.trigger = function (path) {\n var _a;\n var instance = (_a = this._runtimeInstance) === null || _a === void 0 ? void 0 : _a.trigger(path);\n if (instance) {\n return new ViewModelInstanceTrigger(instance, this._root);\n }\n return null;\n };\n /**\n * method to access a property instance of type enum belonging\n * to the view model instance or to a nested view model instance\n * @param path - path to the number property\n */\n ViewModelInstance.prototype.enum = function (path) {\n var _a;\n var instance = (_a = this._runtimeInstance) === null || _a === void 0 ? void 0 : _a.enum(path);\n if (instance) {\n return new ViewModelInstanceEnum(instance, this._root);\n }\n return null;\n };\n /**\n * method to access a view model property instance belonging\n * to the view model instance or to a nested view model instance\n * @param path - path to the number property\n */\n ViewModelInstance.prototype.viewModel = function (path) {\n var _a;\n var viewModelInstance = (_a = this._runtimeInstance) === null || _a === void 0 ? void 0 : _a.viewModel(path);\n if (viewModelInstance) {\n return new ViewModelInstance(viewModelInstance, this._root);\n }\n return null;\n };\n /**\n * method to replace a view model property with another view model value\n * @param path - path to the view model property\n * @param value - view model that will replace the original\n */\n ViewModelInstance.prototype.replaceViewModel = function (path, value) {\n var _a;\n if (value.runtimeInstance !== null) {\n return (((_a = this._runtimeInstance) === null || _a === void 0 ? void 0 : _a.replaceViewModel(path, value.runtimeInstance)) ||\n false);\n }\n return false;\n };\n /*\n * method for internal use, it shouldn't be called externally\n */\n ViewModelInstance.prototype.addToCallbacks = function (property) {\n if (!this._propertiesWithCallbacks.includes(property)) {\n this._propertiesWithCallbacks.push(property);\n }\n };\n /*\n * method for internal use, it shouldn't be called externally\n */\n ViewModelInstance.prototype.removeFromCallbacks = function (property) {\n if (this._propertiesWithCallbacks.includes(property)) {\n this._propertiesWithCallbacks = this._propertiesWithCallbacks.filter(function (prop) { return prop !== property; });\n }\n };\n /*\n * method to add one to the reference counter of the instance.\n * Use if the file owning the reference is destroyed but the instance needs to stay around\n */\n ViewModelInstance.prototype.incrementReferenceCount = function () {\n var _a;\n this._referenceCount++;\n (_a = this._runtimeInstance) === null || _a === void 0 ? void 0 : _a.incrementReferenceCount();\n };\n /*\n * method to subtract one to the reference counter of the instance.\n * Use if incrementReferenceCount has been called\n */\n ViewModelInstance.prototype.decrementReferenceCount = function () {\n var _a;\n this._referenceCount--;\n (_a = this._runtimeInstance) === null || _a === void 0 ? void 0 : _a.decrementReferenceCount();\n };\n Object.defineProperty(ViewModelInstance.prototype, \"properties\", {\n get: function () {\n var _a;\n return (((_a = this._runtimeInstance) === null || _a === void 0 ? void 0 : _a.getProperties().map(function (prop) { return (__assign({}, prop)); })) || []);\n },\n enumerable: false,\n configurable: true\n });\n ViewModelInstance.prototype.internalIncrementReferenceCount = function () {\n this._referenceCount++;\n };\n ViewModelInstance.prototype.cleanup = function () {\n this._referenceCount--;\n if (this._referenceCount <= 0) {\n this._runtimeInstance = null;\n this.clearCallbacks();\n this._propertiesWithCallbacks = [];\n }\n };\n return ViewModelInstance;\n}());\n\nvar ViewModelInstanceValue = /** @class */ (function () {\n function ViewModelInstanceValue(instance, root) {\n this.callbacks = [];\n this._viewModelInstanceValue = instance;\n this._rootViewModel = root;\n }\n ViewModelInstanceValue.prototype.on = function (callback) {\n // Since we don't clean the changed flag for properties that don't have listeners,\n // we clean it the first time we add a listener to it\n if (this.callbacks.length === 0) {\n this._viewModelInstanceValue.clearChanges();\n }\n if (!this.callbacks.includes(callback)) {\n this.callbacks.push(callback);\n this._rootViewModel.addToCallbacks(this);\n }\n };\n ViewModelInstanceValue.prototype.off = function (callback) {\n if (!callback) {\n this.callbacks.length = 0;\n }\n else {\n this.callbacks = this.callbacks.filter(function (cb) { return cb !== callback; });\n }\n if (this.callbacks.length === 0) {\n this._rootViewModel.removeFromCallbacks(this);\n }\n };\n ViewModelInstanceValue.prototype.internalHandleCallback = function (callback) { };\n ViewModelInstanceValue.prototype.handleCallbacks = function () {\n var _this = this;\n if (this._viewModelInstanceValue.hasChanged) {\n this._viewModelInstanceValue.clearChanges();\n this.callbacks.forEach(function (callback) {\n _this.internalHandleCallback(callback);\n });\n }\n };\n ViewModelInstanceValue.prototype.clearCallbacks = function () {\n this.callbacks.length = 0;\n };\n Object.defineProperty(ViewModelInstanceValue.prototype, \"name\", {\n get: function () {\n return this._viewModelInstanceValue.name;\n },\n enumerable: false,\n configurable: true\n });\n return ViewModelInstanceValue;\n}());\n\nvar ViewModelInstanceString = /** @class */ (function (_super) {\n __extends(ViewModelInstanceString, _super);\n function ViewModelInstanceString(instance, root) {\n return _super.call(this, instance, root) || this;\n }\n Object.defineProperty(ViewModelInstanceString.prototype, \"value\", {\n get: function () {\n return this._viewModelInstanceValue.value;\n },\n set: function (val) {\n this._viewModelInstanceValue.value = val;\n },\n enumerable: false,\n configurable: true\n });\n ViewModelInstanceString.prototype.internalHandleCallback = function (callback) {\n callback(this.value);\n };\n return ViewModelInstanceString;\n}(ViewModelInstanceValue));\n\nvar ViewModelInstanceNumber = /** @class */ (function (_super) {\n __extends(ViewModelInstanceNumber, _super);\n function ViewModelInstanceNumber(instance, root) {\n return _super.call(this, instance, root) || this;\n }\n Object.defineProperty(ViewModelInstanceNumber.prototype, \"value\", {\n get: function () {\n return this._viewModelInstanceValue.value;\n },\n set: function (val) {\n this._viewModelInstanceValue.value = val;\n },\n enumerable: false,\n configurable: true\n });\n ViewModelInstanceNumber.prototype.internalHandleCallback = function (callback) {\n callback(this.value);\n };\n return ViewModelInstanceNumber;\n}(ViewModelInstanceValue));\n\nvar ViewModelInstanceBoolean = /** @class */ (function (_super) {\n __extends(ViewModelInstanceBoolean, _super);\n function ViewModelInstanceBoolean(instance, root) {\n return _super.call(this, instance, root) || this;\n }\n Object.defineProperty(ViewModelInstanceBoolean.prototype, \"value\", {\n get: function () {\n return this._viewModelInstanceValue.value;\n },\n set: function (val) {\n this._viewModelInstanceValue.value = val;\n },\n enumerable: false,\n configurable: true\n });\n ViewModelInstanceBoolean.prototype.internalHandleCallback = function (callback) {\n callback(this.value);\n };\n return ViewModelInstanceBoolean;\n}(ViewModelInstanceValue));\n\nvar ViewModelInstanceTrigger = /** @class */ (function (_super) {\n __extends(ViewModelInstanceTrigger, _super);\n function ViewModelInstanceTrigger(instance, root) {\n return _super.call(this, instance, root) || this;\n }\n ViewModelInstanceTrigger.prototype.trigger = function () {\n return this._viewModelInstanceValue.trigger();\n };\n ViewModelInstanceTrigger.prototype.internalHandleCallback = function (callback) {\n callback();\n };\n return ViewModelInstanceTrigger;\n}(ViewModelInstanceValue));\n\nvar ViewModelInstanceEnum = /** @class */ (function (_super) {\n __extends(ViewModelInstanceEnum, _super);\n function ViewModelInstanceEnum(instance, root) {\n return _super.call(this, instance, root) || this;\n }\n Object.defineProperty(ViewModelInstanceEnum.prototype, \"value\", {\n get: function () {\n return this._viewModelInstanceValue.value;\n },\n set: function (val) {\n this._viewModelInstanceValue.value = val;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ViewModelInstanceEnum.prototype, \"valueIndex\", {\n get: function () {\n return this._viewModelInstanceValue\n .valueIndex;\n },\n set: function (val) {\n this._viewModelInstanceValue.valueIndex = val;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ViewModelInstanceEnum.prototype, \"values\", {\n get: function () {\n return this._viewModelInstanceValue.values;\n },\n enumerable: false,\n configurable: true\n });\n ViewModelInstanceEnum.prototype.internalHandleCallback = function (callback) {\n callback(this.value);\n };\n return ViewModelInstanceEnum;\n}(ViewModelInstanceValue));\n\nvar ViewModelInstanceColor = /** @class */ (function (_super) {\n __extends(ViewModelInstanceColor, _super);\n function ViewModelInstanceColor(instance, root) {\n return _super.call(this, instance, root) || this;\n }\n Object.defineProperty(ViewModelInstanceColor.prototype, \"value\", {\n get: function () {\n return this._viewModelInstanceValue.value;\n },\n set: function (val) {\n this._viewModelInstanceValue.value = val;\n },\n enumerable: false,\n configurable: true\n });\n ViewModelInstanceColor.prototype.rgb = function (r, g, b) {\n this._viewModelInstanceValue.rgb(r, g, b);\n };\n ViewModelInstanceColor.prototype.rgba = function (r, g, b, a) {\n this._viewModelInstanceValue.argb(a, r, g, b);\n };\n ViewModelInstanceColor.prototype.argb = function (a, r, g, b) {\n this._viewModelInstanceValue.argb(a, r, g, b);\n };\n // Value 0 to 255\n ViewModelInstanceColor.prototype.alpha = function (a) {\n this._viewModelInstanceValue.alpha(a);\n };\n // Value 0 to 1\n ViewModelInstanceColor.prototype.opacity = function (o) {\n this._viewModelInstanceValue.alpha(Math.round(Math.max(0, Math.min(1, o)) * 255));\n };\n ViewModelInstanceColor.prototype.internalHandleCallback = function (callback) {\n callback(this.value);\n };\n return ViewModelInstanceColor;\n}(ViewModelInstanceValue));\n\n// Loads Rive data from a URI via fetch.\nvar loadRiveFile = function (src) { return __awaiter(void 0, void 0, void 0, function () {\n var req, res, buffer;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n req = new Request(src);\n return [4 /*yield*/, fetch(req)];\n case 1:\n res = _a.sent();\n return [4 /*yield*/, res.arrayBuffer()];\n case 2:\n buffer = _a.sent();\n return [2 /*return*/, buffer];\n }\n });\n}); };\n// #endregion\n// #region utility functions\n/*\n * Utility function to ensure an object is a string array\n */\nvar mapToStringArray = function (obj) {\n if (typeof obj === \"string\") {\n return [obj];\n }\n else if (obj instanceof Array) {\n return obj;\n }\n // If obj is undefined, return empty array\n return [];\n};\n// #endregion\n// #region testing utilities\n// Exports to only be used for tests\nvar Testing = {\n EventManager: EventManager,\n TaskQueueManager: TaskQueueManager,\n};\n// #endregion\n// #region asset loaders\n/**\n * Decodes bytes into an audio asset.\n *\n * Be sure to call `.unref()` on the audio once it is no longer needed. This\n * allows the engine to clean it up when it is not used by any more animations.\n */\nvar decodeAudio = function (bytes) {\n return new Promise(function (resolve) {\n return RuntimeLoader.getInstance(function (rive) {\n rive.decodeAudio(bytes, resolve);\n });\n });\n};\n/**\n * Decodes bytes into an image.\n *\n * Be sure to call `.unref()` on the image once it is no longer needed. This\n * allows the engine to clean it up when it is not used by any more animations.\n */\nvar decodeImage = function (bytes) {\n return new Promise(function (resolve) {\n return RuntimeLoader.getInstance(function (rive) {\n rive.decodeImage(bytes, resolve);\n });\n });\n};\n/**\n * Decodes bytes into a font.\n *\n * Be sure to call `.unref()` on the font once it is no longer needed. This\n * allows the engine to clean it up when it is not used by any more animations.\n */\nvar decodeFont = function (bytes) {\n return new Promise(function (resolve) {\n return RuntimeLoader.getInstance(function (rive) {\n rive.decodeFont(bytes, resolve);\n });\n });\n};\n// #endregion\n\n})();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=rive.js.map","function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });\n } else obj[key] = value;\n\n return obj;\n}\nexport { _define_property as _ };\n","/**\n* @vue/reactivity v3.5.13\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { hasChanged, extend, isArray, isIntegerKey, isSymbol, isMap, hasOwn, isObject, makeMap, toRawType, capitalize, def, isFunction, EMPTY_OBJ, isSet, isPlainObject, NOOP, remove } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this._isPaused = false;\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n pause() {\n if (this._active) {\n this._isPaused = true;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].pause();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].pause();\n }\n }\n }\n /**\n * Resumes the effect scope, including all child scopes and effects.\n */\n resume() {\n if (this._active) {\n if (this._isPaused) {\n this._isPaused = false;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].resume();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].resume();\n }\n }\n }\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n this._active = false;\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n this.effects.length = 0;\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n this.cleanups.length = 0;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n this.scopes.length = 0;\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn, failSilently = false) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nlet activeSub;\nconst EffectFlags = {\n \"ACTIVE\": 1,\n \"1\": \"ACTIVE\",\n \"RUNNING\": 2,\n \"2\": \"RUNNING\",\n \"TRACKING\": 4,\n \"4\": \"TRACKING\",\n \"NOTIFIED\": 8,\n \"8\": \"NOTIFIED\",\n \"DIRTY\": 16,\n \"16\": \"DIRTY\",\n \"ALLOW_RECURSE\": 32,\n \"32\": \"ALLOW_RECURSE\",\n \"PAUSED\": 64,\n \"64\": \"PAUSED\"\n};\nconst pausedQueueEffects = /* @__PURE__ */ new WeakSet();\nclass ReactiveEffect {\n constructor(fn) {\n this.fn = fn;\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 1 | 4;\n /**\n * @internal\n */\n this.next = void 0;\n /**\n * @internal\n */\n this.cleanup = void 0;\n this.scheduler = void 0;\n if (activeEffectScope && activeEffectScope.active) {\n activeEffectScope.effects.push(this);\n }\n }\n pause() {\n this.flags |= 64;\n }\n resume() {\n if (this.flags & 64) {\n this.flags &= ~64;\n if (pausedQueueEffects.has(this)) {\n pausedQueueEffects.delete(this);\n this.trigger();\n }\n }\n }\n /**\n * @internal\n */\n notify() {\n if (this.flags & 2 && !(this.flags & 32)) {\n return;\n }\n if (!(this.flags & 8)) {\n batch(this);\n }\n }\n run() {\n if (!(this.flags & 1)) {\n return this.fn();\n }\n this.flags |= 2;\n cleanupEffect(this);\n prepareDeps(this);\n const prevEffect = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = this;\n shouldTrack = true;\n try {\n return this.fn();\n } finally {\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub !== this) {\n warn(\n \"Active effect was not restored correctly - this is likely a Vue internal bug.\"\n );\n }\n cleanupDeps(this);\n activeSub = prevEffect;\n shouldTrack = prevShouldTrack;\n this.flags &= ~2;\n }\n }\n stop() {\n if (this.flags & 1) {\n for (let link = this.deps; link; link = link.nextDep) {\n removeSub(link);\n }\n this.deps = this.depsTail = void 0;\n cleanupEffect(this);\n this.onStop && this.onStop();\n this.flags &= ~1;\n }\n }\n trigger() {\n if (this.flags & 64) {\n pausedQueueEffects.add(this);\n } else if (this.scheduler) {\n this.scheduler();\n } else {\n this.runIfDirty();\n }\n }\n /**\n * @internal\n */\n runIfDirty() {\n if (isDirty(this)) {\n this.run();\n }\n }\n get dirty() {\n return isDirty(this);\n }\n}\nlet batchDepth = 0;\nlet batchedSub;\nlet batchedComputed;\nfunction batch(sub, isComputed = false) {\n sub.flags |= 8;\n if (isComputed) {\n sub.next = batchedComputed;\n batchedComputed = sub;\n return;\n }\n sub.next = batchedSub;\n batchedSub = sub;\n}\nfunction startBatch() {\n batchDepth++;\n}\nfunction endBatch() {\n if (--batchDepth > 0) {\n return;\n }\n if (batchedComputed) {\n let e = batchedComputed;\n batchedComputed = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= ~8;\n e = next;\n }\n }\n let error;\n while (batchedSub) {\n let e = batchedSub;\n batchedSub = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= ~8;\n if (e.flags & 1) {\n try {\n ;\n e.trigger();\n } catch (err) {\n if (!error) error = err;\n }\n }\n e = next;\n }\n }\n if (error) throw error;\n}\nfunction prepareDeps(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n link.version = -1;\n link.prevActiveLink = link.dep.activeLink;\n link.dep.activeLink = link;\n }\n}\nfunction cleanupDeps(sub) {\n let head;\n let tail = sub.depsTail;\n let link = tail;\n while (link) {\n const prev = link.prevDep;\n if (link.version === -1) {\n if (link === tail) tail = prev;\n removeSub(link);\n removeDep(link);\n } else {\n head = link;\n }\n link.dep.activeLink = link.prevActiveLink;\n link.prevActiveLink = void 0;\n link = prev;\n }\n sub.deps = head;\n sub.depsTail = tail;\n}\nfunction isDirty(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) {\n return true;\n }\n }\n if (sub._dirty) {\n return true;\n }\n return false;\n}\nfunction refreshComputed(computed) {\n if (computed.flags & 4 && !(computed.flags & 16)) {\n return;\n }\n computed.flags &= ~16;\n if (computed.globalVersion === globalVersion) {\n return;\n }\n computed.globalVersion = globalVersion;\n const dep = computed.dep;\n computed.flags |= 2;\n if (dep.version > 0 && !computed.isSSR && computed.deps && !isDirty(computed)) {\n computed.flags &= ~2;\n return;\n }\n const prevSub = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = computed;\n shouldTrack = true;\n try {\n prepareDeps(computed);\n const value = computed.fn(computed._value);\n if (dep.version === 0 || hasChanged(value, computed._value)) {\n computed._value = value;\n dep.version++;\n }\n } catch (err) {\n dep.version++;\n throw err;\n } finally {\n activeSub = prevSub;\n shouldTrack = prevShouldTrack;\n cleanupDeps(computed);\n computed.flags &= ~2;\n }\n}\nfunction removeSub(link, soft = false) {\n const { dep, prevSub, nextSub } = link;\n if (prevSub) {\n prevSub.nextSub = nextSub;\n link.prevSub = void 0;\n }\n if (nextSub) {\n nextSub.prevSub = prevSub;\n link.nextSub = void 0;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && dep.subsHead === link) {\n dep.subsHead = nextSub;\n }\n if (dep.subs === link) {\n dep.subs = prevSub;\n if (!prevSub && dep.computed) {\n dep.computed.flags &= ~4;\n for (let l = dep.computed.deps; l; l = l.nextDep) {\n removeSub(l, true);\n }\n }\n }\n if (!soft && !--dep.sc && dep.map) {\n dep.map.delete(dep.key);\n }\n}\nfunction removeDep(link) {\n const { prevDep, nextDep } = link;\n if (prevDep) {\n prevDep.nextDep = nextDep;\n link.prevDep = void 0;\n }\n if (nextDep) {\n nextDep.prevDep = prevDep;\n link.nextDep = void 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const e = new ReactiveEffect(fn);\n if (options) {\n extend(e, options);\n }\n try {\n e.run();\n } catch (err) {\n e.stop();\n throw err;\n }\n const runner = e.run.bind(e);\n runner.effect = e;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction onEffectCleanup(fn, failSilently = false) {\n if (activeSub instanceof ReactiveEffect) {\n activeSub.cleanup = fn;\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onEffectCleanup() was called when there was no active effect to associate with.`\n );\n }\n}\nfunction cleanupEffect(e) {\n const { cleanup } = e;\n e.cleanup = void 0;\n if (cleanup) {\n const prevSub = activeSub;\n activeSub = void 0;\n try {\n cleanup();\n } finally {\n activeSub = prevSub;\n }\n }\n}\n\nlet globalVersion = 0;\nclass Link {\n constructor(sub, dep) {\n this.sub = sub;\n this.dep = dep;\n this.version = dep.version;\n this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0;\n }\n}\nclass Dep {\n constructor(computed) {\n this.computed = computed;\n this.version = 0;\n /**\n * Link between this dep and the current active effect\n */\n this.activeLink = void 0;\n /**\n * Doubly linked list representing the subscribing effects (tail)\n */\n this.subs = void 0;\n /**\n * For object property deps cleanup\n */\n this.map = void 0;\n this.key = void 0;\n /**\n * Subscriber counter\n */\n this.sc = 0;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.subsHead = void 0;\n }\n }\n track(debugInfo) {\n if (!activeSub || !shouldTrack || activeSub === this.computed) {\n return;\n }\n let link = this.activeLink;\n if (link === void 0 || link.sub !== activeSub) {\n link = this.activeLink = new Link(activeSub, this);\n if (!activeSub.deps) {\n activeSub.deps = activeSub.depsTail = link;\n } else {\n link.prevDep = activeSub.depsTail;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n }\n addSub(link);\n } else if (link.version === -1) {\n link.version = this.version;\n if (link.nextDep) {\n const next = link.nextDep;\n next.prevDep = link.prevDep;\n if (link.prevDep) {\n link.prevDep.nextDep = next;\n }\n link.prevDep = activeSub.depsTail;\n link.nextDep = void 0;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n if (activeSub.deps === link) {\n activeSub.deps = next;\n }\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub.onTrack) {\n activeSub.onTrack(\n extend(\n {\n effect: activeSub\n },\n debugInfo\n )\n );\n }\n return link;\n }\n trigger(debugInfo) {\n this.version++;\n globalVersion++;\n this.notify(debugInfo);\n }\n notify(debugInfo) {\n startBatch();\n try {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n for (let head = this.subsHead; head; head = head.nextSub) {\n if (head.sub.onTrigger && !(head.sub.flags & 8)) {\n head.sub.onTrigger(\n extend(\n {\n effect: head.sub\n },\n debugInfo\n )\n );\n }\n }\n }\n for (let link = this.subs; link; link = link.prevSub) {\n if (link.sub.notify()) {\n ;\n link.sub.dep.notify();\n }\n }\n } finally {\n endBatch();\n }\n }\n}\nfunction addSub(link) {\n link.dep.sc++;\n if (link.sub.flags & 4) {\n const computed = link.dep.computed;\n if (computed && !link.dep.subs) {\n computed.flags |= 4 | 16;\n for (let l = computed.deps; l; l = l.nextDep) {\n addSub(l);\n }\n }\n const currentTail = link.dep.subs;\n if (currentTail !== link) {\n link.prevSub = currentTail;\n if (currentTail) currentTail.nextSub = link;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && link.dep.subsHead === void 0) {\n link.dep.subsHead = link;\n }\n link.dep.subs = link;\n }\n}\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Object iterate\" : \"\"\n);\nconst MAP_KEY_ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Map keys iterate\" : \"\"\n);\nconst ARRAY_ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Array iterate\" : \"\"\n);\nfunction track(target, type, key) {\n if (shouldTrack && activeSub) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = new Dep());\n dep.map = depsMap;\n dep.key = key;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.track({\n target,\n type,\n key\n });\n } else {\n dep.track();\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n globalVersion++;\n return;\n }\n const run = (dep) => {\n if (dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.trigger({\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n });\n } else {\n dep.trigger();\n }\n }\n };\n startBatch();\n if (type === \"clear\") {\n depsMap.forEach(run);\n } else {\n const targetIsArray = isArray(target);\n const isArrayIndex = targetIsArray && isIntegerKey(key);\n if (targetIsArray && key === \"length\") {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || key2 === ARRAY_ITERATE_KEY || !isSymbol(key2) && key2 >= newLength) {\n run(dep);\n }\n });\n } else {\n if (key !== void 0 || depsMap.has(void 0)) {\n run(depsMap.get(key));\n }\n if (isArrayIndex) {\n run(depsMap.get(ARRAY_ITERATE_KEY));\n }\n switch (type) {\n case \"add\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isArrayIndex) {\n run(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n run(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n }\n endBatch();\n}\nfunction getDepFromReactive(object, key) {\n const depMap = targetMap.get(object);\n return depMap && depMap.get(key);\n}\n\nfunction reactiveReadArray(array) {\n const raw = toRaw(array);\n if (raw === array) return raw;\n track(raw, \"iterate\", ARRAY_ITERATE_KEY);\n return isShallow(array) ? raw : raw.map(toReactive);\n}\nfunction shallowReadArray(arr) {\n track(arr = toRaw(arr), \"iterate\", ARRAY_ITERATE_KEY);\n return arr;\n}\nconst arrayInstrumentations = {\n __proto__: null,\n [Symbol.iterator]() {\n return iterator(this, Symbol.iterator, toReactive);\n },\n concat(...args) {\n return reactiveReadArray(this).concat(\n ...args.map((x) => isArray(x) ? reactiveReadArray(x) : x)\n );\n },\n entries() {\n return iterator(this, \"entries\", (value) => {\n value[1] = toReactive(value[1]);\n return value;\n });\n },\n every(fn, thisArg) {\n return apply(this, \"every\", fn, thisArg, void 0, arguments);\n },\n filter(fn, thisArg) {\n return apply(this, \"filter\", fn, thisArg, (v) => v.map(toReactive), arguments);\n },\n find(fn, thisArg) {\n return apply(this, \"find\", fn, thisArg, toReactive, arguments);\n },\n findIndex(fn, thisArg) {\n return apply(this, \"findIndex\", fn, thisArg, void 0, arguments);\n },\n findLast(fn, thisArg) {\n return apply(this, \"findLast\", fn, thisArg, toReactive, arguments);\n },\n findLastIndex(fn, thisArg) {\n return apply(this, \"findLastIndex\", fn, thisArg, void 0, arguments);\n },\n // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement\n forEach(fn, thisArg) {\n return apply(this, \"forEach\", fn, thisArg, void 0, arguments);\n },\n includes(...args) {\n return searchProxy(this, \"includes\", args);\n },\n indexOf(...args) {\n return searchProxy(this, \"indexOf\", args);\n },\n join(separator) {\n return reactiveReadArray(this).join(separator);\n },\n // keys() iterator only reads `length`, no optimisation required\n lastIndexOf(...args) {\n return searchProxy(this, \"lastIndexOf\", args);\n },\n map(fn, thisArg) {\n return apply(this, \"map\", fn, thisArg, void 0, arguments);\n },\n pop() {\n return noTracking(this, \"pop\");\n },\n push(...args) {\n return noTracking(this, \"push\", args);\n },\n reduce(fn, ...args) {\n return reduce(this, \"reduce\", fn, args);\n },\n reduceRight(fn, ...args) {\n return reduce(this, \"reduceRight\", fn, args);\n },\n shift() {\n return noTracking(this, \"shift\");\n },\n // slice could use ARRAY_ITERATE but also seems to beg for range tracking\n some(fn, thisArg) {\n return apply(this, \"some\", fn, thisArg, void 0, arguments);\n },\n splice(...args) {\n return noTracking(this, \"splice\", args);\n },\n toReversed() {\n return reactiveReadArray(this).toReversed();\n },\n toSorted(comparer) {\n return reactiveReadArray(this).toSorted(comparer);\n },\n toSpliced(...args) {\n return reactiveReadArray(this).toSpliced(...args);\n },\n unshift(...args) {\n return noTracking(this, \"unshift\", args);\n },\n values() {\n return iterator(this, \"values\", toReactive);\n }\n};\nfunction iterator(self, method, wrapValue) {\n const arr = shallowReadArray(self);\n const iter = arr[method]();\n if (arr !== self && !isShallow(self)) {\n iter._next = iter.next;\n iter.next = () => {\n const result = iter._next();\n if (result.value) {\n result.value = wrapValue(result.value);\n }\n return result;\n };\n }\n return iter;\n}\nconst arrayProto = Array.prototype;\nfunction apply(self, method, fn, thisArg, wrappedRetFn, args) {\n const arr = shallowReadArray(self);\n const needsWrap = arr !== self && !isShallow(self);\n const methodFn = arr[method];\n if (methodFn !== arrayProto[method]) {\n const result2 = methodFn.apply(self, args);\n return needsWrap ? toReactive(result2) : result2;\n }\n let wrappedFn = fn;\n if (arr !== self) {\n if (needsWrap) {\n wrappedFn = function(item, index) {\n return fn.call(this, toReactive(item), index, self);\n };\n } else if (fn.length > 2) {\n wrappedFn = function(item, index) {\n return fn.call(this, item, index, self);\n };\n }\n }\n const result = methodFn.call(arr, wrappedFn, thisArg);\n return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result;\n}\nfunction reduce(self, method, fn, args) {\n const arr = shallowReadArray(self);\n let wrappedFn = fn;\n if (arr !== self) {\n if (!isShallow(self)) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, toReactive(item), index, self);\n };\n } else if (fn.length > 3) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, item, index, self);\n };\n }\n }\n return arr[method](wrappedFn, ...args);\n}\nfunction searchProxy(self, method, args) {\n const arr = toRaw(self);\n track(arr, \"iterate\", ARRAY_ITERATE_KEY);\n const res = arr[method](...args);\n if ((res === -1 || res === false) && isProxy(args[0])) {\n args[0] = toRaw(args[0]);\n return arr[method](...args);\n }\n return res;\n}\nfunction noTracking(self, method, args = []) {\n pauseTracking();\n startBatch();\n const res = toRaw(self)[method].apply(self, args);\n endBatch();\n resetTracking();\n return res;\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nfunction hasOwnProperty(key) {\n if (!isSymbol(key)) key = String(key);\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _isShallow = false) {\n this._isReadonly = _isReadonly;\n this._isShallow = _isShallow;\n }\n get(target, key, receiver) {\n if (key === \"__v_skip\") return target[\"__v_skip\"];\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return isShallow2;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the receiver is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n let fn;\n if (targetIsArray && (fn = arrayInstrumentations[key])) {\n return fn;\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(\n target,\n key,\n // if this is a proxy wrapping a ref, return methods using the raw ref\n // as receiver so that we don't have to call `toRaw` on the ref in all\n // its class methods\n isRef(target) ? target : receiver\n );\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (isShallow2) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(false, isShallow2);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (!this._isShallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n return false;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(\n target,\n key,\n value,\n isRef(target) ? target : receiver\n );\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(true, isShallow2);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction createIterableMethod(method, isReadonly2, isShallow2) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;\n !isReadonly2 && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations(readonly, shallow) {\n const instrumentations = {\n get(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has } = getProto(rawTarget);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n if (has.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n },\n get size() {\n const target = this[\"__v_raw\"];\n !readonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n },\n has(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n },\n forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n !readonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n }\n };\n extend(\n instrumentations,\n readonly ? {\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\")\n } : {\n add(value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n },\n set(key, value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n },\n delete(key) {\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get ? get.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n },\n clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(\n target,\n \"clear\",\n void 0,\n void 0,\n oldTarget\n );\n }\n return result;\n }\n }\n );\n const iteratorMethods = [\n \"keys\",\n \"values\",\n \"entries\",\n Symbol.iterator\n ];\n iteratorMethods.forEach((method) => {\n instrumentations[method] = createIterableMethod(method, readonly, shallow);\n });\n return instrumentations;\n}\nfunction createInstrumentationGetter(isReadonly2, shallow) {\n const instrumentations = createInstrumentations(isReadonly2, shallow);\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has.call(target, rawKey)) {\n const type = toRawType(target);\n warn(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `value cannot be made ${isReadonly2 ? \"readonly\" : \"reactive\"}: ${String(\n target\n )}`\n );\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return value ? !!value[\"__v_raw\"] : false;\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (!hasOwn(value, \"__v_skip\") && Object.isExtensible(value)) {\n def(value, \"__v_skip\", true);\n }\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction isRef(r) {\n return r ? r[\"__v_isRef\"] === true : false;\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, isShallow2) {\n this.dep = new Dep();\n this[\"__v_isRef\"] = true;\n this[\"__v_isShallow\"] = false;\n this._rawValue = isShallow2 ? value : toRaw(value);\n this._value = isShallow2 ? value : toReactive(value);\n this[\"__v_isShallow\"] = isShallow2;\n }\n get value() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n });\n } else {\n this.dep.track();\n }\n return this._value;\n }\n set value(newValue) {\n const oldValue = this._rawValue;\n const useDirectValue = this[\"__v_isShallow\"] || isShallow(newValue) || isReadonly(newValue);\n newValue = useDirectValue ? newValue : toRaw(newValue);\n if (hasChanged(newValue, oldValue)) {\n this._rawValue = newValue;\n this._value = useDirectValue ? newValue : toReactive(newValue);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.trigger({\n target: this,\n type: \"set\",\n key: \"value\",\n newValue,\n oldValue\n });\n } else {\n this.dep.trigger();\n }\n }\n }\n}\nfunction triggerRef(ref2) {\n if (ref2.dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n ref2.dep.trigger({\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: ref2._value\n });\n } else {\n ref2.dep.trigger();\n }\n }\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => key === \"__v_raw\" ? target : unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n const dep = this.dep = new Dep();\n const { get, set } = factory(dep.track.bind(dep), dep.trigger.bind(dep));\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._value = this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n }\n get value() {\n const val = this._object[this._key];\n return this._value = val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this[\"__v_isRef\"] = true;\n this[\"__v_isReadonly\"] = true;\n this._value = void 0;\n }\n get value() {\n return this._value = this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\n}\n\nclass ComputedRefImpl {\n constructor(fn, setter, isSSR) {\n this.fn = fn;\n this.setter = setter;\n /**\n * @internal\n */\n this._value = void 0;\n /**\n * @internal\n */\n this.dep = new Dep(this);\n /**\n * @internal\n */\n this.__v_isRef = true;\n // TODO isolatedDeclarations \"__v_isReadonly\"\n // A computed is also a subscriber that tracks other deps\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 16;\n /**\n * @internal\n */\n this.globalVersion = globalVersion - 1;\n /**\n * @internal\n */\n this.next = void 0;\n // for backwards compat\n this.effect = this;\n this[\"__v_isReadonly\"] = !setter;\n this.isSSR = isSSR;\n }\n /**\n * @internal\n */\n notify() {\n this.flags |= 16;\n if (!(this.flags & 8) && // avoid infinite self recursion\n activeSub !== this) {\n batch(this, true);\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\")) ;\n }\n get value() {\n const link = !!(process.env.NODE_ENV !== \"production\") ? this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n }) : this.dep.track();\n refreshComputed(this);\n if (link) {\n link.version = this.dep.version;\n }\n return this._value;\n }\n set value(newValue) {\n if (this.setter) {\n this.setter(newValue);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\"Write operation failed: computed value is readonly\");\n }\n }\n}\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n if (isFunction(getterOrOptions)) {\n getter = getterOrOptions;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.onTrack = debugOptions.onTrack;\n cRef.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nconst TrackOpTypes = {\n \"GET\": \"get\",\n \"HAS\": \"has\",\n \"ITERATE\": \"iterate\"\n};\nconst TriggerOpTypes = {\n \"SET\": \"set\",\n \"ADD\": \"add\",\n \"DELETE\": \"delete\",\n \"CLEAR\": \"clear\"\n};\nconst ReactiveFlags = {\n \"SKIP\": \"__v_skip\",\n \"IS_REACTIVE\": \"__v_isReactive\",\n \"IS_READONLY\": \"__v_isReadonly\",\n \"IS_SHALLOW\": \"__v_isShallow\",\n \"RAW\": \"__v_raw\",\n \"IS_REF\": \"__v_isRef\"\n};\n\nconst WatchErrorCodes = {\n \"WATCH_GETTER\": 2,\n \"2\": \"WATCH_GETTER\",\n \"WATCH_CALLBACK\": 3,\n \"3\": \"WATCH_CALLBACK\",\n \"WATCH_CLEANUP\": 4,\n \"4\": \"WATCH_CLEANUP\"\n};\nconst INITIAL_WATCHER_VALUE = {};\nconst cleanupMap = /* @__PURE__ */ new WeakMap();\nlet activeWatcher = void 0;\nfunction getCurrentWatcher() {\n return activeWatcher;\n}\nfunction onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) {\n if (owner) {\n let cleanups = cleanupMap.get(owner);\n if (!cleanups) cleanupMap.set(owner, cleanups = []);\n cleanups.push(cleanupFn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onWatcherCleanup() was called when there was no active watcher to associate with.`\n );\n }\n}\nfunction watch(source, cb, options = EMPTY_OBJ) {\n const { immediate, deep, once, scheduler, augmentJob, call } = options;\n const warnInvalidSource = (s) => {\n (options.onWarn || warn)(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const reactiveGetter = (source2) => {\n if (deep) return source2;\n if (isShallow(source2) || deep === false || deep === 0)\n return traverse(source2, 1);\n return traverse(source2);\n };\n let effect;\n let getter;\n let cleanup;\n let boundCleanup;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow(source);\n } else if (isReactive(source)) {\n getter = () => reactiveGetter(source);\n forceTrigger = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return reactiveGetter(s);\n } else if (isFunction(s)) {\n return call ? call(s, 2) : s();\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = call ? () => call(source, 2) : source;\n } else {\n getter = () => {\n if (cleanup) {\n pauseTracking();\n try {\n cleanup();\n } finally {\n resetTracking();\n }\n }\n const currentEffect = activeWatcher;\n activeWatcher = effect;\n try {\n return call ? call(source, 3, [boundCleanup]) : source(boundCleanup);\n } finally {\n activeWatcher = currentEffect;\n }\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n const depth = deep === true ? Infinity : deep;\n getter = () => traverse(baseGetter(), depth);\n }\n const scope = getCurrentScope();\n const watchHandle = () => {\n effect.stop();\n if (scope && scope.active) {\n remove(scope.effects, effect);\n }\n };\n if (once && cb) {\n const _cb = cb;\n cb = (...args) => {\n _cb(...args);\n watchHandle();\n };\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = (immediateFirstRun) => {\n if (!(effect.flags & 1) || !effect.dirty && !immediateFirstRun) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) {\n if (cleanup) {\n cleanup();\n }\n const currentWatcher = activeWatcher;\n activeWatcher = effect;\n try {\n const args = [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n boundCleanup\n ];\n call ? call(cb, 3, args) : (\n // @ts-expect-error\n cb(...args)\n );\n oldValue = newValue;\n } finally {\n activeWatcher = currentWatcher;\n }\n }\n } else {\n effect.run();\n }\n };\n if (augmentJob) {\n augmentJob(job);\n }\n effect = new ReactiveEffect(getter);\n effect.scheduler = scheduler ? () => scheduler(job, false) : job;\n boundCleanup = (fn) => onWatcherCleanup(fn, false, effect);\n cleanup = effect.onStop = () => {\n const cleanups = cleanupMap.get(effect);\n if (cleanups) {\n if (call) {\n call(cleanups, 4);\n } else {\n for (const cleanup2 of cleanups) cleanup2();\n }\n cleanupMap.delete(effect);\n }\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = options.onTrack;\n effect.onTrigger = options.onTrigger;\n }\n if (cb) {\n if (immediate) {\n job(true);\n } else {\n oldValue = effect.run();\n }\n } else if (scheduler) {\n scheduler(job.bind(null, true), true);\n } else {\n effect.run();\n }\n watchHandle.pause = effect.pause.bind(effect);\n watchHandle.resume = effect.resume.bind(effect);\n watchHandle.stop = watchHandle;\n return watchHandle;\n}\nfunction traverse(value, depth = Infinity, seen) {\n if (depth <= 0 || !isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n depth--;\n if (isRef(value)) {\n traverse(value.value, depth, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, seen);\n }\n for (const key of Object.getOwnPropertySymbols(value)) {\n if (Object.prototype.propertyIsEnumerable.call(value, key)) {\n traverse(value[key], depth, seen);\n }\n }\n }\n return value;\n}\n\nexport { ARRAY_ITERATE_KEY, EffectFlags, EffectScope, ITERATE_KEY, MAP_KEY_ITERATE_KEY, ReactiveEffect, ReactiveFlags, TrackOpTypes, TriggerOpTypes, WatchErrorCodes, computed, customRef, effect, effectScope, enableTracking, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onEffectCleanup, onScopeDispose, onWatcherCleanup, pauseTracking, proxyRefs, reactive, reactiveReadArray, readonly, ref, resetTracking, shallowReactive, shallowReadArray, shallowReadonly, shallowRef, stop, toRaw, toReactive, toReadonly, toRef, toRefs, toValue, track, traverse, trigger, triggerRef, unref, watch };\n","/**\n* @vue/runtime-core v3.5.13\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { pauseTracking, resetTracking, isRef, toRaw, traverse, shallowRef, readonly, isReactive, ref, isShallow, shallowReadArray, toReactive, shallowReadonly, track, reactive, shallowReactive, trigger, ReactiveEffect, watch as watch$1, customRef, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, TrackOpTypes, TriggerOpTypes, customRef, effect, effectScope, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, onWatcherCleanup, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, EMPTY_OBJ, NOOP, getGlobalThis, extend, isBuiltInDirective, hasOwn, remove, def, isOn, isReservedProp, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr, isRenderableAttrValue, getEscapedCssVarName, isObject, isRegExp, invokeArrayFns, toHandlerKey, capitalize, camelize, isSymbol, isGloballyAllowed, NO, hyphenate, EMPTY_ARR, toRawType, makeMap, hasChanged, looseToNumber, isModelListener, toNumber } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nlet isWarning = false;\nfunction warn$1(msg, ...args) {\n if (isWarning) return;\n isWarning = true;\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n // eslint-disable-next-line no-restricted-syntax\n msg + args.map((a) => {\n var _a, _b;\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\n }).join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n isWarning = false;\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\nfunction assertNumber(val, type) {\n if (!!!(process.env.NODE_ENV !== \"production\")) return;\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn$1(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorCodes = {\n \"SETUP_FUNCTION\": 0,\n \"0\": \"SETUP_FUNCTION\",\n \"RENDER_FUNCTION\": 1,\n \"1\": \"RENDER_FUNCTION\",\n \"NATIVE_EVENT_HANDLER\": 5,\n \"5\": \"NATIVE_EVENT_HANDLER\",\n \"COMPONENT_EVENT_HANDLER\": 6,\n \"6\": \"COMPONENT_EVENT_HANDLER\",\n \"VNODE_HOOK\": 7,\n \"7\": \"VNODE_HOOK\",\n \"DIRECTIVE_HOOK\": 8,\n \"8\": \"DIRECTIVE_HOOK\",\n \"TRANSITION_HOOK\": 9,\n \"9\": \"TRANSITION_HOOK\",\n \"APP_ERROR_HANDLER\": 10,\n \"10\": \"APP_ERROR_HANDLER\",\n \"APP_WARN_HANDLER\": 11,\n \"11\": \"APP_WARN_HANDLER\",\n \"FUNCTION_REF\": 12,\n \"12\": \"FUNCTION_REF\",\n \"ASYNC_COMPONENT_LOADER\": 13,\n \"13\": \"ASYNC_COMPONENT_LOADER\",\n \"SCHEDULER\": 14,\n \"14\": \"SCHEDULER\",\n \"COMPONENT_UPDATE\": 15,\n \"15\": \"COMPONENT_UPDATE\",\n \"APP_UNMOUNT_CLEANUP\": 16,\n \"16\": \"APP_UNMOUNT_CLEANUP\"\n};\nconst ErrorTypeStrings$1 = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush\",\n [15]: \"component update\",\n [16]: \"app unmount cleanup function\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n try {\n return args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n if (isArray(fn)) {\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}`\n );\n }\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || EMPTY_OBJ;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings$1[type] : `https://vuejs.org/error-reference/#runtime-${type}`;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n if (errorHandler) {\n pauseTracking();\n callWithErrorHandling(errorHandler, null, 10, [\n err,\n exposedInstance,\n errorInfo\n ]);\n resetTracking();\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction);\n}\nfunction logError(err, type, contextVNode, throwInDev = true, throwInProd = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings$1[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n throw err;\n } else {\n console.error(err);\n }\n } else if (throwInProd) {\n throw err;\n } else {\n console.error(err);\n }\n}\n\nconst queue = [];\nlet flushIndex = -1;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.flags & 2) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!(job.flags & 1)) {\n const jobId = getId(job);\n const lastJob = queue[queue.length - 1];\n if (!lastJob || // fast path when the job id is larger than the tail\n !(job.flags & 2) && jobId >= getId(lastJob)) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(jobId), 0, job);\n }\n job.flags |= 1;\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!currentFlushPromise) {\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (activePostFlushCbs && cb.id === -1) {\n activePostFlushCbs.splice(postFlushIndex + 1, 0, cb);\n } else if (!(cb.flags & 1)) {\n pendingPostFlushCbs.push(cb);\n cb.flags |= 1;\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, seen, i = flushIndex + 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.flags & 2) {\n if (instance && cb.id !== instance.uid) {\n continue;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n if (cb.flags & 4) {\n cb.flags &= ~1;\n }\n cb();\n if (!(cb.flags & 4)) {\n cb.flags &= ~1;\n }\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)].sort(\n (a, b) => getId(a) - getId(b)\n );\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n const cb = activePostFlushCbs[postFlushIndex];\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n if (cb.flags & 4) {\n cb.flags &= ~1;\n }\n if (!(cb.flags & 8)) cb();\n cb.flags &= ~1;\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id;\nfunction flushJobs(seen) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && !(job.flags & 8)) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n if (job.flags & 4) {\n job.flags &= ~1;\n }\n callWithErrorHandling(\n job,\n job.i,\n job.i ? 15 : 14\n );\n if (!(job.flags & 4)) {\n job.flags &= ~1;\n }\n }\n }\n } finally {\n for (; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job) {\n job.flags &= ~1;\n }\n }\n flushIndex = -1;\n queue.length = 0;\n flushPostFlushCbs(seen);\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n const count = seen.get(fn) || 0;\n if (count > RECURSION_LIMIT) {\n const instance = fn.i;\n const componentName = instance && getComponentName(instance.type);\n handleError(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,\n null,\n 10\n );\n return true;\n }\n seen.set(fn, count + 1);\n return false;\n}\n\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = /* @__PURE__ */ new Map();\nif (!!(process.env.NODE_ENV !== \"production\")) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = /* @__PURE__ */ new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: /* @__PURE__ */ new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n record.initialDef.render = newRender;\n [...record.instances].forEach((instance) => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n isHmrUpdating = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record) return;\n newComp = normalizeClassComponent(newComp);\n updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (let i = 0; i < instances.length; i++) {\n const instance = instances[i];\n const oldComp = normalizeClassComponent(instance.type);\n let dirtyInstances = hmrDirtyComponents.get(oldComp);\n if (!dirtyInstances) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.set(oldComp, dirtyInstances = /* @__PURE__ */ new Set());\n }\n dirtyInstances.add(instance);\n instance.appContext.propsCache.delete(instance.type);\n instance.appContext.emitsCache.delete(instance.type);\n instance.appContext.optionsCache.delete(instance.type);\n if (instance.ceReload) {\n dirtyInstances.add(instance);\n instance.ceReload(newComp.styles);\n dirtyInstances.delete(instance);\n } else if (instance.parent) {\n queueJob(() => {\n isHmrUpdating = true;\n instance.parent.update();\n isHmrUpdating = false;\n dirtyInstances.delete(instance);\n });\n } else if (instance.appContext.reload) {\n instance.appContext.reload();\n } else if (typeof window !== \"undefined\") {\n window.location.reload();\n } else {\n console.warn(\n \"[HMR] Root or manually mounted instance modified. Full reload required.\"\n );\n }\n if (instance.root.ce && instance !== instance.root) {\n instance.root.ce._removeChildStyle(oldComp);\n }\n }\n queuePostFlushCb(() => {\n hmrDirtyComponents.clear();\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== \"__file\" && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n } catch (e) {\n console.error(e);\n console.warn(\n `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`\n );\n }\n };\n}\n\nlet devtools$1;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools$1) {\n devtools$1.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook$1(hook, target) {\n var _a, _b;\n devtools$1 = hook;\n if (devtools$1) {\n devtools$1.enabled = true;\n buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n // eslint-disable-next-line no-restricted-syntax\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook$1(newHook, target);\n });\n setTimeout(() => {\n if (!devtools$1) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools$1 && typeof devtools$1.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools$1.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n component.parent ? component.parent.uid : void 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:start\" /* PERFORMANCE_START */);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:end\" /* PERFORMANCE_END */);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\nfunction popScopeId() {\n currentScopeId = null;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx) return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n if (currentRenderingInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getComponentPublicInstance(currentRenderingInstance);\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n pauseTracking();\n callWithAsyncErrorHandling(hook, instance, 8, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n resetTracking();\n }\n }\n}\n\nconst TeleportEndKey = Symbol(\"_vte\");\nconst isTeleport = (type) => type.__isTeleport;\nconst isTeleportDisabled = (props) => props && (props.disabled || props.disabled === \"\");\nconst isTeleportDeferred = (props) => props && (props.defer || props.defer === \"\");\nconst isTargetSVG = (target) => typeof SVGElement !== \"undefined\" && target instanceof SVGElement;\nconst isTargetMathML = (target) => typeof MathMLElement === \"function\" && target instanceof MathMLElement;\nconst resolveTarget = (props, select) => {\n const targetSelector = props && props.to;\n if (isString(targetSelector)) {\n if (!select) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Current renderer does not support string target for Teleports. (missing querySelector renderer option)`\n );\n return null;\n } else {\n const target = select(targetSelector);\n if (!!(process.env.NODE_ENV !== \"production\") && !target && !isTeleportDisabled(props)) {\n warn$1(\n `Failed to locate Teleport target with selector \"${targetSelector}\". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`\n );\n }\n return target;\n }\n } else {\n if (!!(process.env.NODE_ENV !== \"production\") && !targetSelector && !isTeleportDisabled(props)) {\n warn$1(`Invalid Teleport target: ${targetSelector}`);\n }\n return targetSelector;\n }\n};\nconst TeleportImpl = {\n name: \"Teleport\",\n __isTeleport: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) {\n const {\n mc: mountChildren,\n pc: patchChildren,\n pbc: patchBlockChildren,\n o: { insert, querySelector, createText, createComment }\n } = internals;\n const disabled = isTeleportDisabled(n2.props);\n let { shapeFlag, children, dynamicChildren } = n2;\n if (!!(process.env.NODE_ENV !== \"production\") && isHmrUpdating) {\n optimized = false;\n dynamicChildren = null;\n }\n if (n1 == null) {\n const placeholder = n2.el = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport start\") : createText(\"\");\n const mainAnchor = n2.anchor = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport end\") : createText(\"\");\n insert(placeholder, container, anchor);\n insert(mainAnchor, container, anchor);\n const mount = (container2, anchor2) => {\n if (shapeFlag & 16) {\n if (parentComponent && parentComponent.isCE) {\n parentComponent.ce._teleportTarget = container2;\n }\n mountChildren(\n children,\n container2,\n anchor2,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n };\n const mountToTarget = () => {\n const target = n2.target = resolveTarget(n2.props, querySelector);\n const targetAnchor = prepareAnchor(target, n2, createText, insert);\n if (target) {\n if (namespace !== \"svg\" && isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace !== \"mathml\" && isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (!disabled) {\n mount(target, targetAnchor);\n updateCssVars(n2, false);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && !disabled) {\n warn$1(\n \"Invalid Teleport target on mount:\",\n target,\n `(${typeof target})`\n );\n }\n };\n if (disabled) {\n mount(container, mainAnchor);\n updateCssVars(n2, true);\n }\n if (isTeleportDeferred(n2.props)) {\n queuePostRenderEffect(() => {\n mountToTarget();\n n2.el.__isMounted = true;\n }, parentSuspense);\n } else {\n mountToTarget();\n }\n } else {\n if (isTeleportDeferred(n2.props) && !n1.el.__isMounted) {\n queuePostRenderEffect(() => {\n TeleportImpl.process(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n internals\n );\n delete n1.el.__isMounted;\n }, parentSuspense);\n return;\n }\n n2.el = n1.el;\n n2.targetStart = n1.targetStart;\n const mainAnchor = n2.anchor = n1.anchor;\n const target = n2.target = n1.target;\n const targetAnchor = n2.targetAnchor = n1.targetAnchor;\n const wasDisabled = isTeleportDisabled(n1.props);\n const currentContainer = wasDisabled ? container : target;\n const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;\n if (namespace === \"svg\" || isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace === \"mathml\" || isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (dynamicChildren) {\n patchBlockChildren(\n n1.dynamicChildren,\n dynamicChildren,\n currentContainer,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds\n );\n traverseStaticChildren(n1, n2, true);\n } else if (!optimized) {\n patchChildren(\n n1,\n n2,\n currentContainer,\n currentAnchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n false\n );\n }\n if (disabled) {\n if (!wasDisabled) {\n moveTeleport(\n n2,\n container,\n mainAnchor,\n internals,\n 1\n );\n } else {\n if (n2.props && n1.props && n2.props.to !== n1.props.to) {\n n2.props.to = n1.props.to;\n }\n }\n } else {\n if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {\n const nextTarget = n2.target = resolveTarget(\n n2.props,\n querySelector\n );\n if (nextTarget) {\n moveTeleport(\n n2,\n nextTarget,\n null,\n internals,\n 0\n );\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n \"Invalid Teleport target on update:\",\n target,\n `(${typeof target})`\n );\n }\n } else if (wasDisabled) {\n moveTeleport(\n n2,\n target,\n targetAnchor,\n internals,\n 1\n );\n }\n }\n updateCssVars(n2, disabled);\n }\n },\n remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {\n const {\n shapeFlag,\n children,\n anchor,\n targetStart,\n targetAnchor,\n target,\n props\n } = vnode;\n if (target) {\n hostRemove(targetStart);\n hostRemove(targetAnchor);\n }\n doRemove && hostRemove(anchor);\n if (shapeFlag & 16) {\n const shouldRemove = doRemove || !isTeleportDisabled(props);\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n unmount(\n child,\n parentComponent,\n parentSuspense,\n shouldRemove,\n !!child.dynamicChildren\n );\n }\n }\n },\n move: moveTeleport,\n hydrate: hydrateTeleport\n};\nfunction moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) {\n if (moveType === 0) {\n insert(vnode.targetAnchor, container, parentAnchor);\n }\n const { el, anchor, shapeFlag, children, props } = vnode;\n const isReorder = moveType === 2;\n if (isReorder) {\n insert(el, container, parentAnchor);\n }\n if (!isReorder || isTeleportDisabled(props)) {\n if (shapeFlag & 16) {\n for (let i = 0; i < children.length; i++) {\n move(\n children[i],\n container,\n parentAnchor,\n 2\n );\n }\n }\n }\n if (isReorder) {\n insert(anchor, container, parentAnchor);\n }\n}\nfunction hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {\n o: { nextSibling, parentNode, querySelector, insert, createText }\n}, hydrateChildren) {\n const target = vnode.target = resolveTarget(\n vnode.props,\n querySelector\n );\n if (target) {\n const disabled = isTeleportDisabled(vnode.props);\n const targetNode = target._lpa || target.firstChild;\n if (vnode.shapeFlag & 16) {\n if (disabled) {\n vnode.anchor = hydrateChildren(\n nextSibling(node),\n vnode,\n parentNode(node),\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n vnode.targetStart = targetNode;\n vnode.targetAnchor = targetNode && nextSibling(targetNode);\n } else {\n vnode.anchor = nextSibling(node);\n let targetAnchor = targetNode;\n while (targetAnchor) {\n if (targetAnchor && targetAnchor.nodeType === 8) {\n if (targetAnchor.data === \"teleport start anchor\") {\n vnode.targetStart = targetAnchor;\n } else if (targetAnchor.data === \"teleport anchor\") {\n vnode.targetAnchor = targetAnchor;\n target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);\n break;\n }\n }\n targetAnchor = nextSibling(targetAnchor);\n }\n if (!vnode.targetAnchor) {\n prepareAnchor(target, vnode, createText, insert);\n }\n hydrateChildren(\n targetNode && nextSibling(targetNode),\n vnode,\n target,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n }\n updateCssVars(vnode, disabled);\n }\n return vnode.anchor && nextSibling(vnode.anchor);\n}\nconst Teleport = TeleportImpl;\nfunction updateCssVars(vnode, isDisabled) {\n const ctx = vnode.ctx;\n if (ctx && ctx.ut) {\n let node, anchor;\n if (isDisabled) {\n node = vnode.el;\n anchor = vnode.anchor;\n } else {\n node = vnode.targetStart;\n anchor = vnode.targetAnchor;\n }\n while (node && node !== anchor) {\n if (node.nodeType === 1) node.setAttribute(\"data-v-owner\", ctx.uid);\n node = node.nextSibling;\n }\n ctx.ut();\n }\n}\nfunction prepareAnchor(target, vnode, createText, insert) {\n const targetStart = vnode.targetStart = createText(\"\");\n const targetAnchor = vnode.targetAnchor = createText(\"\");\n targetStart[TeleportEndKey] = targetAnchor;\n if (target) {\n insert(targetStart, target);\n insert(targetAnchor, target);\n }\n return targetAnchor;\n}\n\nconst leaveCbKey = Symbol(\"_leaveCb\");\nconst enterCbKey = Symbol(\"_enterCb\");\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: /* @__PURE__ */ new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionPropsValidators = {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n};\nconst recursiveGetSubtree = (instance) => {\n const subTree = instance.subTree;\n return subTree.component ? recursiveGetSubtree(subTree.component) : subTree;\n};\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: BaseTransitionPropsValidators,\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n const child = findNonCommentChild(children);\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n if (!!(process.env.NODE_ENV !== \"production\") && mode && mode !== \"in-out\" && mode !== \"out-in\" && mode !== \"default\") {\n warn$1(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n const innerChild = getInnerChild$1(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n let enterHooks = resolveTransitionHooks(\n innerChild,\n rawProps,\n state,\n instance,\n // #11061, ensure enterHooks is fresh after clone\n (hooks) => enterHooks = hooks\n );\n if (innerChild.type !== Comment) {\n setTransitionHooks(innerChild, enterHooks);\n }\n let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);\n if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) {\n let leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\" && innerChild.type !== Comment) {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (!(instance.job.flags & 8)) {\n instance.update();\n }\n delete leavingHooks.afterLeave;\n oldInnerChild = void 0;\n };\n return emptyPlaceholder(child);\n } else if (mode === \"in-out\" && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(\n state,\n oldInnerChild\n );\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n el[leaveCbKey] = () => {\n earlyRemove();\n el[leaveCbKey] = void 0;\n delete enterHooks.delayedLeave;\n oldInnerChild = void 0;\n };\n enterHooks.delayedLeave = () => {\n delayedLeave();\n delete enterHooks.delayedLeave;\n oldInnerChild = void 0;\n };\n };\n } else {\n oldInnerChild = void 0;\n }\n } else if (oldInnerChild) {\n oldInnerChild = void 0;\n }\n return child;\n };\n }\n};\nfunction findNonCommentChild(children) {\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n for (const c of children) {\n if (c.type !== Comment) {\n if (!!(process.env.NODE_ENV !== \"production\") && hasFound) {\n warn$1(\n \" can only be used on a single element or component. Use for lists.\"\n );\n break;\n }\n child = c;\n hasFound = true;\n if (!!!(process.env.NODE_ENV !== \"production\")) break;\n }\n }\n }\n return child;\n}\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = /* @__PURE__ */ Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\nfunction resolveTransitionHooks(vnode, props, state, instance, postClone) {\n const {\n appear,\n mode,\n persisted = false,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onEnterCancelled,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n onLeaveCancelled,\n onBeforeAppear,\n onAppear,\n onAfterAppear,\n onAppearCancelled\n } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook && callWithAsyncErrorHandling(\n hook,\n instance,\n 9,\n args\n );\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every((hook2) => hook2.length <= 1)) done();\n } else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n } else {\n return;\n }\n }\n if (el[leaveCbKey]) {\n el[leaveCbKey](\n true\n /* cancelled */\n );\n }\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {\n leavingVNode.el[leaveCbKey]();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n } else {\n return;\n }\n }\n let called = false;\n const done = el[enterCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n } else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el[enterCbKey] = void 0;\n };\n if (hook) {\n callAsyncHook(hook, [el, done]);\n } else {\n done();\n }\n },\n leave(el, remove) {\n const key2 = String(vnode.key);\n if (el[enterCbKey]) {\n el[enterCbKey](\n true\n /* cancelled */\n );\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = el[leaveCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n } else {\n callHook(onAfterLeave, [el]);\n }\n el[leaveCbKey] = void 0;\n if (leavingVNodesCache[key2] === vnode) {\n delete leavingVNodesCache[key2];\n }\n };\n leavingVNodesCache[key2] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n } else {\n done();\n }\n },\n clone(vnode2) {\n const hooks2 = resolveTransitionHooks(\n vnode2,\n props,\n state,\n instance,\n postClone\n );\n if (postClone) postClone(hooks2);\n return hooks2;\n }\n };\n return hooks;\n}\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getInnerChild$1(vnode) {\n if (!isKeepAlive(vnode)) {\n if (isTeleport(vnode.type) && vnode.children) {\n return findNonCommentChild(vnode.children);\n }\n return vnode;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && vnode.component) {\n return vnode.component.subTree;\n }\n const { shapeFlag, children } = vnode;\n if (children) {\n if (shapeFlag & 16) {\n return children[0];\n }\n if (shapeFlag & 32 && isFunction(children.default)) {\n return children.default();\n }\n }\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 && vnode.component) {\n vnode.transition = hooks;\n setTransitionHooks(vnode.component.subTree, hooks);\n } else if (vnode.shapeFlag & 128) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n } else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);\n if (child.type === Fragment) {\n if (child.patchFlag & 128) keyedFragmentCount++;\n ret = ret.concat(\n getTransitionRawChildren(child.children, keepComment, key)\n );\n } else if (keepComment || child.type !== Comment) {\n ret.push(key != null ? cloneVNode(child, { key }) : child);\n }\n }\n if (keyedFragmentCount > 1) {\n for (let i = 0; i < ret.length; i++) {\n ret[i].patchFlag = -2;\n }\n }\n return ret;\n}\n\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8236: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nfunction useId() {\n const i = getCurrentInstance();\n if (i) {\n return (i.appContext.config.idPrefix || \"v\") + \"-\" + i.ids[0] + i.ids[1]++;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useId() is called when there is no active component instance to be associated with.`\n );\n }\n return \"\";\n}\nfunction markAsyncBoundary(instance) {\n instance.ids = [instance.ids[0] + instance.ids[2]++ + \"-\", 0, 0];\n}\n\nconst knownTemplateRefs = /* @__PURE__ */ new WeakSet();\nfunction useTemplateRef(key) {\n const i = getCurrentInstance();\n const r = shallowRef(null);\n if (i) {\n const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;\n let desc;\n if (!!(process.env.NODE_ENV !== \"production\") && (desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) {\n warn$1(`useTemplateRef('${key}') already exists.`);\n } else {\n Object.defineProperty(refs, key, {\n enumerable: true,\n get: () => r.value,\n set: (val) => r.value = val\n });\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useTemplateRef() is called when there is no active component instance to be associated with.`\n );\n }\n const ret = !!(process.env.NODE_ENV !== \"production\") ? readonly(r) : r;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n knownTemplateRefs.add(ret);\n }\n return ret;\n}\n\nfunction setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {\n if (isArray(rawRef)) {\n rawRef.forEach(\n (r, i) => setRef(\n r,\n oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef),\n parentSuspense,\n vnode,\n isUnmount\n )\n );\n return;\n }\n if (isAsyncWrapper(vnode) && !isUnmount) {\n if (vnode.shapeFlag & 512 && vnode.type.__asyncResolved && vnode.component.subTree.component) {\n setRef(rawRef, oldRawRef, parentSuspense, vnode.component.subTree);\n }\n return;\n }\n const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el;\n const value = isUnmount ? null : refValue;\n const { i: owner, r: ref } = rawRef;\n if (!!(process.env.NODE_ENV !== \"production\") && !owner) {\n warn$1(\n `Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`\n );\n return;\n }\n const oldRef = oldRawRef && oldRawRef.r;\n const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;\n const setupState = owner.setupState;\n const rawSetupState = toRaw(setupState);\n const canSetSetupRef = setupState === EMPTY_OBJ ? () => false : (key) => {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (hasOwn(rawSetupState, key) && !isRef(rawSetupState[key])) {\n warn$1(\n `Template ref \"${key}\" used on a non-ref value. It will not work in the production build.`\n );\n }\n if (knownTemplateRefs.has(rawSetupState[key])) {\n return false;\n }\n }\n return hasOwn(rawSetupState, key);\n };\n if (oldRef != null && oldRef !== ref) {\n if (isString(oldRef)) {\n refs[oldRef] = null;\n if (canSetSetupRef(oldRef)) {\n setupState[oldRef] = null;\n }\n } else if (isRef(oldRef)) {\n oldRef.value = null;\n }\n }\n if (isFunction(ref)) {\n callWithErrorHandling(ref, owner, 12, [value, refs]);\n } else {\n const _isString = isString(ref);\n const _isRef = isRef(ref);\n if (_isString || _isRef) {\n const doSet = () => {\n if (rawRef.f) {\n const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : ref.value;\n if (isUnmount) {\n isArray(existing) && remove(existing, refValue);\n } else {\n if (!isArray(existing)) {\n if (_isString) {\n refs[ref] = [refValue];\n if (canSetSetupRef(ref)) {\n setupState[ref] = refs[ref];\n }\n } else {\n ref.value = [refValue];\n if (rawRef.k) refs[rawRef.k] = ref.value;\n }\n } else if (!existing.includes(refValue)) {\n existing.push(refValue);\n }\n }\n } else if (_isString) {\n refs[ref] = value;\n if (canSetSetupRef(ref)) {\n setupState[ref] = value;\n }\n } else if (_isRef) {\n ref.value = value;\n if (rawRef.k) refs[rawRef.k] = value;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n };\n if (value) {\n doSet.id = -1;\n queuePostRenderEffect(doSet, parentSuspense);\n } else {\n doSet();\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n }\n}\n\nlet hasLoggedMismatchError = false;\nconst logMismatchError = () => {\n if (hasLoggedMismatchError) {\n return;\n }\n console.error(\"Hydration completed but contains mismatches.\");\n hasLoggedMismatchError = true;\n};\nconst isSVGContainer = (container) => container.namespaceURI.includes(\"svg\") && container.tagName !== \"foreignObject\";\nconst isMathMLContainer = (container) => container.namespaceURI.includes(\"MathML\");\nconst getContainerType = (container) => {\n if (container.nodeType !== 1) return void 0;\n if (isSVGContainer(container)) return \"svg\";\n if (isMathMLContainer(container)) return \"mathml\";\n return void 0;\n};\nconst isComment = (node) => node.nodeType === 8;\nfunction createHydrationFunctions(rendererInternals) {\n const {\n mt: mountComponent,\n p: patch,\n o: {\n patchProp,\n createText,\n nextSibling,\n parentNode,\n remove,\n insert,\n createComment\n }\n } = rendererInternals;\n const hydrate = (vnode, container) => {\n if (!container.hasChildNodes()) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Attempting to hydrate existing markup but container is empty. Performing full mount instead.`\n );\n patch(null, vnode, container);\n flushPostFlushCbs();\n container._vnode = vnode;\n return;\n }\n hydrateNode(container.firstChild, vnode, null, null, null);\n flushPostFlushCbs();\n container._vnode = vnode;\n };\n const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const isFragmentStart = isComment(node) && node.data === \"[\";\n const onMismatch = () => handleMismatch(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n isFragmentStart\n );\n const { type, ref, shapeFlag, patchFlag } = vnode;\n let domType = node.nodeType;\n vnode.el = node;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n def(node, \"__vnode\", vnode, true);\n def(node, \"__vueParentComponent\", parentComponent, true);\n }\n if (patchFlag === -2) {\n optimized = false;\n vnode.dynamicChildren = null;\n }\n let nextNode = null;\n switch (type) {\n case Text:\n if (domType !== 3) {\n if (vnode.children === \"\") {\n insert(vnode.el = createText(\"\"), parentNode(node), node);\n nextNode = node;\n } else {\n nextNode = onMismatch();\n }\n } else {\n if (node.data !== vnode.children) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text mismatch in`,\n node.parentNode,\n `\n - rendered on server: ${JSON.stringify(\n node.data\n )}\n - expected on client: ${JSON.stringify(vnode.children)}`\n );\n logMismatchError();\n node.data = vnode.children;\n }\n nextNode = nextSibling(node);\n }\n break;\n case Comment:\n if (isTemplateNode(node)) {\n nextNode = nextSibling(node);\n replaceNode(\n vnode.el = node.content.firstChild,\n node,\n parentComponent\n );\n } else if (domType !== 8 || isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = nextSibling(node);\n }\n break;\n case Static:\n if (isFragmentStart) {\n node = nextSibling(node);\n domType = node.nodeType;\n }\n if (domType === 1 || domType === 3) {\n nextNode = node;\n const needToAdoptContent = !vnode.children.length;\n for (let i = 0; i < vnode.staticCount; i++) {\n if (needToAdoptContent)\n vnode.children += nextNode.nodeType === 1 ? nextNode.outerHTML : nextNode.data;\n if (i === vnode.staticCount - 1) {\n vnode.anchor = nextNode;\n }\n nextNode = nextSibling(nextNode);\n }\n return isFragmentStart ? nextSibling(nextNode) : nextNode;\n } else {\n onMismatch();\n }\n break;\n case Fragment:\n if (!isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateFragment(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n break;\n default:\n if (shapeFlag & 1) {\n if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateElement(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n } else if (shapeFlag & 6) {\n vnode.slotScopeIds = slotScopeIds;\n const container = parentNode(node);\n if (isFragmentStart) {\n nextNode = locateClosingAnchor(node);\n } else if (isComment(node) && node.data === \"teleport start\") {\n nextNode = locateClosingAnchor(node, node.data, \"teleport end\");\n } else {\n nextNode = nextSibling(node);\n }\n mountComponent(\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n optimized\n );\n if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved) {\n let subTree;\n if (isFragmentStart) {\n subTree = createVNode(Fragment);\n subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;\n } else {\n subTree = node.nodeType === 3 ? createTextVNode(\"\") : createVNode(\"div\");\n }\n subTree.el = node;\n vnode.component.subTree = subTree;\n }\n } else if (shapeFlag & 64) {\n if (domType !== 8) {\n nextNode = onMismatch();\n } else {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateChildren\n );\n }\n } else if (shapeFlag & 128) {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n getContainerType(parentNode(node)),\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateNode\n );\n } else if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) {\n warn$1(\"Invalid HostVNode type:\", type, `(${typeof type})`);\n }\n }\n if (ref != null) {\n setRef(ref, null, parentSuspense, vnode);\n }\n return nextNode;\n };\n const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const { type, props, patchFlag, shapeFlag, dirs, transition } = vnode;\n const forcePatch = type === \"input\" || type === \"option\";\n if (!!(process.env.NODE_ENV !== \"production\") || forcePatch || patchFlag !== -1) {\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"created\");\n }\n let needCallTransitionHooks = false;\n if (isTemplateNode(el)) {\n needCallTransitionHooks = needTransition(\n null,\n // no need check parentSuspense in hydration\n transition\n ) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear;\n const content = el.content.firstChild;\n if (needCallTransitionHooks) {\n transition.beforeEnter(content);\n }\n replaceNode(content, el, parentComponent);\n vnode.el = el = content;\n }\n if (shapeFlag & 16 && // skip if element has innerHTML / textContent\n !(props && (props.innerHTML || props.textContent))) {\n let next = hydrateChildren(\n el.firstChild,\n vnode,\n el,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n let hasWarned = false;\n while (next) {\n if (!isMismatchAllowed(el, 1 /* CHILDREN */)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n el,\n `\nServer rendered element contains more child nodes than client vdom.`\n );\n hasWarned = true;\n }\n logMismatchError();\n }\n const cur = next;\n next = next.nextSibling;\n remove(cur);\n }\n } else if (shapeFlag & 8) {\n let clientText = vnode.children;\n if (clientText[0] === \"\\n\" && (el.tagName === \"PRE\" || el.tagName === \"TEXTAREA\")) {\n clientText = clientText.slice(1);\n }\n if (el.textContent !== clientText) {\n if (!isMismatchAllowed(el, 0 /* TEXT */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text content mismatch on`,\n el,\n `\n - rendered on server: ${el.textContent}\n - expected on client: ${vnode.children}`\n );\n logMismatchError();\n }\n el.textContent = vnode.children;\n }\n }\n if (props) {\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ || forcePatch || !optimized || patchFlag & (16 | 32)) {\n const isCustomElement = el.tagName.includes(\"-\");\n for (const key in props) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && // #11189 skip if this node has directives that have created hooks\n // as it could have mutated the DOM in any possible way\n !(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) {\n logMismatchError();\n }\n if (forcePatch && (key.endsWith(\"value\") || key === \"indeterminate\") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers\n key[0] === \".\" || isCustomElement) {\n patchProp(el, key, null, props[key], void 0, parentComponent);\n }\n }\n } else if (props.onClick) {\n patchProp(\n el,\n \"onClick\",\n null,\n props.onClick,\n void 0,\n parentComponent\n );\n } else if (patchFlag & 4 && isReactive(props.style)) {\n for (const key in props.style) props.style[key];\n }\n }\n let vnodeHooks;\n if (vnodeHooks = props && props.onVnodeBeforeMount) {\n invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"beforeMount\");\n }\n if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) {\n queueEffectWithSuspense(() => {\n vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n needCallTransitionHooks && transition.enter(el);\n dirs && invokeDirectiveHook(vnode, null, parentComponent, \"mounted\");\n }, parentSuspense);\n }\n }\n return el.nextSibling;\n };\n const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!parentVNode.dynamicChildren;\n const children = parentVNode.children;\n const l = children.length;\n let hasWarned = false;\n for (let i = 0; i < l; i++) {\n const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);\n const isText = vnode.type === Text;\n if (node) {\n if (isText && !optimized) {\n if (i + 1 < l && normalizeVNode(children[i + 1]).type === Text) {\n insert(\n createText(\n node.data.slice(vnode.children.length)\n ),\n container,\n nextSibling(node)\n );\n node.data = vnode.children;\n }\n }\n node = hydrateNode(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n } else if (isText && !vnode.children) {\n insert(vnode.el = createText(\"\"), container);\n } else {\n if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n container,\n `\nServer rendered element contains fewer child nodes than client vdom.`\n );\n hasWarned = true;\n }\n logMismatchError();\n }\n patch(\n null,\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n }\n }\n return node;\n };\n const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n const { slotScopeIds: fragmentSlotScopeIds } = vnode;\n if (fragmentSlotScopeIds) {\n slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;\n }\n const container = parentNode(node);\n const next = hydrateChildren(\n nextSibling(node),\n vnode,\n container,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n if (next && isComment(next) && next.data === \"]\") {\n return nextSibling(vnode.anchor = next);\n } else {\n logMismatchError();\n insert(vnode.anchor = createComment(`]`), container, next);\n return next;\n }\n };\n const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {\n if (!isMismatchAllowed(node.parentElement, 1 /* CHILDREN */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration node mismatch:\n- rendered on server:`,\n node,\n node.nodeType === 3 ? `(text)` : isComment(node) && node.data === \"[\" ? `(start of fragment)` : ``,\n `\n- expected on client:`,\n vnode.type\n );\n logMismatchError();\n }\n vnode.el = null;\n if (isFragment) {\n const end = locateClosingAnchor(node);\n while (true) {\n const next2 = nextSibling(node);\n if (next2 && next2 !== end) {\n remove(next2);\n } else {\n break;\n }\n }\n }\n const next = nextSibling(node);\n const container = parentNode(node);\n remove(node);\n patch(\n null,\n vnode,\n container,\n next,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n if (parentComponent) {\n parentComponent.vnode.el = vnode.el;\n updateHOCHostEl(parentComponent, vnode.el);\n }\n return next;\n };\n const locateClosingAnchor = (node, open = \"[\", close = \"]\") => {\n let match = 0;\n while (node) {\n node = nextSibling(node);\n if (node && isComment(node)) {\n if (node.data === open) match++;\n if (node.data === close) {\n if (match === 0) {\n return nextSibling(node);\n } else {\n match--;\n }\n }\n }\n }\n return node;\n };\n const replaceNode = (newNode, oldNode, parentComponent) => {\n const parentNode2 = oldNode.parentNode;\n if (parentNode2) {\n parentNode2.replaceChild(newNode, oldNode);\n }\n let parent = parentComponent;\n while (parent) {\n if (parent.vnode.el === oldNode) {\n parent.vnode.el = parent.subTree.el = newNode;\n }\n parent = parent.parent;\n }\n };\n const isTemplateNode = (node) => {\n return node.nodeType === 1 && node.tagName === \"TEMPLATE\";\n };\n return [hydrate, hydrateNode];\n}\nfunction propHasMismatch(el, key, clientValue, vnode, instance) {\n let mismatchType;\n let mismatchKey;\n let actual;\n let expected;\n if (key === \"class\") {\n actual = el.getAttribute(\"class\");\n expected = normalizeClass(clientValue);\n if (!isSetEqual(toClassSet(actual || \"\"), toClassSet(expected))) {\n mismatchType = 2 /* CLASS */;\n mismatchKey = `class`;\n }\n } else if (key === \"style\") {\n actual = el.getAttribute(\"style\") || \"\";\n expected = isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue));\n const actualMap = toStyleMap(actual);\n const expectedMap = toStyleMap(expected);\n if (vnode.dirs) {\n for (const { dir, value } of vnode.dirs) {\n if (dir.name === \"show\" && !value) {\n expectedMap.set(\"display\", \"none\");\n }\n }\n }\n if (instance) {\n resolveCssVars(instance, vnode, expectedMap);\n }\n if (!isMapEqual(actualMap, expectedMap)) {\n mismatchType = 3 /* STYLE */;\n mismatchKey = \"style\";\n }\n } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) {\n if (isBooleanAttr(key)) {\n actual = el.hasAttribute(key);\n expected = includeBooleanAttr(clientValue);\n } else if (clientValue == null) {\n actual = el.hasAttribute(key);\n expected = false;\n } else {\n if (el.hasAttribute(key)) {\n actual = el.getAttribute(key);\n } else if (key === \"value\" && el.tagName === \"TEXTAREA\") {\n actual = el.value;\n } else {\n actual = false;\n }\n expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false;\n }\n if (actual !== expected) {\n mismatchType = 4 /* ATTRIBUTE */;\n mismatchKey = key;\n }\n }\n if (mismatchType != null && !isMismatchAllowed(el, mismatchType)) {\n const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}=\"${v}\"`;\n const preSegment = `Hydration ${MismatchTypeString[mismatchType]} mismatch on`;\n const postSegment = `\n - rendered on server: ${format(actual)}\n - expected on client: ${format(expected)}\n Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead.\n You should fix the source of the mismatch.`;\n {\n warn$1(preSegment, el, postSegment);\n }\n return true;\n }\n return false;\n}\nfunction toClassSet(str) {\n return new Set(str.trim().split(/\\s+/));\n}\nfunction isSetEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const s of a) {\n if (!b.has(s)) {\n return false;\n }\n }\n return true;\n}\nfunction toStyleMap(str) {\n const styleMap = /* @__PURE__ */ new Map();\n for (const item of str.split(\";\")) {\n let [key, value] = item.split(\":\");\n key = key.trim();\n value = value && value.trim();\n if (key && value) {\n styleMap.set(key, value);\n }\n }\n return styleMap;\n}\nfunction isMapEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const [key, value] of a) {\n if (value !== b.get(key)) {\n return false;\n }\n }\n return true;\n}\nfunction resolveCssVars(instance, vnode, expectedMap) {\n const root = instance.subTree;\n if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) {\n const cssVars = instance.getCssVars();\n for (const key in cssVars) {\n expectedMap.set(\n `--${getEscapedCssVarName(key, false)}`,\n String(cssVars[key])\n );\n }\n }\n if (vnode === root && instance.parent) {\n resolveCssVars(instance.parent, instance.vnode, expectedMap);\n }\n}\nconst allowMismatchAttr = \"data-allow-mismatch\";\nconst MismatchTypeString = {\n [0 /* TEXT */]: \"text\",\n [1 /* CHILDREN */]: \"children\",\n [2 /* CLASS */]: \"class\",\n [3 /* STYLE */]: \"style\",\n [4 /* ATTRIBUTE */]: \"attribute\"\n};\nfunction isMismatchAllowed(el, allowedType) {\n if (allowedType === 0 /* TEXT */ || allowedType === 1 /* CHILDREN */) {\n while (el && !el.hasAttribute(allowMismatchAttr)) {\n el = el.parentElement;\n }\n }\n const allowedAttr = el && el.getAttribute(allowMismatchAttr);\n if (allowedAttr == null) {\n return false;\n } else if (allowedAttr === \"\") {\n return true;\n } else {\n const list = allowedAttr.split(\",\");\n if (allowedType === 0 /* TEXT */ && list.includes(\"children\")) {\n return true;\n }\n return allowedAttr.split(\",\").includes(MismatchTypeString[allowedType]);\n }\n}\n\nconst requestIdleCallback = getGlobalThis().requestIdleCallback || ((cb) => setTimeout(cb, 1));\nconst cancelIdleCallback = getGlobalThis().cancelIdleCallback || ((id) => clearTimeout(id));\nconst hydrateOnIdle = (timeout = 1e4) => (hydrate) => {\n const id = requestIdleCallback(hydrate, { timeout });\n return () => cancelIdleCallback(id);\n};\nfunction elementIsVisibleInViewport(el) {\n const { top, left, bottom, right } = el.getBoundingClientRect();\n const { innerHeight, innerWidth } = window;\n return (top > 0 && top < innerHeight || bottom > 0 && bottom < innerHeight) && (left > 0 && left < innerWidth || right > 0 && right < innerWidth);\n}\nconst hydrateOnVisible = (opts) => (hydrate, forEach) => {\n const ob = new IntersectionObserver((entries) => {\n for (const e of entries) {\n if (!e.isIntersecting) continue;\n ob.disconnect();\n hydrate();\n break;\n }\n }, opts);\n forEach((el) => {\n if (!(el instanceof Element)) return;\n if (elementIsVisibleInViewport(el)) {\n hydrate();\n ob.disconnect();\n return false;\n }\n ob.observe(el);\n });\n return () => ob.disconnect();\n};\nconst hydrateOnMediaQuery = (query) => (hydrate) => {\n if (query) {\n const mql = matchMedia(query);\n if (mql.matches) {\n hydrate();\n } else {\n mql.addEventListener(\"change\", hydrate, { once: true });\n return () => mql.removeEventListener(\"change\", hydrate);\n }\n }\n};\nconst hydrateOnInteraction = (interactions = []) => (hydrate, forEach) => {\n if (isString(interactions)) interactions = [interactions];\n let hasHydrated = false;\n const doHydrate = (e) => {\n if (!hasHydrated) {\n hasHydrated = true;\n teardown();\n hydrate();\n e.target.dispatchEvent(new e.constructor(e.type, e));\n }\n };\n const teardown = () => {\n forEach((el) => {\n for (const i of interactions) {\n el.removeEventListener(i, doHydrate);\n }\n });\n };\n forEach((el) => {\n for (const i of interactions) {\n el.addEventListener(i, doHydrate, { once: true });\n }\n });\n return teardown;\n};\nfunction forEachElement(node, cb) {\n if (isComment(node) && node.data === \"[\") {\n let depth = 1;\n let next = node.nextSibling;\n while (next) {\n if (next.nodeType === 1) {\n const result = cb(next);\n if (result === false) {\n break;\n }\n } else if (isComment(next)) {\n if (next.data === \"]\") {\n if (--depth === 0) break;\n } else if (next.data === \"[\") {\n depth++;\n }\n }\n next = next.nextSibling;\n }\n } else {\n cb(node);\n }\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineAsyncComponent(source) {\n if (isFunction(source)) {\n source = { loader: source };\n }\n const {\n loader,\n loadingComponent,\n errorComponent,\n delay = 200,\n hydrate: hydrateStrategy,\n timeout,\n // undefined = never times out\n suspensible = true,\n onError: userOnError\n } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n } else {\n throw err;\n }\n }).then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !comp) {\n warn$1(\n `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`\n );\n }\n if (comp && (comp.__esModule || comp[Symbol.toStringTag] === \"Module\")) {\n comp = comp.default;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && comp && !isObject(comp) && !isFunction(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n }));\n };\n return defineComponent({\n name: \"AsyncComponentWrapper\",\n __asyncLoader: load,\n __asyncHydrate(el, instance, hydrate) {\n const doHydrate = hydrateStrategy ? () => {\n const teardown = hydrateStrategy(\n hydrate,\n (cb) => forEachElement(el, cb)\n );\n if (teardown) {\n (instance.bum || (instance.bum = [])).push(teardown);\n }\n } : hydrate;\n if (resolvedComp) {\n doHydrate();\n } else {\n load().then(() => !instance.isUnmounted && doHydrate());\n }\n },\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n markAsyncBoundary(instance);\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(\n err,\n instance,\n 13,\n !errorComponent\n );\n };\n if (suspensible && instance.suspense || isInSSRComponentSetup) {\n return load().then((comp) => {\n return () => createInnerComp(comp, instance);\n }).catch((err) => {\n onError(err);\n return () => errorComponent ? createVNode(errorComponent, {\n error: err\n }) : null;\n });\n }\n const loaded = ref(false);\n const error = ref();\n const delayed = ref(!!delay);\n if (delay) {\n setTimeout(() => {\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n setTimeout(() => {\n if (!loaded.value && !error.value) {\n const err = new Error(\n `Async component timed out after ${timeout}ms.`\n );\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load().then(() => {\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n instance.parent.update();\n }\n }).catch((err) => {\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n } else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n } else if (loadingComponent && !delayed.value) {\n return createVNode(loadingComponent);\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, parent) {\n const { ref: ref2, props, children, ce } = parent.vnode;\n const vnode = createVNode(comp, props, children);\n vnode.ref = ref2;\n vnode.ce = ce;\n delete parent.vnode.ce;\n return vnode;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nconst KeepAliveImpl = {\n name: `KeepAlive`,\n // Marker for special handling inside the renderer. We are not using a ===\n // check directly on KeepAlive in the renderer, because importing it directly\n // would prevent it from being tree-shaken.\n __isKeepAlive: true,\n props: {\n include: [String, RegExp, Array],\n exclude: [String, RegExp, Array],\n max: [String, Number]\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const sharedContext = instance.ctx;\n if (!sharedContext.renderer) {\n return () => {\n const children = slots.default && slots.default();\n return children && children.length === 1 ? children[0] : children;\n };\n }\n const cache = /* @__PURE__ */ new Map();\n const keys = /* @__PURE__ */ new Set();\n let current = null;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.__v_cache = cache;\n }\n const parentSuspense = instance.suspense;\n const {\n renderer: {\n p: patch,\n m: move,\n um: _unmount,\n o: { createElement }\n }\n } = sharedContext;\n const storageContainer = createElement(\"div\");\n sharedContext.activate = (vnode, container, anchor, namespace, optimized) => {\n const instance2 = vnode.component;\n move(vnode, container, anchor, 0, parentSuspense);\n patch(\n instance2.vnode,\n vnode,\n container,\n anchor,\n instance2,\n parentSuspense,\n namespace,\n vnode.slotScopeIds,\n optimized\n );\n queuePostRenderEffect(() => {\n instance2.isDeactivated = false;\n if (instance2.a) {\n invokeArrayFns(instance2.a);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n sharedContext.deactivate = (vnode) => {\n const instance2 = vnode.component;\n invalidateMount(instance2.m);\n invalidateMount(instance2.a);\n move(vnode, storageContainer, null, 1, parentSuspense);\n queuePostRenderEffect(() => {\n if (instance2.da) {\n invokeArrayFns(instance2.da);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n instance2.isDeactivated = true;\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n function unmount(vnode) {\n resetShapeFlag(vnode);\n _unmount(vnode, instance, parentSuspense, true);\n }\n function pruneCache(filter) {\n cache.forEach((vnode, key) => {\n const name = getComponentName(vnode.type);\n if (name && !filter(name)) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (cached && (!current || !isSameVNodeType(cached, current))) {\n unmount(cached);\n } else if (current) {\n resetShapeFlag(current);\n }\n cache.delete(key);\n keys.delete(key);\n }\n watch(\n () => [props.include, props.exclude],\n ([include, exclude]) => {\n include && pruneCache((name) => matches(include, name));\n exclude && pruneCache((name) => !matches(exclude, name));\n },\n // prune post-render after `current` has been updated\n { flush: \"post\", deep: true }\n );\n let pendingCacheKey = null;\n const cacheSubtree = () => {\n if (pendingCacheKey != null) {\n if (isSuspense(instance.subTree.type)) {\n queuePostRenderEffect(() => {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }, instance.subTree.suspense);\n } else {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\n }\n };\n onMounted(cacheSubtree);\n onUpdated(cacheSubtree);\n onBeforeUnmount(() => {\n cache.forEach((cached) => {\n const { subTree, suspense } = instance;\n const vnode = getInnerChild(subTree);\n if (cached.type === vnode.type && cached.key === vnode.key) {\n resetShapeFlag(vnode);\n const da = vnode.component.da;\n da && queuePostRenderEffect(da, suspense);\n return;\n }\n unmount(cached);\n });\n });\n return () => {\n pendingCacheKey = null;\n if (!slots.default) {\n return current = null;\n }\n const children = slots.default();\n const rawVNode = children[0];\n if (children.length > 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`KeepAlive should contain exactly one component child.`);\n }\n current = null;\n return children;\n } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {\n current = null;\n return rawVNode;\n }\n let vnode = getInnerChild(rawVNode);\n if (vnode.type === Comment) {\n current = null;\n return vnode;\n }\n const comp = vnode.type;\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp\n );\n const { include, exclude, max } = props;\n if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {\n vnode.shapeFlag &= ~256;\n current = vnode;\n return rawVNode;\n }\n const key = vnode.key == null ? comp : vnode.key;\n const cachedVNode = cache.get(key);\n if (vnode.el) {\n vnode = cloneVNode(vnode);\n if (rawVNode.shapeFlag & 128) {\n rawVNode.ssContent = vnode;\n }\n }\n pendingCacheKey = key;\n if (cachedVNode) {\n vnode.el = cachedVNode.el;\n vnode.component = cachedVNode.component;\n if (vnode.transition) {\n setTransitionHooks(vnode, vnode.transition);\n }\n vnode.shapeFlag |= 512;\n keys.delete(key);\n keys.add(key);\n } else {\n keys.add(key);\n if (max && keys.size > parseInt(max, 10)) {\n pruneCacheEntry(keys.values().next().value);\n }\n }\n vnode.shapeFlag |= 256;\n current = vnode;\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\n };\n }\n};\nconst KeepAlive = KeepAliveImpl;\nfunction matches(pattern, name) {\n if (isArray(pattern)) {\n return pattern.some((p) => matches(p, name));\n } else if (isString(pattern)) {\n return pattern.split(\",\").includes(name);\n } else if (isRegExp(pattern)) {\n pattern.lastIndex = 0;\n return pattern.test(name);\n }\n return false;\n}\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\nfunction resetShapeFlag(vnode) {\n vnode.shapeFlag &= ~256;\n vnode.shapeFlag &= ~512;\n}\nfunction getInnerChild(vnode) {\n return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n pauseTracking();\n const reset = setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n reset();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, \"\"));\n warn$1(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => {\n if (!isInSSRComponentSetup || lifecycle === \"sp\") {\n injectHook(lifecycle, (...args) => hook(...args), target);\n }\n};\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\n \"bu\"\n);\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\n \"bum\"\n);\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\n \"sp\"\n);\nconst onRenderTriggered = createHook(\"rtg\");\nconst onRenderTracked = createHook(\"rtc\");\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDynamicComponent(component) {\n if (isString(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n } else {\n return component || NULL_DYNAMIC_COMPONENT;\n }\n}\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n const sourceIsArray = isArray(source);\n if (sourceIsArray || isString(source)) {\n const sourceIsReactiveArray = sourceIsArray && isReactive(source);\n let needsWrap = false;\n if (sourceIsReactiveArray) {\n needsWrap = !isShallow(source);\n source = shallowReadArray(source);\n }\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(\n needsWrap ? toReactive(source[i]) : source[i],\n i,\n void 0,\n cached && cached[i]\n );\n }\n } else if (typeof source === \"number\") {\n if (!!(process.env.NODE_ENV !== \"production\") && !Number.isInteger(source)) {\n warn$1(`The v-for range expect an integer value but got ${source}.`);\n }\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);\n }\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(\n source,\n (item, i) => renderItem(item, i, void 0, cached && cached[i])\n );\n } else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n } else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n if (isArray(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n } else if (slot) {\n slots[slot.name] = slot.key ? (...args) => {\n const res = slot.fn(...args);\n if (res) res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\n}\n\nfunction renderSlot(slots, name, props = {}, fallback, noSlotted) {\n if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {\n if (name !== \"default\") props.name = name;\n return openBlock(), createBlock(\n Fragment,\n null,\n [createVNode(\"slot\", props, fallback && fallback())],\n 64\n );\n }\n let slot = slots[name];\n if (!!(process.env.NODE_ENV !== \"production\") && slot && slot.length > 1) {\n warn$1(\n `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`\n );\n slot = () => [];\n }\n if (slot && slot._c) {\n slot._d = false;\n }\n openBlock();\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const slotKey = props.key || // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n validSlotContent && validSlotContent.key;\n const rendered = createBlock(\n Fragment,\n {\n key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content\n (!validSlotContent && fallback ? \"_fb\" : \"\")\n },\n validSlotContent || (fallback ? fallback() : []),\n validSlotContent && slots._ === 1 ? 64 : -2\n );\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + \"-s\"];\n }\n if (slot && slot._c) {\n slot._d = true;\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some((child) => {\n if (!isVNode(child)) return true;\n if (child.type === Comment) return false;\n if (child.type === Fragment && !ensureValidVNode(child.children))\n return false;\n return true;\n }) ? vnodes : null;\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn$1(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i) return null;\n if (isStatefulComponent(i)) return getComponentPublicInstance(i);\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n $el: (i) => i.vnode.el,\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $host: (i) => i.ce,\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => {\n queueJob(i.update);\n }),\n $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n if (key === \"__v_skip\") {\n return true;\n }\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance.attrs, \"get\", \"\");\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn$1(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn$1(`Cannot mutate ","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n","\r\n\r\n\r\n","\r\n \r\n ","\r\n\r\n","\r\n\r\n\r\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/* Copyright 2013 Google Inc. All Rights Reserved.\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 Bit reading helpers\n*/\n\nvar BROTLI_READ_SIZE = 4096;\nvar BROTLI_IBUF_SIZE = (2 * BROTLI_READ_SIZE + 32);\nvar BROTLI_IBUF_MASK = (2 * BROTLI_READ_SIZE - 1);\n\nvar kBitMask = new Uint32Array([\n 0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767,\n 65535, 131071, 262143, 524287, 1048575, 2097151, 4194303, 8388607, 16777215\n]);\n\n/* Input byte buffer, consist of a ringbuffer and a \"slack\" region where */\n/* bytes from the start of the ringbuffer are copied. */\nfunction BrotliBitReader(input) {\n this.buf_ = new Uint8Array(BROTLI_IBUF_SIZE);\n this.input_ = input; /* input callback */\n \n this.reset();\n}\n\nBrotliBitReader.READ_SIZE = BROTLI_READ_SIZE;\nBrotliBitReader.IBUF_MASK = BROTLI_IBUF_MASK;\n\nBrotliBitReader.prototype.reset = function() {\n this.buf_ptr_ = 0; /* next input will write here */\n this.val_ = 0; /* pre-fetched bits */\n this.pos_ = 0; /* byte position in stream */\n this.bit_pos_ = 0; /* current bit-reading position in val_ */\n this.bit_end_pos_ = 0; /* bit-reading end position from LSB of val_ */\n this.eos_ = 0; /* input stream is finished */\n \n this.readMoreInput();\n for (var i = 0; i < 4; i++) {\n this.val_ |= this.buf_[this.pos_] << (8 * i);\n ++this.pos_;\n }\n \n return this.bit_end_pos_ > 0;\n};\n\n/* Fills up the input ringbuffer by calling the input callback.\n\n Does nothing if there are at least 32 bytes present after current position.\n\n Returns 0 if either:\n - the input callback returned an error, or\n - there is no more input and the position is past the end of the stream.\n\n After encountering the end of the input stream, 32 additional zero bytes are\n copied to the ringbuffer, therefore it is safe to call this function after\n every 32 bytes of input is read.\n*/\nBrotliBitReader.prototype.readMoreInput = function() {\n if (this.bit_end_pos_ > 256) {\n return;\n } else if (this.eos_) {\n if (this.bit_pos_ > this.bit_end_pos_)\n throw new Error('Unexpected end of input ' + this.bit_pos_ + ' ' + this.bit_end_pos_);\n } else {\n var dst = this.buf_ptr_;\n var bytes_read = this.input_.read(this.buf_, dst, BROTLI_READ_SIZE);\n if (bytes_read < 0) {\n throw new Error('Unexpected end of input');\n }\n \n if (bytes_read < BROTLI_READ_SIZE) {\n this.eos_ = 1;\n /* Store 32 bytes of zero after the stream end. */\n for (var p = 0; p < 32; p++)\n this.buf_[dst + bytes_read + p] = 0;\n }\n \n if (dst === 0) {\n /* Copy the head of the ringbuffer to the slack region. */\n for (var p = 0; p < 32; p++)\n this.buf_[(BROTLI_READ_SIZE << 1) + p] = this.buf_[p];\n\n this.buf_ptr_ = BROTLI_READ_SIZE;\n } else {\n this.buf_ptr_ = 0;\n }\n \n this.bit_end_pos_ += bytes_read << 3;\n }\n};\n\n/* Guarantees that there are at least 24 bits in the buffer. */\nBrotliBitReader.prototype.fillBitWindow = function() { \n while (this.bit_pos_ >= 8) {\n this.val_ >>>= 8;\n this.val_ |= this.buf_[this.pos_ & BROTLI_IBUF_MASK] << 24;\n ++this.pos_;\n this.bit_pos_ = this.bit_pos_ - 8 >>> 0;\n this.bit_end_pos_ = this.bit_end_pos_ - 8 >>> 0;\n }\n};\n\n/* Reads the specified number of bits from Read Buffer. */\nBrotliBitReader.prototype.readBits = function(n_bits) {\n if (32 - this.bit_pos_ < n_bits) {\n this.fillBitWindow();\n }\n \n var val = ((this.val_ >>> this.bit_pos_) & kBitMask[n_bits]);\n this.bit_pos_ += n_bits;\n return val;\n};\n\nmodule.exports = BrotliBitReader;\n","/* Copyright 2013 Google Inc. All Rights Reserved.\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 Lookup table to map the previous two bytes to a context id.\n\n There are four different context modeling modes defined here:\n CONTEXT_LSB6: context id is the least significant 6 bits of the last byte,\n CONTEXT_MSB6: context id is the most significant 6 bits of the last byte,\n CONTEXT_UTF8: second-order context model tuned for UTF8-encoded text,\n CONTEXT_SIGNED: second-order context model tuned for signed integers.\n\n The context id for the UTF8 context model is calculated as follows. If p1\n and p2 are the previous two bytes, we calcualte the context as\n\n context = kContextLookup[p1] | kContextLookup[p2 + 256].\n\n If the previous two bytes are ASCII characters (i.e. < 128), this will be\n equivalent to\n\n context = 4 * context1(p1) + context2(p2),\n\n where context1 is based on the previous byte in the following way:\n\n 0 : non-ASCII control\n 1 : \\t, \\n, \\r\n 2 : space\n 3 : other punctuation\n 4 : \" '\n 5 : %\n 6 : ( < [ {\n 7 : ) > ] }\n 8 : , ; :\n 9 : .\n 10 : =\n 11 : number\n 12 : upper-case vowel\n 13 : upper-case consonant\n 14 : lower-case vowel\n 15 : lower-case consonant\n\n and context2 is based on the second last byte:\n\n 0 : control, space\n 1 : punctuation\n 2 : upper-case letter, number\n 3 : lower-case letter\n\n If the last byte is ASCII, and the second last byte is not (in a valid UTF8\n stream it will be a continuation byte, value between 128 and 191), the\n context is the same as if the second last byte was an ASCII control or space.\n\n If the last byte is a UTF8 lead byte (value >= 192), then the next byte will\n be a continuation byte and the context id is 2 or 3 depending on the LSB of\n the last byte and to a lesser extent on the second last byte if it is ASCII.\n\n If the last byte is a UTF8 continuation byte, the second last byte can be:\n - continuation byte: the next byte is probably ASCII or lead byte (assuming\n 4-byte UTF8 characters are rare) and the context id is 0 or 1.\n - lead byte (192 - 207): next byte is ASCII or lead byte, context is 0 or 1\n - lead byte (208 - 255): next byte is continuation byte, context is 2 or 3\n\n The possible value combinations of the previous two bytes, the range of\n context ids and the type of the next byte is summarized in the table below:\n\n |--------\\-----------------------------------------------------------------|\n | \\ Last byte |\n | Second \\---------------------------------------------------------------|\n | last byte \\ ASCII | cont. byte | lead byte |\n | \\ (0-127) | (128-191) | (192-) |\n |=============|===================|=====================|==================|\n | ASCII | next: ASCII/lead | not valid | next: cont. |\n | (0-127) | context: 4 - 63 | | context: 2 - 3 |\n |-------------|-------------------|---------------------|------------------|\n | cont. byte | next: ASCII/lead | next: ASCII/lead | next: cont. |\n | (128-191) | context: 4 - 63 | context: 0 - 1 | context: 2 - 3 |\n |-------------|-------------------|---------------------|------------------|\n | lead byte | not valid | next: ASCII/lead | not valid |\n | (192-207) | | context: 0 - 1 | |\n |-------------|-------------------|---------------------|------------------|\n | lead byte | not valid | next: cont. | not valid |\n | (208-) | | context: 2 - 3 | |\n |-------------|-------------------|---------------------|------------------|\n\n The context id for the signed context mode is calculated as:\n\n context = (kContextLookup[512 + p1] << 3) | kContextLookup[512 + p2].\n\n For any context modeling modes, the context ids can be calculated by |-ing\n together two lookups from one table using context model dependent offsets:\n\n context = kContextLookup[offset1 + p1] | kContextLookup[offset2 + p2].\n\n where offset1 and offset2 are dependent on the context mode.\n*/\n\nvar CONTEXT_LSB6 = 0;\nvar CONTEXT_MSB6 = 1;\nvar CONTEXT_UTF8 = 2;\nvar CONTEXT_SIGNED = 3;\n\n/* Common context lookup table for all context modes. */\nexports.lookup = new Uint8Array([\n /* CONTEXT_UTF8, last byte. */\n /* ASCII range. */\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 4, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 8, 12, 16, 12, 12, 20, 12, 16, 24, 28, 12, 12, 32, 12, 36, 12,\n 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 32, 32, 24, 40, 28, 12,\n 12, 48, 52, 52, 52, 48, 52, 52, 52, 48, 52, 52, 52, 52, 52, 48,\n 52, 52, 52, 52, 52, 48, 52, 52, 52, 52, 52, 24, 12, 28, 12, 12,\n 12, 56, 60, 60, 60, 56, 60, 60, 60, 56, 60, 60, 60, 60, 60, 56,\n 60, 60, 60, 60, 60, 56, 60, 60, 60, 60, 60, 24, 12, 28, 12, 0,\n /* UTF8 continuation byte range. */\n 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,\n 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,\n 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,\n 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,\n /* UTF8 lead byte range. */\n 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,\n 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,\n 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,\n 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,\n /* CONTEXT_UTF8 second last byte. */\n /* ASCII range. */\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1,\n 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1,\n 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 0,\n /* UTF8 continuation byte range. */\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n /* UTF8 lead byte range. */\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n /* CONTEXT_SIGNED, second last byte. */\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\n 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\n 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\n 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\n 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7,\n /* CONTEXT_SIGNED, last byte, same as the above values shifted by 3 bits. */\n 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,\n 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,\n 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,\n 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,\n 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,\n 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,\n 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,\n 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,\n 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,\n 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,\n 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,\n 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 56,\n /* CONTEXT_LSB6, last byte. */\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,\n 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\n 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,\n 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\n 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,\n 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\n 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,\n 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\n 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,\n /* CONTEXT_MSB6, last byte. */\n 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3,\n 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7,\n 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11,\n 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15,\n 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19,\n 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 23,\n 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 27, 27, 27, 27,\n 28, 28, 28, 28, 29, 29, 29, 29, 30, 30, 30, 30, 31, 31, 31, 31,\n 32, 32, 32, 32, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, 35, 35,\n 36, 36, 36, 36, 37, 37, 37, 37, 38, 38, 38, 38, 39, 39, 39, 39,\n 40, 40, 40, 40, 41, 41, 41, 41, 42, 42, 42, 42, 43, 43, 43, 43,\n 44, 44, 44, 44, 45, 45, 45, 45, 46, 46, 46, 46, 47, 47, 47, 47,\n 48, 48, 48, 48, 49, 49, 49, 49, 50, 50, 50, 50, 51, 51, 51, 51,\n 52, 52, 52, 52, 53, 53, 53, 53, 54, 54, 54, 54, 55, 55, 55, 55,\n 56, 56, 56, 56, 57, 57, 57, 57, 58, 58, 58, 58, 59, 59, 59, 59,\n 60, 60, 60, 60, 61, 61, 61, 61, 62, 62, 62, 62, 63, 63, 63, 63,\n /* CONTEXT_{M,L}SB6, second last byte, */\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n]);\n\nexports.lookupOffsets = new Uint16Array([\n /* CONTEXT_LSB6 */\n 1024, 1536,\n /* CONTEXT_MSB6 */\n 1280, 1536,\n /* CONTEXT_UTF8 */\n 0, 256,\n /* CONTEXT_SIGNED */\n 768, 512,\n]);\n","/* Copyright 2013 Google Inc. All Rights Reserved.\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\nvar BrotliInput = require('./streams').BrotliInput;\nvar BrotliOutput = require('./streams').BrotliOutput;\nvar BrotliBitReader = require('./bit_reader');\nvar BrotliDictionary = require('./dictionary');\nvar HuffmanCode = require('./huffman').HuffmanCode;\nvar BrotliBuildHuffmanTable = require('./huffman').BrotliBuildHuffmanTable;\nvar Context = require('./context');\nvar Prefix = require('./prefix');\nvar Transform = require('./transform');\n\nvar kDefaultCodeLength = 8;\nvar kCodeLengthRepeatCode = 16;\nvar kNumLiteralCodes = 256;\nvar kNumInsertAndCopyCodes = 704;\nvar kNumBlockLengthCodes = 26;\nvar kLiteralContextBits = 6;\nvar kDistanceContextBits = 2;\n\nvar HUFFMAN_TABLE_BITS = 8;\nvar HUFFMAN_TABLE_MASK = 0xff;\n/* Maximum possible Huffman table size for an alphabet size of 704, max code\n * length 15 and root table bits 8. */\nvar HUFFMAN_MAX_TABLE_SIZE = 1080;\n\nvar CODE_LENGTH_CODES = 18;\nvar kCodeLengthCodeOrder = new Uint8Array([\n 1, 2, 3, 4, 0, 5, 17, 6, 16, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n]);\n\nvar NUM_DISTANCE_SHORT_CODES = 16;\nvar kDistanceShortCodeIndexOffset = new Uint8Array([\n 3, 2, 1, 0, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2\n]);\n\nvar kDistanceShortCodeValueOffset = new Int8Array([\n 0, 0, 0, 0, -1, 1, -2, 2, -3, 3, -1, 1, -2, 2, -3, 3\n]);\n\nvar kMaxHuffmanTableSize = new Uint16Array([\n 256, 402, 436, 468, 500, 534, 566, 598, 630, 662, 694, 726, 758, 790, 822,\n 854, 886, 920, 952, 984, 1016, 1048, 1080\n]);\n\nfunction DecodeWindowBits(br) {\n var n;\n if (br.readBits(1) === 0) {\n return 16;\n }\n \n n = br.readBits(3);\n if (n > 0) {\n return 17 + n;\n }\n \n n = br.readBits(3);\n if (n > 0) {\n return 8 + n;\n }\n \n return 17;\n}\n\n/* Decodes a number in the range [0..255], by reading 1 - 11 bits. */\nfunction DecodeVarLenUint8(br) {\n if (br.readBits(1)) {\n var nbits = br.readBits(3);\n if (nbits === 0) {\n return 1;\n } else {\n return br.readBits(nbits) + (1 << nbits);\n }\n }\n return 0;\n}\n\nfunction MetaBlockLength() {\n this.meta_block_length = 0;\n this.input_end = 0;\n this.is_uncompressed = 0;\n this.is_metadata = false;\n}\n\nfunction DecodeMetaBlockLength(br) {\n var out = new MetaBlockLength; \n var size_nibbles;\n var size_bytes;\n var i;\n \n out.input_end = br.readBits(1);\n if (out.input_end && br.readBits(1)) {\n return out;\n }\n \n size_nibbles = br.readBits(2) + 4;\n if (size_nibbles === 7) {\n out.is_metadata = true;\n \n if (br.readBits(1) !== 0)\n throw new Error('Invalid reserved bit');\n \n size_bytes = br.readBits(2);\n if (size_bytes === 0)\n return out;\n \n for (i = 0; i < size_bytes; i++) {\n var next_byte = br.readBits(8);\n if (i + 1 === size_bytes && size_bytes > 1 && next_byte === 0)\n throw new Error('Invalid size byte');\n \n out.meta_block_length |= next_byte << (i * 8);\n }\n } else {\n for (i = 0; i < size_nibbles; ++i) {\n var next_nibble = br.readBits(4);\n if (i + 1 === size_nibbles && size_nibbles > 4 && next_nibble === 0)\n throw new Error('Invalid size nibble');\n \n out.meta_block_length |= next_nibble << (i * 4);\n }\n }\n \n ++out.meta_block_length;\n \n if (!out.input_end && !out.is_metadata) {\n out.is_uncompressed = br.readBits(1);\n }\n \n return out;\n}\n\n/* Decodes the next Huffman code from bit-stream. */\nfunction ReadSymbol(table, index, br) {\n var start_index = index;\n \n var nbits;\n br.fillBitWindow();\n index += (br.val_ >>> br.bit_pos_) & HUFFMAN_TABLE_MASK;\n nbits = table[index].bits - HUFFMAN_TABLE_BITS;\n if (nbits > 0) {\n br.bit_pos_ += HUFFMAN_TABLE_BITS;\n index += table[index].value;\n index += (br.val_ >>> br.bit_pos_) & ((1 << nbits) - 1);\n }\n br.bit_pos_ += table[index].bits;\n return table[index].value;\n}\n\nfunction ReadHuffmanCodeLengths(code_length_code_lengths, num_symbols, code_lengths, br) {\n var symbol = 0;\n var prev_code_len = kDefaultCodeLength;\n var repeat = 0;\n var repeat_code_len = 0;\n var space = 32768;\n \n var table = [];\n for (var i = 0; i < 32; i++)\n table.push(new HuffmanCode(0, 0));\n \n BrotliBuildHuffmanTable(table, 0, 5, code_length_code_lengths, CODE_LENGTH_CODES);\n\n while (symbol < num_symbols && space > 0) {\n var p = 0;\n var code_len;\n \n br.readMoreInput();\n br.fillBitWindow();\n p += (br.val_ >>> br.bit_pos_) & 31;\n br.bit_pos_ += table[p].bits;\n code_len = table[p].value & 0xff;\n if (code_len < kCodeLengthRepeatCode) {\n repeat = 0;\n code_lengths[symbol++] = code_len;\n if (code_len !== 0) {\n prev_code_len = code_len;\n space -= 32768 >> code_len;\n }\n } else {\n var extra_bits = code_len - 14;\n var old_repeat;\n var repeat_delta;\n var new_len = 0;\n if (code_len === kCodeLengthRepeatCode) {\n new_len = prev_code_len;\n }\n if (repeat_code_len !== new_len) {\n repeat = 0;\n repeat_code_len = new_len;\n }\n old_repeat = repeat;\n if (repeat > 0) {\n repeat -= 2;\n repeat <<= extra_bits;\n }\n repeat += br.readBits(extra_bits) + 3;\n repeat_delta = repeat - old_repeat;\n if (symbol + repeat_delta > num_symbols) {\n throw new Error('[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols');\n }\n \n for (var x = 0; x < repeat_delta; x++)\n code_lengths[symbol + x] = repeat_code_len;\n \n symbol += repeat_delta;\n \n if (repeat_code_len !== 0) {\n space -= repeat_delta << (15 - repeat_code_len);\n }\n }\n }\n if (space !== 0) {\n throw new Error(\"[ReadHuffmanCodeLengths] space = \" + space);\n }\n \n for (; symbol < num_symbols; symbol++)\n code_lengths[symbol] = 0;\n}\n\nfunction ReadHuffmanCode(alphabet_size, tables, table, br) {\n var table_size = 0;\n var simple_code_or_skip;\n var code_lengths = new Uint8Array(alphabet_size);\n \n br.readMoreInput();\n \n /* simple_code_or_skip is used as follows:\n 1 for simple code;\n 0 for no skipping, 2 skips 2 code lengths, 3 skips 3 code lengths */\n simple_code_or_skip = br.readBits(2);\n if (simple_code_or_skip === 1) {\n /* Read symbols, codes & code lengths directly. */\n var i;\n var max_bits_counter = alphabet_size - 1;\n var max_bits = 0;\n var symbols = new Int32Array(4);\n var num_symbols = br.readBits(2) + 1;\n while (max_bits_counter) {\n max_bits_counter >>= 1;\n ++max_bits;\n }\n\n for (i = 0; i < num_symbols; ++i) {\n symbols[i] = br.readBits(max_bits) % alphabet_size;\n code_lengths[symbols[i]] = 2;\n }\n code_lengths[symbols[0]] = 1;\n switch (num_symbols) {\n case 1:\n break;\n case 3:\n if ((symbols[0] === symbols[1]) ||\n (symbols[0] === symbols[2]) ||\n (symbols[1] === symbols[2])) {\n throw new Error('[ReadHuffmanCode] invalid symbols');\n }\n break;\n case 2:\n if (symbols[0] === symbols[1]) {\n throw new Error('[ReadHuffmanCode] invalid symbols');\n }\n \n code_lengths[symbols[1]] = 1;\n break;\n case 4:\n if ((symbols[0] === symbols[1]) ||\n (symbols[0] === symbols[2]) ||\n (symbols[0] === symbols[3]) ||\n (symbols[1] === symbols[2]) ||\n (symbols[1] === symbols[3]) ||\n (symbols[2] === symbols[3])) {\n throw new Error('[ReadHuffmanCode] invalid symbols');\n }\n \n if (br.readBits(1)) {\n code_lengths[symbols[2]] = 3;\n code_lengths[symbols[3]] = 3;\n } else {\n code_lengths[symbols[0]] = 2;\n }\n break;\n }\n } else { /* Decode Huffman-coded code lengths. */\n var i;\n var code_length_code_lengths = new Uint8Array(CODE_LENGTH_CODES);\n var space = 32;\n var num_codes = 0;\n /* Static Huffman code for the code length code lengths */\n var huff = [\n new HuffmanCode(2, 0), new HuffmanCode(2, 4), new HuffmanCode(2, 3), new HuffmanCode(3, 2), \n new HuffmanCode(2, 0), new HuffmanCode(2, 4), new HuffmanCode(2, 3), new HuffmanCode(4, 1),\n new HuffmanCode(2, 0), new HuffmanCode(2, 4), new HuffmanCode(2, 3), new HuffmanCode(3, 2), \n new HuffmanCode(2, 0), new HuffmanCode(2, 4), new HuffmanCode(2, 3), new HuffmanCode(4, 5)\n ];\n for (i = simple_code_or_skip; i < CODE_LENGTH_CODES && space > 0; ++i) {\n var code_len_idx = kCodeLengthCodeOrder[i];\n var p = 0;\n var v;\n br.fillBitWindow();\n p += (br.val_ >>> br.bit_pos_) & 15;\n br.bit_pos_ += huff[p].bits;\n v = huff[p].value;\n code_length_code_lengths[code_len_idx] = v;\n if (v !== 0) {\n space -= (32 >> v);\n ++num_codes;\n }\n }\n \n if (!(num_codes === 1 || space === 0))\n throw new Error('[ReadHuffmanCode] invalid num_codes or space');\n \n ReadHuffmanCodeLengths(code_length_code_lengths, alphabet_size, code_lengths, br);\n }\n \n table_size = BrotliBuildHuffmanTable(tables, table, HUFFMAN_TABLE_BITS, code_lengths, alphabet_size);\n \n if (table_size === 0) {\n throw new Error(\"[ReadHuffmanCode] BuildHuffmanTable failed: \");\n }\n \n return table_size;\n}\n\nfunction ReadBlockLength(table, index, br) {\n var code;\n var nbits;\n code = ReadSymbol(table, index, br);\n nbits = Prefix.kBlockLengthPrefixCode[code].nbits;\n return Prefix.kBlockLengthPrefixCode[code].offset + br.readBits(nbits);\n}\n\nfunction TranslateShortCodes(code, ringbuffer, index) {\n var val;\n if (code < NUM_DISTANCE_SHORT_CODES) {\n index += kDistanceShortCodeIndexOffset[code];\n index &= 3;\n val = ringbuffer[index] + kDistanceShortCodeValueOffset[code];\n } else {\n val = code - NUM_DISTANCE_SHORT_CODES + 1;\n }\n return val;\n}\n\nfunction MoveToFront(v, index) {\n var value = v[index];\n var i = index;\n for (; i; --i) v[i] = v[i - 1];\n v[0] = value;\n}\n\nfunction InverseMoveToFrontTransform(v, v_len) {\n var mtf = new Uint8Array(256);\n var i;\n for (i = 0; i < 256; ++i) {\n mtf[i] = i;\n }\n for (i = 0; i < v_len; ++i) {\n var index = v[i];\n v[i] = mtf[index];\n if (index) MoveToFront(mtf, index);\n }\n}\n\n/* Contains a collection of huffman trees with the same alphabet size. */\nfunction HuffmanTreeGroup(alphabet_size, num_htrees) {\n this.alphabet_size = alphabet_size;\n this.num_htrees = num_htrees;\n this.codes = new Array(num_htrees + num_htrees * kMaxHuffmanTableSize[(alphabet_size + 31) >>> 5]); \n this.htrees = new Uint32Array(num_htrees);\n}\n\nHuffmanTreeGroup.prototype.decode = function(br) {\n var i;\n var table_size;\n var next = 0;\n for (i = 0; i < this.num_htrees; ++i) {\n this.htrees[i] = next;\n table_size = ReadHuffmanCode(this.alphabet_size, this.codes, next, br);\n next += table_size;\n }\n};\n\nfunction DecodeContextMap(context_map_size, br) {\n var out = { num_htrees: null, context_map: null };\n var use_rle_for_zeros;\n var max_run_length_prefix = 0;\n var table;\n var i;\n \n br.readMoreInput();\n var num_htrees = out.num_htrees = DecodeVarLenUint8(br) + 1;\n\n var context_map = out.context_map = new Uint8Array(context_map_size);\n if (num_htrees <= 1) {\n return out;\n }\n\n use_rle_for_zeros = br.readBits(1);\n if (use_rle_for_zeros) {\n max_run_length_prefix = br.readBits(4) + 1;\n }\n \n table = [];\n for (i = 0; i < HUFFMAN_MAX_TABLE_SIZE; i++) {\n table[i] = new HuffmanCode(0, 0);\n }\n \n ReadHuffmanCode(num_htrees + max_run_length_prefix, table, 0, br);\n \n for (i = 0; i < context_map_size;) {\n var code;\n\n br.readMoreInput();\n code = ReadSymbol(table, 0, br);\n if (code === 0) {\n context_map[i] = 0;\n ++i;\n } else if (code <= max_run_length_prefix) {\n var reps = 1 + (1 << code) + br.readBits(code);\n while (--reps) {\n if (i >= context_map_size) {\n throw new Error(\"[DecodeContextMap] i >= context_map_size\");\n }\n context_map[i] = 0;\n ++i;\n }\n } else {\n context_map[i] = code - max_run_length_prefix;\n ++i;\n }\n }\n if (br.readBits(1)) {\n InverseMoveToFrontTransform(context_map, context_map_size);\n }\n \n return out;\n}\n\nfunction DecodeBlockType(max_block_type, trees, tree_type, block_types, ringbuffers, indexes, br) {\n var ringbuffer = tree_type * 2;\n var index = tree_type;\n var type_code = ReadSymbol(trees, tree_type * HUFFMAN_MAX_TABLE_SIZE, br);\n var block_type;\n if (type_code === 0) {\n block_type = ringbuffers[ringbuffer + (indexes[index] & 1)];\n } else if (type_code === 1) {\n block_type = ringbuffers[ringbuffer + ((indexes[index] - 1) & 1)] + 1;\n } else {\n block_type = type_code - 2;\n }\n if (block_type >= max_block_type) {\n block_type -= max_block_type;\n }\n block_types[tree_type] = block_type;\n ringbuffers[ringbuffer + (indexes[index] & 1)] = block_type;\n ++indexes[index];\n}\n\nfunction CopyUncompressedBlockToOutput(output, len, pos, ringbuffer, ringbuffer_mask, br) {\n var rb_size = ringbuffer_mask + 1;\n var rb_pos = pos & ringbuffer_mask;\n var br_pos = br.pos_ & BrotliBitReader.IBUF_MASK;\n var nbytes;\n\n /* For short lengths copy byte-by-byte */\n if (len < 8 || br.bit_pos_ + (len << 3) < br.bit_end_pos_) {\n while (len-- > 0) {\n br.readMoreInput();\n ringbuffer[rb_pos++] = br.readBits(8);\n if (rb_pos === rb_size) {\n output.write(ringbuffer, rb_size);\n rb_pos = 0;\n }\n }\n return;\n }\n\n if (br.bit_end_pos_ < 32) {\n throw new Error('[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32');\n }\n\n /* Copy remaining 0-4 bytes from br.val_ to ringbuffer. */\n while (br.bit_pos_ < 32) {\n ringbuffer[rb_pos] = (br.val_ >>> br.bit_pos_);\n br.bit_pos_ += 8;\n ++rb_pos;\n --len;\n }\n\n /* Copy remaining bytes from br.buf_ to ringbuffer. */\n nbytes = (br.bit_end_pos_ - br.bit_pos_) >> 3;\n if (br_pos + nbytes > BrotliBitReader.IBUF_MASK) {\n var tail = BrotliBitReader.IBUF_MASK + 1 - br_pos;\n for (var x = 0; x < tail; x++)\n ringbuffer[rb_pos + x] = br.buf_[br_pos + x];\n \n nbytes -= tail;\n rb_pos += tail;\n len -= tail;\n br_pos = 0;\n }\n\n for (var x = 0; x < nbytes; x++)\n ringbuffer[rb_pos + x] = br.buf_[br_pos + x];\n \n rb_pos += nbytes;\n len -= nbytes;\n\n /* If we wrote past the logical end of the ringbuffer, copy the tail of the\n ringbuffer to its beginning and flush the ringbuffer to the output. */\n if (rb_pos >= rb_size) {\n output.write(ringbuffer, rb_size);\n rb_pos -= rb_size; \n for (var x = 0; x < rb_pos; x++)\n ringbuffer[x] = ringbuffer[rb_size + x];\n }\n\n /* If we have more to copy than the remaining size of the ringbuffer, then we\n first fill the ringbuffer from the input and then flush the ringbuffer to\n the output */\n while (rb_pos + len >= rb_size) {\n nbytes = rb_size - rb_pos;\n if (br.input_.read(ringbuffer, rb_pos, nbytes) < nbytes) {\n throw new Error('[CopyUncompressedBlockToOutput] not enough bytes');\n }\n output.write(ringbuffer, rb_size);\n len -= nbytes;\n rb_pos = 0;\n }\n\n /* Copy straight from the input onto the ringbuffer. The ringbuffer will be\n flushed to the output at a later time. */\n if (br.input_.read(ringbuffer, rb_pos, len) < len) {\n throw new Error('[CopyUncompressedBlockToOutput] not enough bytes');\n }\n\n /* Restore the state of the bit reader. */\n br.reset();\n}\n\n/* Advances the bit reader position to the next byte boundary and verifies\n that any skipped bits are set to zero. */\nfunction JumpToByteBoundary(br) {\n var new_bit_pos = (br.bit_pos_ + 7) & ~7;\n var pad_bits = br.readBits(new_bit_pos - br.bit_pos_);\n return pad_bits == 0;\n}\n\nfunction BrotliDecompressedSize(buffer) {\n var input = new BrotliInput(buffer);\n var br = new BrotliBitReader(input);\n DecodeWindowBits(br);\n var out = DecodeMetaBlockLength(br);\n return out.meta_block_length;\n}\n\nexports.BrotliDecompressedSize = BrotliDecompressedSize;\n\nfunction BrotliDecompressBuffer(buffer, output_size) {\n var input = new BrotliInput(buffer);\n \n if (output_size == null) {\n output_size = BrotliDecompressedSize(buffer);\n }\n \n var output_buffer = new Uint8Array(output_size);\n var output = new BrotliOutput(output_buffer);\n \n BrotliDecompress(input, output);\n \n if (output.pos < output.buffer.length) {\n output.buffer = output.buffer.subarray(0, output.pos);\n }\n \n return output.buffer;\n}\n\nexports.BrotliDecompressBuffer = BrotliDecompressBuffer;\n\nfunction BrotliDecompress(input, output) {\n var i;\n var pos = 0;\n var input_end = 0;\n var window_bits = 0;\n var max_backward_distance;\n var max_distance = 0;\n var ringbuffer_size;\n var ringbuffer_mask;\n var ringbuffer;\n var ringbuffer_end;\n /* This ring buffer holds a few past copy distances that will be used by */\n /* some special distance codes. */\n var dist_rb = [ 16, 15, 11, 4 ];\n var dist_rb_idx = 0;\n /* The previous 2 bytes used for context. */\n var prev_byte1 = 0;\n var prev_byte2 = 0;\n var hgroup = [new HuffmanTreeGroup(0, 0), new HuffmanTreeGroup(0, 0), new HuffmanTreeGroup(0, 0)];\n var block_type_trees;\n var block_len_trees;\n var br;\n\n /* We need the slack region for the following reasons:\n - always doing two 8-byte copies for fast backward copying\n - transforms\n - flushing the input ringbuffer when decoding uncompressed blocks */\n var kRingBufferWriteAheadSlack = 128 + BrotliBitReader.READ_SIZE;\n\n br = new BrotliBitReader(input);\n\n /* Decode window size. */\n window_bits = DecodeWindowBits(br);\n max_backward_distance = (1 << window_bits) - 16;\n\n ringbuffer_size = 1 << window_bits;\n ringbuffer_mask = ringbuffer_size - 1;\n ringbuffer = new Uint8Array(ringbuffer_size + kRingBufferWriteAheadSlack + BrotliDictionary.maxDictionaryWordLength);\n ringbuffer_end = ringbuffer_size;\n\n block_type_trees = [];\n block_len_trees = [];\n for (var x = 0; x < 3 * HUFFMAN_MAX_TABLE_SIZE; x++) {\n block_type_trees[x] = new HuffmanCode(0, 0);\n block_len_trees[x] = new HuffmanCode(0, 0);\n }\n\n while (!input_end) {\n var meta_block_remaining_len = 0;\n var is_uncompressed;\n var block_length = [ 1 << 28, 1 << 28, 1 << 28 ];\n var block_type = [ 0 ];\n var num_block_types = [ 1, 1, 1 ];\n var block_type_rb = [ 0, 1, 0, 1, 0, 1 ];\n var block_type_rb_index = [ 0 ];\n var distance_postfix_bits;\n var num_direct_distance_codes;\n var distance_postfix_mask;\n var num_distance_codes;\n var context_map = null;\n var context_modes = null;\n var num_literal_htrees;\n var dist_context_map = null;\n var num_dist_htrees;\n var context_offset = 0;\n var context_map_slice = null;\n var literal_htree_index = 0;\n var dist_context_offset = 0;\n var dist_context_map_slice = null;\n var dist_htree_index = 0;\n var context_lookup_offset1 = 0;\n var context_lookup_offset2 = 0;\n var context_mode;\n var htree_command;\n\n for (i = 0; i < 3; ++i) {\n hgroup[i].codes = null;\n hgroup[i].htrees = null;\n }\n\n br.readMoreInput();\n \n var _out = DecodeMetaBlockLength(br);\n meta_block_remaining_len = _out.meta_block_length;\n if (pos + meta_block_remaining_len > output.buffer.length) {\n /* We need to grow the output buffer to fit the additional data. */\n var tmp = new Uint8Array( pos + meta_block_remaining_len );\n tmp.set( output.buffer );\n output.buffer = tmp;\n } \n input_end = _out.input_end;\n is_uncompressed = _out.is_uncompressed;\n \n if (_out.is_metadata) {\n JumpToByteBoundary(br);\n \n for (; meta_block_remaining_len > 0; --meta_block_remaining_len) {\n br.readMoreInput();\n /* Read one byte and ignore it. */\n br.readBits(8);\n }\n \n continue;\n }\n \n if (meta_block_remaining_len === 0) {\n continue;\n }\n \n if (is_uncompressed) {\n br.bit_pos_ = (br.bit_pos_ + 7) & ~7;\n CopyUncompressedBlockToOutput(output, meta_block_remaining_len, pos,\n ringbuffer, ringbuffer_mask, br);\n pos += meta_block_remaining_len;\n continue;\n }\n \n for (i = 0; i < 3; ++i) {\n num_block_types[i] = DecodeVarLenUint8(br) + 1;\n if (num_block_types[i] >= 2) {\n ReadHuffmanCode(num_block_types[i] + 2, block_type_trees, i * HUFFMAN_MAX_TABLE_SIZE, br);\n ReadHuffmanCode(kNumBlockLengthCodes, block_len_trees, i * HUFFMAN_MAX_TABLE_SIZE, br);\n block_length[i] = ReadBlockLength(block_len_trees, i * HUFFMAN_MAX_TABLE_SIZE, br);\n block_type_rb_index[i] = 1;\n }\n }\n \n br.readMoreInput();\n \n distance_postfix_bits = br.readBits(2);\n num_direct_distance_codes = NUM_DISTANCE_SHORT_CODES + (br.readBits(4) << distance_postfix_bits);\n distance_postfix_mask = (1 << distance_postfix_bits) - 1;\n num_distance_codes = (num_direct_distance_codes + (48 << distance_postfix_bits));\n context_modes = new Uint8Array(num_block_types[0]);\n\n for (i = 0; i < num_block_types[0]; ++i) {\n br.readMoreInput();\n context_modes[i] = (br.readBits(2) << 1);\n }\n \n var _o1 = DecodeContextMap(num_block_types[0] << kLiteralContextBits, br);\n num_literal_htrees = _o1.num_htrees;\n context_map = _o1.context_map;\n \n var _o2 = DecodeContextMap(num_block_types[2] << kDistanceContextBits, br);\n num_dist_htrees = _o2.num_htrees;\n dist_context_map = _o2.context_map;\n \n hgroup[0] = new HuffmanTreeGroup(kNumLiteralCodes, num_literal_htrees);\n hgroup[1] = new HuffmanTreeGroup(kNumInsertAndCopyCodes, num_block_types[1]);\n hgroup[2] = new HuffmanTreeGroup(num_distance_codes, num_dist_htrees);\n\n for (i = 0; i < 3; ++i) {\n hgroup[i].decode(br);\n }\n\n context_map_slice = 0;\n dist_context_map_slice = 0;\n context_mode = context_modes[block_type[0]];\n context_lookup_offset1 = Context.lookupOffsets[context_mode];\n context_lookup_offset2 = Context.lookupOffsets[context_mode + 1];\n htree_command = hgroup[1].htrees[0];\n\n while (meta_block_remaining_len > 0) {\n var cmd_code;\n var range_idx;\n var insert_code;\n var copy_code;\n var insert_length;\n var copy_length;\n var distance_code;\n var distance;\n var context;\n var j;\n var copy_dst;\n\n br.readMoreInput();\n \n if (block_length[1] === 0) {\n DecodeBlockType(num_block_types[1],\n block_type_trees, 1, block_type, block_type_rb,\n block_type_rb_index, br);\n block_length[1] = ReadBlockLength(block_len_trees, HUFFMAN_MAX_TABLE_SIZE, br);\n htree_command = hgroup[1].htrees[block_type[1]];\n }\n --block_length[1];\n cmd_code = ReadSymbol(hgroup[1].codes, htree_command, br);\n range_idx = cmd_code >> 6;\n if (range_idx >= 2) {\n range_idx -= 2;\n distance_code = -1;\n } else {\n distance_code = 0;\n }\n insert_code = Prefix.kInsertRangeLut[range_idx] + ((cmd_code >> 3) & 7);\n copy_code = Prefix.kCopyRangeLut[range_idx] + (cmd_code & 7);\n insert_length = Prefix.kInsertLengthPrefixCode[insert_code].offset +\n br.readBits(Prefix.kInsertLengthPrefixCode[insert_code].nbits);\n copy_length = Prefix.kCopyLengthPrefixCode[copy_code].offset +\n br.readBits(Prefix.kCopyLengthPrefixCode[copy_code].nbits);\n prev_byte1 = ringbuffer[pos-1 & ringbuffer_mask];\n prev_byte2 = ringbuffer[pos-2 & ringbuffer_mask];\n for (j = 0; j < insert_length; ++j) {\n br.readMoreInput();\n\n if (block_length[0] === 0) {\n DecodeBlockType(num_block_types[0],\n block_type_trees, 0, block_type, block_type_rb,\n block_type_rb_index, br);\n block_length[0] = ReadBlockLength(block_len_trees, 0, br);\n context_offset = block_type[0] << kLiteralContextBits;\n context_map_slice = context_offset;\n context_mode = context_modes[block_type[0]];\n context_lookup_offset1 = Context.lookupOffsets[context_mode];\n context_lookup_offset2 = Context.lookupOffsets[context_mode + 1];\n }\n context = (Context.lookup[context_lookup_offset1 + prev_byte1] |\n Context.lookup[context_lookup_offset2 + prev_byte2]);\n literal_htree_index = context_map[context_map_slice + context];\n --block_length[0];\n prev_byte2 = prev_byte1;\n prev_byte1 = ReadSymbol(hgroup[0].codes, hgroup[0].htrees[literal_htree_index], br);\n ringbuffer[pos & ringbuffer_mask] = prev_byte1;\n if ((pos & ringbuffer_mask) === ringbuffer_mask) {\n output.write(ringbuffer, ringbuffer_size);\n }\n ++pos;\n }\n meta_block_remaining_len -= insert_length;\n if (meta_block_remaining_len <= 0) break;\n\n if (distance_code < 0) {\n var context;\n \n br.readMoreInput();\n if (block_length[2] === 0) {\n DecodeBlockType(num_block_types[2],\n block_type_trees, 2, block_type, block_type_rb,\n block_type_rb_index, br);\n block_length[2] = ReadBlockLength(block_len_trees, 2 * HUFFMAN_MAX_TABLE_SIZE, br);\n dist_context_offset = block_type[2] << kDistanceContextBits;\n dist_context_map_slice = dist_context_offset;\n }\n --block_length[2];\n context = (copy_length > 4 ? 3 : copy_length - 2) & 0xff;\n dist_htree_index = dist_context_map[dist_context_map_slice + context];\n distance_code = ReadSymbol(hgroup[2].codes, hgroup[2].htrees[dist_htree_index], br);\n if (distance_code >= num_direct_distance_codes) {\n var nbits;\n var postfix;\n var offset;\n distance_code -= num_direct_distance_codes;\n postfix = distance_code & distance_postfix_mask;\n distance_code >>= distance_postfix_bits;\n nbits = (distance_code >> 1) + 1;\n offset = ((2 + (distance_code & 1)) << nbits) - 4;\n distance_code = num_direct_distance_codes +\n ((offset + br.readBits(nbits)) <<\n distance_postfix_bits) + postfix;\n }\n }\n\n /* Convert the distance code to the actual distance by possibly looking */\n /* up past distnaces from the ringbuffer. */\n distance = TranslateShortCodes(distance_code, dist_rb, dist_rb_idx);\n if (distance < 0) {\n throw new Error('[BrotliDecompress] invalid distance');\n }\n\n if (pos < max_backward_distance &&\n max_distance !== max_backward_distance) {\n max_distance = pos;\n } else {\n max_distance = max_backward_distance;\n }\n\n copy_dst = pos & ringbuffer_mask;\n\n if (distance > max_distance) {\n if (copy_length >= BrotliDictionary.minDictionaryWordLength &&\n copy_length <= BrotliDictionary.maxDictionaryWordLength) {\n var offset = BrotliDictionary.offsetsByLength[copy_length];\n var word_id = distance - max_distance - 1;\n var shift = BrotliDictionary.sizeBitsByLength[copy_length];\n var mask = (1 << shift) - 1;\n var word_idx = word_id & mask;\n var transform_idx = word_id >> shift;\n offset += word_idx * copy_length;\n if (transform_idx < Transform.kNumTransforms) {\n var len = Transform.transformDictionaryWord(ringbuffer, copy_dst, offset, copy_length, transform_idx);\n copy_dst += len;\n pos += len;\n meta_block_remaining_len -= len;\n if (copy_dst >= ringbuffer_end) {\n output.write(ringbuffer, ringbuffer_size);\n \n for (var _x = 0; _x < (copy_dst - ringbuffer_end); _x++)\n ringbuffer[_x] = ringbuffer[ringbuffer_end + _x];\n }\n } else {\n throw new Error(\"Invalid backward reference. pos: \" + pos + \" distance: \" + distance +\n \" len: \" + copy_length + \" bytes left: \" + meta_block_remaining_len);\n }\n } else {\n throw new Error(\"Invalid backward reference. pos: \" + pos + \" distance: \" + distance +\n \" len: \" + copy_length + \" bytes left: \" + meta_block_remaining_len);\n }\n } else {\n if (distance_code > 0) {\n dist_rb[dist_rb_idx & 3] = distance;\n ++dist_rb_idx;\n }\n\n if (copy_length > meta_block_remaining_len) {\n throw new Error(\"Invalid backward reference. pos: \" + pos + \" distance: \" + distance +\n \" len: \" + copy_length + \" bytes left: \" + meta_block_remaining_len);\n }\n\n for (j = 0; j < copy_length; ++j) {\n ringbuffer[pos & ringbuffer_mask] = ringbuffer[(pos - distance) & ringbuffer_mask];\n if ((pos & ringbuffer_mask) === ringbuffer_mask) {\n output.write(ringbuffer, ringbuffer_size);\n }\n ++pos;\n --meta_block_remaining_len;\n }\n }\n\n /* When we get here, we must have inserted at least one literal and */\n /* made a copy of at least length two, therefore accessing the last 2 */\n /* bytes is valid. */\n prev_byte1 = ringbuffer[(pos - 1) & ringbuffer_mask];\n prev_byte2 = ringbuffer[(pos - 2) & ringbuffer_mask];\n }\n\n /* Protect pos from overflow, wrap it around at every GB of input data */\n pos &= 0x3fffffff;\n }\n\n output.write(ringbuffer, pos & ringbuffer_mask);\n}\n\nexports.BrotliDecompress = BrotliDecompress;\n\nBrotliDictionary.init();\n","var base64 = require('base64-js');\n\n/**\n * The normal dictionary-data.js is quite large, which makes it \n * unsuitable for browser usage. In order to make it smaller, \n * we read dictionary.bin, which is a compressed version of\n * the dictionary, and on initial load, Brotli decompresses \n * it's own dictionary. 😜\n */\nexports.init = function() {\n var BrotliDecompressBuffer = require('./decode').BrotliDecompressBuffer;\n var compressed = base64.toByteArray(require('./dictionary.bin.js'));\n return BrotliDecompressBuffer(compressed);\n};\n","module.exports=\"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\";\n","/* Copyright 2013 Google Inc. All Rights Reserved.\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 Collection of static dictionary words.\n*/\n\nvar data = require('./dictionary-data');\nexports.init = function() {\n exports.dictionary = data.init();\n};\n\nexports.offsetsByLength = new Uint32Array([\n 0, 0, 0, 0, 0, 4096, 9216, 21504, 35840, 44032,\n 53248, 63488, 74752, 87040, 93696, 100864, 104704, 106752, 108928, 113536,\n 115968, 118528, 119872, 121280, 122016,\n]);\n\nexports.sizeBitsByLength = new Uint8Array([\n 0, 0, 0, 0, 10, 10, 11, 11, 10, 10,\n 10, 10, 10, 9, 9, 8, 7, 7, 8, 7,\n 7, 6, 6, 5, 5,\n]);\n\nexports.minDictionaryWordLength = 4;\nexports.maxDictionaryWordLength = 24;\n","function HuffmanCode(bits, value) {\n this.bits = bits; /* number of bits used for this symbol */\n this.value = value; /* symbol value or table offset */\n}\n\nexports.HuffmanCode = HuffmanCode;\n\nvar MAX_LENGTH = 15;\n\n/* Returns reverse(reverse(key, len) + 1, len), where reverse(key, len) is the\n bit-wise reversal of the len least significant bits of key. */\nfunction GetNextKey(key, len) {\n var step = 1 << (len - 1);\n while (key & step) {\n step >>= 1;\n }\n return (key & (step - 1)) + step;\n}\n\n/* Stores code in table[0], table[step], table[2*step], ..., table[end] */\n/* Assumes that end is an integer multiple of step */\nfunction ReplicateValue(table, i, step, end, code) {\n do {\n end -= step;\n table[i + end] = new HuffmanCode(code.bits, code.value);\n } while (end > 0);\n}\n\n/* Returns the table width of the next 2nd level table. count is the histogram\n of bit lengths for the remaining symbols, len is the code length of the next\n processed symbol */\nfunction NextTableBitSize(count, len, root_bits) {\n var left = 1 << (len - root_bits);\n while (len < MAX_LENGTH) {\n left -= count[len];\n if (left <= 0) break;\n ++len;\n left <<= 1;\n }\n return len - root_bits;\n}\n\nexports.BrotliBuildHuffmanTable = function(root_table, table, root_bits, code_lengths, code_lengths_size) {\n var start_table = table;\n var code; /* current table entry */\n var len; /* current code length */\n var symbol; /* symbol index in original or sorted table */\n var key; /* reversed prefix code */\n var step; /* step size to replicate values in current table */\n var low; /* low bits for current root entry */\n var mask; /* mask for low bits */\n var table_bits; /* key length of current table */\n var table_size; /* size of current table */\n var total_size; /* sum of root table size and 2nd level table sizes */\n var sorted; /* symbols sorted by code length */\n var count = new Int32Array(MAX_LENGTH + 1); /* number of codes of each length */\n var offset = new Int32Array(MAX_LENGTH + 1); /* offsets in sorted table for each length */\n\n sorted = new Int32Array(code_lengths_size);\n\n /* build histogram of code lengths */\n for (symbol = 0; symbol < code_lengths_size; symbol++) {\n count[code_lengths[symbol]]++;\n }\n\n /* generate offsets into sorted symbol table by code length */\n offset[1] = 0;\n for (len = 1; len < MAX_LENGTH; len++) {\n offset[len + 1] = offset[len] + count[len];\n }\n\n /* sort symbols by length, by symbol order within each length */\n for (symbol = 0; symbol < code_lengths_size; symbol++) {\n if (code_lengths[symbol] !== 0) {\n sorted[offset[code_lengths[symbol]]++] = symbol;\n }\n }\n \n table_bits = root_bits;\n table_size = 1 << table_bits;\n total_size = table_size;\n\n /* special case code with only one value */\n if (offset[MAX_LENGTH] === 1) {\n for (key = 0; key < total_size; ++key) {\n root_table[table + key] = new HuffmanCode(0, sorted[0] & 0xffff);\n }\n \n return total_size;\n }\n\n /* fill in root table */\n key = 0;\n symbol = 0;\n for (len = 1, step = 2; len <= root_bits; ++len, step <<= 1) {\n for (; count[len] > 0; --count[len]) {\n code = new HuffmanCode(len & 0xff, sorted[symbol++] & 0xffff);\n ReplicateValue(root_table, table + key, step, table_size, code);\n key = GetNextKey(key, len);\n }\n }\n\n /* fill in 2nd level tables and add pointers to root table */\n mask = total_size - 1;\n low = -1;\n for (len = root_bits + 1, step = 2; len <= MAX_LENGTH; ++len, step <<= 1) {\n for (; count[len] > 0; --count[len]) {\n if ((key & mask) !== low) {\n table += table_size;\n table_bits = NextTableBitSize(count, len, root_bits);\n table_size = 1 << table_bits;\n total_size += table_size;\n low = key & mask;\n root_table[start_table + low] = new HuffmanCode((table_bits + root_bits) & 0xff, ((table - start_table) - low) & 0xffff);\n }\n code = new HuffmanCode((len - root_bits) & 0xff, sorted[symbol++] & 0xffff);\n ReplicateValue(root_table, table + (key >> root_bits), step, table_size, code);\n key = GetNextKey(key, len);\n }\n }\n \n return total_size;\n}\n","/* Copyright 2013 Google Inc. All Rights Reserved.\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 Lookup tables to map prefix codes to value ranges. This is used during\n decoding of the block lengths, literal insertion lengths and copy lengths.\n*/\n\n/* Represents the range of values belonging to a prefix code: */\n/* [offset, offset + 2^nbits) */\nfunction PrefixCodeRange(offset, nbits) {\n this.offset = offset;\n this.nbits = nbits;\n}\n\nexports.kBlockLengthPrefixCode = [\n new PrefixCodeRange(1, 2), new PrefixCodeRange(5, 2), new PrefixCodeRange(9, 2), new PrefixCodeRange(13, 2),\n new PrefixCodeRange(17, 3), new PrefixCodeRange(25, 3), new PrefixCodeRange(33, 3), new PrefixCodeRange(41, 3),\n new PrefixCodeRange(49, 4), new PrefixCodeRange(65, 4), new PrefixCodeRange(81, 4), new PrefixCodeRange(97, 4),\n new PrefixCodeRange(113, 5), new PrefixCodeRange(145, 5), new PrefixCodeRange(177, 5), new PrefixCodeRange(209, 5),\n new PrefixCodeRange(241, 6), new PrefixCodeRange(305, 6), new PrefixCodeRange(369, 7), new PrefixCodeRange(497, 8),\n new PrefixCodeRange(753, 9), new PrefixCodeRange(1265, 10), new PrefixCodeRange(2289, 11), new PrefixCodeRange(4337, 12),\n new PrefixCodeRange(8433, 13), new PrefixCodeRange(16625, 24)\n];\n\nexports.kInsertLengthPrefixCode = [\n new PrefixCodeRange(0, 0), new PrefixCodeRange(1, 0), new PrefixCodeRange(2, 0), new PrefixCodeRange(3, 0),\n new PrefixCodeRange(4, 0), new PrefixCodeRange(5, 0), new PrefixCodeRange(6, 1), new PrefixCodeRange(8, 1),\n new PrefixCodeRange(10, 2), new PrefixCodeRange(14, 2), new PrefixCodeRange(18, 3), new PrefixCodeRange(26, 3),\n new PrefixCodeRange(34, 4), new PrefixCodeRange(50, 4), new PrefixCodeRange(66, 5), new PrefixCodeRange(98, 5),\n new PrefixCodeRange(130, 6), new PrefixCodeRange(194, 7), new PrefixCodeRange(322, 8), new PrefixCodeRange(578, 9),\n new PrefixCodeRange(1090, 10), new PrefixCodeRange(2114, 12), new PrefixCodeRange(6210, 14), new PrefixCodeRange(22594, 24),\n];\n\nexports.kCopyLengthPrefixCode = [\n new PrefixCodeRange(2, 0), new PrefixCodeRange(3, 0), new PrefixCodeRange(4, 0), new PrefixCodeRange(5, 0),\n new PrefixCodeRange(6, 0), new PrefixCodeRange(7, 0), new PrefixCodeRange(8, 0), new PrefixCodeRange(9, 0),\n new PrefixCodeRange(10, 1), new PrefixCodeRange(12, 1), new PrefixCodeRange(14, 2), new PrefixCodeRange(18, 2),\n new PrefixCodeRange(22, 3), new PrefixCodeRange(30, 3), new PrefixCodeRange(38, 4), new PrefixCodeRange(54, 4),\n new PrefixCodeRange(70, 5), new PrefixCodeRange(102, 5), new PrefixCodeRange(134, 6), new PrefixCodeRange(198, 7),\n new PrefixCodeRange(326, 8), new PrefixCodeRange(582, 9), new PrefixCodeRange(1094, 10), new PrefixCodeRange(2118, 24),\n];\n\nexports.kInsertRangeLut = [\n 0, 0, 8, 8, 0, 16, 8, 16, 16,\n];\n\nexports.kCopyRangeLut = [\n 0, 8, 0, 8, 16, 0, 16, 8, 16,\n];\n","function BrotliInput(buffer) {\n this.buffer = buffer;\n this.pos = 0;\n}\n\nBrotliInput.prototype.read = function(buf, i, count) {\n if (this.pos + count > this.buffer.length) {\n count = this.buffer.length - this.pos;\n }\n \n for (var p = 0; p < count; p++)\n buf[i + p] = this.buffer[this.pos + p];\n \n this.pos += count;\n return count;\n}\n\nexports.BrotliInput = BrotliInput;\n\nfunction BrotliOutput(buf) {\n this.buffer = buf;\n this.pos = 0;\n}\n\nBrotliOutput.prototype.write = function(buf, count) {\n if (this.pos + count > this.buffer.length)\n throw new Error('Output buffer is not large enough');\n \n this.buffer.set(buf.subarray(0, count), this.pos);\n this.pos += count;\n return count;\n};\n\nexports.BrotliOutput = BrotliOutput;\n","/* Copyright 2013 Google Inc. All Rights Reserved.\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 Transformations on dictionary words.\n*/\n\nvar BrotliDictionary = require('./dictionary');\n\nvar kIdentity = 0;\nvar kOmitLast1 = 1;\nvar kOmitLast2 = 2;\nvar kOmitLast3 = 3;\nvar kOmitLast4 = 4;\nvar kOmitLast5 = 5;\nvar kOmitLast6 = 6;\nvar kOmitLast7 = 7;\nvar kOmitLast8 = 8;\nvar kOmitLast9 = 9;\nvar kUppercaseFirst = 10;\nvar kUppercaseAll = 11;\nvar kOmitFirst1 = 12;\nvar kOmitFirst2 = 13;\nvar kOmitFirst3 = 14;\nvar kOmitFirst4 = 15;\nvar kOmitFirst5 = 16;\nvar kOmitFirst6 = 17;\nvar kOmitFirst7 = 18;\nvar kOmitFirst8 = 19;\nvar kOmitFirst9 = 20;\n\nfunction Transform(prefix, transform, suffix) {\n this.prefix = new Uint8Array(prefix.length);\n this.transform = transform;\n this.suffix = new Uint8Array(suffix.length);\n \n for (var i = 0; i < prefix.length; i++)\n this.prefix[i] = prefix.charCodeAt(i);\n \n for (var i = 0; i < suffix.length; i++)\n this.suffix[i] = suffix.charCodeAt(i);\n}\n\nvar kTransforms = [\n new Transform( \"\", kIdentity, \"\" ),\n new Transform( \"\", kIdentity, \" \" ),\n new Transform( \" \", kIdentity, \" \" ),\n new Transform( \"\", kOmitFirst1, \"\" ),\n new Transform( \"\", kUppercaseFirst, \" \" ),\n new Transform( \"\", kIdentity, \" the \" ),\n new Transform( \" \", kIdentity, \"\" ),\n new Transform( \"s \", kIdentity, \" \" ),\n new Transform( \"\", kIdentity, \" of \" ),\n new Transform( \"\", kUppercaseFirst, \"\" ),\n new Transform( \"\", kIdentity, \" and \" ),\n new Transform( \"\", kOmitFirst2, \"\" ),\n new Transform( \"\", kOmitLast1, \"\" ),\n new Transform( \", \", kIdentity, \" \" ),\n new Transform( \"\", kIdentity, \", \" ),\n new Transform( \" \", kUppercaseFirst, \" \" ),\n new Transform( \"\", kIdentity, \" in \" ),\n new Transform( \"\", kIdentity, \" to \" ),\n new Transform( \"e \", kIdentity, \" \" ),\n new Transform( \"\", kIdentity, \"\\\"\" ),\n new Transform( \"\", kIdentity, \".\" ),\n new Transform( \"\", kIdentity, \"\\\">\" ),\n new Transform( \"\", kIdentity, \"\\n\" ),\n new Transform( \"\", kOmitLast3, \"\" ),\n new Transform( \"\", kIdentity, \"]\" ),\n new Transform( \"\", kIdentity, \" for \" ),\n new Transform( \"\", kOmitFirst3, \"\" ),\n new Transform( \"\", kOmitLast2, \"\" ),\n new Transform( \"\", kIdentity, \" a \" ),\n new Transform( \"\", kIdentity, \" that \" ),\n new Transform( \" \", kUppercaseFirst, \"\" ),\n new Transform( \"\", kIdentity, \". \" ),\n new Transform( \".\", kIdentity, \"\" ),\n new Transform( \" \", kIdentity, \", \" ),\n new Transform( \"\", kOmitFirst4, \"\" ),\n new Transform( \"\", kIdentity, \" with \" ),\n new Transform( \"\", kIdentity, \"'\" ),\n new Transform( \"\", kIdentity, \" from \" ),\n new Transform( \"\", kIdentity, \" by \" ),\n new Transform( \"\", kOmitFirst5, \"\" ),\n new Transform( \"\", kOmitFirst6, \"\" ),\n new Transform( \" the \", kIdentity, \"\" ),\n new Transform( \"\", kOmitLast4, \"\" ),\n new Transform( \"\", kIdentity, \". The \" ),\n new Transform( \"\", kUppercaseAll, \"\" ),\n new Transform( \"\", kIdentity, \" on \" ),\n new Transform( \"\", kIdentity, \" as \" ),\n new Transform( \"\", kIdentity, \" is \" ),\n new Transform( \"\", kOmitLast7, \"\" ),\n new Transform( \"\", kOmitLast1, \"ing \" ),\n new Transform( \"\", kIdentity, \"\\n\\t\" ),\n new Transform( \"\", kIdentity, \":\" ),\n new Transform( \" \", kIdentity, \". \" ),\n new Transform( \"\", kIdentity, \"ed \" ),\n new Transform( \"\", kOmitFirst9, \"\" ),\n new Transform( \"\", kOmitFirst7, \"\" ),\n new Transform( \"\", kOmitLast6, \"\" ),\n new Transform( \"\", kIdentity, \"(\" ),\n new Transform( \"\", kUppercaseFirst, \", \" ),\n new Transform( \"\", kOmitLast8, \"\" ),\n new Transform( \"\", kIdentity, \" at \" ),\n new Transform( \"\", kIdentity, \"ly \" ),\n new Transform( \" the \", kIdentity, \" of \" ),\n new Transform( \"\", kOmitLast5, \"\" ),\n new Transform( \"\", kOmitLast9, \"\" ),\n new Transform( \" \", kUppercaseFirst, \", \" ),\n new Transform( \"\", kUppercaseFirst, \"\\\"\" ),\n new Transform( \".\", kIdentity, \"(\" ),\n new Transform( \"\", kUppercaseAll, \" \" ),\n new Transform( \"\", kUppercaseFirst, \"\\\">\" ),\n new Transform( \"\", kIdentity, \"=\\\"\" ),\n new Transform( \" \", kIdentity, \".\" ),\n new Transform( \".com/\", kIdentity, \"\" ),\n new Transform( \" the \", kIdentity, \" of the \" ),\n new Transform( \"\", kUppercaseFirst, \"'\" ),\n new Transform( \"\", kIdentity, \". This \" ),\n new Transform( \"\", kIdentity, \",\" ),\n new Transform( \".\", kIdentity, \" \" ),\n new Transform( \"\", kUppercaseFirst, \"(\" ),\n new Transform( \"\", kUppercaseFirst, \".\" ),\n new Transform( \"\", kIdentity, \" not \" ),\n new Transform( \" \", kIdentity, \"=\\\"\" ),\n new Transform( \"\", kIdentity, \"er \" ),\n new Transform( \" \", kUppercaseAll, \" \" ),\n new Transform( \"\", kIdentity, \"al \" ),\n new Transform( \" \", kUppercaseAll, \"\" ),\n new Transform( \"\", kIdentity, \"='\" ),\n new Transform( \"\", kUppercaseAll, \"\\\"\" ),\n new Transform( \"\", kUppercaseFirst, \". \" ),\n new Transform( \" \", kIdentity, \"(\" ),\n new Transform( \"\", kIdentity, \"ful \" ),\n new Transform( \" \", kUppercaseFirst, \". \" ),\n new Transform( \"\", kIdentity, \"ive \" ),\n new Transform( \"\", kIdentity, \"less \" ),\n new Transform( \"\", kUppercaseAll, \"'\" ),\n new Transform( \"\", kIdentity, \"est \" ),\n new Transform( \" \", kUppercaseFirst, \".\" ),\n new Transform( \"\", kUppercaseAll, \"\\\">\" ),\n new Transform( \" \", kIdentity, \"='\" ),\n new Transform( \"\", kUppercaseFirst, \",\" ),\n new Transform( \"\", kIdentity, \"ize \" ),\n new Transform( \"\", kUppercaseAll, \".\" ),\n new Transform( \"\\xc2\\xa0\", kIdentity, \"\" ),\n new Transform( \" \", kIdentity, \",\" ),\n new Transform( \"\", kUppercaseFirst, \"=\\\"\" ),\n new Transform( \"\", kUppercaseAll, \"=\\\"\" ),\n new Transform( \"\", kIdentity, \"ous \" ),\n new Transform( \"\", kUppercaseAll, \", \" ),\n new Transform( \"\", kUppercaseFirst, \"='\" ),\n new Transform( \" \", kUppercaseFirst, \",\" ),\n new Transform( \" \", kUppercaseAll, \"=\\\"\" ),\n new Transform( \" \", kUppercaseAll, \", \" ),\n new Transform( \"\", kUppercaseAll, \",\" ),\n new Transform( \"\", kUppercaseAll, \"(\" ),\n new Transform( \"\", kUppercaseAll, \". \" ),\n new Transform( \" \", kUppercaseAll, \".\" ),\n new Transform( \"\", kUppercaseAll, \"='\" ),\n new Transform( \" \", kUppercaseAll, \". \" ),\n new Transform( \" \", kUppercaseFirst, \"=\\\"\" ),\n new Transform( \" \", kUppercaseAll, \"='\" ),\n new Transform( \" \", kUppercaseFirst, \"='\" )\n];\n\nexports.kTransforms = kTransforms;\nexports.kNumTransforms = kTransforms.length;\n\nfunction ToUpperCase(p, i) {\n if (p[i] < 0xc0) {\n if (p[i] >= 97 && p[i] <= 122) {\n p[i] ^= 32;\n }\n return 1;\n }\n \n /* An overly simplified uppercasing model for utf-8. */\n if (p[i] < 0xe0) {\n p[i + 1] ^= 32;\n return 2;\n }\n \n /* An arbitrary transform for three byte characters. */\n p[i + 2] ^= 5;\n return 3;\n}\n\nexports.transformDictionaryWord = function(dst, idx, word, len, transform) {\n var prefix = kTransforms[transform].prefix;\n var suffix = kTransforms[transform].suffix;\n var t = kTransforms[transform].transform;\n var skip = t < kOmitFirst1 ? 0 : t - (kOmitFirst1 - 1);\n var i = 0;\n var start_idx = idx;\n var uppercase;\n \n if (skip > len) {\n skip = len;\n }\n \n var prefix_pos = 0;\n while (prefix_pos < prefix.length) {\n dst[idx++] = prefix[prefix_pos++];\n }\n \n word += skip;\n len -= skip;\n \n if (t <= kOmitLast9) {\n len -= t;\n }\n \n for (i = 0; i < len; i++) {\n dst[idx++] = BrotliDictionary.dictionary[word + i];\n }\n \n uppercase = idx - len;\n \n if (t === kUppercaseFirst) {\n ToUpperCase(dst, uppercase);\n } else if (t === kUppercaseAll) {\n while (len > 0) {\n var step = ToUpperCase(dst, uppercase);\n uppercase += step;\n len -= step;\n }\n }\n \n var suffix_pos = 0;\n while (suffix_pos < suffix.length) {\n dst[idx++] = suffix[suffix_pos++];\n }\n \n return idx - start_idx;\n}\n","module.exports = require('./dec/decode').BrotliDecompressBuffer;\n","var clone = (function() {\n'use strict';\n\nfunction _instanceof(obj, type) {\n return type != null && obj instanceof type;\n}\n\nvar nativeMap;\ntry {\n nativeMap = Map;\n} catch(_) {\n // maybe a reference error because no `Map`. Give it a dummy value that no\n // value will ever be an instanceof.\n nativeMap = function() {};\n}\n\nvar nativeSet;\ntry {\n nativeSet = Set;\n} catch(_) {\n nativeSet = function() {};\n}\n\nvar nativePromise;\ntry {\n nativePromise = Promise;\n} catch(_) {\n nativePromise = function() {};\n}\n\n/**\n * Clones (copies) an Object using deep copying.\n *\n * This function supports circular references by default, but if you are certain\n * there are no circular references in your object, you can save some CPU time\n * by calling clone(obj, false).\n *\n * Caution: if `circular` is false and `parent` contains circular references,\n * your program may enter an infinite loop and crash.\n *\n * @param `parent` - the object to be cloned\n * @param `circular` - set to true if the object to be cloned may contain\n * circular references. (optional - true by default)\n * @param `depth` - set to a number if the object is only to be cloned to\n * a particular depth. (optional - defaults to Infinity)\n * @param `prototype` - sets the prototype to be used when cloning an object.\n * (optional - defaults to parent prototype).\n * @param `includeNonEnumerable` - set to true if the non-enumerable properties\n * should be cloned as well. Non-enumerable properties on the prototype\n * chain will be ignored. (optional - false by default)\n*/\nfunction clone(parent, circular, depth, prototype, includeNonEnumerable) {\n if (typeof circular === 'object') {\n depth = circular.depth;\n prototype = circular.prototype;\n includeNonEnumerable = circular.includeNonEnumerable;\n circular = circular.circular;\n }\n // maintain two arrays for circular references, where corresponding parents\n // and children have the same index\n var allParents = [];\n var allChildren = [];\n\n var useBuffer = typeof Buffer != 'undefined';\n\n if (typeof circular == 'undefined')\n circular = true;\n\n if (typeof depth == 'undefined')\n depth = Infinity;\n\n // recurse this function so we don't reset allParents and allChildren\n function _clone(parent, depth) {\n // cloning null always returns null\n if (parent === null)\n return null;\n\n if (depth === 0)\n return parent;\n\n var child;\n var proto;\n if (typeof parent != 'object') {\n return parent;\n }\n\n if (_instanceof(parent, nativeMap)) {\n child = new nativeMap();\n } else if (_instanceof(parent, nativeSet)) {\n child = new nativeSet();\n } else if (_instanceof(parent, nativePromise)) {\n child = new nativePromise(function (resolve, reject) {\n parent.then(function(value) {\n resolve(_clone(value, depth - 1));\n }, function(err) {\n reject(_clone(err, depth - 1));\n });\n });\n } else if (clone.__isArray(parent)) {\n child = [];\n } else if (clone.__isRegExp(parent)) {\n child = new RegExp(parent.source, __getRegExpFlags(parent));\n if (parent.lastIndex) child.lastIndex = parent.lastIndex;\n } else if (clone.__isDate(parent)) {\n child = new Date(parent.getTime());\n } else if (useBuffer && Buffer.isBuffer(parent)) {\n if (Buffer.allocUnsafe) {\n // Node.js >= 4.5.0\n child = Buffer.allocUnsafe(parent.length);\n } else {\n // Older Node.js versions\n child = new Buffer(parent.length);\n }\n parent.copy(child);\n return child;\n } else if (_instanceof(parent, Error)) {\n child = Object.create(parent);\n } else {\n if (typeof prototype == 'undefined') {\n proto = Object.getPrototypeOf(parent);\n child = Object.create(proto);\n }\n else {\n child = Object.create(prototype);\n proto = prototype;\n }\n }\n\n if (circular) {\n var index = allParents.indexOf(parent);\n\n if (index != -1) {\n return allChildren[index];\n }\n allParents.push(parent);\n allChildren.push(child);\n }\n\n if (_instanceof(parent, nativeMap)) {\n parent.forEach(function(value, key) {\n var keyChild = _clone(key, depth - 1);\n var valueChild = _clone(value, depth - 1);\n child.set(keyChild, valueChild);\n });\n }\n if (_instanceof(parent, nativeSet)) {\n parent.forEach(function(value) {\n var entryChild = _clone(value, depth - 1);\n child.add(entryChild);\n });\n }\n\n for (var i in parent) {\n var attrs;\n if (proto) {\n attrs = Object.getOwnPropertyDescriptor(proto, i);\n }\n\n if (attrs && attrs.set == null) {\n continue;\n }\n child[i] = _clone(parent[i], depth - 1);\n }\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(parent);\n for (var i = 0; i < symbols.length; i++) {\n // Don't need to worry about cloning a symbol because it is a primitive,\n // like a number or string.\n var symbol = symbols[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, symbol);\n if (descriptor && !descriptor.enumerable && !includeNonEnumerable) {\n continue;\n }\n child[symbol] = _clone(parent[symbol], depth - 1);\n if (!descriptor.enumerable) {\n Object.defineProperty(child, symbol, {\n enumerable: false\n });\n }\n }\n }\n\n if (includeNonEnumerable) {\n var allPropertyNames = Object.getOwnPropertyNames(parent);\n for (var i = 0; i < allPropertyNames.length; i++) {\n var propertyName = allPropertyNames[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, propertyName);\n if (descriptor && descriptor.enumerable) {\n continue;\n }\n child[propertyName] = _clone(parent[propertyName], depth - 1);\n Object.defineProperty(child, propertyName, {\n enumerable: false\n });\n }\n }\n\n return child;\n }\n\n return _clone(parent, depth);\n}\n\n/**\n * Simple flat clone using prototype, accepts only objects, usefull for property\n * override on FLAT configuration object (no nested props).\n *\n * USE WITH CAUTION! This may not behave as you wish if you do not know how this\n * works.\n */\nclone.clonePrototype = function clonePrototype(parent) {\n if (parent === null)\n return null;\n\n var c = function () {};\n c.prototype = parent;\n return new c();\n};\n\n// private utility functions\n\nfunction __objToStr(o) {\n return Object.prototype.toString.call(o);\n}\nclone.__objToStr = __objToStr;\n\nfunction __isDate(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Date]';\n}\nclone.__isDate = __isDate;\n\nfunction __isArray(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Array]';\n}\nclone.__isArray = __isArray;\n\nfunction __isRegExp(o) {\n return typeof o === 'object' && __objToStr(o) === '[object RegExp]';\n}\nclone.__isRegExp = __isRegExp;\n\nfunction __getRegExpFlags(re) {\n var flags = '';\n if (re.global) flags += 'g';\n if (re.ignoreCase) flags += 'i';\n if (re.multiline) flags += 'm';\n return flags;\n}\nclone.__getRegExpFlags = __getRegExpFlags;\n\nreturn clone;\n})();\n\nif (typeof module === 'object' && module.exports) {\n module.exports = clone;\n}\n","'use strict';\n\nvar INITIAL_STATE = 1;\nvar FAIL_STATE = 0;\n/**\n * A StateMachine represents a deterministic finite automaton.\n * It can perform matches over a sequence of values, similar to a regular expression.\n */\n\nclass StateMachine {\n constructor(dfa) {\n this.stateTable = dfa.stateTable;\n this.accepting = dfa.accepting;\n this.tags = dfa.tags;\n }\n /**\n * Returns an iterable object that yields pattern matches over the input sequence.\n * Matches are of the form [startIndex, endIndex, tags].\n */\n\n\n match(str) {\n var self = this;\n return {\n *[Symbol.iterator]() {\n var state = INITIAL_STATE;\n var startRun = null;\n var lastAccepting = null;\n var lastState = null;\n\n for (var p = 0; p < str.length; p++) {\n var c = str[p];\n lastState = state;\n state = self.stateTable[state][c];\n\n if (state === FAIL_STATE) {\n // yield the last match if any\n if (startRun != null && lastAccepting != null && lastAccepting >= startRun) {\n yield [startRun, lastAccepting, self.tags[lastState]];\n } // reset the state as if we started over from the initial state\n\n\n state = self.stateTable[INITIAL_STATE][c];\n startRun = null;\n } // start a run if not in the failure state\n\n\n if (state !== FAIL_STATE && startRun == null) {\n startRun = p;\n } // if accepting, mark the potential match end\n\n\n if (self.accepting[state]) {\n lastAccepting = p;\n } // reset the state to the initial state if we get into the failure state\n\n\n if (state === FAIL_STATE) {\n state = INITIAL_STATE;\n }\n } // yield the last match if any\n\n\n if (startRun != null && lastAccepting != null && lastAccepting >= startRun) {\n yield [startRun, lastAccepting, self.tags[state]];\n }\n }\n\n };\n }\n /**\n * For each match over the input sequence, action functions matching\n * the tag definitions in the input pattern are called with the startIndex,\n * endIndex, and sub-match sequence.\n */\n\n\n apply(str, actions) {\n for (var [start, end, tags] of this.match(str)) {\n for (var tag of tags) {\n if (typeof actions[tag] === 'function') {\n actions[tag](start, end, str.slice(start, end + 1));\n }\n }\n }\n }\n\n}\n\nmodule.exports = StateMachine;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n","import {DecodeStream as $6uUbQ$DecodeStream, Struct as $6uUbQ$Struct, String as $6uUbQ$String, uint32 as $6uUbQ$uint32, Pointer as $6uUbQ$Pointer, uint16 as $6uUbQ$uint16, Array as $6uUbQ$Array, VoidPointer as $6uUbQ$VoidPointer, int16 as $6uUbQ$int16, uint24 as $6uUbQ$uint24, uint8 as $6uUbQ$uint8, VersionedStruct as $6uUbQ$VersionedStruct, LazyArray as $6uUbQ$LazyArray, Reserved as $6uUbQ$Reserved, int32 as $6uUbQ$int32, Bitfield as $6uUbQ$Bitfield, fixed32 as $6uUbQ$fixed32, Buffer as $6uUbQ$Buffer, Number as $6uUbQ$Number, resolveLength as $6uUbQ$resolveLength, fixed16 as $6uUbQ$fixed16, PropertyDescriptor as $6uUbQ$PropertyDescriptor, Fixed as $6uUbQ$Fixed, int8 as $6uUbQ$int8, Optional as $6uUbQ$Optional, EncodeStream as $6uUbQ$EncodeStream} from \"restructure\";\nimport {_ as $6uUbQ$_} from \"@swc/helpers/_/_define_property\";\nimport {_ as $6uUbQ$_1} from \"@swc/helpers/_/_ts_decorate\";\nimport $6uUbQ$fastdeepequal from \"fast-deep-equal\";\nimport {getCombiningClass as $6uUbQ$getCombiningClass, getScript as $6uUbQ$getScript, isDigit as $6uUbQ$isDigit, getCategory as $6uUbQ$getCategory, isMark as $6uUbQ$isMark} from \"unicode-properties\";\nimport $6uUbQ$unicodetrie from \"unicode-trie\";\nimport $6uUbQ$dfa from \"dfa\";\nimport $6uUbQ$clone from \"clone\";\nimport $6uUbQ$tinyinflate from \"tiny-inflate\";\nimport $6uUbQ$brotlidecompressjs from \"brotli/decompress.js\";\n\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\nvar $d636bc798e7178db$exports = {};\n\n$parcel$export($d636bc798e7178db$exports, \"logErrors\", () => $d636bc798e7178db$export$bd5c5d8b8dcafd78);\n$parcel$export($d636bc798e7178db$exports, \"registerFormat\", () => $d636bc798e7178db$export$36b2f24e97d43be);\n$parcel$export($d636bc798e7178db$exports, \"create\", () => $d636bc798e7178db$export$185802fd694ee1f5);\n$parcel$export($d636bc798e7178db$exports, \"defaultLanguage\", () => $d636bc798e7178db$export$42940898df819940);\n$parcel$export($d636bc798e7178db$exports, \"setDefaultLanguage\", () => $d636bc798e7178db$export$5157e7780d44cc36);\n\nlet $d636bc798e7178db$export$bd5c5d8b8dcafd78 = false;\nlet $d636bc798e7178db$var$formats = [];\nfunction $d636bc798e7178db$export$36b2f24e97d43be(format) {\n $d636bc798e7178db$var$formats.push(format);\n}\nfunction $d636bc798e7178db$export$185802fd694ee1f5(buffer, postscriptName) {\n for(let i = 0; i < $d636bc798e7178db$var$formats.length; i++){\n let format = $d636bc798e7178db$var$formats[i];\n if (format.probe(buffer)) {\n let font = new format(new (0, $6uUbQ$DecodeStream)(buffer));\n if (postscriptName) return font.getFont(postscriptName);\n return font;\n }\n }\n throw new Error('Unknown font format');\n}\nlet $d636bc798e7178db$export$42940898df819940 = 'en';\nfunction $d636bc798e7178db$export$5157e7780d44cc36(lang = 'en') {\n $d636bc798e7178db$export$42940898df819940 = lang;\n}\n\n\n\n\n\n/**\n * This decorator caches the results of a getter or method such that\n * the results are lazily computed once, and then cached.\n * @private\n */ function $e71565f2ce09cb6b$export$69a3209f1a06c04d(target, key, descriptor) {\n if (descriptor.get) {\n let get = descriptor.get;\n descriptor.get = function() {\n let value = get.call(this);\n Object.defineProperty(this, key, {\n value: value\n });\n return value;\n };\n } else if (typeof descriptor.value === 'function') {\n let fn = descriptor.value;\n return {\n get () {\n let cache = new Map;\n function memoized(...args) {\n let key = args.length > 0 ? args[0] : 'value';\n if (cache.has(key)) return cache.get(key);\n let result = fn.apply(this, args);\n cache.set(key, result);\n return result;\n }\n Object.defineProperty(this, key, {\n value: memoized\n });\n return memoized;\n }\n };\n }\n}\n\n\n\n\n\nlet $26a62205ad06574e$var$SubHeader = new $6uUbQ$Struct({\n firstCode: $6uUbQ$uint16,\n entryCount: $6uUbQ$uint16,\n idDelta: $6uUbQ$int16,\n idRangeOffset: $6uUbQ$uint16\n});\nlet $26a62205ad06574e$var$CmapGroup = new $6uUbQ$Struct({\n startCharCode: $6uUbQ$uint32,\n endCharCode: $6uUbQ$uint32,\n glyphID: $6uUbQ$uint32\n});\nlet $26a62205ad06574e$var$UnicodeValueRange = new $6uUbQ$Struct({\n startUnicodeValue: $6uUbQ$uint24,\n additionalCount: $6uUbQ$uint8\n});\nlet $26a62205ad06574e$var$UVSMapping = new $6uUbQ$Struct({\n unicodeValue: $6uUbQ$uint24,\n glyphID: $6uUbQ$uint16\n});\nlet $26a62205ad06574e$var$DefaultUVS = new $6uUbQ$Array($26a62205ad06574e$var$UnicodeValueRange, $6uUbQ$uint32);\nlet $26a62205ad06574e$var$NonDefaultUVS = new $6uUbQ$Array($26a62205ad06574e$var$UVSMapping, $6uUbQ$uint32);\nlet $26a62205ad06574e$var$VarSelectorRecord = new $6uUbQ$Struct({\n varSelector: $6uUbQ$uint24,\n defaultUVS: new $6uUbQ$Pointer($6uUbQ$uint32, $26a62205ad06574e$var$DefaultUVS, {\n type: 'parent'\n }),\n nonDefaultUVS: new $6uUbQ$Pointer($6uUbQ$uint32, $26a62205ad06574e$var$NonDefaultUVS, {\n type: 'parent'\n })\n});\nlet $26a62205ad06574e$var$CmapSubtable = new $6uUbQ$VersionedStruct($6uUbQ$uint16, {\n 0: {\n length: $6uUbQ$uint16,\n language: $6uUbQ$uint16,\n codeMap: new $6uUbQ$LazyArray($6uUbQ$uint8, 256)\n },\n 2: {\n length: $6uUbQ$uint16,\n language: $6uUbQ$uint16,\n subHeaderKeys: new $6uUbQ$Array($6uUbQ$uint16, 256),\n subHeaderCount: (t)=>Math.max.apply(Math, t.subHeaderKeys),\n subHeaders: new $6uUbQ$LazyArray($26a62205ad06574e$var$SubHeader, 'subHeaderCount'),\n glyphIndexArray: new $6uUbQ$LazyArray($6uUbQ$uint16, 'subHeaderCount')\n },\n 4: {\n length: $6uUbQ$uint16,\n language: $6uUbQ$uint16,\n segCountX2: $6uUbQ$uint16,\n segCount: (t)=>t.segCountX2 >> 1,\n searchRange: $6uUbQ$uint16,\n entrySelector: $6uUbQ$uint16,\n rangeShift: $6uUbQ$uint16,\n endCode: new $6uUbQ$LazyArray($6uUbQ$uint16, 'segCount'),\n reservedPad: new $6uUbQ$Reserved($6uUbQ$uint16),\n startCode: new $6uUbQ$LazyArray($6uUbQ$uint16, 'segCount'),\n idDelta: new $6uUbQ$LazyArray($6uUbQ$int16, 'segCount'),\n idRangeOffset: new $6uUbQ$LazyArray($6uUbQ$uint16, 'segCount'),\n glyphIndexArray: new $6uUbQ$LazyArray($6uUbQ$uint16, (t)=>(t.length - t._currentOffset) / 2)\n },\n 6: {\n length: $6uUbQ$uint16,\n language: $6uUbQ$uint16,\n firstCode: $6uUbQ$uint16,\n entryCount: $6uUbQ$uint16,\n glyphIndices: new $6uUbQ$LazyArray($6uUbQ$uint16, 'entryCount')\n },\n 8: {\n reserved: new $6uUbQ$Reserved($6uUbQ$uint16),\n length: $6uUbQ$uint32,\n language: $6uUbQ$uint16,\n is32: new $6uUbQ$LazyArray($6uUbQ$uint8, 8192),\n nGroups: $6uUbQ$uint32,\n groups: new $6uUbQ$LazyArray($26a62205ad06574e$var$CmapGroup, 'nGroups')\n },\n 10: {\n reserved: new $6uUbQ$Reserved($6uUbQ$uint16),\n length: $6uUbQ$uint32,\n language: $6uUbQ$uint32,\n firstCode: $6uUbQ$uint32,\n entryCount: $6uUbQ$uint32,\n glyphIndices: new $6uUbQ$LazyArray($6uUbQ$uint16, 'numChars')\n },\n 12: {\n reserved: new $6uUbQ$Reserved($6uUbQ$uint16),\n length: $6uUbQ$uint32,\n language: $6uUbQ$uint32,\n nGroups: $6uUbQ$uint32,\n groups: new $6uUbQ$LazyArray($26a62205ad06574e$var$CmapGroup, 'nGroups')\n },\n 13: {\n reserved: new $6uUbQ$Reserved($6uUbQ$uint16),\n length: $6uUbQ$uint32,\n language: $6uUbQ$uint32,\n nGroups: $6uUbQ$uint32,\n groups: new $6uUbQ$LazyArray($26a62205ad06574e$var$CmapGroup, 'nGroups')\n },\n 14: {\n length: $6uUbQ$uint32,\n numRecords: $6uUbQ$uint32,\n varSelectors: new $6uUbQ$LazyArray($26a62205ad06574e$var$VarSelectorRecord, 'numRecords')\n }\n});\nlet $26a62205ad06574e$var$CmapEntry = new $6uUbQ$Struct({\n platformID: $6uUbQ$uint16,\n encodingID: $6uUbQ$uint16,\n table: new $6uUbQ$Pointer($6uUbQ$uint32, $26a62205ad06574e$var$CmapSubtable, {\n type: 'parent',\n lazy: true\n })\n});\nvar // character to glyph mapping\n$26a62205ad06574e$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n version: $6uUbQ$uint16,\n numSubtables: $6uUbQ$uint16,\n tables: new $6uUbQ$Array($26a62205ad06574e$var$CmapEntry, 'numSubtables')\n});\n\n\n\nvar // font header\n$f2612a29f92ac062$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n version: $6uUbQ$int32,\n revision: $6uUbQ$int32,\n checkSumAdjustment: $6uUbQ$uint32,\n magicNumber: $6uUbQ$uint32,\n flags: $6uUbQ$uint16,\n unitsPerEm: $6uUbQ$uint16,\n created: new $6uUbQ$Array($6uUbQ$int32, 2),\n modified: new $6uUbQ$Array($6uUbQ$int32, 2),\n xMin: $6uUbQ$int16,\n yMin: $6uUbQ$int16,\n xMax: $6uUbQ$int16,\n yMax: $6uUbQ$int16,\n macStyle: new $6uUbQ$Bitfield($6uUbQ$uint16, [\n 'bold',\n 'italic',\n 'underline',\n 'outline',\n 'shadow',\n 'condensed',\n 'extended'\n ]),\n lowestRecPPEM: $6uUbQ$uint16,\n fontDirectionHint: $6uUbQ$int16,\n indexToLocFormat: $6uUbQ$int16,\n glyphDataFormat: $6uUbQ$int16 // 0 for current format\n});\n\n\n\nvar // horizontal header\n$2c179dd593583073$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n version: $6uUbQ$int32,\n ascent: $6uUbQ$int16,\n descent: $6uUbQ$int16,\n lineGap: $6uUbQ$int16,\n advanceWidthMax: $6uUbQ$uint16,\n minLeftSideBearing: $6uUbQ$int16,\n minRightSideBearing: $6uUbQ$int16,\n xMaxExtent: $6uUbQ$int16,\n caretSlopeRise: $6uUbQ$int16,\n caretSlopeRun: $6uUbQ$int16,\n caretOffset: $6uUbQ$int16,\n reserved: new $6uUbQ$Reserved($6uUbQ$int16, 4),\n metricDataFormat: $6uUbQ$int16,\n numberOfMetrics: $6uUbQ$uint16 // Number of advance widths in 'hmtx' table\n});\n\n\n\nlet $bdc9060542264b85$var$HmtxEntry = new $6uUbQ$Struct({\n advance: $6uUbQ$uint16,\n bearing: $6uUbQ$int16\n});\nvar $bdc9060542264b85$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n metrics: new $6uUbQ$LazyArray($bdc9060542264b85$var$HmtxEntry, (t)=>t.parent.hhea.numberOfMetrics),\n bearings: new $6uUbQ$LazyArray($6uUbQ$int16, (t)=>t.parent.maxp.numGlyphs - t.parent.hhea.numberOfMetrics)\n});\n\n\n\nvar // maxiumum profile\n$dbf51cb3d3fe409d$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n version: $6uUbQ$int32,\n numGlyphs: $6uUbQ$uint16,\n maxPoints: $6uUbQ$uint16,\n maxContours: $6uUbQ$uint16,\n maxComponentPoints: $6uUbQ$uint16,\n maxComponentContours: $6uUbQ$uint16,\n maxZones: $6uUbQ$uint16,\n maxTwilightPoints: $6uUbQ$uint16,\n maxStorage: $6uUbQ$uint16,\n maxFunctionDefs: $6uUbQ$uint16,\n maxInstructionDefs: $6uUbQ$uint16,\n maxStackElements: $6uUbQ$uint16,\n maxSizeOfInstructions: $6uUbQ$uint16,\n maxComponentElements: $6uUbQ$uint16,\n maxComponentDepth: $6uUbQ$uint16 // Maximum levels of recursion; 1 for simple components\n});\n\n\n\n/**\n * Gets an encoding name from platform, encoding, and language ids.\n * Returned encoding names can be used in iconv-lite to decode text.\n */ function $e449ad78d50845fe$export$badc544e0651b6b1(platformID, encodingID, languageID = 0) {\n if (platformID === 1 && $e449ad78d50845fe$export$479e671907f486d1[languageID]) return $e449ad78d50845fe$export$479e671907f486d1[languageID];\n return $e449ad78d50845fe$export$6fef87b7618bdf0b[platformID][encodingID];\n}\nconst $e449ad78d50845fe$var$SINGLE_BYTE_ENCODINGS = new Set([\n 'x-mac-roman',\n 'x-mac-cyrillic',\n 'iso-8859-6',\n 'iso-8859-8'\n]);\nconst $e449ad78d50845fe$var$MAC_ENCODINGS = {\n 'x-mac-croatian': \"\\xc4\\xc5\\xc7\\xc9\\xd1\\xd6\\xdc\\xe1\\xe0\\xe2\\xe4\\xe3\\xe5\\xe7\\xe9\\xe8\\xea\\xeb\\xed\\xec\\xee\\xef\\xf1\\xf3\\xf2\\xf4\\xf6\\xf5\\xfa\\xf9\\xfb\\xfc\\u2020\\xb0\\xa2\\xa3\\xa7\\u2022\\xb6\\xdf\\xae\\u0160\\u2122\\xb4\\xa8\\u2260\\u017D\\xd8\\u221E\\xb1\\u2264\\u2265\\u2206\\xb5\\u2202\\u2211\\u220F\\u0161\\u222B\\xaa\\xba\\u03A9\\u017E\\xf8\\xbf\\xa1\\xac\\u221A\\u0192\\u2248\\u0106\\xab\\u010C\\u2026 \\xc0\\xc3\\xd5\\u0152\\u0153\\u0110\\u2014\\u201C\\u201D\\u2018\\u2019\\xf7\\u25CA\\uF8FF\\xa9\\u2044\\u20AC\\u2039\\u203A\\xc6\\xbb\\u2013\\xb7\\u201A\\u201E\\u2030\\xc2\\u0107\\xc1\\u010D\\xc8\\xcd\\xce\\xcf\\xcc\\xd3\\xd4\\u0111\\xd2\\xda\\xdb\\xd9\\u0131\\u02C6\\u02DC\\xaf\\u03C0\\xcb\\u02DA\\xb8\\xca\\xe6\\u02C7\",\n 'x-mac-gaelic': \"\\xc4\\xc5\\xc7\\xc9\\xd1\\xd6\\xdc\\xe1\\xe0\\xe2\\xe4\\xe3\\xe5\\xe7\\xe9\\xe8\\xea\\xeb\\xed\\xec\\xee\\xef\\xf1\\xf3\\xf2\\xf4\\xf6\\xf5\\xfa\\xf9\\xfb\\xfc\\u2020\\xb0\\xa2\\xa3\\xa7\\u2022\\xb6\\xdf\\xae\\xa9\\u2122\\xb4\\xa8\\u2260\\xc6\\xd8\\u1E02\\xb1\\u2264\\u2265\\u1E03\\u010A\\u010B\\u1E0A\\u1E0B\\u1E1E\\u1E1F\\u0120\\u0121\\u1E40\\xe6\\xf8\\u1E41\\u1E56\\u1E57\\u027C\\u0192\\u017F\\u1E60\\xab\\xbb\\u2026 \\xc0\\xc3\\xd5\\u0152\\u0153\\u2013\\u2014\\u201C\\u201D\\u2018\\u2019\\u1E61\\u1E9B\\xff\\u0178\\u1E6A\\u20AC\\u2039\\u203A\\u0176\\u0177\\u1E6B\\xb7\\u1EF2\\u1EF3\\u204A\\xc2\\xca\\xc1\\xcb\\xc8\\xcd\\xce\\xcf\\xcc\\xd3\\xd4\\u2663\\xd2\\xda\\xdb\\xd9\\u0131\\xdd\\xfd\\u0174\\u0175\\u1E84\\u1E85\\u1E80\\u1E81\\u1E82\\u1E83\",\n 'x-mac-greek': \"\\xc4\\xb9\\xb2\\xc9\\xb3\\xd6\\xdc\\u0385\\xe0\\xe2\\xe4\\u0384\\xa8\\xe7\\xe9\\xe8\\xea\\xeb\\xa3\\u2122\\xee\\xef\\u2022\\xbd\\u2030\\xf4\\xf6\\xa6\\u20AC\\xf9\\xfb\\xfc\\u2020\\u0393\\u0394\\u0398\\u039B\\u039E\\u03A0\\xdf\\xae\\xa9\\u03A3\\u03AA\\xa7\\u2260\\xb0\\xb7\\u0391\\xb1\\u2264\\u2265\\xa5\\u0392\\u0395\\u0396\\u0397\\u0399\\u039A\\u039C\\u03A6\\u03AB\\u03A8\\u03A9\\u03AC\\u039D\\xac\\u039F\\u03A1\\u2248\\u03A4\\xab\\xbb\\u2026 \\u03A5\\u03A7\\u0386\\u0388\\u0153\\u2013\\u2015\\u201C\\u201D\\u2018\\u2019\\xf7\\u0389\\u038A\\u038C\\u038E\\u03AD\\u03AE\\u03AF\\u03CC\\u038F\\u03CD\\u03B1\\u03B2\\u03C8\\u03B4\\u03B5\\u03C6\\u03B3\\u03B7\\u03B9\\u03BE\\u03BA\\u03BB\\u03BC\\u03BD\\u03BF\\u03C0\\u03CE\\u03C1\\u03C3\\u03C4\\u03B8\\u03C9\\u03C2\\u03C7\\u03C5\\u03B6\\u03CA\\u03CB\\u0390\\u03B0\\xad\",\n 'x-mac-icelandic': \"\\xc4\\xc5\\xc7\\xc9\\xd1\\xd6\\xdc\\xe1\\xe0\\xe2\\xe4\\xe3\\xe5\\xe7\\xe9\\xe8\\xea\\xeb\\xed\\xec\\xee\\xef\\xf1\\xf3\\xf2\\xf4\\xf6\\xf5\\xfa\\xf9\\xfb\\xfc\\xdd\\xb0\\xa2\\xa3\\xa7\\u2022\\xb6\\xdf\\xae\\xa9\\u2122\\xb4\\xa8\\u2260\\xc6\\xd8\\u221E\\xb1\\u2264\\u2265\\xa5\\xb5\\u2202\\u2211\\u220F\\u03C0\\u222B\\xaa\\xba\\u03A9\\xe6\\xf8\\xbf\\xa1\\xac\\u221A\\u0192\\u2248\\u2206\\xab\\xbb\\u2026 \\xc0\\xc3\\xd5\\u0152\\u0153\\u2013\\u2014\\u201C\\u201D\\u2018\\u2019\\xf7\\u25CA\\xff\\u0178\\u2044\\u20AC\\xd0\\xf0\\xde\\xfe\\xfd\\xb7\\u201A\\u201E\\u2030\\xc2\\xca\\xc1\\xcb\\xc8\\xcd\\xce\\xcf\\xcc\\xd3\\xd4\\uF8FF\\xd2\\xda\\xdb\\xd9\\u0131\\u02C6\\u02DC\\xaf\\u02D8\\u02D9\\u02DA\\xb8\\u02DD\\u02DB\\u02C7\",\n 'x-mac-inuit': \"\\u1403\\u1404\\u1405\\u1406\\u140A\\u140B\\u1431\\u1432\\u1433\\u1434\\u1438\\u1439\\u1449\\u144E\\u144F\\u1450\\u1451\\u1455\\u1456\\u1466\\u146D\\u146E\\u146F\\u1470\\u1472\\u1473\\u1483\\u148B\\u148C\\u148D\\u148E\\u1490\\u1491\\xb0\\u14A1\\u14A5\\u14A6\\u2022\\xb6\\u14A7\\xae\\xa9\\u2122\\u14A8\\u14AA\\u14AB\\u14BB\\u14C2\\u14C3\\u14C4\\u14C5\\u14C7\\u14C8\\u14D0\\u14EF\\u14F0\\u14F1\\u14F2\\u14F4\\u14F5\\u1505\\u14D5\\u14D6\\u14D7\\u14D8\\u14DA\\u14DB\\u14EA\\u1528\\u1529\\u152A\\u152B\\u152D\\u2026 \\u152E\\u153E\\u1555\\u1556\\u1557\\u2013\\u2014\\u201C\\u201D\\u2018\\u2019\\u1558\\u1559\\u155A\\u155D\\u1546\\u1547\\u1548\\u1549\\u154B\\u154C\\u1550\\u157F\\u1580\\u1581\\u1582\\u1583\\u1584\\u1585\\u158F\\u1590\\u1591\\u1592\\u1593\\u1594\\u1595\\u1671\\u1672\\u1673\\u1674\\u1675\\u1676\\u1596\\u15A0\\u15A1\\u15A2\\u15A3\\u15A4\\u15A5\\u15A6\\u157C\\u0141\\u0142\",\n 'x-mac-ce': \"\\xc4\\u0100\\u0101\\xc9\\u0104\\xd6\\xdc\\xe1\\u0105\\u010C\\xe4\\u010D\\u0106\\u0107\\xe9\\u0179\\u017A\\u010E\\xed\\u010F\\u0112\\u0113\\u0116\\xf3\\u0117\\xf4\\xf6\\xf5\\xfa\\u011A\\u011B\\xfc\\u2020\\xb0\\u0118\\xa3\\xa7\\u2022\\xb6\\xdf\\xae\\xa9\\u2122\\u0119\\xa8\\u2260\\u0123\\u012E\\u012F\\u012A\\u2264\\u2265\\u012B\\u0136\\u2202\\u2211\\u0142\\u013B\\u013C\\u013D\\u013E\\u0139\\u013A\\u0145\\u0146\\u0143\\xac\\u221A\\u0144\\u0147\\u2206\\xab\\xbb\\u2026 \\u0148\\u0150\\xd5\\u0151\\u014C\\u2013\\u2014\\u201C\\u201D\\u2018\\u2019\\xf7\\u25CA\\u014D\\u0154\\u0155\\u0158\\u2039\\u203A\\u0159\\u0156\\u0157\\u0160\\u201A\\u201E\\u0161\\u015A\\u015B\\xc1\\u0164\\u0165\\xcd\\u017D\\u017E\\u016A\\xd3\\xd4\\u016B\\u016E\\xda\\u016F\\u0170\\u0171\\u0172\\u0173\\xdd\\xfd\\u0137\\u017B\\u0141\\u017C\\u0122\\u02C7\",\n 'x-mac-romanian': \"\\xc4\\xc5\\xc7\\xc9\\xd1\\xd6\\xdc\\xe1\\xe0\\xe2\\xe4\\xe3\\xe5\\xe7\\xe9\\xe8\\xea\\xeb\\xed\\xec\\xee\\xef\\xf1\\xf3\\xf2\\xf4\\xf6\\xf5\\xfa\\xf9\\xfb\\xfc\\u2020\\xb0\\xa2\\xa3\\xa7\\u2022\\xb6\\xdf\\xae\\xa9\\u2122\\xb4\\xa8\\u2260\\u0102\\u0218\\u221E\\xb1\\u2264\\u2265\\xa5\\xb5\\u2202\\u2211\\u220F\\u03C0\\u222B\\xaa\\xba\\u03A9\\u0103\\u0219\\xbf\\xa1\\xac\\u221A\\u0192\\u2248\\u2206\\xab\\xbb\\u2026 \\xc0\\xc3\\xd5\\u0152\\u0153\\u2013\\u2014\\u201C\\u201D\\u2018\\u2019\\xf7\\u25CA\\xff\\u0178\\u2044\\u20AC\\u2039\\u203A\\u021A\\u021B\\u2021\\xb7\\u201A\\u201E\\u2030\\xc2\\xca\\xc1\\xcb\\xc8\\xcd\\xce\\xcf\\xcc\\xd3\\xd4\\uF8FF\\xd2\\xda\\xdb\\xd9\\u0131\\u02C6\\u02DC\\xaf\\u02D8\\u02D9\\u02DA\\xb8\\u02DD\\u02DB\\u02C7\",\n 'x-mac-turkish': \"\\xc4\\xc5\\xc7\\xc9\\xd1\\xd6\\xdc\\xe1\\xe0\\xe2\\xe4\\xe3\\xe5\\xe7\\xe9\\xe8\\xea\\xeb\\xed\\xec\\xee\\xef\\xf1\\xf3\\xf2\\xf4\\xf6\\xf5\\xfa\\xf9\\xfb\\xfc\\u2020\\xb0\\xa2\\xa3\\xa7\\u2022\\xb6\\xdf\\xae\\xa9\\u2122\\xb4\\xa8\\u2260\\xc6\\xd8\\u221E\\xb1\\u2264\\u2265\\xa5\\xb5\\u2202\\u2211\\u220F\\u03C0\\u222B\\xaa\\xba\\u03A9\\xe6\\xf8\\xbf\\xa1\\xac\\u221A\\u0192\\u2248\\u2206\\xab\\xbb\\u2026 \\xc0\\xc3\\xd5\\u0152\\u0153\\u2013\\u2014\\u201C\\u201D\\u2018\\u2019\\xf7\\u25CA\\xff\\u0178\\u011E\\u011F\\u0130\\u0131\\u015E\\u015F\\u2021\\xb7\\u201A\\u201E\\u2030\\xc2\\xca\\xc1\\xcb\\xc8\\xcd\\xce\\xcf\\xcc\\xd3\\xd4\\uF8FF\\xd2\\xda\\xdb\\xd9\\uF8A0\\u02C6\\u02DC\\xaf\\u02D8\\u02D9\\u02DA\\xb8\\u02DD\\u02DB\\u02C7\"\n};\nconst $e449ad78d50845fe$var$encodingCache = new Map();\nfunction $e449ad78d50845fe$export$1dceb3c14ed68bee(encoding) {\n let cached = $e449ad78d50845fe$var$encodingCache.get(encoding);\n if (cached) return cached;\n // These encodings aren't supported by TextDecoder.\n let mapping = $e449ad78d50845fe$var$MAC_ENCODINGS[encoding];\n if (mapping) {\n let res = new Map();\n for(let i = 0; i < mapping.length; i++)res.set(mapping.charCodeAt(i), 0x80 + i);\n $e449ad78d50845fe$var$encodingCache.set(encoding, res);\n return res;\n }\n // Only single byte encodings can be mapped 1:1.\n if ($e449ad78d50845fe$var$SINGLE_BYTE_ENCODINGS.has(encoding)) {\n // TextEncoder only supports utf8, whereas TextDecoder supports legacy encodings.\n // Use this to create a mapping of code points.\n let decoder = new TextDecoder(encoding);\n let mapping = new Uint8Array(0x80);\n for(let i = 0; i < 0x80; i++)mapping[i] = 0x80 + i;\n let res = new Map();\n let s = decoder.decode(mapping);\n for(let i = 0; i < 0x80; i++)res.set(s.charCodeAt(i), 0x80 + i);\n $e449ad78d50845fe$var$encodingCache.set(encoding, res);\n return res;\n }\n}\nconst $e449ad78d50845fe$export$6fef87b7618bdf0b = [\n // unicode\n [\n 'utf-16be',\n 'utf-16be',\n 'utf-16be',\n 'utf-16be',\n 'utf-16be',\n 'utf-16be',\n 'utf-16be'\n ],\n // macintosh\n // Mappings available at http://unicode.org/Public/MAPPINGS/VENDORS/APPLE/\n // 0\tRoman 17\tMalayalam\n // 1\tJapanese\t 18\tSinhalese\n // 2\tTraditional Chinese\t 19\tBurmese\n // 3\tKorean\t 20\tKhmer\n // 4\tArabic\t 21\tThai\n // 5\tHebrew\t 22\tLaotian\n // 6\tGreek\t 23\tGeorgian\n // 7\tRussian\t 24\tArmenian\n // 8\tRSymbol\t 25\tSimplified Chinese\n // 9\tDevanagari\t 26\tTibetan\n // 10\tGurmukhi\t 27\tMongolian\n // 11\tGujarati\t 28\tGeez\n // 12\tOriya\t 29\tSlavic\n // 13\tBengali\t 30\tVietnamese\n // 14\tTamil\t 31\tSindhi\n // 15\tTelugu\t 32\t(Uninterpreted)\n // 16\tKannada\n [\n 'x-mac-roman',\n 'shift-jis',\n 'big5',\n 'euc-kr',\n 'iso-8859-6',\n 'iso-8859-8',\n 'x-mac-greek',\n 'x-mac-cyrillic',\n 'x-mac-symbol',\n 'x-mac-devanagari',\n 'x-mac-gurmukhi',\n 'x-mac-gujarati',\n 'Oriya',\n 'Bengali',\n 'Tamil',\n 'Telugu',\n 'Kannada',\n 'Malayalam',\n 'Sinhalese',\n 'Burmese',\n 'Khmer',\n 'iso-8859-11',\n 'Laotian',\n 'Georgian',\n 'Armenian',\n 'gbk',\n 'Tibetan',\n 'Mongolian',\n 'Geez',\n 'x-mac-ce',\n 'Vietnamese',\n 'Sindhi'\n ],\n // ISO (deprecated)\n [\n 'ascii',\n null,\n 'iso-8859-1'\n ],\n // windows\n // Docs here: http://msdn.microsoft.com/en-us/library/system.text.encoding(v=vs.110).aspx\n [\n 'symbol',\n 'utf-16be',\n 'shift-jis',\n 'gb18030',\n 'big5',\n 'euc-kr',\n 'johab',\n null,\n null,\n null,\n 'utf-16be'\n ]\n];\nconst $e449ad78d50845fe$export$479e671907f486d1 = {\n 15: 'x-mac-icelandic',\n 17: 'x-mac-turkish',\n 18: 'x-mac-croatian',\n 24: 'x-mac-ce',\n 25: 'x-mac-ce',\n 26: 'x-mac-ce',\n 27: 'x-mac-ce',\n 28: 'x-mac-ce',\n 30: 'x-mac-icelandic',\n 37: 'x-mac-romanian',\n 38: 'x-mac-ce',\n 39: 'x-mac-ce',\n 40: 'x-mac-ce',\n 143: 'x-mac-inuit',\n 146: 'x-mac-gaelic'\n};\nconst $e449ad78d50845fe$export$2092376fd002e13 = [\n // unicode\n [],\n {\n 0: 'en',\n 30: 'fo',\n 60: 'ks',\n 90: 'rw',\n 1: 'fr',\n 31: 'fa',\n 61: 'ku',\n 91: 'rn',\n 2: 'de',\n 32: 'ru',\n 62: 'sd',\n 92: 'ny',\n 3: 'it',\n 33: 'zh',\n 63: 'bo',\n 93: 'mg',\n 4: 'nl',\n 34: 'nl-BE',\n 64: 'ne',\n 94: 'eo',\n 5: 'sv',\n 35: 'ga',\n 65: 'sa',\n 128: 'cy',\n 6: 'es',\n 36: 'sq',\n 66: 'mr',\n 129: 'eu',\n 7: 'da',\n 37: 'ro',\n 67: 'bn',\n 130: 'ca',\n 8: 'pt',\n 38: 'cz',\n 68: 'as',\n 131: 'la',\n 9: 'no',\n 39: 'sk',\n 69: 'gu',\n 132: 'qu',\n 10: 'he',\n 40: 'si',\n 70: 'pa',\n 133: 'gn',\n 11: 'ja',\n 41: 'yi',\n 71: 'or',\n 134: 'ay',\n 12: 'ar',\n 42: 'sr',\n 72: 'ml',\n 135: 'tt',\n 13: 'fi',\n 43: 'mk',\n 73: 'kn',\n 136: 'ug',\n 14: 'el',\n 44: 'bg',\n 74: 'ta',\n 137: 'dz',\n 15: 'is',\n 45: 'uk',\n 75: 'te',\n 138: 'jv',\n 16: 'mt',\n 46: 'be',\n 76: 'si',\n 139: 'su',\n 17: 'tr',\n 47: 'uz',\n 77: 'my',\n 140: 'gl',\n 18: 'hr',\n 48: 'kk',\n 78: 'km',\n 141: 'af',\n 19: 'zh-Hant',\n 49: 'az-Cyrl',\n 79: 'lo',\n 142: 'br',\n 20: 'ur',\n 50: 'az-Arab',\n 80: 'vi',\n 143: 'iu',\n 21: 'hi',\n 51: 'hy',\n 81: 'id',\n 144: 'gd',\n 22: 'th',\n 52: 'ka',\n 82: 'tl',\n 145: 'gv',\n 23: 'ko',\n 53: 'mo',\n 83: 'ms',\n 146: 'ga',\n 24: 'lt',\n 54: 'ky',\n 84: 'ms-Arab',\n 147: 'to',\n 25: 'pl',\n 55: 'tg',\n 85: 'am',\n 148: 'el-polyton',\n 26: 'hu',\n 56: 'tk',\n 86: 'ti',\n 149: 'kl',\n 27: 'es',\n 57: 'mn-CN',\n 87: 'om',\n 150: 'az',\n 28: 'lv',\n 58: 'mn',\n 88: 'so',\n 151: 'nn',\n 29: 'se',\n 59: 'ps',\n 89: 'sw'\n },\n // ISO (deprecated)\n [],\n {\n 0x0436: 'af',\n 0x4009: 'en-IN',\n 0x0487: 'rw',\n 0x0432: 'tn',\n 0x041C: 'sq',\n 0x1809: 'en-IE',\n 0x0441: 'sw',\n 0x045B: 'si',\n 0x0484: 'gsw',\n 0x2009: 'en-JM',\n 0x0457: 'kok',\n 0x041B: 'sk',\n 0x045E: 'am',\n 0x4409: 'en-MY',\n 0x0412: 'ko',\n 0x0424: 'sl',\n 0x1401: 'ar-DZ',\n 0x1409: 'en-NZ',\n 0x0440: 'ky',\n 0x2C0A: 'es-AR',\n 0x3C01: 'ar-BH',\n 0x3409: 'en-PH',\n 0x0454: 'lo',\n 0x400A: 'es-BO',\n 0x0C01: 'ar',\n 0x4809: 'en-SG',\n 0x0426: 'lv',\n 0x340A: 'es-CL',\n 0x0801: 'ar-IQ',\n 0x1C09: 'en-ZA',\n 0x0427: 'lt',\n 0x240A: 'es-CO',\n 0x2C01: 'ar-JO',\n 0x2C09: 'en-TT',\n 0x082E: 'dsb',\n 0x140A: 'es-CR',\n 0x3401: 'ar-KW',\n 0x0809: 'en-GB',\n 0x046E: 'lb',\n 0x1C0A: 'es-DO',\n 0x3001: 'ar-LB',\n 0x0409: 'en',\n 0x042F: 'mk',\n 0x300A: 'es-EC',\n 0x1001: 'ar-LY',\n 0x3009: 'en-ZW',\n 0x083E: 'ms-BN',\n 0x440A: 'es-SV',\n 0x1801: 'ary',\n 0x0425: 'et',\n 0x043E: 'ms',\n 0x100A: 'es-GT',\n 0x2001: 'ar-OM',\n 0x0438: 'fo',\n 0x044C: 'ml',\n 0x480A: 'es-HN',\n 0x4001: 'ar-QA',\n 0x0464: 'fil',\n 0x043A: 'mt',\n 0x080A: 'es-MX',\n 0x0401: 'ar-SA',\n 0x040B: 'fi',\n 0x0481: 'mi',\n 0x4C0A: 'es-NI',\n 0x2801: 'ar-SY',\n 0x080C: 'fr-BE',\n 0x047A: 'arn',\n 0x180A: 'es-PA',\n 0x1C01: 'aeb',\n 0x0C0C: 'fr-CA',\n 0x044E: 'mr',\n 0x3C0A: 'es-PY',\n 0x3801: 'ar-AE',\n 0x040C: 'fr',\n 0x047C: 'moh',\n 0x280A: 'es-PE',\n 0x2401: 'ar-YE',\n 0x140C: 'fr-LU',\n 0x0450: 'mn',\n 0x500A: 'es-PR',\n 0x042B: 'hy',\n 0x180C: 'fr-MC',\n 0x0850: 'mn-CN',\n 0x0C0A: 'es',\n 0x044D: 'as',\n 0x100C: 'fr-CH',\n 0x0461: 'ne',\n 0x040A: 'es',\n 0x082C: 'az-Cyrl',\n 0x0462: 'fy',\n 0x0414: 'nb',\n 0x540A: 'es-US',\n 0x042C: 'az',\n 0x0456: 'gl',\n 0x0814: 'nn',\n 0x380A: 'es-UY',\n 0x046D: 'ba',\n 0x0437: 'ka',\n 0x0482: 'oc',\n 0x200A: 'es-VE',\n 0x042D: 'eu',\n 0x0C07: 'de-AT',\n 0x0448: 'or',\n 0x081D: 'sv-FI',\n 0x0423: 'be',\n 0x0407: 'de',\n 0x0463: 'ps',\n 0x041D: 'sv',\n 0x0845: 'bn',\n 0x1407: 'de-LI',\n 0x0415: 'pl',\n 0x045A: 'syr',\n 0x0445: 'bn-IN',\n 0x1007: 'de-LU',\n 0x0416: 'pt',\n 0x0428: 'tg',\n 0x201A: 'bs-Cyrl',\n 0x0807: 'de-CH',\n 0x0816: 'pt-PT',\n 0x085F: 'tzm',\n 0x141A: 'bs',\n 0x0408: 'el',\n 0x0446: 'pa',\n 0x0449: 'ta',\n 0x047E: 'br',\n 0x046F: 'kl',\n 0x046B: 'qu-BO',\n 0x0444: 'tt',\n 0x0402: 'bg',\n 0x0447: 'gu',\n 0x086B: 'qu-EC',\n 0x044A: 'te',\n 0x0403: 'ca',\n 0x0468: 'ha',\n 0x0C6B: 'qu',\n 0x041E: 'th',\n 0x0C04: 'zh-HK',\n 0x040D: 'he',\n 0x0418: 'ro',\n 0x0451: 'bo',\n 0x1404: 'zh-MO',\n 0x0439: 'hi',\n 0x0417: 'rm',\n 0x041F: 'tr',\n 0x0804: 'zh',\n 0x040E: 'hu',\n 0x0419: 'ru',\n 0x0442: 'tk',\n 0x1004: 'zh-SG',\n 0x040F: 'is',\n 0x243B: 'smn',\n 0x0480: 'ug',\n 0x0404: 'zh-TW',\n 0x0470: 'ig',\n 0x103B: 'smj-NO',\n 0x0422: 'uk',\n 0x0483: 'co',\n 0x0421: 'id',\n 0x143B: 'smj',\n 0x042E: 'hsb',\n 0x041A: 'hr',\n 0x045D: 'iu',\n 0x0C3B: 'se-FI',\n 0x0420: 'ur',\n 0x101A: 'hr-BA',\n 0x085D: 'iu-Latn',\n 0x043B: 'se',\n 0x0843: 'uz-Cyrl',\n 0x0405: 'cs',\n 0x083C: 'ga',\n 0x083B: 'se-SE',\n 0x0443: 'uz',\n 0x0406: 'da',\n 0x0434: 'xh',\n 0x203B: 'sms',\n 0x042A: 'vi',\n 0x048C: 'prs',\n 0x0435: 'zu',\n 0x183B: 'sma-NO',\n 0x0452: 'cy',\n 0x0465: 'dv',\n 0x0410: 'it',\n 0x1C3B: 'sms',\n 0x0488: 'wo',\n 0x0813: 'nl-BE',\n 0x0810: 'it-CH',\n 0x044F: 'sa',\n 0x0485: 'sah',\n 0x0413: 'nl',\n 0x0411: 'ja',\n 0x1C1A: 'sr-Cyrl-BA',\n 0x0478: 'ii',\n 0x0C09: 'en-AU',\n 0x044B: 'kn',\n 0x0C1A: 'sr',\n 0x046A: 'yo',\n 0x2809: 'en-BZ',\n 0x043F: 'kk',\n 0x181A: 'sr-Latn-BA',\n 0x1009: 'en-CA',\n 0x0453: 'km',\n 0x081A: 'sr-Latn',\n 0x2409: 'en-029',\n 0x0486: 'quc',\n 0x046C: 'nso'\n }\n];\n\n\nlet $2bcf221753ec8e32$var$NameRecord = new $6uUbQ$Struct({\n platformID: $6uUbQ$uint16,\n encodingID: $6uUbQ$uint16,\n languageID: $6uUbQ$uint16,\n nameID: $6uUbQ$uint16,\n length: $6uUbQ$uint16,\n string: new $6uUbQ$Pointer($6uUbQ$uint16, new $6uUbQ$String('length', (t)=>(0, $e449ad78d50845fe$export$badc544e0651b6b1)(t.platformID, t.encodingID, t.languageID)), {\n type: 'parent',\n relativeTo: (ctx)=>ctx.parent.stringOffset,\n allowNull: false\n })\n});\nlet $2bcf221753ec8e32$var$LangTagRecord = new $6uUbQ$Struct({\n length: $6uUbQ$uint16,\n tag: new $6uUbQ$Pointer($6uUbQ$uint16, new $6uUbQ$String('length', 'utf16be'), {\n type: 'parent',\n relativeTo: (ctx)=>ctx.stringOffset\n })\n});\nvar $2bcf221753ec8e32$var$NameTable = new $6uUbQ$VersionedStruct($6uUbQ$uint16, {\n 0: {\n count: $6uUbQ$uint16,\n stringOffset: $6uUbQ$uint16,\n records: new $6uUbQ$Array($2bcf221753ec8e32$var$NameRecord, 'count')\n },\n 1: {\n count: $6uUbQ$uint16,\n stringOffset: $6uUbQ$uint16,\n records: new $6uUbQ$Array($2bcf221753ec8e32$var$NameRecord, 'count'),\n langTagCount: $6uUbQ$uint16,\n langTags: new $6uUbQ$Array($2bcf221753ec8e32$var$LangTagRecord, 'langTagCount')\n }\n});\nvar $2bcf221753ec8e32$export$2e2bcd8739ae039 = $2bcf221753ec8e32$var$NameTable;\nconst $2bcf221753ec8e32$var$NAMES = [\n 'copyright',\n 'fontFamily',\n 'fontSubfamily',\n 'uniqueSubfamily',\n 'fullName',\n 'version',\n 'postscriptName',\n 'trademark',\n 'manufacturer',\n 'designer',\n 'description',\n 'vendorURL',\n 'designerURL',\n 'license',\n 'licenseURL',\n null,\n 'preferredFamily',\n 'preferredSubfamily',\n 'compatibleFull',\n 'sampleText',\n 'postscriptCIDFontName',\n 'wwsFamilyName',\n 'wwsSubfamilyName'\n];\n$2bcf221753ec8e32$var$NameTable.process = function(stream) {\n var records = {};\n for (let record of this.records){\n // find out what language this is for\n let language = (0, $e449ad78d50845fe$export$2092376fd002e13)[record.platformID][record.languageID];\n if (language == null && this.langTags != null && record.languageID >= 0x8000) language = this.langTags[record.languageID - 0x8000].tag;\n if (language == null) language = record.platformID + '-' + record.languageID;\n // if the nameID is >= 256, it is a font feature record (AAT)\n let key = record.nameID >= 256 ? 'fontFeatures' : $2bcf221753ec8e32$var$NAMES[record.nameID] || record.nameID;\n if (records[key] == null) records[key] = {};\n let obj = records[key];\n if (record.nameID >= 256) obj = obj[record.nameID] || (obj[record.nameID] = {});\n if (typeof record.string === 'string' || typeof obj[language] !== 'string') obj[language] = record.string;\n }\n this.records = records;\n};\n$2bcf221753ec8e32$var$NameTable.preEncode = function() {\n if (Array.isArray(this.records)) return;\n this.version = 0;\n let records = [];\n for(let key in this.records){\n let val = this.records[key];\n if (key === 'fontFeatures') continue;\n records.push({\n platformID: 3,\n encodingID: 1,\n languageID: 0x409,\n nameID: $2bcf221753ec8e32$var$NAMES.indexOf(key),\n length: val.en.length * 2,\n string: val.en\n });\n if (key === 'postscriptName') records.push({\n platformID: 1,\n encodingID: 0,\n languageID: 0,\n nameID: $2bcf221753ec8e32$var$NAMES.indexOf(key),\n length: val.en.length,\n string: val.en\n });\n }\n this.records = records;\n this.count = records.length;\n this.stringOffset = $2bcf221753ec8e32$var$NameTable.size(this, null, false);\n};\n\n\n\nvar $84b272aa31b70606$var$OS2 = new $6uUbQ$VersionedStruct($6uUbQ$uint16, {\n header: {\n xAvgCharWidth: $6uUbQ$int16,\n usWeightClass: $6uUbQ$uint16,\n usWidthClass: $6uUbQ$uint16,\n fsType: new $6uUbQ$Bitfield($6uUbQ$uint16, [\n null,\n 'noEmbedding',\n 'viewOnly',\n 'editable',\n null,\n null,\n null,\n null,\n 'noSubsetting',\n 'bitmapOnly'\n ]),\n ySubscriptXSize: $6uUbQ$int16,\n ySubscriptYSize: $6uUbQ$int16,\n ySubscriptXOffset: $6uUbQ$int16,\n ySubscriptYOffset: $6uUbQ$int16,\n ySuperscriptXSize: $6uUbQ$int16,\n ySuperscriptYSize: $6uUbQ$int16,\n ySuperscriptXOffset: $6uUbQ$int16,\n ySuperscriptYOffset: $6uUbQ$int16,\n yStrikeoutSize: $6uUbQ$int16,\n yStrikeoutPosition: $6uUbQ$int16,\n sFamilyClass: $6uUbQ$int16,\n panose: new $6uUbQ$Array($6uUbQ$uint8, 10),\n ulCharRange: new $6uUbQ$Array($6uUbQ$uint32, 4),\n vendorID: new $6uUbQ$String(4),\n fsSelection: new $6uUbQ$Bitfield($6uUbQ$uint16, [\n 'italic',\n 'underscore',\n 'negative',\n 'outlined',\n 'strikeout',\n 'bold',\n 'regular',\n 'useTypoMetrics',\n 'wws',\n 'oblique'\n ]),\n usFirstCharIndex: $6uUbQ$uint16,\n usLastCharIndex: $6uUbQ$uint16 // The maximum Unicode index in this font\n },\n // The Apple version of this table ends here, but the Microsoft one continues on...\n 0: {},\n 1: {\n typoAscender: $6uUbQ$int16,\n typoDescender: $6uUbQ$int16,\n typoLineGap: $6uUbQ$int16,\n winAscent: $6uUbQ$uint16,\n winDescent: $6uUbQ$uint16,\n codePageRange: new $6uUbQ$Array($6uUbQ$uint32, 2)\n },\n 2: {\n // these should be common with version 1 somehow\n typoAscender: $6uUbQ$int16,\n typoDescender: $6uUbQ$int16,\n typoLineGap: $6uUbQ$int16,\n winAscent: $6uUbQ$uint16,\n winDescent: $6uUbQ$uint16,\n codePageRange: new $6uUbQ$Array($6uUbQ$uint32, 2),\n xHeight: $6uUbQ$int16,\n capHeight: $6uUbQ$int16,\n defaultChar: $6uUbQ$uint16,\n breakChar: $6uUbQ$uint16,\n maxContent: $6uUbQ$uint16\n },\n 5: {\n typoAscender: $6uUbQ$int16,\n typoDescender: $6uUbQ$int16,\n typoLineGap: $6uUbQ$int16,\n winAscent: $6uUbQ$uint16,\n winDescent: $6uUbQ$uint16,\n codePageRange: new $6uUbQ$Array($6uUbQ$uint32, 2),\n xHeight: $6uUbQ$int16,\n capHeight: $6uUbQ$int16,\n defaultChar: $6uUbQ$uint16,\n breakChar: $6uUbQ$uint16,\n maxContent: $6uUbQ$uint16,\n usLowerOpticalPointSize: $6uUbQ$uint16,\n usUpperOpticalPointSize: $6uUbQ$uint16\n }\n});\nlet $84b272aa31b70606$var$versions = $84b272aa31b70606$var$OS2.versions;\n$84b272aa31b70606$var$versions[3] = $84b272aa31b70606$var$versions[4] = $84b272aa31b70606$var$versions[2];\nvar $84b272aa31b70606$export$2e2bcd8739ae039 = $84b272aa31b70606$var$OS2;\n\n\n\nvar // PostScript information\n$32d9e2eb9565d93c$export$2e2bcd8739ae039 = new $6uUbQ$VersionedStruct($6uUbQ$fixed32, {\n header: {\n italicAngle: $6uUbQ$fixed32,\n underlinePosition: $6uUbQ$int16,\n underlineThickness: $6uUbQ$int16,\n isFixedPitch: $6uUbQ$uint32,\n minMemType42: $6uUbQ$uint32,\n maxMemType42: $6uUbQ$uint32,\n minMemType1: $6uUbQ$uint32,\n maxMemType1: $6uUbQ$uint32 // Maximum memory usage when a TrueType font is downloaded as a Type 1 font\n },\n 1: {},\n 2: {\n numberOfGlyphs: $6uUbQ$uint16,\n glyphNameIndex: new $6uUbQ$Array($6uUbQ$uint16, 'numberOfGlyphs'),\n names: new $6uUbQ$Array(new $6uUbQ$String($6uUbQ$uint8))\n },\n 2.5: {\n numberOfGlyphs: $6uUbQ$uint16,\n offsets: new $6uUbQ$Array($6uUbQ$uint8, 'numberOfGlyphs')\n },\n 3: {},\n 4: {\n map: new $6uUbQ$Array($6uUbQ$uint32, (t)=>t.parent.maxp.numGlyphs)\n }\n});\n\n\n\nvar // An array of predefined values accessible by instructions\n$5202bd9d9ad8eaac$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n controlValues: new $6uUbQ$Array($6uUbQ$int16)\n});\n\n\n\nvar // A list of instructions that are executed once when a font is first used.\n// These instructions are known as the font program. The main use of this table\n// is for the definition of functions that are used in many different glyph programs.\n$5c0f37ca5ffb1850$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n instructions: new $6uUbQ$Array($6uUbQ$uint8)\n});\n\n\n\nlet $2b2b260902b1c57e$var$loca = new $6uUbQ$VersionedStruct('head.indexToLocFormat', {\n 0: {\n offsets: new $6uUbQ$Array($6uUbQ$uint16)\n },\n 1: {\n offsets: new $6uUbQ$Array($6uUbQ$uint32)\n }\n});\n$2b2b260902b1c57e$var$loca.process = function() {\n if (this.version === 0 && !this._processed) {\n for(let i = 0; i < this.offsets.length; i++)this.offsets[i] <<= 1;\n this._processed = true;\n }\n};\n$2b2b260902b1c57e$var$loca.preEncode = function() {\n if (this.version === 0 && this._processed !== false) {\n for(let i = 0; i < this.offsets.length; i++)this.offsets[i] >>>= 1;\n this._processed = false;\n }\n};\nvar $2b2b260902b1c57e$export$2e2bcd8739ae039 = $2b2b260902b1c57e$var$loca;\n\n\n\nvar // Set of instructions executed whenever the point size or font transformation change\n$7afb878c7bea4f66$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n controlValueProgram: new $6uUbQ$Array($6uUbQ$uint8)\n});\n\n\n\nvar // only used for encoding\n$6c92b6371bce8bd9$export$2e2bcd8739ae039 = new $6uUbQ$Array(new $6uUbQ$Buffer);\n\n\n\n\nclass $43e9821ef3717eec$export$2e2bcd8739ae039 {\n getCFFVersion(ctx) {\n while(ctx && !ctx.hdrSize)ctx = ctx.parent;\n return ctx ? ctx.version : -1;\n }\n decode(stream, parent) {\n let version = this.getCFFVersion(parent);\n let count = version >= 2 ? stream.readUInt32BE() : stream.readUInt16BE();\n if (count === 0) return [];\n let offSize = stream.readUInt8();\n let offsetType;\n if (offSize === 1) offsetType = $6uUbQ$uint8;\n else if (offSize === 2) offsetType = $6uUbQ$uint16;\n else if (offSize === 3) offsetType = $6uUbQ$uint24;\n else if (offSize === 4) offsetType = $6uUbQ$uint32;\n else throw new Error(`Bad offset size in CFFIndex: ${offSize} ${stream.pos}`);\n let ret = [];\n let startPos = stream.pos + (count + 1) * offSize - 1;\n let start = offsetType.decode(stream);\n for(let i = 0; i < count; i++){\n let end = offsetType.decode(stream);\n if (this.type != null) {\n let pos = stream.pos;\n stream.pos = startPos + start;\n parent.length = end - start;\n ret.push(this.type.decode(stream, parent));\n stream.pos = pos;\n } else ret.push({\n offset: startPos + start,\n length: end - start\n });\n start = end;\n }\n stream.pos = startPos + start;\n return ret;\n }\n size(arr, parent) {\n let size = 2;\n if (arr.length === 0) return size;\n let type = this.type || new $6uUbQ$Buffer;\n // find maximum offset to detminine offset type\n let offset = 1;\n for(let i = 0; i < arr.length; i++){\n let item = arr[i];\n offset += type.size(item, parent);\n }\n let offsetType;\n if (offset <= 0xff) offsetType = $6uUbQ$uint8;\n else if (offset <= 0xffff) offsetType = $6uUbQ$uint16;\n else if (offset <= 0xffffff) offsetType = $6uUbQ$uint24;\n else if (offset <= 0xffffffff) offsetType = $6uUbQ$uint32;\n else throw new Error(\"Bad offset in CFFIndex\");\n size += 1 + offsetType.size() * (arr.length + 1);\n size += offset - 1;\n return size;\n }\n encode(stream, arr, parent) {\n stream.writeUInt16BE(arr.length);\n if (arr.length === 0) return;\n let type = this.type || new $6uUbQ$Buffer;\n // find maximum offset to detminine offset type\n let sizes = [];\n let offset = 1;\n for (let item of arr){\n let s = type.size(item, parent);\n sizes.push(s);\n offset += s;\n }\n let offsetType;\n if (offset <= 0xff) offsetType = $6uUbQ$uint8;\n else if (offset <= 0xffff) offsetType = $6uUbQ$uint16;\n else if (offset <= 0xffffff) offsetType = $6uUbQ$uint24;\n else if (offset <= 0xffffffff) offsetType = $6uUbQ$uint32;\n else throw new Error(\"Bad offset in CFFIndex\");\n // write offset size\n stream.writeUInt8(offsetType.size());\n // write elements\n offset = 1;\n offsetType.encode(stream, offset);\n for (let size of sizes){\n offset += size;\n offsetType.encode(stream, offset);\n }\n for (let item of arr)type.encode(stream, item, parent);\n return;\n }\n constructor(type){\n this.type = type;\n }\n}\n\n\n\n\n\nconst $c2d28e92708f99da$var$FLOAT_EOF = 0xf;\nconst $c2d28e92708f99da$var$FLOAT_LOOKUP = [\n '0',\n '1',\n '2',\n '3',\n '4',\n '5',\n '6',\n '7',\n '8',\n '9',\n '.',\n 'E',\n 'E-',\n null,\n '-'\n];\nconst $c2d28e92708f99da$var$FLOAT_ENCODE_LOOKUP = {\n '.': 10,\n 'E': 11,\n 'E-': 12,\n '-': 14\n};\nclass $c2d28e92708f99da$export$2e2bcd8739ae039 {\n static decode(stream, value) {\n if (32 <= value && value <= 246) return value - 139;\n if (247 <= value && value <= 250) return (value - 247) * 256 + stream.readUInt8() + 108;\n if (251 <= value && value <= 254) return -(value - 251) * 256 - stream.readUInt8() - 108;\n if (value === 28) return stream.readInt16BE();\n if (value === 29) return stream.readInt32BE();\n if (value === 30) {\n let str = '';\n while(true){\n let b = stream.readUInt8();\n let n1 = b >> 4;\n if (n1 === $c2d28e92708f99da$var$FLOAT_EOF) break;\n str += $c2d28e92708f99da$var$FLOAT_LOOKUP[n1];\n let n2 = b & 15;\n if (n2 === $c2d28e92708f99da$var$FLOAT_EOF) break;\n str += $c2d28e92708f99da$var$FLOAT_LOOKUP[n2];\n }\n return parseFloat(str);\n }\n return null;\n }\n static size(value) {\n // if the value needs to be forced to the largest size (32 bit)\n // e.g. for unknown pointers, set to 32768\n if (value.forceLarge) value = 32768;\n if ((value | 0) !== value) {\n let str = '' + value;\n return 1 + Math.ceil((str.length + 1) / 2);\n } else if (-107 <= value && value <= 107) return 1;\n else if (108 <= value && value <= 1131 || -1131 <= value && value <= -108) return 2;\n else if (-32768 <= value && value <= 32767) return 3;\n else return 5;\n }\n static encode(stream, value) {\n // if the value needs to be forced to the largest size (32 bit)\n // e.g. for unknown pointers, save the old value and set to 32768\n let val = Number(value);\n if (value.forceLarge) {\n stream.writeUInt8(29);\n return stream.writeInt32BE(val);\n } else if ((val | 0) !== val) {\n stream.writeUInt8(30);\n let str = '' + val;\n for(let i = 0; i < str.length; i += 2){\n let c1 = str[i];\n let n1 = $c2d28e92708f99da$var$FLOAT_ENCODE_LOOKUP[c1] || +c1;\n if (i === str.length - 1) var n2 = $c2d28e92708f99da$var$FLOAT_EOF;\n else {\n let c2 = str[i + 1];\n var n2 = $c2d28e92708f99da$var$FLOAT_ENCODE_LOOKUP[c2] || +c2;\n }\n stream.writeUInt8(n1 << 4 | n2 & 15);\n }\n if (n2 !== $c2d28e92708f99da$var$FLOAT_EOF) return stream.writeUInt8($c2d28e92708f99da$var$FLOAT_EOF << 4);\n } else if (-107 <= val && val <= 107) return stream.writeUInt8(val + 139);\n else if (108 <= val && val <= 1131) {\n val -= 108;\n stream.writeUInt8((val >> 8) + 247);\n return stream.writeUInt8(val & 0xff);\n } else if (-1131 <= val && val <= -108) {\n val = -val - 108;\n stream.writeUInt8((val >> 8) + 251);\n return stream.writeUInt8(val & 0xff);\n } else if (-32768 <= val && val <= 32767) {\n stream.writeUInt8(28);\n return stream.writeInt16BE(val);\n } else {\n stream.writeUInt8(29);\n return stream.writeInt32BE(val);\n }\n }\n}\n\n\nclass $61aa549f16d58b9b$export$2e2bcd8739ae039 {\n decodeOperands(type, stream, ret, operands) {\n if (Array.isArray(type)) return operands.map((op, i)=>this.decodeOperands(type[i], stream, ret, [\n op\n ]));\n else if (type.decode != null) return type.decode(stream, ret, operands);\n else switch(type){\n case 'number':\n case 'offset':\n case 'sid':\n return operands[0];\n case 'boolean':\n return !!operands[0];\n default:\n return operands;\n }\n }\n encodeOperands(type, stream, ctx, operands) {\n if (Array.isArray(type)) return operands.map((op, i)=>this.encodeOperands(type[i], stream, ctx, op)[0]);\n else if (type.encode != null) return type.encode(stream, operands, ctx);\n else if (typeof operands === 'number') return [\n operands\n ];\n else if (typeof operands === 'boolean') return [\n +operands\n ];\n else if (Array.isArray(operands)) return operands;\n else return [\n operands\n ];\n }\n decode(stream, parent) {\n let end = stream.pos + parent.length;\n let ret = {};\n let operands = [];\n // define hidden properties\n Object.defineProperties(ret, {\n parent: {\n value: parent\n },\n _startOffset: {\n value: stream.pos\n }\n });\n // fill in defaults\n for(let key in this.fields){\n let field = this.fields[key];\n ret[field[1]] = field[3];\n }\n while(stream.pos < end){\n let b = stream.readUInt8();\n if (b < 28) {\n if (b === 12) b = b << 8 | stream.readUInt8();\n let field = this.fields[b];\n if (!field) throw new Error(`Unknown operator ${b}`);\n let val = this.decodeOperands(field[2], stream, ret, operands);\n if (val != null) {\n if (val instanceof (0, $6uUbQ$PropertyDescriptor)) Object.defineProperty(ret, field[1], val);\n else ret[field[1]] = val;\n }\n operands = [];\n } else operands.push((0, $c2d28e92708f99da$export$2e2bcd8739ae039).decode(stream, b));\n }\n return ret;\n }\n size(dict, parent, includePointers = true) {\n let ctx = {\n parent: parent,\n val: dict,\n pointerSize: 0,\n startOffset: parent.startOffset || 0\n };\n let len = 0;\n for(let k in this.fields){\n let field = this.fields[k];\n let val = dict[field[1]];\n if (val == null || (0, $6uUbQ$fastdeepequal)(val, field[3])) continue;\n let operands = this.encodeOperands(field[2], null, ctx, val);\n for (let op of operands)len += (0, $c2d28e92708f99da$export$2e2bcd8739ae039).size(op);\n let key = Array.isArray(field[0]) ? field[0] : [\n field[0]\n ];\n len += key.length;\n }\n if (includePointers) len += ctx.pointerSize;\n return len;\n }\n encode(stream, dict, parent) {\n let ctx = {\n pointers: [],\n startOffset: stream.pos,\n parent: parent,\n val: dict,\n pointerSize: 0\n };\n ctx.pointerOffset = stream.pos + this.size(dict, ctx, false);\n for (let field of this.ops){\n let val = dict[field[1]];\n if (val == null || (0, $6uUbQ$fastdeepequal)(val, field[3])) continue;\n let operands = this.encodeOperands(field[2], stream, ctx, val);\n for (let op of operands)(0, $c2d28e92708f99da$export$2e2bcd8739ae039).encode(stream, op);\n let key = Array.isArray(field[0]) ? field[0] : [\n field[0]\n ];\n for (let op of key)stream.writeUInt8(op);\n }\n let i = 0;\n while(i < ctx.pointers.length){\n let ptr = ctx.pointers[i++];\n ptr.type.encode(stream, ptr.val, ptr.parent);\n }\n return;\n }\n constructor(ops = []){\n this.ops = ops;\n this.fields = {};\n for (let field of ops){\n let key = Array.isArray(field[0]) ? field[0][0] << 8 | field[0][1] : field[0];\n this.fields[key] = field;\n }\n }\n}\n\n\n\n\nclass $0e34a43d05bde82c$export$2e2bcd8739ae039 extends $6uUbQ$Pointer {\n decode(stream, parent, operands) {\n this.offsetType = {\n decode: ()=>operands[0]\n };\n return super.decode(stream, parent, operands);\n }\n encode(stream, value, ctx) {\n if (!stream) {\n // compute the size (so ctx.pointerSize is correct)\n this.offsetType = {\n size: ()=>0\n };\n this.size(value, ctx);\n return [\n new $0e34a43d05bde82c$var$Ptr(0)\n ];\n }\n let ptr = null;\n this.offsetType = {\n encode: (stream, val)=>ptr = val\n };\n super.encode(stream, value, ctx);\n return [\n new $0e34a43d05bde82c$var$Ptr(ptr)\n ];\n }\n constructor(type, options = {}){\n if (options.type == null) options.type = 'global';\n super(null, type, options);\n }\n}\nclass $0e34a43d05bde82c$var$Ptr {\n valueOf() {\n return this.val;\n }\n constructor(val){\n this.val = val;\n this.forceLarge = true;\n }\n}\n\n\n\n\n\nclass $6d59db2e29cc77b3$var$CFFBlendOp {\n static decode(stream, parent, operands) {\n let numBlends = operands.pop();\n // TODO: actually blend. For now just consume the deltas\n // since we don't use any of the values anyway.\n while(operands.length > numBlends)operands.pop();\n }\n}\nvar $6d59db2e29cc77b3$export$2e2bcd8739ae039 = new (0, $61aa549f16d58b9b$export$2e2bcd8739ae039)([\n // key name type default\n [\n 6,\n 'BlueValues',\n 'delta',\n null\n ],\n [\n 7,\n 'OtherBlues',\n 'delta',\n null\n ],\n [\n 8,\n 'FamilyBlues',\n 'delta',\n null\n ],\n [\n 9,\n 'FamilyOtherBlues',\n 'delta',\n null\n ],\n [\n [\n 12,\n 9\n ],\n 'BlueScale',\n 'number',\n 0.039625\n ],\n [\n [\n 12,\n 10\n ],\n 'BlueShift',\n 'number',\n 7\n ],\n [\n [\n 12,\n 11\n ],\n 'BlueFuzz',\n 'number',\n 1\n ],\n [\n 10,\n 'StdHW',\n 'number',\n null\n ],\n [\n 11,\n 'StdVW',\n 'number',\n null\n ],\n [\n [\n 12,\n 12\n ],\n 'StemSnapH',\n 'delta',\n null\n ],\n [\n [\n 12,\n 13\n ],\n 'StemSnapV',\n 'delta',\n null\n ],\n [\n [\n 12,\n 14\n ],\n 'ForceBold',\n 'boolean',\n false\n ],\n [\n [\n 12,\n 17\n ],\n 'LanguageGroup',\n 'number',\n 0\n ],\n [\n [\n 12,\n 18\n ],\n 'ExpansionFactor',\n 'number',\n 0.06\n ],\n [\n [\n 12,\n 19\n ],\n 'initialRandomSeed',\n 'number',\n 0\n ],\n [\n 20,\n 'defaultWidthX',\n 'number',\n 0\n ],\n [\n 21,\n 'nominalWidthX',\n 'number',\n 0\n ],\n [\n 22,\n 'vsindex',\n 'number',\n 0\n ],\n [\n 23,\n 'blend',\n $6d59db2e29cc77b3$var$CFFBlendOp,\n null\n ],\n [\n 19,\n 'Subrs',\n new (0, $0e34a43d05bde82c$export$2e2bcd8739ae039)(new (0, $43e9821ef3717eec$export$2e2bcd8739ae039), {\n type: 'local'\n }),\n null\n ]\n]);\n\n\n// Automatically generated from Appendix A of the CFF specification; do\n// not edit. Length should be 391.\nvar $229224aec43783c5$export$2e2bcd8739ae039 = [\n \".notdef\",\n \"space\",\n \"exclam\",\n \"quotedbl\",\n \"numbersign\",\n \"dollar\",\n \"percent\",\n \"ampersand\",\n \"quoteright\",\n \"parenleft\",\n \"parenright\",\n \"asterisk\",\n \"plus\",\n \"comma\",\n \"hyphen\",\n \"period\",\n \"slash\",\n \"zero\",\n \"one\",\n \"two\",\n \"three\",\n \"four\",\n \"five\",\n \"six\",\n \"seven\",\n \"eight\",\n \"nine\",\n \"colon\",\n \"semicolon\",\n \"less\",\n \"equal\",\n \"greater\",\n \"question\",\n \"at\",\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\",\n \"F\",\n \"G\",\n \"H\",\n \"I\",\n \"J\",\n \"K\",\n \"L\",\n \"M\",\n \"N\",\n \"O\",\n \"P\",\n \"Q\",\n \"R\",\n \"S\",\n \"T\",\n \"U\",\n \"V\",\n \"W\",\n \"X\",\n \"Y\",\n \"Z\",\n \"bracketleft\",\n \"backslash\",\n \"bracketright\",\n \"asciicircum\",\n \"underscore\",\n \"quoteleft\",\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\",\n \"f\",\n \"g\",\n \"h\",\n \"i\",\n \"j\",\n \"k\",\n \"l\",\n \"m\",\n \"n\",\n \"o\",\n \"p\",\n \"q\",\n \"r\",\n \"s\",\n \"t\",\n \"u\",\n \"v\",\n \"w\",\n \"x\",\n \"y\",\n \"z\",\n \"braceleft\",\n \"bar\",\n \"braceright\",\n \"asciitilde\",\n \"exclamdown\",\n \"cent\",\n \"sterling\",\n \"fraction\",\n \"yen\",\n \"florin\",\n \"section\",\n \"currency\",\n \"quotesingle\",\n \"quotedblleft\",\n \"guillemotleft\",\n \"guilsinglleft\",\n \"guilsinglright\",\n \"fi\",\n \"fl\",\n \"endash\",\n \"dagger\",\n \"daggerdbl\",\n \"periodcentered\",\n \"paragraph\",\n \"bullet\",\n \"quotesinglbase\",\n \"quotedblbase\",\n \"quotedblright\",\n \"guillemotright\",\n \"ellipsis\",\n \"perthousand\",\n \"questiondown\",\n \"grave\",\n \"acute\",\n \"circumflex\",\n \"tilde\",\n \"macron\",\n \"breve\",\n \"dotaccent\",\n \"dieresis\",\n \"ring\",\n \"cedilla\",\n \"hungarumlaut\",\n \"ogonek\",\n \"caron\",\n \"emdash\",\n \"AE\",\n \"ordfeminine\",\n \"Lslash\",\n \"Oslash\",\n \"OE\",\n \"ordmasculine\",\n \"ae\",\n \"dotlessi\",\n \"lslash\",\n \"oslash\",\n \"oe\",\n \"germandbls\",\n \"onesuperior\",\n \"logicalnot\",\n \"mu\",\n \"trademark\",\n \"Eth\",\n \"onehalf\",\n \"plusminus\",\n \"Thorn\",\n \"onequarter\",\n \"divide\",\n \"brokenbar\",\n \"degree\",\n \"thorn\",\n \"threequarters\",\n \"twosuperior\",\n \"registered\",\n \"minus\",\n \"eth\",\n \"multiply\",\n \"threesuperior\",\n \"copyright\",\n \"Aacute\",\n \"Acircumflex\",\n \"Adieresis\",\n \"Agrave\",\n \"Aring\",\n \"Atilde\",\n \"Ccedilla\",\n \"Eacute\",\n \"Ecircumflex\",\n \"Edieresis\",\n \"Egrave\",\n \"Iacute\",\n \"Icircumflex\",\n \"Idieresis\",\n \"Igrave\",\n \"Ntilde\",\n \"Oacute\",\n \"Ocircumflex\",\n \"Odieresis\",\n \"Ograve\",\n \"Otilde\",\n \"Scaron\",\n \"Uacute\",\n \"Ucircumflex\",\n \"Udieresis\",\n \"Ugrave\",\n \"Yacute\",\n \"Ydieresis\",\n \"Zcaron\",\n \"aacute\",\n \"acircumflex\",\n \"adieresis\",\n \"agrave\",\n \"aring\",\n \"atilde\",\n \"ccedilla\",\n \"eacute\",\n \"ecircumflex\",\n \"edieresis\",\n \"egrave\",\n \"iacute\",\n \"icircumflex\",\n \"idieresis\",\n \"igrave\",\n \"ntilde\",\n \"oacute\",\n \"ocircumflex\",\n \"odieresis\",\n \"ograve\",\n \"otilde\",\n \"scaron\",\n \"uacute\",\n \"ucircumflex\",\n \"udieresis\",\n \"ugrave\",\n \"yacute\",\n \"ydieresis\",\n \"zcaron\",\n \"exclamsmall\",\n \"Hungarumlautsmall\",\n \"dollaroldstyle\",\n \"dollarsuperior\",\n \"ampersandsmall\",\n \"Acutesmall\",\n \"parenleftsuperior\",\n \"parenrightsuperior\",\n \"twodotenleader\",\n \"onedotenleader\",\n \"zerooldstyle\",\n \"oneoldstyle\",\n \"twooldstyle\",\n \"threeoldstyle\",\n \"fouroldstyle\",\n \"fiveoldstyle\",\n \"sixoldstyle\",\n \"sevenoldstyle\",\n \"eightoldstyle\",\n \"nineoldstyle\",\n \"commasuperior\",\n \"threequartersemdash\",\n \"periodsuperior\",\n \"questionsmall\",\n \"asuperior\",\n \"bsuperior\",\n \"centsuperior\",\n \"dsuperior\",\n \"esuperior\",\n \"isuperior\",\n \"lsuperior\",\n \"msuperior\",\n \"nsuperior\",\n \"osuperior\",\n \"rsuperior\",\n \"ssuperior\",\n \"tsuperior\",\n \"ff\",\n \"ffi\",\n \"ffl\",\n \"parenleftinferior\",\n \"parenrightinferior\",\n \"Circumflexsmall\",\n \"hyphensuperior\",\n \"Gravesmall\",\n \"Asmall\",\n \"Bsmall\",\n \"Csmall\",\n \"Dsmall\",\n \"Esmall\",\n \"Fsmall\",\n \"Gsmall\",\n \"Hsmall\",\n \"Ismall\",\n \"Jsmall\",\n \"Ksmall\",\n \"Lsmall\",\n \"Msmall\",\n \"Nsmall\",\n \"Osmall\",\n \"Psmall\",\n \"Qsmall\",\n \"Rsmall\",\n \"Ssmall\",\n \"Tsmall\",\n \"Usmall\",\n \"Vsmall\",\n \"Wsmall\",\n \"Xsmall\",\n \"Ysmall\",\n \"Zsmall\",\n \"colonmonetary\",\n \"onefitted\",\n \"rupiah\",\n \"Tildesmall\",\n \"exclamdownsmall\",\n \"centoldstyle\",\n \"Lslashsmall\",\n \"Scaronsmall\",\n \"Zcaronsmall\",\n \"Dieresissmall\",\n \"Brevesmall\",\n \"Caronsmall\",\n \"Dotaccentsmall\",\n \"Macronsmall\",\n \"figuredash\",\n \"hypheninferior\",\n \"Ogoneksmall\",\n \"Ringsmall\",\n \"Cedillasmall\",\n \"questiondownsmall\",\n \"oneeighth\",\n \"threeeighths\",\n \"fiveeighths\",\n \"seveneighths\",\n \"onethird\",\n \"twothirds\",\n \"zerosuperior\",\n \"foursuperior\",\n \"fivesuperior\",\n \"sixsuperior\",\n \"sevensuperior\",\n \"eightsuperior\",\n \"ninesuperior\",\n \"zeroinferior\",\n \"oneinferior\",\n \"twoinferior\",\n \"threeinferior\",\n \"fourinferior\",\n \"fiveinferior\",\n \"sixinferior\",\n \"seveninferior\",\n \"eightinferior\",\n \"nineinferior\",\n \"centinferior\",\n \"dollarinferior\",\n \"periodinferior\",\n \"commainferior\",\n \"Agravesmall\",\n \"Aacutesmall\",\n \"Acircumflexsmall\",\n \"Atildesmall\",\n \"Adieresissmall\",\n \"Aringsmall\",\n \"AEsmall\",\n \"Ccedillasmall\",\n \"Egravesmall\",\n \"Eacutesmall\",\n \"Ecircumflexsmall\",\n \"Edieresissmall\",\n \"Igravesmall\",\n \"Iacutesmall\",\n \"Icircumflexsmall\",\n \"Idieresissmall\",\n \"Ethsmall\",\n \"Ntildesmall\",\n \"Ogravesmall\",\n \"Oacutesmall\",\n \"Ocircumflexsmall\",\n \"Otildesmall\",\n \"Odieresissmall\",\n \"OEsmall\",\n \"Oslashsmall\",\n \"Ugravesmall\",\n \"Uacutesmall\",\n \"Ucircumflexsmall\",\n \"Udieresissmall\",\n \"Yacutesmall\",\n \"Thornsmall\",\n \"Ydieresissmall\",\n \"001.000\",\n \"001.001\",\n \"001.002\",\n \"001.003\",\n \"Black\",\n \"Bold\",\n \"Book\",\n \"Light\",\n \"Medium\",\n \"Regular\",\n \"Roman\",\n \"Semibold\"\n];\n\n\nlet $bc0433d9b7e41f5f$export$dee0027060fa13bd = [\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n 'space',\n 'exclam',\n 'quotedbl',\n 'numbersign',\n 'dollar',\n 'percent',\n 'ampersand',\n 'quoteright',\n 'parenleft',\n 'parenright',\n 'asterisk',\n 'plus',\n 'comma',\n 'hyphen',\n 'period',\n 'slash',\n 'zero',\n 'one',\n 'two',\n 'three',\n 'four',\n 'five',\n 'six',\n 'seven',\n 'eight',\n 'nine',\n 'colon',\n 'semicolon',\n 'less',\n 'equal',\n 'greater',\n 'question',\n 'at',\n 'A',\n 'B',\n 'C',\n 'D',\n 'E',\n 'F',\n 'G',\n 'H',\n 'I',\n 'J',\n 'K',\n 'L',\n 'M',\n 'N',\n 'O',\n 'P',\n 'Q',\n 'R',\n 'S',\n 'T',\n 'U',\n 'V',\n 'W',\n 'X',\n 'Y',\n 'Z',\n 'bracketleft',\n 'backslash',\n 'bracketright',\n 'asciicircum',\n 'underscore',\n 'quoteleft',\n 'a',\n 'b',\n 'c',\n 'd',\n 'e',\n 'f',\n 'g',\n 'h',\n 'i',\n 'j',\n 'k',\n 'l',\n 'm',\n 'n',\n 'o',\n 'p',\n 'q',\n 'r',\n 's',\n 't',\n 'u',\n 'v',\n 'w',\n 'x',\n 'y',\n 'z',\n 'braceleft',\n 'bar',\n 'braceright',\n 'asciitilde',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n 'exclamdown',\n 'cent',\n 'sterling',\n 'fraction',\n 'yen',\n 'florin',\n 'section',\n 'currency',\n 'quotesingle',\n 'quotedblleft',\n 'guillemotleft',\n 'guilsinglleft',\n 'guilsinglright',\n 'fi',\n 'fl',\n '',\n 'endash',\n 'dagger',\n 'daggerdbl',\n 'periodcentered',\n '',\n 'paragraph',\n 'bullet',\n 'quotesinglbase',\n 'quotedblbase',\n 'quotedblright',\n 'guillemotright',\n 'ellipsis',\n 'perthousand',\n '',\n 'questiondown',\n '',\n 'grave',\n 'acute',\n 'circumflex',\n 'tilde',\n 'macron',\n 'breve',\n 'dotaccent',\n 'dieresis',\n '',\n 'ring',\n 'cedilla',\n '',\n 'hungarumlaut',\n 'ogonek',\n 'caron',\n 'emdash',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n 'AE',\n '',\n 'ordfeminine',\n '',\n '',\n '',\n '',\n 'Lslash',\n 'Oslash',\n 'OE',\n 'ordmasculine',\n '',\n '',\n '',\n '',\n '',\n 'ae',\n '',\n '',\n '',\n 'dotlessi',\n '',\n '',\n 'lslash',\n 'oslash',\n 'oe',\n 'germandbls'\n];\nlet $bc0433d9b7e41f5f$export$4f58f497e14a53c3 = [\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n 'space',\n 'exclamsmall',\n 'Hungarumlautsmall',\n '',\n 'dollaroldstyle',\n 'dollarsuperior',\n 'ampersandsmall',\n 'Acutesmall',\n 'parenleftsuperior',\n 'parenrightsuperior',\n 'twodotenleader',\n 'onedotenleader',\n 'comma',\n 'hyphen',\n 'period',\n 'fraction',\n 'zerooldstyle',\n 'oneoldstyle',\n 'twooldstyle',\n 'threeoldstyle',\n 'fouroldstyle',\n 'fiveoldstyle',\n 'sixoldstyle',\n 'sevenoldstyle',\n 'eightoldstyle',\n 'nineoldstyle',\n 'colon',\n 'semicolon',\n 'commasuperior',\n 'threequartersemdash',\n 'periodsuperior',\n 'questionsmall',\n '',\n 'asuperior',\n 'bsuperior',\n 'centsuperior',\n 'dsuperior',\n 'esuperior',\n '',\n '',\n 'isuperior',\n '',\n '',\n 'lsuperior',\n 'msuperior',\n 'nsuperior',\n 'osuperior',\n '',\n '',\n 'rsuperior',\n 'ssuperior',\n 'tsuperior',\n '',\n 'ff',\n 'fi',\n 'fl',\n 'ffi',\n 'ffl',\n 'parenleftinferior',\n '',\n 'parenrightinferior',\n 'Circumflexsmall',\n 'hyphensuperior',\n 'Gravesmall',\n 'Asmall',\n 'Bsmall',\n 'Csmall',\n 'Dsmall',\n 'Esmall',\n 'Fsmall',\n 'Gsmall',\n 'Hsmall',\n 'Ismall',\n 'Jsmall',\n 'Ksmall',\n 'Lsmall',\n 'Msmall',\n 'Nsmall',\n 'Osmall',\n 'Psmall',\n 'Qsmall',\n 'Rsmall',\n 'Ssmall',\n 'Tsmall',\n 'Usmall',\n 'Vsmall',\n 'Wsmall',\n 'Xsmall',\n 'Ysmall',\n 'Zsmall',\n 'colonmonetary',\n 'onefitted',\n 'rupiah',\n 'Tildesmall',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n 'exclamdownsmall',\n 'centoldstyle',\n 'Lslashsmall',\n '',\n '',\n 'Scaronsmall',\n 'Zcaronsmall',\n 'Dieresissmall',\n 'Brevesmall',\n 'Caronsmall',\n '',\n 'Dotaccentsmall',\n '',\n '',\n 'Macronsmall',\n '',\n '',\n 'figuredash',\n 'hypheninferior',\n '',\n '',\n 'Ogoneksmall',\n 'Ringsmall',\n 'Cedillasmall',\n '',\n '',\n '',\n 'onequarter',\n 'onehalf',\n 'threequarters',\n 'questiondownsmall',\n 'oneeighth',\n 'threeeighths',\n 'fiveeighths',\n 'seveneighths',\n 'onethird',\n 'twothirds',\n '',\n '',\n 'zerosuperior',\n 'onesuperior',\n 'twosuperior',\n 'threesuperior',\n 'foursuperior',\n 'fivesuperior',\n 'sixsuperior',\n 'sevensuperior',\n 'eightsuperior',\n 'ninesuperior',\n 'zeroinferior',\n 'oneinferior',\n 'twoinferior',\n 'threeinferior',\n 'fourinferior',\n 'fiveinferior',\n 'sixinferior',\n 'seveninferior',\n 'eightinferior',\n 'nineinferior',\n 'centinferior',\n 'dollarinferior',\n 'periodinferior',\n 'commainferior',\n 'Agravesmall',\n 'Aacutesmall',\n 'Acircumflexsmall',\n 'Atildesmall',\n 'Adieresissmall',\n 'Aringsmall',\n 'AEsmall',\n 'Ccedillasmall',\n 'Egravesmall',\n 'Eacutesmall',\n 'Ecircumflexsmall',\n 'Edieresissmall',\n 'Igravesmall',\n 'Iacutesmall',\n 'Icircumflexsmall',\n 'Idieresissmall',\n 'Ethsmall',\n 'Ntildesmall',\n 'Ogravesmall',\n 'Oacutesmall',\n 'Ocircumflexsmall',\n 'Otildesmall',\n 'Odieresissmall',\n 'OEsmall',\n 'Oslashsmall',\n 'Ugravesmall',\n 'Uacutesmall',\n 'Ucircumflexsmall',\n 'Udieresissmall',\n 'Yacutesmall',\n 'Thornsmall',\n 'Ydieresissmall'\n];\n\n\nlet $ef658f5c9a1488b2$export$c33b50336c234f16 = [\n '.notdef',\n 'space',\n 'exclam',\n 'quotedbl',\n 'numbersign',\n 'dollar',\n 'percent',\n 'ampersand',\n 'quoteright',\n 'parenleft',\n 'parenright',\n 'asterisk',\n 'plus',\n 'comma',\n 'hyphen',\n 'period',\n 'slash',\n 'zero',\n 'one',\n 'two',\n 'three',\n 'four',\n 'five',\n 'six',\n 'seven',\n 'eight',\n 'nine',\n 'colon',\n 'semicolon',\n 'less',\n 'equal',\n 'greater',\n 'question',\n 'at',\n 'A',\n 'B',\n 'C',\n 'D',\n 'E',\n 'F',\n 'G',\n 'H',\n 'I',\n 'J',\n 'K',\n 'L',\n 'M',\n 'N',\n 'O',\n 'P',\n 'Q',\n 'R',\n 'S',\n 'T',\n 'U',\n 'V',\n 'W',\n 'X',\n 'Y',\n 'Z',\n 'bracketleft',\n 'backslash',\n 'bracketright',\n 'asciicircum',\n 'underscore',\n 'quoteleft',\n 'a',\n 'b',\n 'c',\n 'd',\n 'e',\n 'f',\n 'g',\n 'h',\n 'i',\n 'j',\n 'k',\n 'l',\n 'm',\n 'n',\n 'o',\n 'p',\n 'q',\n 'r',\n 's',\n 't',\n 'u',\n 'v',\n 'w',\n 'x',\n 'y',\n 'z',\n 'braceleft',\n 'bar',\n 'braceright',\n 'asciitilde',\n 'exclamdown',\n 'cent',\n 'sterling',\n 'fraction',\n 'yen',\n 'florin',\n 'section',\n 'currency',\n 'quotesingle',\n 'quotedblleft',\n 'guillemotleft',\n 'guilsinglleft',\n 'guilsinglright',\n 'fi',\n 'fl',\n 'endash',\n 'dagger',\n 'daggerdbl',\n 'periodcentered',\n 'paragraph',\n 'bullet',\n 'quotesinglbase',\n 'quotedblbase',\n 'quotedblright',\n 'guillemotright',\n 'ellipsis',\n 'perthousand',\n 'questiondown',\n 'grave',\n 'acute',\n 'circumflex',\n 'tilde',\n 'macron',\n 'breve',\n 'dotaccent',\n 'dieresis',\n 'ring',\n 'cedilla',\n 'hungarumlaut',\n 'ogonek',\n 'caron',\n 'emdash',\n 'AE',\n 'ordfeminine',\n 'Lslash',\n 'Oslash',\n 'OE',\n 'ordmasculine',\n 'ae',\n 'dotlessi',\n 'lslash',\n 'oslash',\n 'oe',\n 'germandbls',\n 'onesuperior',\n 'logicalnot',\n 'mu',\n 'trademark',\n 'Eth',\n 'onehalf',\n 'plusminus',\n 'Thorn',\n 'onequarter',\n 'divide',\n 'brokenbar',\n 'degree',\n 'thorn',\n 'threequarters',\n 'twosuperior',\n 'registered',\n 'minus',\n 'eth',\n 'multiply',\n 'threesuperior',\n 'copyright',\n 'Aacute',\n 'Acircumflex',\n 'Adieresis',\n 'Agrave',\n 'Aring',\n 'Atilde',\n 'Ccedilla',\n 'Eacute',\n 'Ecircumflex',\n 'Edieresis',\n 'Egrave',\n 'Iacute',\n 'Icircumflex',\n 'Idieresis',\n 'Igrave',\n 'Ntilde',\n 'Oacute',\n 'Ocircumflex',\n 'Odieresis',\n 'Ograve',\n 'Otilde',\n 'Scaron',\n 'Uacute',\n 'Ucircumflex',\n 'Udieresis',\n 'Ugrave',\n 'Yacute',\n 'Ydieresis',\n 'Zcaron',\n 'aacute',\n 'acircumflex',\n 'adieresis',\n 'agrave',\n 'aring',\n 'atilde',\n 'ccedilla',\n 'eacute',\n 'ecircumflex',\n 'edieresis',\n 'egrave',\n 'iacute',\n 'icircumflex',\n 'idieresis',\n 'igrave',\n 'ntilde',\n 'oacute',\n 'ocircumflex',\n 'odieresis',\n 'ograve',\n 'otilde',\n 'scaron',\n 'uacute',\n 'ucircumflex',\n 'udieresis',\n 'ugrave',\n 'yacute',\n 'ydieresis',\n 'zcaron'\n];\nlet $ef658f5c9a1488b2$export$3ed0f9e1fee8d489 = [\n '.notdef',\n 'space',\n 'exclamsmall',\n 'Hungarumlautsmall',\n 'dollaroldstyle',\n 'dollarsuperior',\n 'ampersandsmall',\n 'Acutesmall',\n 'parenleftsuperior',\n 'parenrightsuperior',\n 'twodotenleader',\n 'onedotenleader',\n 'comma',\n 'hyphen',\n 'period',\n 'fraction',\n 'zerooldstyle',\n 'oneoldstyle',\n 'twooldstyle',\n 'threeoldstyle',\n 'fouroldstyle',\n 'fiveoldstyle',\n 'sixoldstyle',\n 'sevenoldstyle',\n 'eightoldstyle',\n 'nineoldstyle',\n 'colon',\n 'semicolon',\n 'commasuperior',\n 'threequartersemdash',\n 'periodsuperior',\n 'questionsmall',\n 'asuperior',\n 'bsuperior',\n 'centsuperior',\n 'dsuperior',\n 'esuperior',\n 'isuperior',\n 'lsuperior',\n 'msuperior',\n 'nsuperior',\n 'osuperior',\n 'rsuperior',\n 'ssuperior',\n 'tsuperior',\n 'ff',\n 'fi',\n 'fl',\n 'ffi',\n 'ffl',\n 'parenleftinferior',\n 'parenrightinferior',\n 'Circumflexsmall',\n 'hyphensuperior',\n 'Gravesmall',\n 'Asmall',\n 'Bsmall',\n 'Csmall',\n 'Dsmall',\n 'Esmall',\n 'Fsmall',\n 'Gsmall',\n 'Hsmall',\n 'Ismall',\n 'Jsmall',\n 'Ksmall',\n 'Lsmall',\n 'Msmall',\n 'Nsmall',\n 'Osmall',\n 'Psmall',\n 'Qsmall',\n 'Rsmall',\n 'Ssmall',\n 'Tsmall',\n 'Usmall',\n 'Vsmall',\n 'Wsmall',\n 'Xsmall',\n 'Ysmall',\n 'Zsmall',\n 'colonmonetary',\n 'onefitted',\n 'rupiah',\n 'Tildesmall',\n 'exclamdownsmall',\n 'centoldstyle',\n 'Lslashsmall',\n 'Scaronsmall',\n 'Zcaronsmall',\n 'Dieresissmall',\n 'Brevesmall',\n 'Caronsmall',\n 'Dotaccentsmall',\n 'Macronsmall',\n 'figuredash',\n 'hypheninferior',\n 'Ogoneksmall',\n 'Ringsmall',\n 'Cedillasmall',\n 'onequarter',\n 'onehalf',\n 'threequarters',\n 'questiondownsmall',\n 'oneeighth',\n 'threeeighths',\n 'fiveeighths',\n 'seveneighths',\n 'onethird',\n 'twothirds',\n 'zerosuperior',\n 'onesuperior',\n 'twosuperior',\n 'threesuperior',\n 'foursuperior',\n 'fivesuperior',\n 'sixsuperior',\n 'sevensuperior',\n 'eightsuperior',\n 'ninesuperior',\n 'zeroinferior',\n 'oneinferior',\n 'twoinferior',\n 'threeinferior',\n 'fourinferior',\n 'fiveinferior',\n 'sixinferior',\n 'seveninferior',\n 'eightinferior',\n 'nineinferior',\n 'centinferior',\n 'dollarinferior',\n 'periodinferior',\n 'commainferior',\n 'Agravesmall',\n 'Aacutesmall',\n 'Acircumflexsmall',\n 'Atildesmall',\n 'Adieresissmall',\n 'Aringsmall',\n 'AEsmall',\n 'Ccedillasmall',\n 'Egravesmall',\n 'Eacutesmall',\n 'Ecircumflexsmall',\n 'Edieresissmall',\n 'Igravesmall',\n 'Iacutesmall',\n 'Icircumflexsmall',\n 'Idieresissmall',\n 'Ethsmall',\n 'Ntildesmall',\n 'Ogravesmall',\n 'Oacutesmall',\n 'Ocircumflexsmall',\n 'Otildesmall',\n 'Odieresissmall',\n 'OEsmall',\n 'Oslashsmall',\n 'Ugravesmall',\n 'Uacutesmall',\n 'Ucircumflexsmall',\n 'Udieresissmall',\n 'Yacutesmall',\n 'Thornsmall',\n 'Ydieresissmall'\n];\nlet $ef658f5c9a1488b2$export$dc28be11139d4120 = [\n '.notdef',\n 'space',\n 'dollaroldstyle',\n 'dollarsuperior',\n 'parenleftsuperior',\n 'parenrightsuperior',\n 'twodotenleader',\n 'onedotenleader',\n 'comma',\n 'hyphen',\n 'period',\n 'fraction',\n 'zerooldstyle',\n 'oneoldstyle',\n 'twooldstyle',\n 'threeoldstyle',\n 'fouroldstyle',\n 'fiveoldstyle',\n 'sixoldstyle',\n 'sevenoldstyle',\n 'eightoldstyle',\n 'nineoldstyle',\n 'colon',\n 'semicolon',\n 'commasuperior',\n 'threequartersemdash',\n 'periodsuperior',\n 'asuperior',\n 'bsuperior',\n 'centsuperior',\n 'dsuperior',\n 'esuperior',\n 'isuperior',\n 'lsuperior',\n 'msuperior',\n 'nsuperior',\n 'osuperior',\n 'rsuperior',\n 'ssuperior',\n 'tsuperior',\n 'ff',\n 'fi',\n 'fl',\n 'ffi',\n 'ffl',\n 'parenleftinferior',\n 'parenrightinferior',\n 'hyphensuperior',\n 'colonmonetary',\n 'onefitted',\n 'rupiah',\n 'centoldstyle',\n 'figuredash',\n 'hypheninferior',\n 'onequarter',\n 'onehalf',\n 'threequarters',\n 'oneeighth',\n 'threeeighths',\n 'fiveeighths',\n 'seveneighths',\n 'onethird',\n 'twothirds',\n 'zerosuperior',\n 'onesuperior',\n 'twosuperior',\n 'threesuperior',\n 'foursuperior',\n 'fivesuperior',\n 'sixsuperior',\n 'sevensuperior',\n 'eightsuperior',\n 'ninesuperior',\n 'zeroinferior',\n 'oneinferior',\n 'twoinferior',\n 'threeinferior',\n 'fourinferior',\n 'fiveinferior',\n 'sixinferior',\n 'seveninferior',\n 'eightinferior',\n 'nineinferior',\n 'centinferior',\n 'dollarinferior',\n 'periodinferior',\n 'commainferior'\n];\n\n\n\n//########################\n// Scripts and Languages #\n//########################\nlet $7cbbe4e24ef3cb75$var$LangSysTable = new $6uUbQ$Struct({\n reserved: new $6uUbQ$Reserved($6uUbQ$uint16),\n reqFeatureIndex: $6uUbQ$uint16,\n featureCount: $6uUbQ$uint16,\n featureIndexes: new $6uUbQ$Array($6uUbQ$uint16, 'featureCount')\n});\nlet $7cbbe4e24ef3cb75$var$LangSysRecord = new $6uUbQ$Struct({\n tag: new $6uUbQ$String(4),\n langSys: new $6uUbQ$Pointer($6uUbQ$uint16, $7cbbe4e24ef3cb75$var$LangSysTable, {\n type: 'parent'\n })\n});\nlet $7cbbe4e24ef3cb75$var$Script = new $6uUbQ$Struct({\n defaultLangSys: new $6uUbQ$Pointer($6uUbQ$uint16, $7cbbe4e24ef3cb75$var$LangSysTable),\n count: $6uUbQ$uint16,\n langSysRecords: new $6uUbQ$Array($7cbbe4e24ef3cb75$var$LangSysRecord, 'count')\n});\nlet $7cbbe4e24ef3cb75$var$ScriptRecord = new $6uUbQ$Struct({\n tag: new $6uUbQ$String(4),\n script: new $6uUbQ$Pointer($6uUbQ$uint16, $7cbbe4e24ef3cb75$var$Script, {\n type: 'parent'\n })\n});\nlet $7cbbe4e24ef3cb75$export$3e15fc05ce864229 = new $6uUbQ$Array($7cbbe4e24ef3cb75$var$ScriptRecord, $6uUbQ$uint16);\n//#######################\n// Features and Lookups #\n//#######################\nlet $7cbbe4e24ef3cb75$var$FeatureParams = new $6uUbQ$Struct({\n version: $6uUbQ$uint16,\n nameID: $6uUbQ$uint16\n});\nlet $7cbbe4e24ef3cb75$export$6e91cf7616333d5 = new $6uUbQ$Struct({\n featureParams: new $6uUbQ$Pointer($6uUbQ$uint16, $7cbbe4e24ef3cb75$var$FeatureParams),\n lookupCount: $6uUbQ$uint16,\n lookupListIndexes: new $6uUbQ$Array($6uUbQ$uint16, 'lookupCount')\n});\nlet $7cbbe4e24ef3cb75$var$FeatureRecord = new $6uUbQ$Struct({\n tag: new $6uUbQ$String(4),\n feature: new $6uUbQ$Pointer($6uUbQ$uint16, $7cbbe4e24ef3cb75$export$6e91cf7616333d5, {\n type: 'parent'\n })\n});\nlet $7cbbe4e24ef3cb75$export$aa18130def4b6cb4 = new $6uUbQ$Array($7cbbe4e24ef3cb75$var$FeatureRecord, $6uUbQ$uint16);\nlet $7cbbe4e24ef3cb75$var$LookupFlags = new $6uUbQ$Struct({\n markAttachmentType: $6uUbQ$uint8,\n flags: new $6uUbQ$Bitfield($6uUbQ$uint8, [\n 'rightToLeft',\n 'ignoreBaseGlyphs',\n 'ignoreLigatures',\n 'ignoreMarks',\n 'useMarkFilteringSet'\n ])\n});\nfunction $7cbbe4e24ef3cb75$export$df0008c6ff2da22a(SubTable) {\n let Lookup = new $6uUbQ$Struct({\n lookupType: $6uUbQ$uint16,\n flags: $7cbbe4e24ef3cb75$var$LookupFlags,\n subTableCount: $6uUbQ$uint16,\n subTables: new $6uUbQ$Array(new $6uUbQ$Pointer($6uUbQ$uint16, SubTable), 'subTableCount'),\n markFilteringSet: new $6uUbQ$Optional($6uUbQ$uint16, (t)=>t.flags.flags.useMarkFilteringSet)\n });\n return new $6uUbQ$LazyArray(new $6uUbQ$Pointer($6uUbQ$uint16, Lookup), $6uUbQ$uint16);\n}\n//#################\n// Coverage Table #\n//#################\nlet $7cbbe4e24ef3cb75$var$RangeRecord = new $6uUbQ$Struct({\n start: $6uUbQ$uint16,\n end: $6uUbQ$uint16,\n startCoverageIndex: $6uUbQ$uint16\n});\nlet $7cbbe4e24ef3cb75$export$17608c3f81a6111 = new $6uUbQ$VersionedStruct($6uUbQ$uint16, {\n 1: {\n glyphCount: $6uUbQ$uint16,\n glyphs: new $6uUbQ$Array($6uUbQ$uint16, 'glyphCount')\n },\n 2: {\n rangeCount: $6uUbQ$uint16,\n rangeRecords: new $6uUbQ$Array($7cbbe4e24ef3cb75$var$RangeRecord, 'rangeCount')\n }\n});\n//#########################\n// Class Definition Table #\n//#########################\nlet $7cbbe4e24ef3cb75$var$ClassRangeRecord = new $6uUbQ$Struct({\n start: $6uUbQ$uint16,\n end: $6uUbQ$uint16,\n class: $6uUbQ$uint16\n});\nlet $7cbbe4e24ef3cb75$export$843d551fbbafef71 = new $6uUbQ$VersionedStruct($6uUbQ$uint16, {\n 1: {\n startGlyph: $6uUbQ$uint16,\n glyphCount: $6uUbQ$uint16,\n classValueArray: new $6uUbQ$Array($6uUbQ$uint16, 'glyphCount')\n },\n 2: {\n classRangeCount: $6uUbQ$uint16,\n classRangeRecord: new $6uUbQ$Array($7cbbe4e24ef3cb75$var$ClassRangeRecord, 'classRangeCount')\n }\n});\nlet $7cbbe4e24ef3cb75$export$8215d14a63d9fb10 = new $6uUbQ$Struct({\n a: $6uUbQ$uint16,\n b: $6uUbQ$uint16,\n deltaFormat: $6uUbQ$uint16\n});\n//#############################################\n// Contextual Substitution/Positioning Tables #\n//#############################################\nlet $7cbbe4e24ef3cb75$var$LookupRecord = new $6uUbQ$Struct({\n sequenceIndex: $6uUbQ$uint16,\n lookupListIndex: $6uUbQ$uint16\n});\nlet $7cbbe4e24ef3cb75$var$Rule = new $6uUbQ$Struct({\n glyphCount: $6uUbQ$uint16,\n lookupCount: $6uUbQ$uint16,\n input: new $6uUbQ$Array($6uUbQ$uint16, (t)=>t.glyphCount - 1),\n lookupRecords: new $6uUbQ$Array($7cbbe4e24ef3cb75$var$LookupRecord, 'lookupCount')\n});\nlet $7cbbe4e24ef3cb75$var$RuleSet = new $6uUbQ$Array(new $6uUbQ$Pointer($6uUbQ$uint16, $7cbbe4e24ef3cb75$var$Rule), $6uUbQ$uint16);\nlet $7cbbe4e24ef3cb75$var$ClassRule = new $6uUbQ$Struct({\n glyphCount: $6uUbQ$uint16,\n lookupCount: $6uUbQ$uint16,\n classes: new $6uUbQ$Array($6uUbQ$uint16, (t)=>t.glyphCount - 1),\n lookupRecords: new $6uUbQ$Array($7cbbe4e24ef3cb75$var$LookupRecord, 'lookupCount')\n});\nlet $7cbbe4e24ef3cb75$var$ClassSet = new $6uUbQ$Array(new $6uUbQ$Pointer($6uUbQ$uint16, $7cbbe4e24ef3cb75$var$ClassRule), $6uUbQ$uint16);\nlet $7cbbe4e24ef3cb75$export$841858b892ce1f4c = new $6uUbQ$VersionedStruct($6uUbQ$uint16, {\n 1: {\n coverage: new $6uUbQ$Pointer($6uUbQ$uint16, $7cbbe4e24ef3cb75$export$17608c3f81a6111),\n ruleSetCount: $6uUbQ$uint16,\n ruleSets: new $6uUbQ$Array(new $6uUbQ$Pointer($6uUbQ$uint16, $7cbbe4e24ef3cb75$var$RuleSet), 'ruleSetCount')\n },\n 2: {\n coverage: new $6uUbQ$Pointer($6uUbQ$uint16, $7cbbe4e24ef3cb75$export$17608c3f81a6111),\n classDef: new $6uUbQ$Pointer($6uUbQ$uint16, $7cbbe4e24ef3cb75$export$843d551fbbafef71),\n classSetCnt: $6uUbQ$uint16,\n classSet: new $6uUbQ$Array(new $6uUbQ$Pointer($6uUbQ$uint16, $7cbbe4e24ef3cb75$var$ClassSet), 'classSetCnt')\n },\n 3: {\n glyphCount: $6uUbQ$uint16,\n lookupCount: $6uUbQ$uint16,\n coverages: new $6uUbQ$Array(new $6uUbQ$Pointer($6uUbQ$uint16, $7cbbe4e24ef3cb75$export$17608c3f81a6111), 'glyphCount'),\n lookupRecords: new $6uUbQ$Array($7cbbe4e24ef3cb75$var$LookupRecord, 'lookupCount')\n }\n});\n//######################################################\n// Chaining Contextual Substitution/Positioning Tables #\n//######################################################\nlet $7cbbe4e24ef3cb75$var$ChainRule = new $6uUbQ$Struct({\n backtrackGlyphCount: $6uUbQ$uint16,\n backtrack: new $6uUbQ$Array($6uUbQ$uint16, 'backtrackGlyphCount'),\n inputGlyphCount: $6uUbQ$uint16,\n input: new $6uUbQ$Array($6uUbQ$uint16, (t)=>t.inputGlyphCount - 1),\n lookaheadGlyphCount: $6uUbQ$uint16,\n lookahead: new $6uUbQ$Array($6uUbQ$uint16, 'lookaheadGlyphCount'),\n lookupCount: $6uUbQ$uint16,\n lookupRecords: new $6uUbQ$Array($7cbbe4e24ef3cb75$var$LookupRecord, 'lookupCount')\n});\nlet $7cbbe4e24ef3cb75$var$ChainRuleSet = new $6uUbQ$Array(new $6uUbQ$Pointer($6uUbQ$uint16, $7cbbe4e24ef3cb75$var$ChainRule), $6uUbQ$uint16);\nlet $7cbbe4e24ef3cb75$export$5e6d09e6861162f6 = new $6uUbQ$VersionedStruct($6uUbQ$uint16, {\n 1: {\n coverage: new $6uUbQ$Pointer($6uUbQ$uint16, $7cbbe4e24ef3cb75$export$17608c3f81a6111),\n chainCount: $6uUbQ$uint16,\n chainRuleSets: new $6uUbQ$Array(new $6uUbQ$Pointer($6uUbQ$uint16, $7cbbe4e24ef3cb75$var$ChainRuleSet), 'chainCount')\n },\n 2: {\n coverage: new $6uUbQ$Pointer($6uUbQ$uint16, $7cbbe4e24ef3cb75$export$17608c3f81a6111),\n backtrackClassDef: new $6uUbQ$Pointer($6uUbQ$uint16, $7cbbe4e24ef3cb75$export$843d551fbbafef71),\n inputClassDef: new $6uUbQ$Pointer($6uUbQ$uint16, $7cbbe4e24ef3cb75$export$843d551fbbafef71),\n lookaheadClassDef: new $6uUbQ$Pointer($6uUbQ$uint16, $7cbbe4e24ef3cb75$export$843d551fbbafef71),\n chainCount: $6uUbQ$uint16,\n chainClassSet: new $6uUbQ$Array(new $6uUbQ$Pointer($6uUbQ$uint16, $7cbbe4e24ef3cb75$var$ChainRuleSet), 'chainCount')\n },\n 3: {\n backtrackGlyphCount: $6uUbQ$uint16,\n backtrackCoverage: new $6uUbQ$Array(new $6uUbQ$Pointer($6uUbQ$uint16, $7cbbe4e24ef3cb75$export$17608c3f81a6111), 'backtrackGlyphCount'),\n inputGlyphCount: $6uUbQ$uint16,\n inputCoverage: new $6uUbQ$Array(new $6uUbQ$Pointer($6uUbQ$uint16, $7cbbe4e24ef3cb75$export$17608c3f81a6111), 'inputGlyphCount'),\n lookaheadGlyphCount: $6uUbQ$uint16,\n lookaheadCoverage: new $6uUbQ$Array(new $6uUbQ$Pointer($6uUbQ$uint16, $7cbbe4e24ef3cb75$export$17608c3f81a6111), 'lookaheadGlyphCount'),\n lookupCount: $6uUbQ$uint16,\n lookupRecords: new $6uUbQ$Array($7cbbe4e24ef3cb75$var$LookupRecord, 'lookupCount')\n }\n});\n\n\n\n/*******************\n * Variation Store *\n *******************/ let $1a47b0c45c1c22fe$var$F2DOT14 = new $6uUbQ$Fixed(16, 'BE', 14);\nlet $1a47b0c45c1c22fe$var$RegionAxisCoordinates = new $6uUbQ$Struct({\n startCoord: $1a47b0c45c1c22fe$var$F2DOT14,\n peakCoord: $1a47b0c45c1c22fe$var$F2DOT14,\n endCoord: $1a47b0c45c1c22fe$var$F2DOT14\n});\nlet $1a47b0c45c1c22fe$var$VariationRegionList = new $6uUbQ$Struct({\n axisCount: $6uUbQ$uint16,\n regionCount: $6uUbQ$uint16,\n variationRegions: new $6uUbQ$Array(new $6uUbQ$Array($1a47b0c45c1c22fe$var$RegionAxisCoordinates, 'axisCount'), 'regionCount')\n});\nlet $1a47b0c45c1c22fe$var$DeltaSet = new $6uUbQ$Struct({\n shortDeltas: new $6uUbQ$Array($6uUbQ$int16, (t)=>t.parent.shortDeltaCount),\n regionDeltas: new $6uUbQ$Array($6uUbQ$int8, (t)=>t.parent.regionIndexCount - t.parent.shortDeltaCount),\n deltas: (t)=>t.shortDeltas.concat(t.regionDeltas)\n});\nlet $1a47b0c45c1c22fe$var$ItemVariationData = new $6uUbQ$Struct({\n itemCount: $6uUbQ$uint16,\n shortDeltaCount: $6uUbQ$uint16,\n regionIndexCount: $6uUbQ$uint16,\n regionIndexes: new $6uUbQ$Array($6uUbQ$uint16, 'regionIndexCount'),\n deltaSets: new $6uUbQ$Array($1a47b0c45c1c22fe$var$DeltaSet, 'itemCount')\n});\nlet $1a47b0c45c1c22fe$export$fe1b122a2710f241 = new $6uUbQ$Struct({\n format: $6uUbQ$uint16,\n variationRegionList: new $6uUbQ$Pointer($6uUbQ$uint32, $1a47b0c45c1c22fe$var$VariationRegionList),\n variationDataCount: $6uUbQ$uint16,\n itemVariationData: new $6uUbQ$Array(new $6uUbQ$Pointer($6uUbQ$uint32, $1a47b0c45c1c22fe$var$ItemVariationData), 'variationDataCount')\n});\n/**********************\n * Feature Variations *\n **********************/ let $1a47b0c45c1c22fe$var$ConditionTable = new $6uUbQ$VersionedStruct($6uUbQ$uint16, {\n 1: {\n axisIndex: $6uUbQ$uint16,\n axisIndex: $6uUbQ$uint16,\n filterRangeMinValue: $1a47b0c45c1c22fe$var$F2DOT14,\n filterRangeMaxValue: $1a47b0c45c1c22fe$var$F2DOT14\n }\n});\nlet $1a47b0c45c1c22fe$var$ConditionSet = new $6uUbQ$Struct({\n conditionCount: $6uUbQ$uint16,\n conditionTable: new $6uUbQ$Array(new $6uUbQ$Pointer($6uUbQ$uint32, $1a47b0c45c1c22fe$var$ConditionTable), 'conditionCount')\n});\nlet $1a47b0c45c1c22fe$var$FeatureTableSubstitutionRecord = new $6uUbQ$Struct({\n featureIndex: $6uUbQ$uint16,\n alternateFeatureTable: new $6uUbQ$Pointer($6uUbQ$uint32, (0, $7cbbe4e24ef3cb75$export$6e91cf7616333d5), {\n type: 'parent'\n })\n});\nlet $1a47b0c45c1c22fe$var$FeatureTableSubstitution = new $6uUbQ$Struct({\n version: $6uUbQ$fixed32,\n substitutionCount: $6uUbQ$uint16,\n substitutions: new $6uUbQ$Array($1a47b0c45c1c22fe$var$FeatureTableSubstitutionRecord, 'substitutionCount')\n});\nlet $1a47b0c45c1c22fe$var$FeatureVariationRecord = new $6uUbQ$Struct({\n conditionSet: new $6uUbQ$Pointer($6uUbQ$uint32, $1a47b0c45c1c22fe$var$ConditionSet, {\n type: 'parent'\n }),\n featureTableSubstitution: new $6uUbQ$Pointer($6uUbQ$uint32, $1a47b0c45c1c22fe$var$FeatureTableSubstitution, {\n type: 'parent'\n })\n});\nlet $1a47b0c45c1c22fe$export$441b70b7971dd419 = new $6uUbQ$Struct({\n majorVersion: $6uUbQ$uint16,\n minorVersion: $6uUbQ$uint16,\n featureVariationRecordCount: $6uUbQ$uint32,\n featureVariationRecords: new $6uUbQ$Array($1a47b0c45c1c22fe$var$FeatureVariationRecord, 'featureVariationRecordCount')\n});\n\n\n// Checks if an operand is an index of a predefined value,\n// otherwise delegates to the provided type.\nclass $b84fd3dd9d8eddb2$var$PredefinedOp {\n decode(stream, parent, operands) {\n if (this.predefinedOps[operands[0]]) return this.predefinedOps[operands[0]];\n return this.type.decode(stream, parent, operands);\n }\n size(value, ctx) {\n return this.type.size(value, ctx);\n }\n encode(stream, value, ctx) {\n let index = this.predefinedOps.indexOf(value);\n if (index !== -1) return index;\n return this.type.encode(stream, value, ctx);\n }\n constructor(predefinedOps, type){\n this.predefinedOps = predefinedOps;\n this.type = type;\n }\n}\nclass $b84fd3dd9d8eddb2$var$CFFEncodingVersion extends $6uUbQ$Number {\n decode(stream) {\n return $6uUbQ$uint8.decode(stream) & 0x7f;\n }\n constructor(){\n super('UInt8');\n }\n}\nlet $b84fd3dd9d8eddb2$var$Range1 = new $6uUbQ$Struct({\n first: $6uUbQ$uint16,\n nLeft: $6uUbQ$uint8\n});\nlet $b84fd3dd9d8eddb2$var$Range2 = new $6uUbQ$Struct({\n first: $6uUbQ$uint16,\n nLeft: $6uUbQ$uint16\n});\nlet $b84fd3dd9d8eddb2$var$CFFCustomEncoding = new $6uUbQ$VersionedStruct(new $b84fd3dd9d8eddb2$var$CFFEncodingVersion(), {\n 0: {\n nCodes: $6uUbQ$uint8,\n codes: new $6uUbQ$Array($6uUbQ$uint8, 'nCodes')\n },\n 1: {\n nRanges: $6uUbQ$uint8,\n ranges: new $6uUbQ$Array($b84fd3dd9d8eddb2$var$Range1, 'nRanges')\n }\n});\nlet $b84fd3dd9d8eddb2$var$CFFEncoding = new $b84fd3dd9d8eddb2$var$PredefinedOp([\n (0, $bc0433d9b7e41f5f$export$dee0027060fa13bd),\n (0, $bc0433d9b7e41f5f$export$4f58f497e14a53c3)\n], new (0, $0e34a43d05bde82c$export$2e2bcd8739ae039)($b84fd3dd9d8eddb2$var$CFFCustomEncoding, {\n lazy: true\n}));\n// Decodes an array of ranges until the total\n// length is equal to the provided length.\nclass $b84fd3dd9d8eddb2$var$RangeArray extends $6uUbQ$Array {\n decode(stream, parent) {\n let length = (0, $6uUbQ$resolveLength)(this.length, stream, parent);\n let count = 0;\n let res = [];\n while(count < length){\n let range = this.type.decode(stream, parent);\n range.offset = count;\n count += range.nLeft + 1;\n res.push(range);\n }\n return res;\n }\n}\nlet $b84fd3dd9d8eddb2$var$CFFCustomCharset = new $6uUbQ$VersionedStruct($6uUbQ$uint8, {\n 0: {\n glyphs: new $6uUbQ$Array($6uUbQ$uint16, (t)=>t.parent.CharStrings.length - 1)\n },\n 1: {\n ranges: new $b84fd3dd9d8eddb2$var$RangeArray($b84fd3dd9d8eddb2$var$Range1, (t)=>t.parent.CharStrings.length - 1)\n },\n 2: {\n ranges: new $b84fd3dd9d8eddb2$var$RangeArray($b84fd3dd9d8eddb2$var$Range2, (t)=>t.parent.CharStrings.length - 1)\n }\n});\nlet $b84fd3dd9d8eddb2$var$CFFCharset = new $b84fd3dd9d8eddb2$var$PredefinedOp([\n (0, $ef658f5c9a1488b2$export$c33b50336c234f16),\n (0, $ef658f5c9a1488b2$export$3ed0f9e1fee8d489),\n (0, $ef658f5c9a1488b2$export$dc28be11139d4120)\n], new (0, $0e34a43d05bde82c$export$2e2bcd8739ae039)($b84fd3dd9d8eddb2$var$CFFCustomCharset, {\n lazy: true\n}));\nlet $b84fd3dd9d8eddb2$var$FDRange3 = new $6uUbQ$Struct({\n first: $6uUbQ$uint16,\n fd: $6uUbQ$uint8\n});\nlet $b84fd3dd9d8eddb2$var$FDRange4 = new $6uUbQ$Struct({\n first: $6uUbQ$uint32,\n fd: $6uUbQ$uint16\n});\nlet $b84fd3dd9d8eddb2$var$FDSelect = new $6uUbQ$VersionedStruct($6uUbQ$uint8, {\n 0: {\n fds: new $6uUbQ$Array($6uUbQ$uint8, (t)=>t.parent.CharStrings.length)\n },\n 3: {\n nRanges: $6uUbQ$uint16,\n ranges: new $6uUbQ$Array($b84fd3dd9d8eddb2$var$FDRange3, 'nRanges'),\n sentinel: $6uUbQ$uint16\n },\n 4: {\n nRanges: $6uUbQ$uint32,\n ranges: new $6uUbQ$Array($b84fd3dd9d8eddb2$var$FDRange4, 'nRanges'),\n sentinel: $6uUbQ$uint32\n }\n});\nlet $b84fd3dd9d8eddb2$var$ptr = new (0, $0e34a43d05bde82c$export$2e2bcd8739ae039)((0, $6d59db2e29cc77b3$export$2e2bcd8739ae039));\nclass $b84fd3dd9d8eddb2$var$CFFPrivateOp {\n decode(stream, parent, operands) {\n parent.length = operands[0];\n return $b84fd3dd9d8eddb2$var$ptr.decode(stream, parent, [\n operands[1]\n ]);\n }\n size(dict, ctx) {\n return [\n (0, $6d59db2e29cc77b3$export$2e2bcd8739ae039).size(dict, ctx, false),\n $b84fd3dd9d8eddb2$var$ptr.size(dict, ctx)[0]\n ];\n }\n encode(stream, dict, ctx) {\n return [\n (0, $6d59db2e29cc77b3$export$2e2bcd8739ae039).size(dict, ctx, false),\n $b84fd3dd9d8eddb2$var$ptr.encode(stream, dict, ctx)[0]\n ];\n }\n}\nlet $b84fd3dd9d8eddb2$var$FontDict = new (0, $61aa549f16d58b9b$export$2e2bcd8739ae039)([\n // key name type(s) default\n [\n 18,\n 'Private',\n new $b84fd3dd9d8eddb2$var$CFFPrivateOp,\n null\n ],\n [\n [\n 12,\n 38\n ],\n 'FontName',\n 'sid',\n null\n ],\n [\n [\n 12,\n 7\n ],\n 'FontMatrix',\n 'array',\n [\n 0.001,\n 0,\n 0,\n 0.001,\n 0,\n 0\n ]\n ],\n [\n [\n 12,\n 5\n ],\n 'PaintType',\n 'number',\n 0\n ]\n]);\nlet $b84fd3dd9d8eddb2$var$CFFTopDict = new (0, $61aa549f16d58b9b$export$2e2bcd8739ae039)([\n // key name type(s) default\n [\n [\n 12,\n 30\n ],\n 'ROS',\n [\n 'sid',\n 'sid',\n 'number'\n ],\n null\n ],\n [\n 0,\n 'version',\n 'sid',\n null\n ],\n [\n 1,\n 'Notice',\n 'sid',\n null\n ],\n [\n [\n 12,\n 0\n ],\n 'Copyright',\n 'sid',\n null\n ],\n [\n 2,\n 'FullName',\n 'sid',\n null\n ],\n [\n 3,\n 'FamilyName',\n 'sid',\n null\n ],\n [\n 4,\n 'Weight',\n 'sid',\n null\n ],\n [\n [\n 12,\n 1\n ],\n 'isFixedPitch',\n 'boolean',\n false\n ],\n [\n [\n 12,\n 2\n ],\n 'ItalicAngle',\n 'number',\n 0\n ],\n [\n [\n 12,\n 3\n ],\n 'UnderlinePosition',\n 'number',\n -100\n ],\n [\n [\n 12,\n 4\n ],\n 'UnderlineThickness',\n 'number',\n 50\n ],\n [\n [\n 12,\n 5\n ],\n 'PaintType',\n 'number',\n 0\n ],\n [\n [\n 12,\n 6\n ],\n 'CharstringType',\n 'number',\n 2\n ],\n [\n [\n 12,\n 7\n ],\n 'FontMatrix',\n 'array',\n [\n 0.001,\n 0,\n 0,\n 0.001,\n 0,\n 0\n ]\n ],\n [\n 13,\n 'UniqueID',\n 'number',\n null\n ],\n [\n 5,\n 'FontBBox',\n 'array',\n [\n 0,\n 0,\n 0,\n 0\n ]\n ],\n [\n [\n 12,\n 8\n ],\n 'StrokeWidth',\n 'number',\n 0\n ],\n [\n 14,\n 'XUID',\n 'array',\n null\n ],\n [\n 15,\n 'charset',\n $b84fd3dd9d8eddb2$var$CFFCharset,\n (0, $ef658f5c9a1488b2$export$c33b50336c234f16)\n ],\n [\n 16,\n 'Encoding',\n $b84fd3dd9d8eddb2$var$CFFEncoding,\n (0, $bc0433d9b7e41f5f$export$dee0027060fa13bd)\n ],\n [\n 17,\n 'CharStrings',\n new (0, $0e34a43d05bde82c$export$2e2bcd8739ae039)(new (0, $43e9821ef3717eec$export$2e2bcd8739ae039)),\n null\n ],\n [\n 18,\n 'Private',\n new $b84fd3dd9d8eddb2$var$CFFPrivateOp,\n null\n ],\n [\n [\n 12,\n 20\n ],\n 'SyntheticBase',\n 'number',\n null\n ],\n [\n [\n 12,\n 21\n ],\n 'PostScript',\n 'sid',\n null\n ],\n [\n [\n 12,\n 22\n ],\n 'BaseFontName',\n 'sid',\n null\n ],\n [\n [\n 12,\n 23\n ],\n 'BaseFontBlend',\n 'delta',\n null\n ],\n // CID font specific\n [\n [\n 12,\n 31\n ],\n 'CIDFontVersion',\n 'number',\n 0\n ],\n [\n [\n 12,\n 32\n ],\n 'CIDFontRevision',\n 'number',\n 0\n ],\n [\n [\n 12,\n 33\n ],\n 'CIDFontType',\n 'number',\n 0\n ],\n [\n [\n 12,\n 34\n ],\n 'CIDCount',\n 'number',\n 8720\n ],\n [\n [\n 12,\n 35\n ],\n 'UIDBase',\n 'number',\n null\n ],\n [\n [\n 12,\n 37\n ],\n 'FDSelect',\n new (0, $0e34a43d05bde82c$export$2e2bcd8739ae039)($b84fd3dd9d8eddb2$var$FDSelect),\n null\n ],\n [\n [\n 12,\n 36\n ],\n 'FDArray',\n new (0, $0e34a43d05bde82c$export$2e2bcd8739ae039)(new (0, $43e9821ef3717eec$export$2e2bcd8739ae039)($b84fd3dd9d8eddb2$var$FontDict)),\n null\n ],\n [\n [\n 12,\n 38\n ],\n 'FontName',\n 'sid',\n null\n ]\n]);\nlet $b84fd3dd9d8eddb2$var$VariationStore = new $6uUbQ$Struct({\n length: $6uUbQ$uint16,\n itemVariationStore: (0, $1a47b0c45c1c22fe$export$fe1b122a2710f241)\n});\nlet $b84fd3dd9d8eddb2$var$CFF2TopDict = new (0, $61aa549f16d58b9b$export$2e2bcd8739ae039)([\n [\n [\n 12,\n 7\n ],\n 'FontMatrix',\n 'array',\n [\n 0.001,\n 0,\n 0,\n 0.001,\n 0,\n 0\n ]\n ],\n [\n 17,\n 'CharStrings',\n new (0, $0e34a43d05bde82c$export$2e2bcd8739ae039)(new (0, $43e9821ef3717eec$export$2e2bcd8739ae039)),\n null\n ],\n [\n [\n 12,\n 37\n ],\n 'FDSelect',\n new (0, $0e34a43d05bde82c$export$2e2bcd8739ae039)($b84fd3dd9d8eddb2$var$FDSelect),\n null\n ],\n [\n [\n 12,\n 36\n ],\n 'FDArray',\n new (0, $0e34a43d05bde82c$export$2e2bcd8739ae039)(new (0, $43e9821ef3717eec$export$2e2bcd8739ae039)($b84fd3dd9d8eddb2$var$FontDict)),\n null\n ],\n [\n 24,\n 'vstore',\n new (0, $0e34a43d05bde82c$export$2e2bcd8739ae039)($b84fd3dd9d8eddb2$var$VariationStore),\n null\n ],\n [\n 25,\n 'maxstack',\n 'number',\n 193\n ]\n]);\nlet $b84fd3dd9d8eddb2$var$CFFTop = new $6uUbQ$VersionedStruct($6uUbQ$fixed16, {\n 1: {\n hdrSize: $6uUbQ$uint8,\n offSize: $6uUbQ$uint8,\n nameIndex: new (0, $43e9821ef3717eec$export$2e2bcd8739ae039)(new $6uUbQ$String('length')),\n topDictIndex: new (0, $43e9821ef3717eec$export$2e2bcd8739ae039)($b84fd3dd9d8eddb2$var$CFFTopDict),\n stringIndex: new (0, $43e9821ef3717eec$export$2e2bcd8739ae039)(new $6uUbQ$String('length')),\n globalSubrIndex: new (0, $43e9821ef3717eec$export$2e2bcd8739ae039)\n },\n 2: {\n hdrSize: $6uUbQ$uint8,\n length: $6uUbQ$uint16,\n topDict: $b84fd3dd9d8eddb2$var$CFF2TopDict,\n globalSubrIndex: new (0, $43e9821ef3717eec$export$2e2bcd8739ae039)\n }\n});\nvar $b84fd3dd9d8eddb2$export$2e2bcd8739ae039 = $b84fd3dd9d8eddb2$var$CFFTop;\n\n\n\n\nclass $822ac0d589e4e237$var$CFFFont {\n static decode(stream) {\n return new $822ac0d589e4e237$var$CFFFont(stream);\n }\n decode() {\n let start = this.stream.pos;\n let top = (0, $b84fd3dd9d8eddb2$export$2e2bcd8739ae039).decode(this.stream);\n for(let key in top){\n let val = top[key];\n this[key] = val;\n }\n if (this.version < 2) {\n if (this.topDictIndex.length !== 1) throw new Error(\"Only a single font is allowed in CFF\");\n this.topDict = this.topDictIndex[0];\n }\n this.isCIDFont = this.topDict.ROS != null;\n return this;\n }\n string(sid) {\n if (this.version >= 2) return null;\n if (sid < (0, $229224aec43783c5$export$2e2bcd8739ae039).length) return (0, $229224aec43783c5$export$2e2bcd8739ae039)[sid];\n return this.stringIndex[sid - (0, $229224aec43783c5$export$2e2bcd8739ae039).length];\n }\n get postscriptName() {\n if (this.version < 2) return this.nameIndex[0];\n return null;\n }\n get fullName() {\n return this.string(this.topDict.FullName);\n }\n get familyName() {\n return this.string(this.topDict.FamilyName);\n }\n getCharString(glyph) {\n this.stream.pos = this.topDict.CharStrings[glyph].offset;\n return this.stream.readBuffer(this.topDict.CharStrings[glyph].length);\n }\n getGlyphName(gid) {\n // CFF2 glyph names are in the post table.\n if (this.version >= 2) return null;\n // CID-keyed fonts don't have glyph names\n if (this.isCIDFont) return null;\n let { charset: charset } = this.topDict;\n if (Array.isArray(charset)) return charset[gid];\n if (gid === 0) return '.notdef';\n gid -= 1;\n switch(charset.version){\n case 0:\n return this.string(charset.glyphs[gid]);\n case 1:\n case 2:\n for(let i = 0; i < charset.ranges.length; i++){\n let range = charset.ranges[i];\n if (range.offset <= gid && gid <= range.offset + range.nLeft) return this.string(range.first + (gid - range.offset));\n }\n break;\n }\n return null;\n }\n fdForGlyph(gid) {\n if (!this.topDict.FDSelect) return null;\n switch(this.topDict.FDSelect.version){\n case 0:\n return this.topDict.FDSelect.fds[gid];\n case 3:\n case 4:\n let { ranges: ranges } = this.topDict.FDSelect;\n let low = 0;\n let high = ranges.length - 1;\n while(low <= high){\n let mid = low + high >> 1;\n if (gid < ranges[mid].first) high = mid - 1;\n else if (mid < high && gid >= ranges[mid + 1].first) low = mid + 1;\n else return ranges[mid].fd;\n }\n default:\n throw new Error(`Unknown FDSelect version: ${this.topDict.FDSelect.version}`);\n }\n }\n privateDictForGlyph(gid) {\n if (this.topDict.FDSelect) {\n let fd = this.fdForGlyph(gid);\n if (this.topDict.FDArray[fd]) return this.topDict.FDArray[fd].Private;\n return null;\n }\n if (this.version < 2) return this.topDict.Private;\n return this.topDict.FDArray[0].Private;\n }\n constructor(stream){\n this.stream = stream;\n this.decode();\n }\n}\nvar $822ac0d589e4e237$export$2e2bcd8739ae039 = $822ac0d589e4e237$var$CFFFont;\n\n\n\nlet $2bbf2bc1ce37cd8f$var$VerticalOrigin = new $6uUbQ$Struct({\n glyphIndex: $6uUbQ$uint16,\n vertOriginY: $6uUbQ$int16\n});\nvar $2bbf2bc1ce37cd8f$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n majorVersion: $6uUbQ$uint16,\n minorVersion: $6uUbQ$uint16,\n defaultVertOriginY: $6uUbQ$int16,\n numVertOriginYMetrics: $6uUbQ$uint16,\n metrics: new $6uUbQ$Array($2bbf2bc1ce37cd8f$var$VerticalOrigin, 'numVertOriginYMetrics')\n});\n\n\n\n\nlet $0941618dc22a946d$export$16b227cb15d716a0 = new $6uUbQ$Struct({\n height: $6uUbQ$uint8,\n width: $6uUbQ$uint8,\n horiBearingX: $6uUbQ$int8,\n horiBearingY: $6uUbQ$int8,\n horiAdvance: $6uUbQ$uint8,\n vertBearingX: $6uUbQ$int8,\n vertBearingY: $6uUbQ$int8,\n vertAdvance: $6uUbQ$uint8\n});\nlet $0941618dc22a946d$export$62c53e75f69bfe12 = new $6uUbQ$Struct({\n height: $6uUbQ$uint8,\n width: $6uUbQ$uint8,\n bearingX: $6uUbQ$int8,\n bearingY: $6uUbQ$int8,\n advance: $6uUbQ$uint8\n});\nlet $0941618dc22a946d$var$EBDTComponent = new $6uUbQ$Struct({\n glyph: $6uUbQ$uint16,\n xOffset: $6uUbQ$int8,\n yOffset: $6uUbQ$int8\n});\nclass $0941618dc22a946d$var$ByteAligned {\n}\nclass $0941618dc22a946d$var$BitAligned {\n}\nlet $0941618dc22a946d$export$f1f5ddeb20d14f = new $6uUbQ$VersionedStruct('version', {\n 1: {\n metrics: $0941618dc22a946d$export$62c53e75f69bfe12,\n data: $0941618dc22a946d$var$ByteAligned\n },\n 2: {\n metrics: $0941618dc22a946d$export$62c53e75f69bfe12,\n data: $0941618dc22a946d$var$BitAligned\n },\n // format 3 is deprecated\n // format 4 is not supported by Microsoft\n 5: {\n data: $0941618dc22a946d$var$BitAligned\n },\n 6: {\n metrics: $0941618dc22a946d$export$16b227cb15d716a0,\n data: $0941618dc22a946d$var$ByteAligned\n },\n 7: {\n metrics: $0941618dc22a946d$export$16b227cb15d716a0,\n data: $0941618dc22a946d$var$BitAligned\n },\n 8: {\n metrics: $0941618dc22a946d$export$62c53e75f69bfe12,\n pad: new $6uUbQ$Reserved($6uUbQ$uint8),\n numComponents: $6uUbQ$uint16,\n components: new $6uUbQ$Array($0941618dc22a946d$var$EBDTComponent, 'numComponents')\n },\n 9: {\n metrics: $0941618dc22a946d$export$16b227cb15d716a0,\n pad: new $6uUbQ$Reserved($6uUbQ$uint8),\n numComponents: $6uUbQ$uint16,\n components: new $6uUbQ$Array($0941618dc22a946d$var$EBDTComponent, 'numComponents')\n },\n 17: {\n metrics: $0941618dc22a946d$export$62c53e75f69bfe12,\n dataLen: $6uUbQ$uint32,\n data: new $6uUbQ$Buffer('dataLen')\n },\n 18: {\n metrics: $0941618dc22a946d$export$16b227cb15d716a0,\n dataLen: $6uUbQ$uint32,\n data: new $6uUbQ$Buffer('dataLen')\n },\n 19: {\n dataLen: $6uUbQ$uint32,\n data: new $6uUbQ$Buffer('dataLen')\n }\n});\n\n\nlet $9911c4c7201c13de$var$SBitLineMetrics = new $6uUbQ$Struct({\n ascender: $6uUbQ$int8,\n descender: $6uUbQ$int8,\n widthMax: $6uUbQ$uint8,\n caretSlopeNumerator: $6uUbQ$int8,\n caretSlopeDenominator: $6uUbQ$int8,\n caretOffset: $6uUbQ$int8,\n minOriginSB: $6uUbQ$int8,\n minAdvanceSB: $6uUbQ$int8,\n maxBeforeBL: $6uUbQ$int8,\n minAfterBL: $6uUbQ$int8,\n pad: new $6uUbQ$Reserved($6uUbQ$int8, 2)\n});\nlet $9911c4c7201c13de$var$CodeOffsetPair = new $6uUbQ$Struct({\n glyphCode: $6uUbQ$uint16,\n offset: $6uUbQ$uint16\n});\nlet $9911c4c7201c13de$var$IndexSubtable = new $6uUbQ$VersionedStruct($6uUbQ$uint16, {\n header: {\n imageFormat: $6uUbQ$uint16,\n imageDataOffset: $6uUbQ$uint32\n },\n 1: {\n offsetArray: new $6uUbQ$Array($6uUbQ$uint32, (t)=>t.parent.lastGlyphIndex - t.parent.firstGlyphIndex + 1)\n },\n 2: {\n imageSize: $6uUbQ$uint32,\n bigMetrics: (0, $0941618dc22a946d$export$16b227cb15d716a0)\n },\n 3: {\n offsetArray: new $6uUbQ$Array($6uUbQ$uint16, (t)=>t.parent.lastGlyphIndex - t.parent.firstGlyphIndex + 1)\n },\n 4: {\n numGlyphs: $6uUbQ$uint32,\n glyphArray: new $6uUbQ$Array($9911c4c7201c13de$var$CodeOffsetPair, (t)=>t.numGlyphs + 1)\n },\n 5: {\n imageSize: $6uUbQ$uint32,\n bigMetrics: (0, $0941618dc22a946d$export$16b227cb15d716a0),\n numGlyphs: $6uUbQ$uint32,\n glyphCodeArray: new $6uUbQ$Array($6uUbQ$uint16, 'numGlyphs')\n }\n});\nlet $9911c4c7201c13de$var$IndexSubtableArray = new $6uUbQ$Struct({\n firstGlyphIndex: $6uUbQ$uint16,\n lastGlyphIndex: $6uUbQ$uint16,\n subtable: new $6uUbQ$Pointer($6uUbQ$uint32, $9911c4c7201c13de$var$IndexSubtable)\n});\nlet $9911c4c7201c13de$var$BitmapSizeTable = new $6uUbQ$Struct({\n indexSubTableArray: new $6uUbQ$Pointer($6uUbQ$uint32, new $6uUbQ$Array($9911c4c7201c13de$var$IndexSubtableArray, 1), {\n type: 'parent'\n }),\n indexTablesSize: $6uUbQ$uint32,\n numberOfIndexSubTables: $6uUbQ$uint32,\n colorRef: $6uUbQ$uint32,\n hori: $9911c4c7201c13de$var$SBitLineMetrics,\n vert: $9911c4c7201c13de$var$SBitLineMetrics,\n startGlyphIndex: $6uUbQ$uint16,\n endGlyphIndex: $6uUbQ$uint16,\n ppemX: $6uUbQ$uint8,\n ppemY: $6uUbQ$uint8,\n bitDepth: $6uUbQ$uint8,\n flags: new $6uUbQ$Bitfield($6uUbQ$uint8, [\n 'horizontal',\n 'vertical'\n ])\n});\nvar $9911c4c7201c13de$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n version: $6uUbQ$uint32,\n numSizes: $6uUbQ$uint32,\n sizes: new $6uUbQ$Array($9911c4c7201c13de$var$BitmapSizeTable, 'numSizes')\n});\n\n\n\nlet $abb847051efd51b1$var$ImageTable = new $6uUbQ$Struct({\n ppem: $6uUbQ$uint16,\n resolution: $6uUbQ$uint16,\n imageOffsets: new $6uUbQ$Array(new $6uUbQ$Pointer($6uUbQ$uint32, 'void'), (t)=>t.parent.parent.maxp.numGlyphs + 1)\n});\nvar // This is the Apple sbix table, used by the \"Apple Color Emoji\" font.\n// It includes several image tables with images for each bitmap glyph\n// of several different sizes.\n$abb847051efd51b1$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n version: $6uUbQ$uint16,\n flags: new $6uUbQ$Bitfield($6uUbQ$uint16, [\n 'renderOutlines'\n ]),\n numImgTables: $6uUbQ$uint32,\n imageTables: new $6uUbQ$Array(new $6uUbQ$Pointer($6uUbQ$uint32, $abb847051efd51b1$var$ImageTable), 'numImgTables')\n});\n\n\n\nlet $eb629188f3dfefdd$var$LayerRecord = new $6uUbQ$Struct({\n gid: $6uUbQ$uint16,\n paletteIndex: $6uUbQ$uint16 // Index value to use in the appropriate palette. This value must\n}); // be less than numPaletteEntries in the CPAL table, except for\n// the special case noted below. Each palette entry is 16 bits.\n// A palette index of 0xFFFF is a special case indicating that\n// the text foreground color should be used.\nlet $eb629188f3dfefdd$var$BaseGlyphRecord = new $6uUbQ$Struct({\n gid: $6uUbQ$uint16,\n // and is not rendered for color.\n firstLayerIndex: $6uUbQ$uint16,\n // There will be numLayers consecutive entries for this base glyph.\n numLayers: $6uUbQ$uint16\n});\nvar $eb629188f3dfefdd$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n version: $6uUbQ$uint16,\n numBaseGlyphRecords: $6uUbQ$uint16,\n baseGlyphRecord: new $6uUbQ$Pointer($6uUbQ$uint32, new $6uUbQ$Array($eb629188f3dfefdd$var$BaseGlyphRecord, 'numBaseGlyphRecords')),\n layerRecords: new $6uUbQ$Pointer($6uUbQ$uint32, new $6uUbQ$Array($eb629188f3dfefdd$var$LayerRecord, 'numLayerRecords'), {\n lazy: true\n }),\n numLayerRecords: $6uUbQ$uint16\n});\n\n\n\nlet $08734b8e7dc64587$var$ColorRecord = new $6uUbQ$Struct({\n blue: $6uUbQ$uint8,\n green: $6uUbQ$uint8,\n red: $6uUbQ$uint8,\n alpha: $6uUbQ$uint8\n});\nvar $08734b8e7dc64587$export$2e2bcd8739ae039 = new $6uUbQ$VersionedStruct($6uUbQ$uint16, {\n header: {\n numPaletteEntries: $6uUbQ$uint16,\n numPalettes: $6uUbQ$uint16,\n numColorRecords: $6uUbQ$uint16,\n colorRecords: new $6uUbQ$Pointer($6uUbQ$uint32, new $6uUbQ$Array($08734b8e7dc64587$var$ColorRecord, 'numColorRecords')),\n colorRecordIndices: new $6uUbQ$Array($6uUbQ$uint16, 'numPalettes')\n },\n 0: {},\n 1: {\n offsetPaletteTypeArray: new $6uUbQ$Pointer($6uUbQ$uint32, new $6uUbQ$Array($6uUbQ$uint32, 'numPalettes')),\n offsetPaletteLabelArray: new $6uUbQ$Pointer($6uUbQ$uint32, new $6uUbQ$Array($6uUbQ$uint16, 'numPalettes')),\n offsetPaletteEntryLabelArray: new $6uUbQ$Pointer($6uUbQ$uint32, new $6uUbQ$Array($6uUbQ$uint16, 'numPaletteEntries'))\n }\n});\n\n\n\n\n\nlet $497cef411d884e34$var$BaseCoord = new $6uUbQ$VersionedStruct($6uUbQ$uint16, {\n 1: {\n coordinate: $6uUbQ$int16 // X or Y value, in design units\n },\n 2: {\n coordinate: $6uUbQ$int16,\n referenceGlyph: $6uUbQ$uint16,\n baseCoordPoint: $6uUbQ$uint16 // Index of contour point on the referenceGlyph\n },\n 3: {\n coordinate: $6uUbQ$int16,\n deviceTable: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$8215d14a63d9fb10)) // Device table for X or Y value\n }\n});\nlet $497cef411d884e34$var$BaseValues = new $6uUbQ$Struct({\n defaultIndex: $6uUbQ$uint16,\n baseCoordCount: $6uUbQ$uint16,\n baseCoords: new $6uUbQ$Array(new $6uUbQ$Pointer($6uUbQ$uint16, $497cef411d884e34$var$BaseCoord), 'baseCoordCount')\n});\nlet $497cef411d884e34$var$FeatMinMaxRecord = new $6uUbQ$Struct({\n tag: new $6uUbQ$String(4),\n minCoord: new $6uUbQ$Pointer($6uUbQ$uint16, $497cef411d884e34$var$BaseCoord, {\n type: 'parent'\n }),\n maxCoord: new $6uUbQ$Pointer($6uUbQ$uint16, $497cef411d884e34$var$BaseCoord, {\n type: 'parent'\n }) // May be NULL\n});\nlet $497cef411d884e34$var$MinMax = new $6uUbQ$Struct({\n minCoord: new $6uUbQ$Pointer($6uUbQ$uint16, $497cef411d884e34$var$BaseCoord),\n maxCoord: new $6uUbQ$Pointer($6uUbQ$uint16, $497cef411d884e34$var$BaseCoord),\n featMinMaxCount: $6uUbQ$uint16,\n featMinMaxRecords: new $6uUbQ$Array($497cef411d884e34$var$FeatMinMaxRecord, 'featMinMaxCount') // In alphabetical order\n});\nlet $497cef411d884e34$var$BaseLangSysRecord = new $6uUbQ$Struct({\n tag: new $6uUbQ$String(4),\n minMax: new $6uUbQ$Pointer($6uUbQ$uint16, $497cef411d884e34$var$MinMax, {\n type: 'parent'\n })\n});\nlet $497cef411d884e34$var$BaseScript = new $6uUbQ$Struct({\n baseValues: new $6uUbQ$Pointer($6uUbQ$uint16, $497cef411d884e34$var$BaseValues),\n defaultMinMax: new $6uUbQ$Pointer($6uUbQ$uint16, $497cef411d884e34$var$MinMax),\n baseLangSysCount: $6uUbQ$uint16,\n baseLangSysRecords: new $6uUbQ$Array($497cef411d884e34$var$BaseLangSysRecord, 'baseLangSysCount') // in alphabetical order by BaseLangSysTag\n});\nlet $497cef411d884e34$var$BaseScriptRecord = new $6uUbQ$Struct({\n tag: new $6uUbQ$String(4),\n script: new $6uUbQ$Pointer($6uUbQ$uint16, $497cef411d884e34$var$BaseScript, {\n type: 'parent'\n })\n});\nlet $497cef411d884e34$var$BaseScriptList = new $6uUbQ$Array($497cef411d884e34$var$BaseScriptRecord, $6uUbQ$uint16);\n// Array of 4-byte baseline identification tags-must be in alphabetical order\nlet $497cef411d884e34$var$BaseTagList = new $6uUbQ$Array(new $6uUbQ$String(4), $6uUbQ$uint16);\nlet $497cef411d884e34$var$Axis = new $6uUbQ$Struct({\n baseTagList: new $6uUbQ$Pointer($6uUbQ$uint16, $497cef411d884e34$var$BaseTagList),\n baseScriptList: new $6uUbQ$Pointer($6uUbQ$uint16, $497cef411d884e34$var$BaseScriptList)\n});\nvar $497cef411d884e34$export$2e2bcd8739ae039 = new $6uUbQ$VersionedStruct($6uUbQ$uint32, {\n header: {\n horizAxis: new $6uUbQ$Pointer($6uUbQ$uint16, $497cef411d884e34$var$Axis),\n vertAxis: new $6uUbQ$Pointer($6uUbQ$uint16, $497cef411d884e34$var$Axis) // May be NULL\n },\n 0x00010000: {},\n 0x00010001: {\n itemVariationStore: new $6uUbQ$Pointer($6uUbQ$uint32, (0, $1a47b0c45c1c22fe$export$fe1b122a2710f241))\n }\n});\n\n\n\n\n\nlet $cf5f33c63ef209e6$var$AttachPoint = new $6uUbQ$Array($6uUbQ$uint16, $6uUbQ$uint16);\nlet $cf5f33c63ef209e6$var$AttachList = new $6uUbQ$Struct({\n coverage: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$17608c3f81a6111)),\n glyphCount: $6uUbQ$uint16,\n attachPoints: new $6uUbQ$Array(new $6uUbQ$Pointer($6uUbQ$uint16, $cf5f33c63ef209e6$var$AttachPoint), 'glyphCount')\n});\nlet $cf5f33c63ef209e6$var$CaretValue = new $6uUbQ$VersionedStruct($6uUbQ$uint16, {\n 1: {\n coordinate: $6uUbQ$int16\n },\n 2: {\n caretValuePoint: $6uUbQ$uint16\n },\n 3: {\n coordinate: $6uUbQ$int16,\n deviceTable: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$8215d14a63d9fb10))\n }\n});\nlet $cf5f33c63ef209e6$var$LigGlyph = new $6uUbQ$Array(new $6uUbQ$Pointer($6uUbQ$uint16, $cf5f33c63ef209e6$var$CaretValue), $6uUbQ$uint16);\nlet $cf5f33c63ef209e6$var$LigCaretList = new $6uUbQ$Struct({\n coverage: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$17608c3f81a6111)),\n ligGlyphCount: $6uUbQ$uint16,\n ligGlyphs: new $6uUbQ$Array(new $6uUbQ$Pointer($6uUbQ$uint16, $cf5f33c63ef209e6$var$LigGlyph), 'ligGlyphCount')\n});\nlet $cf5f33c63ef209e6$var$MarkGlyphSetsDef = new $6uUbQ$Struct({\n markSetTableFormat: $6uUbQ$uint16,\n markSetCount: $6uUbQ$uint16,\n coverage: new $6uUbQ$Array(new $6uUbQ$Pointer($6uUbQ$uint32, (0, $7cbbe4e24ef3cb75$export$17608c3f81a6111)), 'markSetCount')\n});\nvar $cf5f33c63ef209e6$export$2e2bcd8739ae039 = new $6uUbQ$VersionedStruct($6uUbQ$uint32, {\n header: {\n glyphClassDef: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$843d551fbbafef71)),\n attachList: new $6uUbQ$Pointer($6uUbQ$uint16, $cf5f33c63ef209e6$var$AttachList),\n ligCaretList: new $6uUbQ$Pointer($6uUbQ$uint16, $cf5f33c63ef209e6$var$LigCaretList),\n markAttachClassDef: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$843d551fbbafef71))\n },\n 0x00010000: {},\n 0x00010002: {\n markGlyphSetsDef: new $6uUbQ$Pointer($6uUbQ$uint16, $cf5f33c63ef209e6$var$MarkGlyphSetsDef)\n },\n 0x00010003: {\n markGlyphSetsDef: new $6uUbQ$Pointer($6uUbQ$uint16, $cf5f33c63ef209e6$var$MarkGlyphSetsDef),\n itemVariationStore: new $6uUbQ$Pointer($6uUbQ$uint32, (0, $1a47b0c45c1c22fe$export$fe1b122a2710f241))\n }\n});\n\n\n\n\n\nlet $47e0e8ef515d9903$var$ValueFormat = new $6uUbQ$Bitfield($6uUbQ$uint16, [\n 'xPlacement',\n 'yPlacement',\n 'xAdvance',\n 'yAdvance',\n 'xPlaDevice',\n 'yPlaDevice',\n 'xAdvDevice',\n 'yAdvDevice'\n]);\nlet $47e0e8ef515d9903$var$types = {\n xPlacement: $6uUbQ$int16,\n yPlacement: $6uUbQ$int16,\n xAdvance: $6uUbQ$int16,\n yAdvance: $6uUbQ$int16,\n xPlaDevice: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$8215d14a63d9fb10), {\n type: 'global',\n relativeTo: (ctx)=>ctx.rel\n }),\n yPlaDevice: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$8215d14a63d9fb10), {\n type: 'global',\n relativeTo: (ctx)=>ctx.rel\n }),\n xAdvDevice: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$8215d14a63d9fb10), {\n type: 'global',\n relativeTo: (ctx)=>ctx.rel\n }),\n yAdvDevice: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$8215d14a63d9fb10), {\n type: 'global',\n relativeTo: (ctx)=>ctx.rel\n })\n};\nclass $47e0e8ef515d9903$var$ValueRecord {\n buildStruct(parent) {\n let struct = parent;\n while(!struct[this.key] && struct.parent)struct = struct.parent;\n if (!struct[this.key]) return;\n let fields = {};\n fields.rel = ()=>struct._startOffset;\n let format = struct[this.key];\n for(let key in format)if (format[key]) fields[key] = $47e0e8ef515d9903$var$types[key];\n return new $6uUbQ$Struct(fields);\n }\n size(val, ctx) {\n return this.buildStruct(ctx).size(val, ctx);\n }\n decode(stream, parent) {\n let res = this.buildStruct(parent).decode(stream, parent);\n delete res.rel;\n return res;\n }\n constructor(key = 'valueFormat'){\n this.key = key;\n }\n}\nlet $47e0e8ef515d9903$var$PairValueRecord = new $6uUbQ$Struct({\n secondGlyph: $6uUbQ$uint16,\n value1: new $47e0e8ef515d9903$var$ValueRecord('valueFormat1'),\n value2: new $47e0e8ef515d9903$var$ValueRecord('valueFormat2')\n});\nlet $47e0e8ef515d9903$var$PairSet = new $6uUbQ$Array($47e0e8ef515d9903$var$PairValueRecord, $6uUbQ$uint16);\nlet $47e0e8ef515d9903$var$Class2Record = new $6uUbQ$Struct({\n value1: new $47e0e8ef515d9903$var$ValueRecord('valueFormat1'),\n value2: new $47e0e8ef515d9903$var$ValueRecord('valueFormat2')\n});\nlet $47e0e8ef515d9903$var$Anchor = new $6uUbQ$VersionedStruct($6uUbQ$uint16, {\n 1: {\n xCoordinate: $6uUbQ$int16,\n yCoordinate: $6uUbQ$int16\n },\n 2: {\n xCoordinate: $6uUbQ$int16,\n yCoordinate: $6uUbQ$int16,\n anchorPoint: $6uUbQ$uint16\n },\n 3: {\n xCoordinate: $6uUbQ$int16,\n yCoordinate: $6uUbQ$int16,\n xDeviceTable: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$8215d14a63d9fb10)),\n yDeviceTable: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$8215d14a63d9fb10))\n }\n});\nlet $47e0e8ef515d9903$var$EntryExitRecord = new $6uUbQ$Struct({\n entryAnchor: new $6uUbQ$Pointer($6uUbQ$uint16, $47e0e8ef515d9903$var$Anchor, {\n type: 'parent'\n }),\n exitAnchor: new $6uUbQ$Pointer($6uUbQ$uint16, $47e0e8ef515d9903$var$Anchor, {\n type: 'parent'\n })\n});\nlet $47e0e8ef515d9903$var$MarkRecord = new $6uUbQ$Struct({\n class: $6uUbQ$uint16,\n markAnchor: new $6uUbQ$Pointer($6uUbQ$uint16, $47e0e8ef515d9903$var$Anchor, {\n type: 'parent'\n })\n});\nlet $47e0e8ef515d9903$var$MarkArray = new $6uUbQ$Array($47e0e8ef515d9903$var$MarkRecord, $6uUbQ$uint16);\nlet $47e0e8ef515d9903$var$BaseRecord = new $6uUbQ$Array(new $6uUbQ$Pointer($6uUbQ$uint16, $47e0e8ef515d9903$var$Anchor), (t)=>t.parent.classCount);\nlet $47e0e8ef515d9903$var$BaseArray = new $6uUbQ$Array($47e0e8ef515d9903$var$BaseRecord, $6uUbQ$uint16);\nlet $47e0e8ef515d9903$var$ComponentRecord = new $6uUbQ$Array(new $6uUbQ$Pointer($6uUbQ$uint16, $47e0e8ef515d9903$var$Anchor), (t)=>t.parent.parent.classCount);\nlet $47e0e8ef515d9903$var$LigatureAttach = new $6uUbQ$Array($47e0e8ef515d9903$var$ComponentRecord, $6uUbQ$uint16);\nlet $47e0e8ef515d9903$var$LigatureArray = new $6uUbQ$Array(new $6uUbQ$Pointer($6uUbQ$uint16, $47e0e8ef515d9903$var$LigatureAttach), $6uUbQ$uint16);\nlet $47e0e8ef515d9903$export$73a8cfb19cd43a0f = new $6uUbQ$VersionedStruct('lookupType', {\n 1: new $6uUbQ$VersionedStruct($6uUbQ$uint16, {\n 1: {\n coverage: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$17608c3f81a6111)),\n valueFormat: $47e0e8ef515d9903$var$ValueFormat,\n value: new $47e0e8ef515d9903$var$ValueRecord()\n },\n 2: {\n coverage: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$17608c3f81a6111)),\n valueFormat: $47e0e8ef515d9903$var$ValueFormat,\n valueCount: $6uUbQ$uint16,\n values: new $6uUbQ$LazyArray(new $47e0e8ef515d9903$var$ValueRecord(), 'valueCount')\n }\n }),\n 2: new $6uUbQ$VersionedStruct($6uUbQ$uint16, {\n 1: {\n coverage: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$17608c3f81a6111)),\n valueFormat1: $47e0e8ef515d9903$var$ValueFormat,\n valueFormat2: $47e0e8ef515d9903$var$ValueFormat,\n pairSetCount: $6uUbQ$uint16,\n pairSets: new $6uUbQ$LazyArray(new $6uUbQ$Pointer($6uUbQ$uint16, $47e0e8ef515d9903$var$PairSet), 'pairSetCount')\n },\n 2: {\n coverage: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$17608c3f81a6111)),\n valueFormat1: $47e0e8ef515d9903$var$ValueFormat,\n valueFormat2: $47e0e8ef515d9903$var$ValueFormat,\n classDef1: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$843d551fbbafef71)),\n classDef2: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$843d551fbbafef71)),\n class1Count: $6uUbQ$uint16,\n class2Count: $6uUbQ$uint16,\n classRecords: new $6uUbQ$LazyArray(new $6uUbQ$LazyArray($47e0e8ef515d9903$var$Class2Record, 'class2Count'), 'class1Count')\n }\n }),\n 3: {\n format: $6uUbQ$uint16,\n coverage: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$17608c3f81a6111)),\n entryExitCount: $6uUbQ$uint16,\n entryExitRecords: new $6uUbQ$Array($47e0e8ef515d9903$var$EntryExitRecord, 'entryExitCount')\n },\n 4: {\n format: $6uUbQ$uint16,\n markCoverage: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$17608c3f81a6111)),\n baseCoverage: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$17608c3f81a6111)),\n classCount: $6uUbQ$uint16,\n markArray: new $6uUbQ$Pointer($6uUbQ$uint16, $47e0e8ef515d9903$var$MarkArray),\n baseArray: new $6uUbQ$Pointer($6uUbQ$uint16, $47e0e8ef515d9903$var$BaseArray)\n },\n 5: {\n format: $6uUbQ$uint16,\n markCoverage: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$17608c3f81a6111)),\n ligatureCoverage: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$17608c3f81a6111)),\n classCount: $6uUbQ$uint16,\n markArray: new $6uUbQ$Pointer($6uUbQ$uint16, $47e0e8ef515d9903$var$MarkArray),\n ligatureArray: new $6uUbQ$Pointer($6uUbQ$uint16, $47e0e8ef515d9903$var$LigatureArray)\n },\n 6: {\n format: $6uUbQ$uint16,\n mark1Coverage: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$17608c3f81a6111)),\n mark2Coverage: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$17608c3f81a6111)),\n classCount: $6uUbQ$uint16,\n mark1Array: new $6uUbQ$Pointer($6uUbQ$uint16, $47e0e8ef515d9903$var$MarkArray),\n mark2Array: new $6uUbQ$Pointer($6uUbQ$uint16, $47e0e8ef515d9903$var$BaseArray)\n },\n 7: (0, $7cbbe4e24ef3cb75$export$841858b892ce1f4c),\n 8: (0, $7cbbe4e24ef3cb75$export$5e6d09e6861162f6),\n 9: {\n posFormat: $6uUbQ$uint16,\n lookupType: $6uUbQ$uint16,\n extension: new $6uUbQ$Pointer($6uUbQ$uint32, null)\n }\n});\n// Fix circular reference\n$47e0e8ef515d9903$export$73a8cfb19cd43a0f.versions[9].extension.type = $47e0e8ef515d9903$export$73a8cfb19cd43a0f;\nvar $47e0e8ef515d9903$export$2e2bcd8739ae039 = new $6uUbQ$VersionedStruct($6uUbQ$uint32, {\n header: {\n scriptList: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$3e15fc05ce864229)),\n featureList: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$aa18130def4b6cb4)),\n lookupList: new $6uUbQ$Pointer($6uUbQ$uint16, new (0, $7cbbe4e24ef3cb75$export$df0008c6ff2da22a)($47e0e8ef515d9903$export$73a8cfb19cd43a0f))\n },\n 0x00010000: {},\n 0x00010001: {\n featureVariations: new $6uUbQ$Pointer($6uUbQ$uint32, (0, $1a47b0c45c1c22fe$export$441b70b7971dd419))\n }\n});\n\n\n\n\n\nlet $d3f442064af66e06$var$Sequence = new $6uUbQ$Array($6uUbQ$uint16, $6uUbQ$uint16);\nlet $d3f442064af66e06$var$AlternateSet = $d3f442064af66e06$var$Sequence;\nlet $d3f442064af66e06$var$Ligature = new $6uUbQ$Struct({\n glyph: $6uUbQ$uint16,\n compCount: $6uUbQ$uint16,\n components: new $6uUbQ$Array($6uUbQ$uint16, (t)=>t.compCount - 1)\n});\nlet $d3f442064af66e06$var$LigatureSet = new $6uUbQ$Array(new $6uUbQ$Pointer($6uUbQ$uint16, $d3f442064af66e06$var$Ligature), $6uUbQ$uint16);\nlet $d3f442064af66e06$var$GSUBLookup = new $6uUbQ$VersionedStruct('lookupType', {\n 1: new $6uUbQ$VersionedStruct($6uUbQ$uint16, {\n 1: {\n coverage: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$17608c3f81a6111)),\n deltaGlyphID: $6uUbQ$int16\n },\n 2: {\n coverage: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$17608c3f81a6111)),\n glyphCount: $6uUbQ$uint16,\n substitute: new $6uUbQ$LazyArray($6uUbQ$uint16, 'glyphCount')\n }\n }),\n 2: {\n substFormat: $6uUbQ$uint16,\n coverage: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$17608c3f81a6111)),\n count: $6uUbQ$uint16,\n sequences: new $6uUbQ$LazyArray(new $6uUbQ$Pointer($6uUbQ$uint16, $d3f442064af66e06$var$Sequence), 'count')\n },\n 3: {\n substFormat: $6uUbQ$uint16,\n coverage: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$17608c3f81a6111)),\n count: $6uUbQ$uint16,\n alternateSet: new $6uUbQ$LazyArray(new $6uUbQ$Pointer($6uUbQ$uint16, $d3f442064af66e06$var$AlternateSet), 'count')\n },\n 4: {\n substFormat: $6uUbQ$uint16,\n coverage: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$17608c3f81a6111)),\n count: $6uUbQ$uint16,\n ligatureSets: new $6uUbQ$LazyArray(new $6uUbQ$Pointer($6uUbQ$uint16, $d3f442064af66e06$var$LigatureSet), 'count')\n },\n 5: (0, $7cbbe4e24ef3cb75$export$841858b892ce1f4c),\n 6: (0, $7cbbe4e24ef3cb75$export$5e6d09e6861162f6),\n 7: {\n substFormat: $6uUbQ$uint16,\n lookupType: $6uUbQ$uint16,\n extension: new $6uUbQ$Pointer($6uUbQ$uint32, null)\n },\n 8: {\n substFormat: $6uUbQ$uint16,\n coverage: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$17608c3f81a6111)),\n backtrackCoverage: new $6uUbQ$Array(new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$17608c3f81a6111)), 'backtrackGlyphCount'),\n lookaheadGlyphCount: $6uUbQ$uint16,\n lookaheadCoverage: new $6uUbQ$Array(new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$17608c3f81a6111)), 'lookaheadGlyphCount'),\n glyphCount: $6uUbQ$uint16,\n substitutes: new $6uUbQ$Array($6uUbQ$uint16, 'glyphCount')\n }\n});\n// Fix circular reference\n$d3f442064af66e06$var$GSUBLookup.versions[7].extension.type = $d3f442064af66e06$var$GSUBLookup;\nvar $d3f442064af66e06$export$2e2bcd8739ae039 = new $6uUbQ$VersionedStruct($6uUbQ$uint32, {\n header: {\n scriptList: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$3e15fc05ce864229)),\n featureList: new $6uUbQ$Pointer($6uUbQ$uint16, (0, $7cbbe4e24ef3cb75$export$aa18130def4b6cb4)),\n lookupList: new $6uUbQ$Pointer($6uUbQ$uint16, new (0, $7cbbe4e24ef3cb75$export$df0008c6ff2da22a)($d3f442064af66e06$var$GSUBLookup))\n },\n 0x00010000: {},\n 0x00010001: {\n featureVariations: new $6uUbQ$Pointer($6uUbQ$uint32, (0, $1a47b0c45c1c22fe$export$441b70b7971dd419))\n }\n});\n\n\n\n\n\nlet $71cfb3c4767fbd0c$var$JstfGSUBModList = new $6uUbQ$Array($6uUbQ$uint16, $6uUbQ$uint16);\nlet $71cfb3c4767fbd0c$var$JstfPriority = new $6uUbQ$Struct({\n shrinkageEnableGSUB: new $6uUbQ$Pointer($6uUbQ$uint16, $71cfb3c4767fbd0c$var$JstfGSUBModList),\n shrinkageDisableGSUB: new $6uUbQ$Pointer($6uUbQ$uint16, $71cfb3c4767fbd0c$var$JstfGSUBModList),\n shrinkageEnableGPOS: new $6uUbQ$Pointer($6uUbQ$uint16, $71cfb3c4767fbd0c$var$JstfGSUBModList),\n shrinkageDisableGPOS: new $6uUbQ$Pointer($6uUbQ$uint16, $71cfb3c4767fbd0c$var$JstfGSUBModList),\n shrinkageJstfMax: new $6uUbQ$Pointer($6uUbQ$uint16, new (0, $7cbbe4e24ef3cb75$export$df0008c6ff2da22a)((0, $47e0e8ef515d9903$export$73a8cfb19cd43a0f))),\n extensionEnableGSUB: new $6uUbQ$Pointer($6uUbQ$uint16, $71cfb3c4767fbd0c$var$JstfGSUBModList),\n extensionDisableGSUB: new $6uUbQ$Pointer($6uUbQ$uint16, $71cfb3c4767fbd0c$var$JstfGSUBModList),\n extensionEnableGPOS: new $6uUbQ$Pointer($6uUbQ$uint16, $71cfb3c4767fbd0c$var$JstfGSUBModList),\n extensionDisableGPOS: new $6uUbQ$Pointer($6uUbQ$uint16, $71cfb3c4767fbd0c$var$JstfGSUBModList),\n extensionJstfMax: new $6uUbQ$Pointer($6uUbQ$uint16, new (0, $7cbbe4e24ef3cb75$export$df0008c6ff2da22a)((0, $47e0e8ef515d9903$export$73a8cfb19cd43a0f)))\n});\nlet $71cfb3c4767fbd0c$var$JstfLangSys = new $6uUbQ$Array(new $6uUbQ$Pointer($6uUbQ$uint16, $71cfb3c4767fbd0c$var$JstfPriority), $6uUbQ$uint16);\nlet $71cfb3c4767fbd0c$var$JstfLangSysRecord = new $6uUbQ$Struct({\n tag: new $6uUbQ$String(4),\n jstfLangSys: new $6uUbQ$Pointer($6uUbQ$uint16, $71cfb3c4767fbd0c$var$JstfLangSys)\n});\nlet $71cfb3c4767fbd0c$var$JstfScript = new $6uUbQ$Struct({\n extenderGlyphs: new $6uUbQ$Pointer($6uUbQ$uint16, new $6uUbQ$Array($6uUbQ$uint16, $6uUbQ$uint16)),\n defaultLangSys: new $6uUbQ$Pointer($6uUbQ$uint16, $71cfb3c4767fbd0c$var$JstfLangSys),\n langSysCount: $6uUbQ$uint16,\n langSysRecords: new $6uUbQ$Array($71cfb3c4767fbd0c$var$JstfLangSysRecord, 'langSysCount')\n});\nlet $71cfb3c4767fbd0c$var$JstfScriptRecord = new $6uUbQ$Struct({\n tag: new $6uUbQ$String(4),\n script: new $6uUbQ$Pointer($6uUbQ$uint16, $71cfb3c4767fbd0c$var$JstfScript, {\n type: 'parent'\n })\n});\nvar $71cfb3c4767fbd0c$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n version: $6uUbQ$uint32,\n scriptCount: $6uUbQ$uint16,\n scriptList: new $6uUbQ$Array($71cfb3c4767fbd0c$var$JstfScriptRecord, 'scriptCount')\n});\n\n\n\n\n// TODO: add this to restructure\nclass $d059a6bd2d3b5b63$var$VariableSizeNumber {\n decode(stream, parent) {\n switch(this.size(0, parent)){\n case 1:\n return stream.readUInt8();\n case 2:\n return stream.readUInt16BE();\n case 3:\n return stream.readUInt24BE();\n case 4:\n return stream.readUInt32BE();\n }\n }\n size(val, parent) {\n return (0, $6uUbQ$resolveLength)(this._size, null, parent);\n }\n constructor(size){\n this._size = size;\n }\n}\nlet $d059a6bd2d3b5b63$var$MapDataEntry = new $6uUbQ$Struct({\n entry: new $d059a6bd2d3b5b63$var$VariableSizeNumber((t)=>((t.parent.entryFormat & 0x0030) >> 4) + 1),\n outerIndex: (t)=>t.entry >> (t.parent.entryFormat & 0x000F) + 1,\n innerIndex: (t)=>t.entry & (1 << (t.parent.entryFormat & 0x000F) + 1) - 1\n});\nlet $d059a6bd2d3b5b63$var$DeltaSetIndexMap = new $6uUbQ$Struct({\n entryFormat: $6uUbQ$uint16,\n mapCount: $6uUbQ$uint16,\n mapData: new $6uUbQ$Array($d059a6bd2d3b5b63$var$MapDataEntry, 'mapCount')\n});\nvar $d059a6bd2d3b5b63$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n majorVersion: $6uUbQ$uint16,\n minorVersion: $6uUbQ$uint16,\n itemVariationStore: new $6uUbQ$Pointer($6uUbQ$uint32, (0, $1a47b0c45c1c22fe$export$fe1b122a2710f241)),\n advanceWidthMapping: new $6uUbQ$Pointer($6uUbQ$uint32, $d059a6bd2d3b5b63$var$DeltaSetIndexMap),\n LSBMapping: new $6uUbQ$Pointer($6uUbQ$uint32, $d059a6bd2d3b5b63$var$DeltaSetIndexMap),\n RSBMapping: new $6uUbQ$Pointer($6uUbQ$uint32, $d059a6bd2d3b5b63$var$DeltaSetIndexMap)\n});\n\n\n\nlet $dceeca3e1977ce30$var$Signature = new $6uUbQ$Struct({\n format: $6uUbQ$uint32,\n length: $6uUbQ$uint32,\n offset: $6uUbQ$uint32\n});\nlet $dceeca3e1977ce30$var$SignatureBlock = new $6uUbQ$Struct({\n reserved: new $6uUbQ$Reserved($6uUbQ$uint16, 2),\n cbSignature: $6uUbQ$uint32,\n signature: new $6uUbQ$Buffer('cbSignature')\n});\nvar $dceeca3e1977ce30$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n ulVersion: $6uUbQ$uint32,\n usNumSigs: $6uUbQ$uint16,\n usFlag: $6uUbQ$uint16,\n signatures: new $6uUbQ$Array($dceeca3e1977ce30$var$Signature, 'usNumSigs'),\n signatureBlocks: new $6uUbQ$Array($dceeca3e1977ce30$var$SignatureBlock, 'usNumSigs')\n});\n\n\n\nlet $8acd740a9435aad0$var$GaspRange = new $6uUbQ$Struct({\n rangeMaxPPEM: $6uUbQ$uint16,\n rangeGaspBehavior: new $6uUbQ$Bitfield($6uUbQ$uint16, [\n 'grayscale',\n 'gridfit',\n 'symmetricSmoothing',\n 'symmetricGridfit' // only in version 1, for ClearType\n ])\n});\nvar $8acd740a9435aad0$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n version: $6uUbQ$uint16,\n numRanges: $6uUbQ$uint16,\n gaspRanges: new $6uUbQ$Array($8acd740a9435aad0$var$GaspRange, 'numRanges') // Sorted by ppem\n});\n\n\n\nlet $b5f380243c34d6a0$var$DeviceRecord = new $6uUbQ$Struct({\n pixelSize: $6uUbQ$uint8,\n maximumWidth: $6uUbQ$uint8,\n widths: new $6uUbQ$Array($6uUbQ$uint8, (t)=>t.parent.parent.maxp.numGlyphs)\n});\nvar // The Horizontal Device Metrics table stores integer advance widths scaled to particular pixel sizes\n$b5f380243c34d6a0$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n version: $6uUbQ$uint16,\n numRecords: $6uUbQ$int16,\n sizeDeviceRecord: $6uUbQ$int32,\n records: new $6uUbQ$Array($b5f380243c34d6a0$var$DeviceRecord, 'numRecords')\n});\n\n\n\nlet $ca2df1256966e313$var$KernPair = new $6uUbQ$Struct({\n left: $6uUbQ$uint16,\n right: $6uUbQ$uint16,\n value: $6uUbQ$int16\n});\nlet $ca2df1256966e313$var$ClassTable = new $6uUbQ$Struct({\n firstGlyph: $6uUbQ$uint16,\n nGlyphs: $6uUbQ$uint16,\n offsets: new $6uUbQ$Array($6uUbQ$uint16, 'nGlyphs'),\n max: (t)=>t.offsets.length && Math.max.apply(Math, t.offsets)\n});\nlet $ca2df1256966e313$var$Kern2Array = new $6uUbQ$Struct({\n off: (t)=>t._startOffset - t.parent.parent._startOffset,\n len: (t)=>((t.parent.leftTable.max - t.off) / t.parent.rowWidth + 1) * (t.parent.rowWidth / 2),\n values: new $6uUbQ$LazyArray($6uUbQ$int16, 'len')\n});\nlet $ca2df1256966e313$var$KernSubtable = new $6uUbQ$VersionedStruct('format', {\n 0: {\n nPairs: $6uUbQ$uint16,\n searchRange: $6uUbQ$uint16,\n entrySelector: $6uUbQ$uint16,\n rangeShift: $6uUbQ$uint16,\n pairs: new $6uUbQ$Array($ca2df1256966e313$var$KernPair, 'nPairs')\n },\n 2: {\n rowWidth: $6uUbQ$uint16,\n leftTable: new $6uUbQ$Pointer($6uUbQ$uint16, $ca2df1256966e313$var$ClassTable, {\n type: 'parent'\n }),\n rightTable: new $6uUbQ$Pointer($6uUbQ$uint16, $ca2df1256966e313$var$ClassTable, {\n type: 'parent'\n }),\n array: new $6uUbQ$Pointer($6uUbQ$uint16, $ca2df1256966e313$var$Kern2Array, {\n type: 'parent'\n })\n },\n 3: {\n glyphCount: $6uUbQ$uint16,\n kernValueCount: $6uUbQ$uint8,\n leftClassCount: $6uUbQ$uint8,\n rightClassCount: $6uUbQ$uint8,\n flags: $6uUbQ$uint8,\n kernValue: new $6uUbQ$Array($6uUbQ$int16, 'kernValueCount'),\n leftClass: new $6uUbQ$Array($6uUbQ$uint8, 'glyphCount'),\n rightClass: new $6uUbQ$Array($6uUbQ$uint8, 'glyphCount'),\n kernIndex: new $6uUbQ$Array($6uUbQ$uint8, (t)=>t.leftClassCount * t.rightClassCount)\n }\n});\nlet $ca2df1256966e313$var$KernTable = new $6uUbQ$VersionedStruct('version', {\n 0: {\n subVersion: $6uUbQ$uint16,\n length: $6uUbQ$uint16,\n format: $6uUbQ$uint8,\n coverage: new $6uUbQ$Bitfield($6uUbQ$uint8, [\n 'horizontal',\n 'minimum',\n 'crossStream',\n 'override' // If set to 1 the value in this table replaces the accumulated value\n ]),\n subtable: $ca2df1256966e313$var$KernSubtable,\n padding: new $6uUbQ$Reserved($6uUbQ$uint8, (t)=>t.length - t._currentOffset)\n },\n 1: {\n length: $6uUbQ$uint32,\n coverage: new $6uUbQ$Bitfield($6uUbQ$uint8, [\n null,\n null,\n null,\n null,\n null,\n 'variation',\n 'crossStream',\n 'vertical' // Set if table has vertical kerning values\n ]),\n format: $6uUbQ$uint8,\n tupleIndex: $6uUbQ$uint16,\n subtable: $ca2df1256966e313$var$KernSubtable,\n padding: new $6uUbQ$Reserved($6uUbQ$uint8, (t)=>t.length - t._currentOffset)\n }\n});\nvar $ca2df1256966e313$export$2e2bcd8739ae039 = new $6uUbQ$VersionedStruct($6uUbQ$uint16, {\n 0: {\n nTables: $6uUbQ$uint16,\n tables: new $6uUbQ$Array($ca2df1256966e313$var$KernTable, 'nTables')\n },\n 1: {\n reserved: new $6uUbQ$Reserved($6uUbQ$uint16),\n nTables: $6uUbQ$uint32,\n tables: new $6uUbQ$Array($ca2df1256966e313$var$KernTable, 'nTables')\n }\n});\n\n\n\nvar // Linear Threshold table\n// Records the ppem for each glyph at which the scaling becomes linear again,\n// despite instructions effecting the advance width\n$7a9f92b0c46ebe33$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n version: $6uUbQ$uint16,\n numGlyphs: $6uUbQ$uint16,\n yPels: new $6uUbQ$Array($6uUbQ$uint8, 'numGlyphs')\n});\n\n\n\nvar // PCL 5 Table\n// NOTE: The PCLT table is strongly discouraged for OpenType fonts with TrueType outlines\n$2b2ccc419d152631$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n version: $6uUbQ$uint16,\n fontNumber: $6uUbQ$uint32,\n pitch: $6uUbQ$uint16,\n xHeight: $6uUbQ$uint16,\n style: $6uUbQ$uint16,\n typeFamily: $6uUbQ$uint16,\n capHeight: $6uUbQ$uint16,\n symbolSet: $6uUbQ$uint16,\n typeface: new $6uUbQ$String(16),\n characterComplement: new $6uUbQ$String(8),\n fileName: new $6uUbQ$String(6),\n strokeWeight: new $6uUbQ$String(1),\n widthType: new $6uUbQ$String(1),\n serifStyle: $6uUbQ$uint8,\n reserved: new $6uUbQ$Reserved($6uUbQ$uint8)\n});\n\n\n\n// VDMX tables contain ascender/descender overrides for certain (usually small)\n// sizes. This is needed in order to match font metrics on Windows.\nlet $ca5b40b9bcda9c9b$var$Ratio = new $6uUbQ$Struct({\n bCharSet: $6uUbQ$uint8,\n xRatio: $6uUbQ$uint8,\n yStartRatio: $6uUbQ$uint8,\n yEndRatio: $6uUbQ$uint8 // Ending y-Ratio value\n});\nlet $ca5b40b9bcda9c9b$var$vTable = new $6uUbQ$Struct({\n yPelHeight: $6uUbQ$uint16,\n yMax: $6uUbQ$int16,\n yMin: $6uUbQ$int16 // Minimum value (in pels) for this yPelHeight\n});\nlet $ca5b40b9bcda9c9b$var$VdmxGroup = new $6uUbQ$Struct({\n recs: $6uUbQ$uint16,\n startsz: $6uUbQ$uint8,\n endsz: $6uUbQ$uint8,\n entries: new $6uUbQ$Array($ca5b40b9bcda9c9b$var$vTable, 'recs') // The VDMX records\n});\nvar $ca5b40b9bcda9c9b$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n version: $6uUbQ$uint16,\n numRecs: $6uUbQ$uint16,\n numRatios: $6uUbQ$uint16,\n ratioRanges: new $6uUbQ$Array($ca5b40b9bcda9c9b$var$Ratio, 'numRatios'),\n offsets: new $6uUbQ$Array($6uUbQ$uint16, 'numRatios'),\n groups: new $6uUbQ$Array($ca5b40b9bcda9c9b$var$VdmxGroup, 'numRecs') // The actual VDMX groupings\n});\n\n\n\nvar // Vertical Header Table\n$69530a3c40755af0$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n version: $6uUbQ$uint16,\n ascent: $6uUbQ$int16,\n descent: $6uUbQ$int16,\n lineGap: $6uUbQ$int16,\n advanceHeightMax: $6uUbQ$int16,\n minTopSideBearing: $6uUbQ$int16,\n minBottomSideBearing: $6uUbQ$int16,\n yMaxExtent: $6uUbQ$int16,\n caretSlopeRise: $6uUbQ$int16,\n caretSlopeRun: $6uUbQ$int16,\n caretOffset: $6uUbQ$int16,\n reserved: new $6uUbQ$Reserved($6uUbQ$int16, 4),\n metricDataFormat: $6uUbQ$int16,\n numberOfMetrics: $6uUbQ$uint16 // Number of advance heights in the Vertical Metrics table\n});\n\n\n\nlet $344073dd270f0e62$var$VmtxEntry = new $6uUbQ$Struct({\n advance: $6uUbQ$uint16,\n bearing: $6uUbQ$int16 // The top sidebearing of the glyph\n});\nvar // Vertical Metrics Table\n$344073dd270f0e62$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n metrics: new $6uUbQ$LazyArray($344073dd270f0e62$var$VmtxEntry, (t)=>t.parent.vhea.numberOfMetrics),\n bearings: new $6uUbQ$LazyArray($6uUbQ$int16, (t)=>t.parent.maxp.numGlyphs - t.parent.vhea.numberOfMetrics)\n});\n\n\n\nlet $3793b781918cfced$var$shortFrac = new $6uUbQ$Fixed(16, 'BE', 14);\nlet $3793b781918cfced$var$Correspondence = new $6uUbQ$Struct({\n fromCoord: $3793b781918cfced$var$shortFrac,\n toCoord: $3793b781918cfced$var$shortFrac\n});\nlet $3793b781918cfced$var$Segment = new $6uUbQ$Struct({\n pairCount: $6uUbQ$uint16,\n correspondence: new $6uUbQ$Array($3793b781918cfced$var$Correspondence, 'pairCount')\n});\nvar $3793b781918cfced$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n version: $6uUbQ$fixed32,\n axisCount: $6uUbQ$uint32,\n segment: new $6uUbQ$Array($3793b781918cfced$var$Segment, 'axisCount')\n});\n\n\n\n\nclass $6cb7dd5f47d82580$var$UnboundedArrayAccessor {\n getItem(index) {\n if (this._items[index] == null) {\n let pos = this.stream.pos;\n this.stream.pos = this.base + this.type.size(null, this.parent) * index;\n this._items[index] = this.type.decode(this.stream, this.parent);\n this.stream.pos = pos;\n }\n return this._items[index];\n }\n inspect() {\n return `[UnboundedArray ${this.type.constructor.name}]`;\n }\n constructor(type, stream, parent){\n this.type = type;\n this.stream = stream;\n this.parent = parent;\n this.base = this.stream.pos;\n this._items = [];\n }\n}\nclass $6cb7dd5f47d82580$export$c5af1eebc882e39a extends $6uUbQ$Array {\n decode(stream, parent) {\n return new $6cb7dd5f47d82580$var$UnboundedArrayAccessor(this.type, stream, parent);\n }\n constructor(type){\n super(type, 0);\n }\n}\nlet $6cb7dd5f47d82580$export$8351f8c2ae2f103c = function(ValueType = $6uUbQ$uint16) {\n // Helper class that makes internal structures invisible to pointers\n class Shadow {\n decode(stream, ctx) {\n ctx = ctx.parent.parent;\n return this.type.decode(stream, ctx);\n }\n size(val, ctx) {\n ctx = ctx.parent.parent;\n return this.type.size(val, ctx);\n }\n encode(stream, val, ctx) {\n ctx = ctx.parent.parent;\n return this.type.encode(stream, val, ctx);\n }\n constructor(type){\n this.type = type;\n }\n }\n ValueType = new Shadow(ValueType);\n let BinarySearchHeader = new $6uUbQ$Struct({\n unitSize: $6uUbQ$uint16,\n nUnits: $6uUbQ$uint16,\n searchRange: $6uUbQ$uint16,\n entrySelector: $6uUbQ$uint16,\n rangeShift: $6uUbQ$uint16\n });\n let LookupSegmentSingle = new $6uUbQ$Struct({\n lastGlyph: $6uUbQ$uint16,\n firstGlyph: $6uUbQ$uint16,\n value: ValueType\n });\n let LookupSegmentArray = new $6uUbQ$Struct({\n lastGlyph: $6uUbQ$uint16,\n firstGlyph: $6uUbQ$uint16,\n values: new $6uUbQ$Pointer($6uUbQ$uint16, new $6uUbQ$Array(ValueType, (t)=>t.lastGlyph - t.firstGlyph + 1), {\n type: 'parent'\n })\n });\n let LookupSingle = new $6uUbQ$Struct({\n glyph: $6uUbQ$uint16,\n value: ValueType\n });\n return new $6uUbQ$VersionedStruct($6uUbQ$uint16, {\n 0: {\n values: new $6cb7dd5f47d82580$export$c5af1eebc882e39a(ValueType) // length == number of glyphs maybe?\n },\n 2: {\n binarySearchHeader: BinarySearchHeader,\n segments: new $6uUbQ$Array(LookupSegmentSingle, (t)=>t.binarySearchHeader.nUnits)\n },\n 4: {\n binarySearchHeader: BinarySearchHeader,\n segments: new $6uUbQ$Array(LookupSegmentArray, (t)=>t.binarySearchHeader.nUnits)\n },\n 6: {\n binarySearchHeader: BinarySearchHeader,\n segments: new $6uUbQ$Array(LookupSingle, (t)=>t.binarySearchHeader.nUnits)\n },\n 8: {\n firstGlyph: $6uUbQ$uint16,\n count: $6uUbQ$uint16,\n values: new $6uUbQ$Array(ValueType, 'count')\n }\n });\n};\nfunction $6cb7dd5f47d82580$export$79f7d93d790934ba(entryData = {}, lookupType = $6uUbQ$uint16) {\n let entry = Object.assign({\n newState: $6uUbQ$uint16,\n flags: $6uUbQ$uint16\n }, entryData);\n let Entry = new $6uUbQ$Struct(entry);\n let StateArray = new $6cb7dd5f47d82580$export$c5af1eebc882e39a(new $6uUbQ$Array($6uUbQ$uint16, (t)=>t.nClasses));\n let StateHeader = new $6uUbQ$Struct({\n nClasses: $6uUbQ$uint32,\n classTable: new $6uUbQ$Pointer($6uUbQ$uint32, new $6cb7dd5f47d82580$export$8351f8c2ae2f103c(lookupType)),\n stateArray: new $6uUbQ$Pointer($6uUbQ$uint32, StateArray),\n entryTable: new $6uUbQ$Pointer($6uUbQ$uint32, new $6cb7dd5f47d82580$export$c5af1eebc882e39a(Entry))\n });\n return StateHeader;\n}\nfunction $6cb7dd5f47d82580$export$105027425199cc51(entryData = {}, lookupType = $6uUbQ$uint16) {\n let ClassLookupTable = new $6uUbQ$Struct({\n version () {\n return 8;\n },\n firstGlyph: $6uUbQ$uint16,\n values: new $6uUbQ$Array($6uUbQ$uint8, $6uUbQ$uint16)\n });\n let entry = Object.assign({\n newStateOffset: $6uUbQ$uint16,\n // convert offset to stateArray index\n newState: (t)=>(t.newStateOffset - (t.parent.stateArray.base - t.parent._startOffset)) / t.parent.nClasses,\n flags: $6uUbQ$uint16\n }, entryData);\n let Entry = new $6uUbQ$Struct(entry);\n let StateArray = new $6cb7dd5f47d82580$export$c5af1eebc882e39a(new $6uUbQ$Array($6uUbQ$uint8, (t)=>t.nClasses));\n let StateHeader1 = new $6uUbQ$Struct({\n nClasses: $6uUbQ$uint16,\n classTable: new $6uUbQ$Pointer($6uUbQ$uint16, ClassLookupTable),\n stateArray: new $6uUbQ$Pointer($6uUbQ$uint16, StateArray),\n entryTable: new $6uUbQ$Pointer($6uUbQ$uint16, new $6cb7dd5f47d82580$export$c5af1eebc882e39a(Entry))\n });\n return StateHeader1;\n}\n\n\nlet $6a3746e8c708f5a3$var$BslnSubtable = new $6uUbQ$VersionedStruct('format', {\n 0: {\n deltas: new $6uUbQ$Array($6uUbQ$int16, 32)\n },\n 1: {\n deltas: new $6uUbQ$Array($6uUbQ$int16, 32),\n mappingData: new (0, $6cb7dd5f47d82580$export$8351f8c2ae2f103c)($6uUbQ$uint16)\n },\n 2: {\n standardGlyph: $6uUbQ$uint16,\n controlPoints: new $6uUbQ$Array($6uUbQ$uint16, 32)\n },\n 3: {\n standardGlyph: $6uUbQ$uint16,\n controlPoints: new $6uUbQ$Array($6uUbQ$uint16, 32),\n mappingData: new (0, $6cb7dd5f47d82580$export$8351f8c2ae2f103c)($6uUbQ$uint16)\n }\n});\nvar $6a3746e8c708f5a3$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n version: $6uUbQ$fixed32,\n format: $6uUbQ$uint16,\n defaultBaseline: $6uUbQ$uint16,\n subtable: $6a3746e8c708f5a3$var$BslnSubtable\n});\n\n\n\nlet $d0c76fac617b308a$var$Setting = new $6uUbQ$Struct({\n setting: $6uUbQ$uint16,\n nameIndex: $6uUbQ$int16,\n name: (t)=>t.parent.parent.parent.name.records.fontFeatures[t.nameIndex]\n});\nlet $d0c76fac617b308a$var$FeatureName = new $6uUbQ$Struct({\n feature: $6uUbQ$uint16,\n nSettings: $6uUbQ$uint16,\n settingTable: new $6uUbQ$Pointer($6uUbQ$uint32, new $6uUbQ$Array($d0c76fac617b308a$var$Setting, 'nSettings'), {\n type: 'parent'\n }),\n featureFlags: new $6uUbQ$Bitfield($6uUbQ$uint8, [\n null,\n null,\n null,\n null,\n null,\n null,\n 'hasDefault',\n 'exclusive'\n ]),\n defaultSetting: $6uUbQ$uint8,\n nameIndex: $6uUbQ$int16,\n name: (t)=>t.parent.parent.name.records.fontFeatures[t.nameIndex]\n});\nvar $d0c76fac617b308a$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n version: $6uUbQ$fixed32,\n featureNameCount: $6uUbQ$uint16,\n reserved1: new $6uUbQ$Reserved($6uUbQ$uint16),\n reserved2: new $6uUbQ$Reserved($6uUbQ$uint32),\n featureNames: new $6uUbQ$Array($d0c76fac617b308a$var$FeatureName, 'featureNameCount')\n});\n\n\n\nlet $e83fd065f00fcd01$var$Axis = new $6uUbQ$Struct({\n axisTag: new $6uUbQ$String(4),\n minValue: $6uUbQ$fixed32,\n defaultValue: $6uUbQ$fixed32,\n maxValue: $6uUbQ$fixed32,\n flags: $6uUbQ$uint16,\n nameID: $6uUbQ$uint16,\n name: (t)=>t.parent.parent.name.records.fontFeatures[t.nameID]\n});\nlet $e83fd065f00fcd01$var$Instance = new $6uUbQ$Struct({\n nameID: $6uUbQ$uint16,\n name: (t)=>t.parent.parent.name.records.fontFeatures[t.nameID],\n flags: $6uUbQ$uint16,\n coord: new $6uUbQ$Array($6uUbQ$fixed32, (t)=>t.parent.axisCount),\n postscriptNameID: new $6uUbQ$Optional($6uUbQ$uint16, (t)=>t.parent.instanceSize - t._currentOffset > 0)\n});\nvar $e83fd065f00fcd01$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n version: $6uUbQ$fixed32,\n offsetToData: $6uUbQ$uint16,\n countSizePairs: $6uUbQ$uint16,\n axisCount: $6uUbQ$uint16,\n axisSize: $6uUbQ$uint16,\n instanceCount: $6uUbQ$uint16,\n instanceSize: $6uUbQ$uint16,\n axis: new $6uUbQ$Array($e83fd065f00fcd01$var$Axis, 'axisCount'),\n instance: new $6uUbQ$Array($e83fd065f00fcd01$var$Instance, 'instanceCount')\n});\n\n\n\nlet $dbe33c8d3a7f131c$var$shortFrac = new $6uUbQ$Fixed(16, 'BE', 14);\nclass $dbe33c8d3a7f131c$var$Offset {\n static decode(stream, parent) {\n // In short format, offsets are multiplied by 2.\n // This doesn't seem to be documented by Apple, but it\n // is implemented this way in Freetype.\n return parent.flags ? stream.readUInt32BE() : stream.readUInt16BE() * 2;\n }\n}\nlet $dbe33c8d3a7f131c$var$gvar = new $6uUbQ$Struct({\n version: $6uUbQ$uint16,\n reserved: new $6uUbQ$Reserved($6uUbQ$uint16),\n axisCount: $6uUbQ$uint16,\n globalCoordCount: $6uUbQ$uint16,\n globalCoords: new $6uUbQ$Pointer($6uUbQ$uint32, new $6uUbQ$Array(new $6uUbQ$Array($dbe33c8d3a7f131c$var$shortFrac, 'axisCount'), 'globalCoordCount')),\n glyphCount: $6uUbQ$uint16,\n flags: $6uUbQ$uint16,\n offsetToData: $6uUbQ$uint32,\n offsets: new $6uUbQ$Array(new $6uUbQ$Pointer($dbe33c8d3a7f131c$var$Offset, 'void', {\n relativeTo: (ctx)=>ctx.offsetToData,\n allowNull: false\n }), (t)=>t.glyphCount + 1)\n});\nvar $dbe33c8d3a7f131c$export$2e2bcd8739ae039 = $dbe33c8d3a7f131c$var$gvar;\n\n\n\n\nlet $05b01887df96c4ee$var$ClassTable = new $6uUbQ$Struct({\n length: $6uUbQ$uint16,\n coverage: $6uUbQ$uint16,\n subFeatureFlags: $6uUbQ$uint32,\n stateTable: new (0, $6cb7dd5f47d82580$export$105027425199cc51)\n});\nlet $05b01887df96c4ee$var$WidthDeltaRecord = new $6uUbQ$Struct({\n justClass: $6uUbQ$uint32,\n beforeGrowLimit: $6uUbQ$fixed32,\n beforeShrinkLimit: $6uUbQ$fixed32,\n afterGrowLimit: $6uUbQ$fixed32,\n afterShrinkLimit: $6uUbQ$fixed32,\n growFlags: $6uUbQ$uint16,\n shrinkFlags: $6uUbQ$uint16\n});\nlet $05b01887df96c4ee$var$WidthDeltaCluster = new $6uUbQ$Array($05b01887df96c4ee$var$WidthDeltaRecord, $6uUbQ$uint32);\nlet $05b01887df96c4ee$var$ActionData = new $6uUbQ$VersionedStruct('actionType', {\n 0: {\n lowerLimit: $6uUbQ$fixed32,\n upperLimit: $6uUbQ$fixed32,\n order: $6uUbQ$uint16,\n glyphs: new $6uUbQ$Array($6uUbQ$uint16, $6uUbQ$uint16)\n },\n 1: {\n addGlyph: $6uUbQ$uint16\n },\n 2: {\n substThreshold: $6uUbQ$fixed32,\n addGlyph: $6uUbQ$uint16,\n substGlyph: $6uUbQ$uint16\n },\n 3: {},\n 4: {\n variationAxis: $6uUbQ$uint32,\n minimumLimit: $6uUbQ$fixed32,\n noStretchValue: $6uUbQ$fixed32,\n maximumLimit: $6uUbQ$fixed32\n },\n 5: {\n flags: $6uUbQ$uint16,\n glyph: $6uUbQ$uint16\n }\n});\nlet $05b01887df96c4ee$var$Action = new $6uUbQ$Struct({\n actionClass: $6uUbQ$uint16,\n actionType: $6uUbQ$uint16,\n actionLength: $6uUbQ$uint32,\n actionData: $05b01887df96c4ee$var$ActionData,\n padding: new $6uUbQ$Reserved($6uUbQ$uint8, (t)=>t.actionLength - t._currentOffset)\n});\nlet $05b01887df96c4ee$var$PostcompensationAction = new $6uUbQ$Array($05b01887df96c4ee$var$Action, $6uUbQ$uint32);\nlet $05b01887df96c4ee$var$PostCompensationTable = new $6uUbQ$Struct({\n lookupTable: new (0, $6cb7dd5f47d82580$export$8351f8c2ae2f103c)(new $6uUbQ$Pointer($6uUbQ$uint16, $05b01887df96c4ee$var$PostcompensationAction))\n});\nlet $05b01887df96c4ee$var$JustificationTable = new $6uUbQ$Struct({\n classTable: new $6uUbQ$Pointer($6uUbQ$uint16, $05b01887df96c4ee$var$ClassTable, {\n type: 'parent'\n }),\n wdcOffset: $6uUbQ$uint16,\n postCompensationTable: new $6uUbQ$Pointer($6uUbQ$uint16, $05b01887df96c4ee$var$PostCompensationTable, {\n type: 'parent'\n }),\n widthDeltaClusters: new (0, $6cb7dd5f47d82580$export$8351f8c2ae2f103c)(new $6uUbQ$Pointer($6uUbQ$uint16, $05b01887df96c4ee$var$WidthDeltaCluster, {\n type: 'parent',\n relativeTo: (ctx)=>ctx.wdcOffset\n }))\n});\nvar $05b01887df96c4ee$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n version: $6uUbQ$uint32,\n format: $6uUbQ$uint16,\n horizontal: new $6uUbQ$Pointer($6uUbQ$uint16, $05b01887df96c4ee$var$JustificationTable),\n vertical: new $6uUbQ$Pointer($6uUbQ$uint16, $05b01887df96c4ee$var$JustificationTable)\n});\n\n\n\n\nlet $03ee6ebd54db1053$var$LigatureData = {\n action: $6uUbQ$uint16\n};\nlet $03ee6ebd54db1053$var$ContextualData = {\n markIndex: $6uUbQ$uint16,\n currentIndex: $6uUbQ$uint16\n};\nlet $03ee6ebd54db1053$var$InsertionData = {\n currentInsertIndex: $6uUbQ$uint16,\n markedInsertIndex: $6uUbQ$uint16\n};\nlet $03ee6ebd54db1053$var$SubstitutionTable = new $6uUbQ$Struct({\n items: new (0, $6cb7dd5f47d82580$export$c5af1eebc882e39a)(new $6uUbQ$Pointer($6uUbQ$uint32, new (0, $6cb7dd5f47d82580$export$8351f8c2ae2f103c)))\n});\nlet $03ee6ebd54db1053$var$SubtableData = new $6uUbQ$VersionedStruct('type', {\n 0: {\n stateTable: new (0, $6cb7dd5f47d82580$export$79f7d93d790934ba)\n },\n 1: {\n stateTable: new (0, $6cb7dd5f47d82580$export$79f7d93d790934ba)($03ee6ebd54db1053$var$ContextualData),\n substitutionTable: new $6uUbQ$Pointer($6uUbQ$uint32, $03ee6ebd54db1053$var$SubstitutionTable)\n },\n 2: {\n stateTable: new (0, $6cb7dd5f47d82580$export$79f7d93d790934ba)($03ee6ebd54db1053$var$LigatureData),\n ligatureActions: new $6uUbQ$Pointer($6uUbQ$uint32, new (0, $6cb7dd5f47d82580$export$c5af1eebc882e39a)($6uUbQ$uint32)),\n components: new $6uUbQ$Pointer($6uUbQ$uint32, new (0, $6cb7dd5f47d82580$export$c5af1eebc882e39a)($6uUbQ$uint16)),\n ligatureList: new $6uUbQ$Pointer($6uUbQ$uint32, new (0, $6cb7dd5f47d82580$export$c5af1eebc882e39a)($6uUbQ$uint16))\n },\n 4: {\n lookupTable: new (0, $6cb7dd5f47d82580$export$8351f8c2ae2f103c)\n },\n 5: {\n stateTable: new (0, $6cb7dd5f47d82580$export$79f7d93d790934ba)($03ee6ebd54db1053$var$InsertionData),\n insertionActions: new $6uUbQ$Pointer($6uUbQ$uint32, new (0, $6cb7dd5f47d82580$export$c5af1eebc882e39a)($6uUbQ$uint16))\n }\n});\nlet $03ee6ebd54db1053$var$Subtable = new $6uUbQ$Struct({\n length: $6uUbQ$uint32,\n coverage: $6uUbQ$uint24,\n type: $6uUbQ$uint8,\n subFeatureFlags: $6uUbQ$uint32,\n table: $03ee6ebd54db1053$var$SubtableData,\n padding: new $6uUbQ$Reserved($6uUbQ$uint8, (t)=>t.length - t._currentOffset)\n});\nlet $03ee6ebd54db1053$var$FeatureEntry = new $6uUbQ$Struct({\n featureType: $6uUbQ$uint16,\n featureSetting: $6uUbQ$uint16,\n enableFlags: $6uUbQ$uint32,\n disableFlags: $6uUbQ$uint32\n});\nlet $03ee6ebd54db1053$var$MorxChain = new $6uUbQ$Struct({\n defaultFlags: $6uUbQ$uint32,\n chainLength: $6uUbQ$uint32,\n nFeatureEntries: $6uUbQ$uint32,\n nSubtables: $6uUbQ$uint32,\n features: new $6uUbQ$Array($03ee6ebd54db1053$var$FeatureEntry, 'nFeatureEntries'),\n subtables: new $6uUbQ$Array($03ee6ebd54db1053$var$Subtable, 'nSubtables')\n});\nvar $03ee6ebd54db1053$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n version: $6uUbQ$uint16,\n unused: new $6uUbQ$Reserved($6uUbQ$uint16),\n nChains: $6uUbQ$uint32,\n chains: new $6uUbQ$Array($03ee6ebd54db1053$var$MorxChain, 'nChains')\n});\n\n\n\n\nlet $b7492a80b0d1a056$var$OpticalBounds = new $6uUbQ$Struct({\n left: $6uUbQ$int16,\n top: $6uUbQ$int16,\n right: $6uUbQ$int16,\n bottom: $6uUbQ$int16\n});\nvar $b7492a80b0d1a056$export$2e2bcd8739ae039 = new $6uUbQ$Struct({\n version: $6uUbQ$fixed32,\n format: $6uUbQ$uint16,\n lookupTable: new (0, $6cb7dd5f47d82580$export$8351f8c2ae2f103c)($b7492a80b0d1a056$var$OpticalBounds)\n});\n\n\nlet $c3395722bea751e2$var$tables = {};\nvar $c3395722bea751e2$export$2e2bcd8739ae039 = $c3395722bea751e2$var$tables;\n$c3395722bea751e2$var$tables.cmap = (0, $26a62205ad06574e$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.head = (0, $f2612a29f92ac062$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.hhea = (0, $2c179dd593583073$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.hmtx = (0, $bdc9060542264b85$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.maxp = (0, $dbf51cb3d3fe409d$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.name = (0, $2bcf221753ec8e32$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables['OS/2'] = (0, $84b272aa31b70606$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.post = (0, $32d9e2eb9565d93c$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.fpgm = (0, $5c0f37ca5ffb1850$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.loca = (0, $2b2b260902b1c57e$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.prep = (0, $7afb878c7bea4f66$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables['cvt '] = (0, $5202bd9d9ad8eaac$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.glyf = (0, $6c92b6371bce8bd9$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables['CFF '] = (0, $822ac0d589e4e237$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables['CFF2'] = (0, $822ac0d589e4e237$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.VORG = (0, $2bbf2bc1ce37cd8f$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.EBLC = (0, $9911c4c7201c13de$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.CBLC = $c3395722bea751e2$var$tables.EBLC;\n$c3395722bea751e2$var$tables.sbix = (0, $abb847051efd51b1$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.COLR = (0, $eb629188f3dfefdd$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.CPAL = (0, $08734b8e7dc64587$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.BASE = (0, $497cef411d884e34$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.GDEF = (0, $cf5f33c63ef209e6$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.GPOS = (0, $47e0e8ef515d9903$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.GSUB = (0, $d3f442064af66e06$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.JSTF = (0, $71cfb3c4767fbd0c$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.HVAR = (0, $d059a6bd2d3b5b63$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.DSIG = (0, $dceeca3e1977ce30$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.gasp = (0, $8acd740a9435aad0$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.hdmx = (0, $b5f380243c34d6a0$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.kern = (0, $ca2df1256966e313$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.LTSH = (0, $7a9f92b0c46ebe33$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.PCLT = (0, $2b2ccc419d152631$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.VDMX = (0, $ca5b40b9bcda9c9b$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.vhea = (0, $69530a3c40755af0$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.vmtx = (0, $344073dd270f0e62$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.avar = (0, $3793b781918cfced$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.bsln = (0, $6a3746e8c708f5a3$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.feat = (0, $d0c76fac617b308a$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.fvar = (0, $e83fd065f00fcd01$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.gvar = (0, $dbe33c8d3a7f131c$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.just = (0, $05b01887df96c4ee$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.morx = (0, $03ee6ebd54db1053$export$2e2bcd8739ae039);\n$c3395722bea751e2$var$tables.opbd = (0, $b7492a80b0d1a056$export$2e2bcd8739ae039);\n\n\nlet $816c07a04b6dba87$var$TableEntry = new $6uUbQ$Struct({\n tag: new $6uUbQ$String(4),\n checkSum: $6uUbQ$uint32,\n offset: new $6uUbQ$Pointer($6uUbQ$uint32, 'void', {\n type: 'global'\n }),\n length: $6uUbQ$uint32\n});\nlet $816c07a04b6dba87$var$Directory = new $6uUbQ$Struct({\n tag: new $6uUbQ$String(4),\n numTables: $6uUbQ$uint16,\n searchRange: $6uUbQ$uint16,\n entrySelector: $6uUbQ$uint16,\n rangeShift: $6uUbQ$uint16,\n tables: new $6uUbQ$Array($816c07a04b6dba87$var$TableEntry, 'numTables')\n});\n$816c07a04b6dba87$var$Directory.process = function() {\n let tables = {};\n for (let table of this.tables)tables[table.tag] = table;\n this.tables = tables;\n};\n$816c07a04b6dba87$var$Directory.preEncode = function() {\n if (!Array.isArray(this.tables)) {\n let tables = [];\n for(let tag in this.tables){\n let table = this.tables[tag];\n if (table) tables.push({\n tag: tag,\n checkSum: 0,\n offset: new $6uUbQ$VoidPointer((0, $c3395722bea751e2$export$2e2bcd8739ae039)[tag], table),\n length: (0, $c3395722bea751e2$export$2e2bcd8739ae039)[tag].size(table)\n });\n }\n this.tables = tables;\n }\n this.tag = 'true';\n this.numTables = this.tables.length;\n let maxExponentFor2 = Math.floor(Math.log(this.numTables) / Math.LN2);\n let maxPowerOf2 = Math.pow(2, maxExponentFor2);\n this.searchRange = maxPowerOf2 * 16;\n this.entrySelector = Math.log(maxPowerOf2) / Math.LN2;\n this.rangeShift = this.numTables * 16 - this.searchRange;\n};\nvar $816c07a04b6dba87$export$2e2bcd8739ae039 = $816c07a04b6dba87$var$Directory;\n\n\n\n\nfunction $12727730ddfc8bfe$export$2e0ae67339d5f1ac(arr, cmp) {\n let min = 0;\n let max = arr.length - 1;\n while(min <= max){\n let mid = min + max >> 1;\n let res = cmp(arr[mid]);\n if (res < 0) max = mid - 1;\n else if (res > 0) min = mid + 1;\n else return mid;\n }\n return -1;\n}\nfunction $12727730ddfc8bfe$export$d02631cccf789723(index, end) {\n let range = [];\n while(index < end)range.push(index++);\n return range;\n}\nconst $12727730ddfc8bfe$export$3d28c1996ced1f14 = new TextDecoder('ascii');\n// Based on https://github.com/niklasvh/base64-arraybuffer. MIT license.\nconst $12727730ddfc8bfe$var$CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nconst $12727730ddfc8bfe$var$LOOKUP = new Uint8Array(256);\nfor(let i = 0; i < $12727730ddfc8bfe$var$CHARS.length; i++)$12727730ddfc8bfe$var$LOOKUP[$12727730ddfc8bfe$var$CHARS.charCodeAt(i)] = i;\nfunction $12727730ddfc8bfe$export$94fdf11bafc8de6b(base64) {\n let bufferLength = base64.length * 0.75;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') bufferLength--;\n }\n let bytes = new Uint8Array(bufferLength);\n let p = 0;\n for(let i = 0, len = base64.length; i < len; i += 4){\n let encoded1 = $12727730ddfc8bfe$var$LOOKUP[base64.charCodeAt(i)];\n let encoded2 = $12727730ddfc8bfe$var$LOOKUP[base64.charCodeAt(i + 1)];\n let encoded3 = $12727730ddfc8bfe$var$LOOKUP[base64.charCodeAt(i + 2)];\n let encoded4 = $12727730ddfc8bfe$var$LOOKUP[base64.charCodeAt(i + 3)];\n bytes[p++] = encoded1 << 2 | encoded2 >> 4;\n bytes[p++] = (encoded2 & 15) << 4 | encoded3 >> 2;\n bytes[p++] = (encoded3 & 3) << 6 | encoded4 & 63;\n }\n return bytes;\n}\n\n\n\n\nclass $f08dd41ef10b694c$export$2e2bcd8739ae039 {\n findSubtable(cmapTable, pairs) {\n for (let [platformID, encodingID] of pairs)for (let cmap of cmapTable.tables){\n if (cmap.platformID === platformID && cmap.encodingID === encodingID) return cmap.table;\n }\n return null;\n }\n lookup(codepoint, variationSelector) {\n // If there is no Unicode cmap in this font, we need to re-encode\n // the codepoint in the encoding that the cmap supports.\n if (this.encoding) codepoint = this.encoding.get(codepoint) || codepoint;\n else if (variationSelector) {\n let gid = this.getVariationSelector(codepoint, variationSelector);\n if (gid) return gid;\n }\n let cmap = this.cmap;\n switch(cmap.version){\n case 0:\n return cmap.codeMap.get(codepoint) || 0;\n case 4:\n {\n let min = 0;\n let max = cmap.segCount - 1;\n while(min <= max){\n let mid = min + max >> 1;\n if (codepoint < cmap.startCode.get(mid)) max = mid - 1;\n else if (codepoint > cmap.endCode.get(mid)) min = mid + 1;\n else {\n let rangeOffset = cmap.idRangeOffset.get(mid);\n let gid;\n if (rangeOffset === 0) gid = codepoint + cmap.idDelta.get(mid);\n else {\n let index = rangeOffset / 2 + (codepoint - cmap.startCode.get(mid)) - (cmap.segCount - mid);\n gid = cmap.glyphIndexArray.get(index) || 0;\n if (gid !== 0) gid += cmap.idDelta.get(mid);\n }\n return gid & 0xffff;\n }\n }\n return 0;\n }\n case 8:\n throw new Error('TODO: cmap format 8');\n case 6:\n case 10:\n return cmap.glyphIndices.get(codepoint - cmap.firstCode) || 0;\n case 12:\n case 13:\n {\n let min = 0;\n let max = cmap.nGroups - 1;\n while(min <= max){\n let mid = min + max >> 1;\n let group = cmap.groups.get(mid);\n if (codepoint < group.startCharCode) max = mid - 1;\n else if (codepoint > group.endCharCode) min = mid + 1;\n else {\n if (cmap.version === 12) return group.glyphID + (codepoint - group.startCharCode);\n else return group.glyphID;\n }\n }\n return 0;\n }\n case 14:\n throw new Error('TODO: cmap format 14');\n default:\n throw new Error(`Unknown cmap format ${cmap.version}`);\n }\n }\n getVariationSelector(codepoint, variationSelector) {\n if (!this.uvs) return 0;\n let selectors = this.uvs.varSelectors.toArray();\n let i = (0, $12727730ddfc8bfe$export$2e0ae67339d5f1ac)(selectors, (x)=>variationSelector - x.varSelector);\n let sel = selectors[i];\n if (i !== -1 && sel.defaultUVS) i = (0, $12727730ddfc8bfe$export$2e0ae67339d5f1ac)(sel.defaultUVS, (x)=>codepoint < x.startUnicodeValue ? -1 : codepoint > x.startUnicodeValue + x.additionalCount ? 1 : 0);\n if (i !== -1 && sel.nonDefaultUVS) {\n i = (0, $12727730ddfc8bfe$export$2e0ae67339d5f1ac)(sel.nonDefaultUVS, (x)=>codepoint - x.unicodeValue);\n if (i !== -1) return sel.nonDefaultUVS[i].glyphID;\n }\n return 0;\n }\n getCharacterSet() {\n let cmap = this.cmap;\n switch(cmap.version){\n case 0:\n return (0, $12727730ddfc8bfe$export$d02631cccf789723)(0, cmap.codeMap.length);\n case 4:\n {\n let res = [];\n let endCodes = cmap.endCode.toArray();\n for(let i = 0; i < endCodes.length; i++){\n let tail = endCodes[i] + 1;\n let start = cmap.startCode.get(i);\n res.push(...(0, $12727730ddfc8bfe$export$d02631cccf789723)(start, tail));\n }\n return res;\n }\n case 8:\n throw new Error('TODO: cmap format 8');\n case 6:\n case 10:\n return (0, $12727730ddfc8bfe$export$d02631cccf789723)(cmap.firstCode, cmap.firstCode + cmap.glyphIndices.length);\n case 12:\n case 13:\n {\n let res = [];\n for (let group of cmap.groups.toArray())res.push(...(0, $12727730ddfc8bfe$export$d02631cccf789723)(group.startCharCode, group.endCharCode + 1));\n return res;\n }\n case 14:\n throw new Error('TODO: cmap format 14');\n default:\n throw new Error(`Unknown cmap format ${cmap.version}`);\n }\n }\n codePointsForGlyph(gid) {\n let cmap = this.cmap;\n switch(cmap.version){\n case 0:\n {\n let res = [];\n for(let i = 0; i < 256; i++)if (cmap.codeMap.get(i) === gid) res.push(i);\n return res;\n }\n case 4:\n {\n let res = [];\n for(let i = 0; i < cmap.segCount; i++){\n let end = cmap.endCode.get(i);\n let start = cmap.startCode.get(i);\n let rangeOffset = cmap.idRangeOffset.get(i);\n let delta = cmap.idDelta.get(i);\n for(var c = start; c <= end; c++){\n let g = 0;\n if (rangeOffset === 0) g = c + delta;\n else {\n let index = rangeOffset / 2 + (c - start) - (cmap.segCount - i);\n g = cmap.glyphIndexArray.get(index) || 0;\n if (g !== 0) g += delta;\n }\n if (g === gid) res.push(c);\n }\n }\n return res;\n }\n case 12:\n {\n let res = [];\n for (let group of cmap.groups.toArray())if (gid >= group.glyphID && gid <= group.glyphID + (group.endCharCode - group.startCharCode)) res.push(group.startCharCode + (gid - group.glyphID));\n return res;\n }\n case 13:\n {\n let res = [];\n for (let group of cmap.groups.toArray())if (gid === group.glyphID) res.push(...(0, $12727730ddfc8bfe$export$d02631cccf789723)(group.startCharCode, group.endCharCode + 1));\n return res;\n }\n default:\n throw new Error(`Unknown cmap format ${cmap.version}`);\n }\n }\n constructor(cmapTable){\n // Attempt to find a Unicode cmap first\n this.encoding = null;\n this.cmap = this.findSubtable(cmapTable, [\n // 32-bit subtables\n [\n 3,\n 10\n ],\n [\n 0,\n 6\n ],\n [\n 0,\n 4\n ],\n // 16-bit subtables\n [\n 3,\n 1\n ],\n [\n 0,\n 3\n ],\n [\n 0,\n 2\n ],\n [\n 0,\n 1\n ],\n [\n 0,\n 0\n ]\n ]);\n // If not unicode cmap was found, take the first table with a supported encoding.\n if (!this.cmap) for (let cmap of cmapTable.tables){\n let encoding = (0, $e449ad78d50845fe$export$badc544e0651b6b1)(cmap.platformID, cmap.encodingID, cmap.table.language - 1);\n let mapping = (0, $e449ad78d50845fe$export$1dceb3c14ed68bee)(encoding);\n if (mapping) {\n this.cmap = cmap.table;\n this.encoding = mapping;\n }\n }\n if (!this.cmap) throw new Error(\"Could not find a supported cmap table\");\n this.uvs = this.findSubtable(cmapTable, [\n [\n 0,\n 5\n ]\n ]);\n if (this.uvs && this.uvs.version !== 14) this.uvs = null;\n }\n}\n(0, $6uUbQ$_1)([\n (0, $e71565f2ce09cb6b$export$69a3209f1a06c04d)\n], $f08dd41ef10b694c$export$2e2bcd8739ae039.prototype, \"getCharacterSet\", null);\n(0, $6uUbQ$_1)([\n (0, $e71565f2ce09cb6b$export$69a3209f1a06c04d)\n], $f08dd41ef10b694c$export$2e2bcd8739ae039.prototype, \"codePointsForGlyph\", null);\n\n\n\nclass $0bba3a9db57637f3$export$2e2bcd8739ae039 {\n process(glyphs, positions) {\n for(let glyphIndex = 0; glyphIndex < glyphs.length - 1; glyphIndex++){\n let left = glyphs[glyphIndex].id;\n let right = glyphs[glyphIndex + 1].id;\n positions[glyphIndex].xAdvance += this.getKerning(left, right);\n }\n }\n getKerning(left, right) {\n let res = 0;\n for (let table of this.kern.tables){\n if (table.coverage.crossStream) continue;\n switch(table.version){\n case 0:\n if (!table.coverage.horizontal) continue;\n break;\n case 1:\n if (table.coverage.vertical || table.coverage.variation) continue;\n break;\n default:\n throw new Error(`Unsupported kerning table version ${table.version}`);\n }\n let val = 0;\n let s = table.subtable;\n switch(table.format){\n case 0:\n let pairIdx = (0, $12727730ddfc8bfe$export$2e0ae67339d5f1ac)(s.pairs, function(pair) {\n return left - pair.left || right - pair.right;\n });\n if (pairIdx >= 0) val = s.pairs[pairIdx].value;\n break;\n case 2:\n let leftOffset = 0, rightOffset = 0;\n if (left >= s.leftTable.firstGlyph && left < s.leftTable.firstGlyph + s.leftTable.nGlyphs) leftOffset = s.leftTable.offsets[left - s.leftTable.firstGlyph];\n else leftOffset = s.array.off;\n if (right >= s.rightTable.firstGlyph && right < s.rightTable.firstGlyph + s.rightTable.nGlyphs) rightOffset = s.rightTable.offsets[right - s.rightTable.firstGlyph];\n let index = (leftOffset + rightOffset - s.array.off) / 2;\n val = s.array.values.get(index);\n break;\n case 3:\n if (left >= s.glyphCount || right >= s.glyphCount) return 0;\n val = s.kernValue[s.kernIndex[s.leftClass[left] * s.rightClassCount + s.rightClass[right]]];\n break;\n default:\n throw new Error(`Unsupported kerning sub-table format ${table.format}`);\n }\n // Microsoft supports the override flag, which resets the result\n // Otherwise, the sum of the results from all subtables is returned\n if (table.coverage.override) res = val;\n else res += val;\n }\n return res;\n }\n constructor(font){\n this.kern = font.kern;\n }\n}\n\n\n\nclass $0a4bdfeb6dfd6f5e$export$2e2bcd8739ae039 {\n positionGlyphs(glyphs, positions) {\n // find each base + mark cluster, and position the marks relative to the base\n let clusterStart = 0;\n let clusterEnd = 0;\n for(let index = 0; index < glyphs.length; index++){\n let glyph = glyphs[index];\n if (glyph.isMark) clusterEnd = index;\n else {\n if (clusterStart !== clusterEnd) this.positionCluster(glyphs, positions, clusterStart, clusterEnd);\n clusterStart = clusterEnd = index;\n }\n }\n if (clusterStart !== clusterEnd) this.positionCluster(glyphs, positions, clusterStart, clusterEnd);\n return positions;\n }\n positionCluster(glyphs, positions, clusterStart, clusterEnd) {\n let base = glyphs[clusterStart];\n let baseBox = base.cbox.copy();\n // adjust bounding box for ligature glyphs\n if (base.codePoints.length > 1) // LTR. TODO: RTL support.\n baseBox.minX += (base.codePoints.length - 1) * baseBox.width / base.codePoints.length;\n let xOffset = -positions[clusterStart].xAdvance;\n let yOffset = 0;\n let yGap = this.font.unitsPerEm / 16;\n // position each of the mark glyphs relative to the base glyph\n for(let index = clusterStart + 1; index <= clusterEnd; index++){\n let mark = glyphs[index];\n let markBox = mark.cbox;\n let position = positions[index];\n let combiningClass = this.getCombiningClass(mark.codePoints[0]);\n if (combiningClass !== 'Not_Reordered') {\n position.xOffset = position.yOffset = 0;\n // x positioning\n switch(combiningClass){\n case 'Double_Above':\n case 'Double_Below':\n // LTR. TODO: RTL support.\n position.xOffset += baseBox.minX - markBox.width / 2 - markBox.minX;\n break;\n case 'Attached_Below_Left':\n case 'Below_Left':\n case 'Above_Left':\n // left align\n position.xOffset += baseBox.minX - markBox.minX;\n break;\n case 'Attached_Above_Right':\n case 'Below_Right':\n case 'Above_Right':\n // right align\n position.xOffset += baseBox.maxX - markBox.width - markBox.minX;\n break;\n default:\n // center align\n position.xOffset += baseBox.minX + (baseBox.width - markBox.width) / 2 - markBox.minX;\n }\n // y positioning\n switch(combiningClass){\n case 'Double_Below':\n case 'Below_Left':\n case 'Below':\n case 'Below_Right':\n case 'Attached_Below_Left':\n case 'Attached_Below':\n // add a small gap between the glyphs if they are not attached\n if (combiningClass === 'Attached_Below_Left' || combiningClass === 'Attached_Below') baseBox.minY += yGap;\n position.yOffset = -baseBox.minY - markBox.maxY;\n baseBox.minY += markBox.height;\n break;\n case 'Double_Above':\n case 'Above_Left':\n case 'Above':\n case 'Above_Right':\n case 'Attached_Above':\n case 'Attached_Above_Right':\n // add a small gap between the glyphs if they are not attached\n if (combiningClass === 'Attached_Above' || combiningClass === 'Attached_Above_Right') baseBox.maxY += yGap;\n position.yOffset = baseBox.maxY - markBox.minY;\n baseBox.maxY += markBox.height;\n break;\n }\n position.xAdvance = position.yAdvance = 0;\n position.xOffset += xOffset;\n position.yOffset += yOffset;\n } else {\n xOffset -= position.xAdvance;\n yOffset -= position.yAdvance;\n }\n }\n return;\n }\n getCombiningClass(codePoint) {\n let combiningClass = (0, $6uUbQ$getCombiningClass)(codePoint);\n // Thai / Lao need some per-character work\n if ((codePoint & -256) === 0x0e00) {\n if (combiningClass === 'Not_Reordered') switch(codePoint){\n case 0x0e31:\n case 0x0e34:\n case 0x0e35:\n case 0x0e36:\n case 0x0e37:\n case 0x0e47:\n case 0x0e4c:\n case 0x0e3d:\n case 0x0e4e:\n return 'Above_Right';\n case 0x0eb1:\n case 0x0eb4:\n case 0x0eb5:\n case 0x0eb6:\n case 0x0eb7:\n case 0x0ebb:\n case 0x0ecc:\n case 0x0ecd:\n return 'Above';\n case 0x0ebc:\n return 'Below';\n }\n else if (codePoint === 0x0e3a) return 'Below_Right';\n }\n switch(combiningClass){\n // Hebrew\n case 'CCC10':\n case 'CCC11':\n case 'CCC12':\n case 'CCC13':\n case 'CCC14':\n case 'CCC15':\n case 'CCC16':\n case 'CCC17':\n case 'CCC18':\n case 'CCC20':\n case 'CCC22':\n return 'Below';\n case 'CCC23':\n return 'Attached_Above';\n case 'CCC24':\n return 'Above_Right';\n case 'CCC25':\n case 'CCC19':\n return 'Above_Left';\n case 'CCC26':\n return 'Above';\n case 'CCC21':\n break;\n // Arabic and Syriac\n case 'CCC27':\n case 'CCC28':\n case 'CCC30':\n case 'CCC31':\n case 'CCC33':\n case 'CCC34':\n case 'CCC35':\n case 'CCC36':\n return 'Above';\n case 'CCC29':\n case 'CCC32':\n return 'Below';\n // Thai\n case 'CCC103':\n return 'Below_Right';\n case 'CCC107':\n return 'Above_Right';\n // Lao\n case 'CCC118':\n return 'Below';\n case 'CCC122':\n return 'Above';\n // Tibetan\n case 'CCC129':\n case 'CCC132':\n return 'Below';\n case 'CCC130':\n return 'Above';\n }\n return combiningClass;\n }\n constructor(font){\n this.font = font;\n }\n}\n\n\n/**\n * Represents a glyph bounding box\n */ class $f34600ab9d7f70d8$export$2e2bcd8739ae039 {\n /**\n * The width of the bounding box\n * @type {number}\n */ get width() {\n return this.maxX - this.minX;\n }\n /**\n * The height of the bounding box\n * @type {number}\n */ get height() {\n return this.maxY - this.minY;\n }\n addPoint(x, y) {\n if (Math.abs(x) !== Infinity) {\n if (x < this.minX) this.minX = x;\n if (x > this.maxX) this.maxX = x;\n }\n if (Math.abs(y) !== Infinity) {\n if (y < this.minY) this.minY = y;\n if (y > this.maxY) this.maxY = y;\n }\n }\n copy() {\n return new $f34600ab9d7f70d8$export$2e2bcd8739ae039(this.minX, this.minY, this.maxX, this.maxY);\n }\n constructor(minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity){\n /**\n * The minimum X position in the bounding box\n * @type {number}\n */ this.minX = minX;\n /**\n * The minimum Y position in the bounding box\n * @type {number}\n */ this.minY = minY;\n /**\n * The maxmimum X position in the bounding box\n * @type {number}\n */ this.maxX = maxX;\n /**\n * The maxmimum Y position in the bounding box\n * @type {number}\n */ this.maxY = maxY;\n }\n}\n\n\n\n// This maps the Unicode Script property to an OpenType script tag\n// Data from http://www.microsoft.com/typography/otspec/scripttags.htm\n// and http://www.unicode.org/Public/UNIDATA/PropertyValueAliases.txt.\nconst $130d1a642ebcd2b7$var$UNICODE_SCRIPTS = {\n Caucasian_Albanian: 'aghb',\n Arabic: 'arab',\n Imperial_Aramaic: 'armi',\n Armenian: 'armn',\n Avestan: 'avst',\n Balinese: 'bali',\n Bamum: 'bamu',\n Bassa_Vah: 'bass',\n Batak: 'batk',\n Bengali: [\n 'bng2',\n 'beng'\n ],\n Bopomofo: 'bopo',\n Brahmi: 'brah',\n Braille: 'brai',\n Buginese: 'bugi',\n Buhid: 'buhd',\n Chakma: 'cakm',\n Canadian_Aboriginal: 'cans',\n Carian: 'cari',\n Cham: 'cham',\n Cherokee: 'cher',\n Coptic: 'copt',\n Cypriot: 'cprt',\n Cyrillic: 'cyrl',\n Devanagari: [\n 'dev2',\n 'deva'\n ],\n Deseret: 'dsrt',\n Duployan: 'dupl',\n Egyptian_Hieroglyphs: 'egyp',\n Elbasan: 'elba',\n Ethiopic: 'ethi',\n Georgian: 'geor',\n Glagolitic: 'glag',\n Gothic: 'goth',\n Grantha: 'gran',\n Greek: 'grek',\n Gujarati: [\n 'gjr2',\n 'gujr'\n ],\n Gurmukhi: [\n 'gur2',\n 'guru'\n ],\n Hangul: 'hang',\n Han: 'hani',\n Hanunoo: 'hano',\n Hebrew: 'hebr',\n Hiragana: 'hira',\n Pahawh_Hmong: 'hmng',\n Katakana_Or_Hiragana: 'hrkt',\n Old_Italic: 'ital',\n Javanese: 'java',\n Kayah_Li: 'kali',\n Katakana: 'kana',\n Kharoshthi: 'khar',\n Khmer: 'khmr',\n Khojki: 'khoj',\n Kannada: [\n 'knd2',\n 'knda'\n ],\n Kaithi: 'kthi',\n Tai_Tham: 'lana',\n Lao: 'lao ',\n Latin: 'latn',\n Lepcha: 'lepc',\n Limbu: 'limb',\n Linear_A: 'lina',\n Linear_B: 'linb',\n Lisu: 'lisu',\n Lycian: 'lyci',\n Lydian: 'lydi',\n Mahajani: 'mahj',\n Mandaic: 'mand',\n Manichaean: 'mani',\n Mende_Kikakui: 'mend',\n Meroitic_Cursive: 'merc',\n Meroitic_Hieroglyphs: 'mero',\n Malayalam: [\n 'mlm2',\n 'mlym'\n ],\n Modi: 'modi',\n Mongolian: 'mong',\n Mro: 'mroo',\n Meetei_Mayek: 'mtei',\n Myanmar: [\n 'mym2',\n 'mymr'\n ],\n Old_North_Arabian: 'narb',\n Nabataean: 'nbat',\n Nko: 'nko ',\n Ogham: 'ogam',\n Ol_Chiki: 'olck',\n Old_Turkic: 'orkh',\n Oriya: [\n 'ory2',\n 'orya'\n ],\n Osmanya: 'osma',\n Palmyrene: 'palm',\n Pau_Cin_Hau: 'pauc',\n Old_Permic: 'perm',\n Phags_Pa: 'phag',\n Inscriptional_Pahlavi: 'phli',\n Psalter_Pahlavi: 'phlp',\n Phoenician: 'phnx',\n Miao: 'plrd',\n Inscriptional_Parthian: 'prti',\n Rejang: 'rjng',\n Runic: 'runr',\n Samaritan: 'samr',\n Old_South_Arabian: 'sarb',\n Saurashtra: 'saur',\n Shavian: 'shaw',\n Sharada: 'shrd',\n Siddham: 'sidd',\n Khudawadi: 'sind',\n Sinhala: 'sinh',\n Sora_Sompeng: 'sora',\n Sundanese: 'sund',\n Syloti_Nagri: 'sylo',\n Syriac: 'syrc',\n Tagbanwa: 'tagb',\n Takri: 'takr',\n Tai_Le: 'tale',\n New_Tai_Lue: 'talu',\n Tamil: [\n 'tml2',\n 'taml'\n ],\n Tai_Viet: 'tavt',\n Telugu: [\n 'tel2',\n 'telu'\n ],\n Tifinagh: 'tfng',\n Tagalog: 'tglg',\n Thaana: 'thaa',\n Thai: 'thai',\n Tibetan: 'tibt',\n Tirhuta: 'tirh',\n Ugaritic: 'ugar',\n Vai: 'vai ',\n Warang_Citi: 'wara',\n Old_Persian: 'xpeo',\n Cuneiform: 'xsux',\n Yi: 'yi ',\n Inherited: 'zinh',\n Common: 'zyyy',\n Unknown: 'zzzz'\n};\nconst $130d1a642ebcd2b7$var$OPENTYPE_SCRIPTS = {};\nfor(let script in $130d1a642ebcd2b7$var$UNICODE_SCRIPTS){\n let tag = $130d1a642ebcd2b7$var$UNICODE_SCRIPTS[script];\n if (Array.isArray(tag)) for (let t of tag)$130d1a642ebcd2b7$var$OPENTYPE_SCRIPTS[t] = script;\n else $130d1a642ebcd2b7$var$OPENTYPE_SCRIPTS[tag] = script;\n}\nfunction $130d1a642ebcd2b7$export$b32f0b5f69d65e51(script) {\n return $130d1a642ebcd2b7$var$UNICODE_SCRIPTS[script];\n}\nfunction $130d1a642ebcd2b7$export$ce50e82f12a827a4(tag) {\n return $130d1a642ebcd2b7$var$OPENTYPE_SCRIPTS[tag];\n}\nfunction $130d1a642ebcd2b7$export$e5cb25e204fb8450(string) {\n let len = string.length;\n let idx = 0;\n while(idx < len){\n let code = string.charCodeAt(idx++);\n // Check if this is a high surrogate\n if (0xd800 <= code && code <= 0xdbff && idx < len) {\n let next = string.charCodeAt(idx);\n // Check if this is a low surrogate\n if (0xdc00 <= next && next <= 0xdfff) {\n idx++;\n code = ((code & 0x3FF) << 10) + (next & 0x3FF) + 0x10000;\n }\n }\n let script = (0, $6uUbQ$getScript)(code);\n if (script !== 'Common' && script !== 'Inherited' && script !== 'Unknown') return $130d1a642ebcd2b7$var$UNICODE_SCRIPTS[script];\n }\n return $130d1a642ebcd2b7$var$UNICODE_SCRIPTS.Unknown;\n}\nfunction $130d1a642ebcd2b7$export$16fab0757cfc223d(codePoints) {\n for(let i = 0; i < codePoints.length; i++){\n let codePoint = codePoints[i];\n let script = (0, $6uUbQ$getScript)(codePoint);\n if (script !== 'Common' && script !== 'Inherited' && script !== 'Unknown') return $130d1a642ebcd2b7$var$UNICODE_SCRIPTS[script];\n }\n return $130d1a642ebcd2b7$var$UNICODE_SCRIPTS.Unknown;\n}\n// The scripts in this map are written from right to left\nconst $130d1a642ebcd2b7$var$RTL = {\n arab: true,\n hebr: true,\n syrc: true,\n thaa: true,\n cprt: true,\n khar: true,\n phnx: true,\n 'nko ': true,\n lydi: true,\n avst: true,\n armi: true,\n phli: true,\n prti: true,\n sarb: true,\n orkh: true,\n samr: true,\n mand: true,\n merc: true,\n mero: true,\n // Unicode 7.0 (not listed on http://www.microsoft.com/typography/otspec/scripttags.htm)\n mani: true,\n mend: true,\n nbat: true,\n narb: true,\n palm: true,\n phlp: true // Psalter Pahlavi\n};\nfunction $130d1a642ebcd2b7$export$9fddb9d0dd7d8a54(script) {\n if ($130d1a642ebcd2b7$var$RTL[script]) return 'rtl';\n return 'ltr';\n}\n\n\nclass $be07b3e97a42687a$export$2e2bcd8739ae039 {\n /**\n * The total advance width of the run.\n * @type {number}\n */ get advanceWidth() {\n let width = 0;\n for (let position of this.positions)width += position.xAdvance;\n return width;\n }\n /**\n * The total advance height of the run.\n * @type {number}\n */ get advanceHeight() {\n let height = 0;\n for (let position of this.positions)height += position.yAdvance;\n return height;\n }\n /**\n * The bounding box containing all glyphs in the run.\n * @type {BBox}\n */ get bbox() {\n let bbox = new (0, $f34600ab9d7f70d8$export$2e2bcd8739ae039);\n let x = 0;\n let y = 0;\n for(let index = 0; index < this.glyphs.length; index++){\n let glyph = this.glyphs[index];\n let p = this.positions[index];\n let b = glyph.bbox;\n bbox.addPoint(b.minX + x + p.xOffset, b.minY + y + p.yOffset);\n bbox.addPoint(b.maxX + x + p.xOffset, b.maxY + y + p.yOffset);\n x += p.xAdvance;\n y += p.yAdvance;\n }\n return bbox;\n }\n constructor(glyphs, features, script, language, direction){\n /**\n * An array of Glyph objects in the run\n * @type {Glyph[]}\n */ this.glyphs = glyphs;\n /**\n * An array of GlyphPosition objects for each glyph in the run\n * @type {GlyphPosition[]}\n */ this.positions = null;\n /**\n * The script that was requested for shaping. This was either passed in or detected automatically.\n * @type {string}\n */ this.script = script;\n /**\n * The language requested for shaping, as passed in. If `null`, the default language for the\n * script was used.\n * @type {string}\n */ this.language = language || null;\n /**\n * The direction requested for shaping, as passed in (either ltr or rtl).\n * If `null`, the default direction of the script is used.\n * @type {string}\n */ this.direction = direction || $130d1a642ebcd2b7$export$9fddb9d0dd7d8a54(script);\n /**\n * The features requested during shaping. This is a combination of user\n * specified features and features chosen by the shaper.\n * @type {object}\n */ this.features = {};\n // Convert features to an object\n if (Array.isArray(features)) for (let tag of features)this.features[tag] = true;\n else if (typeof features === 'object') this.features = features;\n }\n}\n\n\n/**\n * Represents positioning information for a glyph in a GlyphRun.\n */ class $1ac75d9a55b67f01$export$2e2bcd8739ae039 {\n constructor(xAdvance = 0, yAdvance = 0, xOffset = 0, yOffset = 0){\n /**\n * The amount to move the virtual pen in the X direction after rendering this glyph.\n * @type {number}\n */ this.xAdvance = xAdvance;\n /**\n * The amount to move the virtual pen in the Y direction after rendering this glyph.\n * @type {number}\n */ this.yAdvance = yAdvance;\n /**\n * The offset from the pen position in the X direction at which to render this glyph.\n * @type {number}\n */ this.xOffset = xOffset;\n /**\n * The offset from the pen position in the Y direction at which to render this glyph.\n * @type {number}\n */ this.yOffset = yOffset;\n }\n}\n\n\n\n// see https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html\n// and /System/Library/Frameworks/CoreText.framework/Versions/A/Headers/SFNTLayoutTypes.h on a Mac\nconst $3b6302b64eccc32c$var$features = {\n allTypographicFeatures: {\n code: 0,\n exclusive: false,\n allTypeFeatures: 0\n },\n ligatures: {\n code: 1,\n exclusive: false,\n requiredLigatures: 0,\n commonLigatures: 2,\n rareLigatures: 4,\n // logos: 6\n rebusPictures: 8,\n diphthongLigatures: 10,\n squaredLigatures: 12,\n abbrevSquaredLigatures: 14,\n symbolLigatures: 16,\n contextualLigatures: 18,\n historicalLigatures: 20\n },\n cursiveConnection: {\n code: 2,\n exclusive: true,\n unconnected: 0,\n partiallyConnected: 1,\n cursive: 2\n },\n letterCase: {\n code: 3,\n exclusive: true\n },\n // upperAndLowerCase: 0 # deprecated\n // allCaps: 1 # deprecated\n // allLowerCase: 2 # deprecated\n // smallCaps: 3 # deprecated\n // initialCaps: 4 # deprecated\n // initialCapsAndSmallCaps: 5 # deprecated\n verticalSubstitution: {\n code: 4,\n exclusive: false,\n substituteVerticalForms: 0\n },\n linguisticRearrangement: {\n code: 5,\n exclusive: false,\n linguisticRearrangement: 0\n },\n numberSpacing: {\n code: 6,\n exclusive: true,\n monospacedNumbers: 0,\n proportionalNumbers: 1,\n thirdWidthNumbers: 2,\n quarterWidthNumbers: 3\n },\n smartSwash: {\n code: 8,\n exclusive: false,\n wordInitialSwashes: 0,\n wordFinalSwashes: 2,\n // lineInitialSwashes: 4\n // lineFinalSwashes: 6\n nonFinalSwashes: 8\n },\n diacritics: {\n code: 9,\n exclusive: true,\n showDiacritics: 0,\n hideDiacritics: 1,\n decomposeDiacritics: 2\n },\n verticalPosition: {\n code: 10,\n exclusive: true,\n normalPosition: 0,\n superiors: 1,\n inferiors: 2,\n ordinals: 3,\n scientificInferiors: 4\n },\n fractions: {\n code: 11,\n exclusive: true,\n noFractions: 0,\n verticalFractions: 1,\n diagonalFractions: 2\n },\n overlappingCharacters: {\n code: 13,\n exclusive: false,\n preventOverlap: 0\n },\n typographicExtras: {\n code: 14,\n exclusive: false,\n // hyphensToEmDash: 0\n // hyphenToEnDash: 2\n slashedZero: 4\n },\n // formInterrobang: 6\n // smartQuotes: 8\n // periodsToEllipsis: 10\n mathematicalExtras: {\n code: 15,\n exclusive: false,\n // hyphenToMinus: 0\n // asteristoMultiply: 2\n // slashToDivide: 4\n // inequalityLigatures: 6\n // exponents: 8\n mathematicalGreek: 10\n },\n ornamentSets: {\n code: 16,\n exclusive: true,\n noOrnaments: 0,\n dingbats: 1,\n piCharacters: 2,\n fleurons: 3,\n decorativeBorders: 4,\n internationalSymbols: 5,\n mathSymbols: 6\n },\n characterAlternatives: {\n code: 17,\n exclusive: true,\n noAlternates: 0\n },\n // user defined options\n designComplexity: {\n code: 18,\n exclusive: true,\n designLevel1: 0,\n designLevel2: 1,\n designLevel3: 2,\n designLevel4: 3,\n designLevel5: 4\n },\n styleOptions: {\n code: 19,\n exclusive: true,\n noStyleOptions: 0,\n displayText: 1,\n engravedText: 2,\n illuminatedCaps: 3,\n titlingCaps: 4,\n tallCaps: 5\n },\n characterShape: {\n code: 20,\n exclusive: true,\n traditionalCharacters: 0,\n simplifiedCharacters: 1,\n JIS1978Characters: 2,\n JIS1983Characters: 3,\n JIS1990Characters: 4,\n traditionalAltOne: 5,\n traditionalAltTwo: 6,\n traditionalAltThree: 7,\n traditionalAltFour: 8,\n traditionalAltFive: 9,\n expertCharacters: 10,\n JIS2004Characters: 11,\n hojoCharacters: 12,\n NLCCharacters: 13,\n traditionalNamesCharacters: 14\n },\n numberCase: {\n code: 21,\n exclusive: true,\n lowerCaseNumbers: 0,\n upperCaseNumbers: 1\n },\n textSpacing: {\n code: 22,\n exclusive: true,\n proportionalText: 0,\n monospacedText: 1,\n halfWidthText: 2,\n thirdWidthText: 3,\n quarterWidthText: 4,\n altProportionalText: 5,\n altHalfWidthText: 6\n },\n transliteration: {\n code: 23,\n exclusive: true,\n noTransliteration: 0\n },\n // hanjaToHangul: 1\n // hiraganaToKatakana: 2\n // katakanaToHiragana: 3\n // kanaToRomanization: 4\n // romanizationToHiragana: 5\n // romanizationToKatakana: 6\n // hanjaToHangulAltOne: 7\n // hanjaToHangulAltTwo: 8\n // hanjaToHangulAltThree: 9\n annotation: {\n code: 24,\n exclusive: true,\n noAnnotation: 0,\n boxAnnotation: 1,\n roundedBoxAnnotation: 2,\n circleAnnotation: 3,\n invertedCircleAnnotation: 4,\n parenthesisAnnotation: 5,\n periodAnnotation: 6,\n romanNumeralAnnotation: 7,\n diamondAnnotation: 8,\n invertedBoxAnnotation: 9,\n invertedRoundedBoxAnnotation: 10\n },\n kanaSpacing: {\n code: 25,\n exclusive: true,\n fullWidthKana: 0,\n proportionalKana: 1\n },\n ideographicSpacing: {\n code: 26,\n exclusive: true,\n fullWidthIdeographs: 0,\n proportionalIdeographs: 1,\n halfWidthIdeographs: 2\n },\n unicodeDecomposition: {\n code: 27,\n exclusive: false,\n canonicalComposition: 0,\n compatibilityComposition: 2,\n transcodingComposition: 4\n },\n rubyKana: {\n code: 28,\n exclusive: false,\n // noRubyKana: 0 # deprecated - use rubyKanaOff instead\n // rubyKana: 1 # deprecated - use rubyKanaOn instead\n rubyKana: 2\n },\n CJKSymbolAlternatives: {\n code: 29,\n exclusive: true,\n noCJKSymbolAlternatives: 0,\n CJKSymbolAltOne: 1,\n CJKSymbolAltTwo: 2,\n CJKSymbolAltThree: 3,\n CJKSymbolAltFour: 4,\n CJKSymbolAltFive: 5\n },\n ideographicAlternatives: {\n code: 30,\n exclusive: true,\n noIdeographicAlternatives: 0,\n ideographicAltOne: 1,\n ideographicAltTwo: 2,\n ideographicAltThree: 3,\n ideographicAltFour: 4,\n ideographicAltFive: 5\n },\n CJKVerticalRomanPlacement: {\n code: 31,\n exclusive: true,\n CJKVerticalRomanCentered: 0,\n CJKVerticalRomanHBaseline: 1\n },\n italicCJKRoman: {\n code: 32,\n exclusive: false,\n // noCJKItalicRoman: 0 # deprecated - use CJKItalicRomanOff instead\n // CJKItalicRoman: 1 # deprecated - use CJKItalicRomanOn instead\n CJKItalicRoman: 2\n },\n caseSensitiveLayout: {\n code: 33,\n exclusive: false,\n caseSensitiveLayout: 0,\n caseSensitiveSpacing: 2\n },\n alternateKana: {\n code: 34,\n exclusive: false,\n alternateHorizKana: 0,\n alternateVertKana: 2\n },\n stylisticAlternatives: {\n code: 35,\n exclusive: false,\n noStylisticAlternates: 0,\n stylisticAltOne: 2,\n stylisticAltTwo: 4,\n stylisticAltThree: 6,\n stylisticAltFour: 8,\n stylisticAltFive: 10,\n stylisticAltSix: 12,\n stylisticAltSeven: 14,\n stylisticAltEight: 16,\n stylisticAltNine: 18,\n stylisticAltTen: 20,\n stylisticAltEleven: 22,\n stylisticAltTwelve: 24,\n stylisticAltThirteen: 26,\n stylisticAltFourteen: 28,\n stylisticAltFifteen: 30,\n stylisticAltSixteen: 32,\n stylisticAltSeventeen: 34,\n stylisticAltEighteen: 36,\n stylisticAltNineteen: 38,\n stylisticAltTwenty: 40\n },\n contextualAlternates: {\n code: 36,\n exclusive: false,\n contextualAlternates: 0,\n swashAlternates: 2,\n contextualSwashAlternates: 4\n },\n lowerCase: {\n code: 37,\n exclusive: true,\n defaultLowerCase: 0,\n lowerCaseSmallCaps: 1,\n lowerCasePetiteCaps: 2\n },\n upperCase: {\n code: 38,\n exclusive: true,\n defaultUpperCase: 0,\n upperCaseSmallCaps: 1,\n upperCasePetiteCaps: 2\n },\n languageTag: {\n code: 39,\n exclusive: true\n },\n CJKRomanSpacing: {\n code: 103,\n exclusive: true,\n halfWidthCJKRoman: 0,\n proportionalCJKRoman: 1,\n defaultCJKRoman: 2,\n fullWidthCJKRoman: 3\n }\n};\nconst $3b6302b64eccc32c$var$feature = (name, selector)=>[\n $3b6302b64eccc32c$var$features[name].code,\n $3b6302b64eccc32c$var$features[name][selector]\n ];\nconst $3b6302b64eccc32c$var$OTMapping = {\n rlig: $3b6302b64eccc32c$var$feature('ligatures', 'requiredLigatures'),\n clig: $3b6302b64eccc32c$var$feature('ligatures', 'contextualLigatures'),\n dlig: $3b6302b64eccc32c$var$feature('ligatures', 'rareLigatures'),\n hlig: $3b6302b64eccc32c$var$feature('ligatures', 'historicalLigatures'),\n liga: $3b6302b64eccc32c$var$feature('ligatures', 'commonLigatures'),\n hist: $3b6302b64eccc32c$var$feature('ligatures', 'historicalLigatures'),\n smcp: $3b6302b64eccc32c$var$feature('lowerCase', 'lowerCaseSmallCaps'),\n pcap: $3b6302b64eccc32c$var$feature('lowerCase', 'lowerCasePetiteCaps'),\n frac: $3b6302b64eccc32c$var$feature('fractions', 'diagonalFractions'),\n dnom: $3b6302b64eccc32c$var$feature('fractions', 'diagonalFractions'),\n numr: $3b6302b64eccc32c$var$feature('fractions', 'diagonalFractions'),\n afrc: $3b6302b64eccc32c$var$feature('fractions', 'verticalFractions'),\n // aalt\n // abvf, abvm, abvs, akhn, blwf, blwm, blws, cfar, cjct, cpsp, falt, isol, jalt, ljmo, mset?\n // ltra, ltrm, nukt, pref, pres, pstf, psts, rand, rkrf, rphf, rtla, rtlm, size, tjmo, tnum?\n // unic, vatu, vhal, vjmo, vpal, vrt2\n // dist -> trak table?\n // kern, vkrn -> kern table\n // lfbd + opbd + rtbd -> opbd table?\n // mark, mkmk -> acnt table?\n // locl -> languageTag + ltag table\n case: $3b6302b64eccc32c$var$feature('caseSensitiveLayout', 'caseSensitiveLayout'),\n ccmp: $3b6302b64eccc32c$var$feature('unicodeDecomposition', 'canonicalComposition'),\n cpct: $3b6302b64eccc32c$var$feature('CJKVerticalRomanPlacement', 'CJKVerticalRomanCentered'),\n valt: $3b6302b64eccc32c$var$feature('CJKVerticalRomanPlacement', 'CJKVerticalRomanCentered'),\n swsh: $3b6302b64eccc32c$var$feature('contextualAlternates', 'swashAlternates'),\n cswh: $3b6302b64eccc32c$var$feature('contextualAlternates', 'contextualSwashAlternates'),\n curs: $3b6302b64eccc32c$var$feature('cursiveConnection', 'cursive'),\n c2pc: $3b6302b64eccc32c$var$feature('upperCase', 'upperCasePetiteCaps'),\n c2sc: $3b6302b64eccc32c$var$feature('upperCase', 'upperCaseSmallCaps'),\n init: $3b6302b64eccc32c$var$feature('smartSwash', 'wordInitialSwashes'),\n fin2: $3b6302b64eccc32c$var$feature('smartSwash', 'wordFinalSwashes'),\n medi: $3b6302b64eccc32c$var$feature('smartSwash', 'nonFinalSwashes'),\n med2: $3b6302b64eccc32c$var$feature('smartSwash', 'nonFinalSwashes'),\n fin3: $3b6302b64eccc32c$var$feature('smartSwash', 'wordFinalSwashes'),\n fina: $3b6302b64eccc32c$var$feature('smartSwash', 'wordFinalSwashes'),\n pkna: $3b6302b64eccc32c$var$feature('kanaSpacing', 'proportionalKana'),\n half: $3b6302b64eccc32c$var$feature('textSpacing', 'halfWidthText'),\n halt: $3b6302b64eccc32c$var$feature('textSpacing', 'altHalfWidthText'),\n hkna: $3b6302b64eccc32c$var$feature('alternateKana', 'alternateHorizKana'),\n vkna: $3b6302b64eccc32c$var$feature('alternateKana', 'alternateVertKana'),\n // hngl: feature 'transliteration', 'hanjaToHangulSelector' # deprecated\n ital: $3b6302b64eccc32c$var$feature('italicCJKRoman', 'CJKItalicRoman'),\n lnum: $3b6302b64eccc32c$var$feature('numberCase', 'upperCaseNumbers'),\n onum: $3b6302b64eccc32c$var$feature('numberCase', 'lowerCaseNumbers'),\n mgrk: $3b6302b64eccc32c$var$feature('mathematicalExtras', 'mathematicalGreek'),\n // nalt: not enough info. what type of annotation?\n // ornm: ditto, which ornament style?\n calt: $3b6302b64eccc32c$var$feature('contextualAlternates', 'contextualAlternates'),\n vrt2: $3b6302b64eccc32c$var$feature('verticalSubstitution', 'substituteVerticalForms'),\n vert: $3b6302b64eccc32c$var$feature('verticalSubstitution', 'substituteVerticalForms'),\n tnum: $3b6302b64eccc32c$var$feature('numberSpacing', 'monospacedNumbers'),\n pnum: $3b6302b64eccc32c$var$feature('numberSpacing', 'proportionalNumbers'),\n sups: $3b6302b64eccc32c$var$feature('verticalPosition', 'superiors'),\n subs: $3b6302b64eccc32c$var$feature('verticalPosition', 'inferiors'),\n ordn: $3b6302b64eccc32c$var$feature('verticalPosition', 'ordinals'),\n pwid: $3b6302b64eccc32c$var$feature('textSpacing', 'proportionalText'),\n hwid: $3b6302b64eccc32c$var$feature('textSpacing', 'halfWidthText'),\n qwid: $3b6302b64eccc32c$var$feature('textSpacing', 'quarterWidthText'),\n twid: $3b6302b64eccc32c$var$feature('textSpacing', 'thirdWidthText'),\n fwid: $3b6302b64eccc32c$var$feature('textSpacing', 'proportionalText'),\n palt: $3b6302b64eccc32c$var$feature('textSpacing', 'altProportionalText'),\n trad: $3b6302b64eccc32c$var$feature('characterShape', 'traditionalCharacters'),\n smpl: $3b6302b64eccc32c$var$feature('characterShape', 'simplifiedCharacters'),\n jp78: $3b6302b64eccc32c$var$feature('characterShape', 'JIS1978Characters'),\n jp83: $3b6302b64eccc32c$var$feature('characterShape', 'JIS1983Characters'),\n jp90: $3b6302b64eccc32c$var$feature('characterShape', 'JIS1990Characters'),\n jp04: $3b6302b64eccc32c$var$feature('characterShape', 'JIS2004Characters'),\n expt: $3b6302b64eccc32c$var$feature('characterShape', 'expertCharacters'),\n hojo: $3b6302b64eccc32c$var$feature('characterShape', 'hojoCharacters'),\n nlck: $3b6302b64eccc32c$var$feature('characterShape', 'NLCCharacters'),\n tnam: $3b6302b64eccc32c$var$feature('characterShape', 'traditionalNamesCharacters'),\n ruby: $3b6302b64eccc32c$var$feature('rubyKana', 'rubyKana'),\n titl: $3b6302b64eccc32c$var$feature('styleOptions', 'titlingCaps'),\n zero: $3b6302b64eccc32c$var$feature('typographicExtras', 'slashedZero'),\n ss01: $3b6302b64eccc32c$var$feature('stylisticAlternatives', 'stylisticAltOne'),\n ss02: $3b6302b64eccc32c$var$feature('stylisticAlternatives', 'stylisticAltTwo'),\n ss03: $3b6302b64eccc32c$var$feature('stylisticAlternatives', 'stylisticAltThree'),\n ss04: $3b6302b64eccc32c$var$feature('stylisticAlternatives', 'stylisticAltFour'),\n ss05: $3b6302b64eccc32c$var$feature('stylisticAlternatives', 'stylisticAltFive'),\n ss06: $3b6302b64eccc32c$var$feature('stylisticAlternatives', 'stylisticAltSix'),\n ss07: $3b6302b64eccc32c$var$feature('stylisticAlternatives', 'stylisticAltSeven'),\n ss08: $3b6302b64eccc32c$var$feature('stylisticAlternatives', 'stylisticAltEight'),\n ss09: $3b6302b64eccc32c$var$feature('stylisticAlternatives', 'stylisticAltNine'),\n ss10: $3b6302b64eccc32c$var$feature('stylisticAlternatives', 'stylisticAltTen'),\n ss11: $3b6302b64eccc32c$var$feature('stylisticAlternatives', 'stylisticAltEleven'),\n ss12: $3b6302b64eccc32c$var$feature('stylisticAlternatives', 'stylisticAltTwelve'),\n ss13: $3b6302b64eccc32c$var$feature('stylisticAlternatives', 'stylisticAltThirteen'),\n ss14: $3b6302b64eccc32c$var$feature('stylisticAlternatives', 'stylisticAltFourteen'),\n ss15: $3b6302b64eccc32c$var$feature('stylisticAlternatives', 'stylisticAltFifteen'),\n ss16: $3b6302b64eccc32c$var$feature('stylisticAlternatives', 'stylisticAltSixteen'),\n ss17: $3b6302b64eccc32c$var$feature('stylisticAlternatives', 'stylisticAltSeventeen'),\n ss18: $3b6302b64eccc32c$var$feature('stylisticAlternatives', 'stylisticAltEighteen'),\n ss19: $3b6302b64eccc32c$var$feature('stylisticAlternatives', 'stylisticAltNineteen'),\n ss20: $3b6302b64eccc32c$var$feature('stylisticAlternatives', 'stylisticAltTwenty')\n};\n// salt: feature 'stylisticAlternatives', 'stylisticAltOne' # hmm, which one to choose\n// Add cv01-cv99 features\nfor(let i = 1; i <= 99; i++)$3b6302b64eccc32c$var$OTMapping[`cv${`00${i}`.slice(-2)}`] = [\n $3b6302b64eccc32c$var$features.characterAlternatives.code,\n i\n];\n// create inverse mapping\nlet $3b6302b64eccc32c$var$AATMapping = {};\nfor(let ot in $3b6302b64eccc32c$var$OTMapping){\n let aat = $3b6302b64eccc32c$var$OTMapping[ot];\n if ($3b6302b64eccc32c$var$AATMapping[aat[0]] == null) $3b6302b64eccc32c$var$AATMapping[aat[0]] = {};\n $3b6302b64eccc32c$var$AATMapping[aat[0]][aat[1]] = ot;\n}\nfunction $3b6302b64eccc32c$export$b813f7d2a1677c16(features) {\n let res = {};\n for(let k in features){\n let r;\n if (r = $3b6302b64eccc32c$var$OTMapping[k]) {\n if (res[r[0]] == null) res[r[0]] = {};\n res[r[0]][r[1]] = features[k];\n }\n }\n return res;\n}\n// Maps strings in a [featureType, featureSetting]\n// to their equivalent number codes\nfunction $3b6302b64eccc32c$var$mapFeatureStrings(f) {\n let [type, setting] = f;\n if (isNaN(type)) var typeCode = $3b6302b64eccc32c$var$features[type] && $3b6302b64eccc32c$var$features[type].code;\n else var typeCode = type;\n if (isNaN(setting)) var settingCode = $3b6302b64eccc32c$var$features[type] && $3b6302b64eccc32c$var$features[type][setting];\n else var settingCode = setting;\n return [\n typeCode,\n settingCode\n ];\n}\nfunction $3b6302b64eccc32c$export$bd6df347a4f391c4(features) {\n let res = {};\n if (Array.isArray(features)) for(let k = 0; k < features.length; k++){\n let r;\n let f = $3b6302b64eccc32c$var$mapFeatureStrings(features[k]);\n if (r = $3b6302b64eccc32c$var$AATMapping[f[0]] && $3b6302b64eccc32c$var$AATMapping[f[0]][f[1]]) res[r] = true;\n }\n else if (typeof features === 'object') for(let type in features){\n let feature = features[type];\n for(let setting in feature){\n let r;\n let f = $3b6302b64eccc32c$var$mapFeatureStrings([\n type,\n setting\n ]);\n if (feature[setting] && (r = $3b6302b64eccc32c$var$AATMapping[f[0]] && $3b6302b64eccc32c$var$AATMapping[f[0]][f[1]])) res[r] = true;\n }\n }\n return Object.keys(res);\n}\n\n\n\n\n\n\n\nclass $ff5ce077dae0f144$export$2e2bcd8739ae039 {\n lookup(glyph) {\n switch(this.table.version){\n case 0:\n return this.table.values.getItem(glyph);\n case 2:\n case 4:\n {\n let min = 0;\n let max = this.table.binarySearchHeader.nUnits - 1;\n while(min <= max){\n var mid = min + max >> 1;\n var seg = this.table.segments[mid];\n // special end of search value\n if (seg.firstGlyph === 0xffff) return null;\n if (glyph < seg.firstGlyph) max = mid - 1;\n else if (glyph > seg.lastGlyph) min = mid + 1;\n else {\n if (this.table.version === 2) return seg.value;\n else return seg.values[glyph - seg.firstGlyph];\n }\n }\n return null;\n }\n case 6:\n {\n let min = 0;\n let max = this.table.binarySearchHeader.nUnits - 1;\n while(min <= max){\n var mid = min + max >> 1;\n var seg = this.table.segments[mid];\n // special end of search value\n if (seg.glyph === 0xffff) return null;\n if (glyph < seg.glyph) max = mid - 1;\n else if (glyph > seg.glyph) min = mid + 1;\n else return seg.value;\n }\n return null;\n }\n case 8:\n return this.table.values[glyph - this.table.firstGlyph];\n default:\n throw new Error(`Unknown lookup table format: ${this.table.version}`);\n }\n }\n glyphsForValue(classValue) {\n let res = [];\n switch(this.table.version){\n case 2:\n case 4:\n for (let segment of this.table.segments)if (this.table.version === 2 && segment.value === classValue) res.push(...(0, $12727730ddfc8bfe$export$d02631cccf789723)(segment.firstGlyph, segment.lastGlyph + 1));\n else {\n for(let index = 0; index < segment.values.length; index++)if (segment.values[index] === classValue) res.push(segment.firstGlyph + index);\n }\n break;\n case 6:\n for (let segment of this.table.segments)if (segment.value === classValue) res.push(segment.glyph);\n break;\n case 8:\n for(let i = 0; i < this.table.values.length; i++)if (this.table.values[i] === classValue) res.push(this.table.firstGlyph + i);\n break;\n default:\n throw new Error(`Unknown lookup table format: ${this.table.version}`);\n }\n return res;\n }\n constructor(table){\n this.table = table;\n }\n}\n(0, $6uUbQ$_1)([\n (0, $e71565f2ce09cb6b$export$69a3209f1a06c04d)\n], $ff5ce077dae0f144$export$2e2bcd8739ae039.prototype, \"glyphsForValue\", null);\n\n\nconst $50c7aac9316f2948$var$START_OF_TEXT_STATE = 0;\nconst $50c7aac9316f2948$var$START_OF_LINE_STATE = 1;\nconst $50c7aac9316f2948$var$END_OF_TEXT_CLASS = 0;\nconst $50c7aac9316f2948$var$OUT_OF_BOUNDS_CLASS = 1;\nconst $50c7aac9316f2948$var$DELETED_GLYPH_CLASS = 2;\nconst $50c7aac9316f2948$var$END_OF_LINE_CLASS = 3;\nconst $50c7aac9316f2948$var$DONT_ADVANCE = 0x4000;\nclass $50c7aac9316f2948$export$2e2bcd8739ae039 {\n process(glyphs, reverse, processEntry) {\n let currentState = $50c7aac9316f2948$var$START_OF_TEXT_STATE; // START_OF_LINE_STATE is used for kashida glyph insertions sometimes I think?\n let index = reverse ? glyphs.length - 1 : 0;\n let dir = reverse ? -1 : 1;\n while(dir === 1 && index <= glyphs.length || dir === -1 && index >= -1){\n let glyph = null;\n let classCode = $50c7aac9316f2948$var$OUT_OF_BOUNDS_CLASS;\n let shouldAdvance = true;\n if (index === glyphs.length || index === -1) classCode = $50c7aac9316f2948$var$END_OF_TEXT_CLASS;\n else {\n glyph = glyphs[index];\n if (glyph.id === 0xffff) classCode = $50c7aac9316f2948$var$DELETED_GLYPH_CLASS;\n else {\n classCode = this.lookupTable.lookup(glyph.id);\n if (classCode == null) classCode = $50c7aac9316f2948$var$OUT_OF_BOUNDS_CLASS;\n }\n }\n let row = this.stateTable.stateArray.getItem(currentState);\n let entryIndex = row[classCode];\n let entry = this.stateTable.entryTable.getItem(entryIndex);\n if (classCode !== $50c7aac9316f2948$var$END_OF_TEXT_CLASS && classCode !== $50c7aac9316f2948$var$DELETED_GLYPH_CLASS) {\n processEntry(glyph, entry, index);\n shouldAdvance = !(entry.flags & $50c7aac9316f2948$var$DONT_ADVANCE);\n }\n currentState = entry.newState;\n if (shouldAdvance) index += dir;\n }\n return glyphs;\n }\n /**\n * Performs a depth-first traversal of the glyph strings\n * represented by the state machine.\n */ traverse(opts, state = 0, visited = new Set) {\n if (visited.has(state)) return;\n visited.add(state);\n let { nClasses: nClasses, stateArray: stateArray, entryTable: entryTable } = this.stateTable;\n let row = stateArray.getItem(state);\n // Skip predefined classes\n for(let classCode = 4; classCode < nClasses; classCode++){\n let entryIndex = row[classCode];\n let entry = entryTable.getItem(entryIndex);\n // Try all glyphs in the class\n for (let glyph of this.lookupTable.glyphsForValue(classCode)){\n if (opts.enter) opts.enter(glyph, entry);\n if (entry.newState !== 0) this.traverse(opts, entry.newState, visited);\n if (opts.exit) opts.exit(glyph, entry);\n }\n }\n }\n constructor(stateTable){\n this.stateTable = stateTable;\n this.lookupTable = new (0, $ff5ce077dae0f144$export$2e2bcd8739ae039)(stateTable.classTable);\n }\n}\n\n\n\n\n// indic replacement flags\nconst $55f71433a605c87d$var$MARK_FIRST = 0x8000;\nconst $55f71433a605c87d$var$MARK_LAST = 0x2000;\nconst $55f71433a605c87d$var$VERB = 0x000F;\n// contextual substitution and glyph insertion flag\nconst $55f71433a605c87d$var$SET_MARK = 0x8000;\n// ligature entry flags\nconst $55f71433a605c87d$var$SET_COMPONENT = 0x8000;\nconst $55f71433a605c87d$var$PERFORM_ACTION = 0x2000;\n// ligature action masks\nconst $55f71433a605c87d$var$LAST_MASK = 0x80000000;\nconst $55f71433a605c87d$var$STORE_MASK = 0x40000000;\nconst $55f71433a605c87d$var$OFFSET_MASK = 0x3FFFFFFF;\nconst $55f71433a605c87d$var$VERTICAL_ONLY = 0x800000;\nconst $55f71433a605c87d$var$REVERSE_DIRECTION = 0x400000;\nconst $55f71433a605c87d$var$HORIZONTAL_AND_VERTICAL = 0x200000;\n// glyph insertion flags\nconst $55f71433a605c87d$var$CURRENT_IS_KASHIDA_LIKE = 0x2000;\nconst $55f71433a605c87d$var$MARKED_IS_KASHIDA_LIKE = 0x1000;\nconst $55f71433a605c87d$var$CURRENT_INSERT_BEFORE = 0x0800;\nconst $55f71433a605c87d$var$MARKED_INSERT_BEFORE = 0x0400;\nconst $55f71433a605c87d$var$CURRENT_INSERT_COUNT = 0x03E0;\nconst $55f71433a605c87d$var$MARKED_INSERT_COUNT = 0x001F;\nclass $55f71433a605c87d$export$2e2bcd8739ae039 {\n // Processes an array of glyphs and applies the specified features\n // Features should be in the form of {featureType:{featureSetting:boolean}}\n process(glyphs, features = {}) {\n for (let chain of this.morx.chains){\n let flags = chain.defaultFlags;\n // enable/disable the requested features\n for (let feature of chain.features){\n let f;\n if (f = features[feature.featureType]) {\n if (f[feature.featureSetting]) {\n flags &= feature.disableFlags;\n flags |= feature.enableFlags;\n } else if (f[feature.featureSetting] === false) {\n flags |= ~feature.disableFlags;\n flags &= ~feature.enableFlags;\n }\n }\n }\n for (let subtable of chain.subtables)if (subtable.subFeatureFlags & flags) this.processSubtable(subtable, glyphs);\n }\n // remove deleted glyphs\n let index = glyphs.length - 1;\n while(index >= 0){\n if (glyphs[index].id === 0xffff) glyphs.splice(index, 1);\n index--;\n }\n return glyphs;\n }\n processSubtable(subtable, glyphs) {\n this.subtable = subtable;\n this.glyphs = glyphs;\n if (this.subtable.type === 4) {\n this.processNoncontextualSubstitutions(this.subtable, this.glyphs);\n return;\n }\n this.ligatureStack = [];\n this.markedGlyph = null;\n this.firstGlyph = null;\n this.lastGlyph = null;\n this.markedIndex = null;\n let stateMachine = this.getStateMachine(subtable);\n let process = this.getProcessor();\n let reverse = !!(this.subtable.coverage & $55f71433a605c87d$var$REVERSE_DIRECTION);\n return stateMachine.process(this.glyphs, reverse, process);\n }\n getStateMachine(subtable) {\n return new (0, $50c7aac9316f2948$export$2e2bcd8739ae039)(subtable.table.stateTable);\n }\n getProcessor() {\n switch(this.subtable.type){\n case 0:\n return this.processIndicRearragement;\n case 1:\n return this.processContextualSubstitution;\n case 2:\n return this.processLigature;\n case 4:\n return this.processNoncontextualSubstitutions;\n case 5:\n return this.processGlyphInsertion;\n default:\n throw new Error(`Invalid morx subtable type: ${this.subtable.type}`);\n }\n }\n processIndicRearragement(glyph, entry, index) {\n if (entry.flags & $55f71433a605c87d$var$MARK_FIRST) this.firstGlyph = index;\n if (entry.flags & $55f71433a605c87d$var$MARK_LAST) this.lastGlyph = index;\n $55f71433a605c87d$var$reorderGlyphs(this.glyphs, entry.flags & $55f71433a605c87d$var$VERB, this.firstGlyph, this.lastGlyph);\n }\n processContextualSubstitution(glyph, entry, index) {\n let subsitutions = this.subtable.table.substitutionTable.items;\n if (entry.markIndex !== 0xffff) {\n let lookup = subsitutions.getItem(entry.markIndex);\n let lookupTable = new (0, $ff5ce077dae0f144$export$2e2bcd8739ae039)(lookup);\n glyph = this.glyphs[this.markedGlyph];\n var gid = lookupTable.lookup(glyph.id);\n if (gid) this.glyphs[this.markedGlyph] = this.font.getGlyph(gid, glyph.codePoints);\n }\n if (entry.currentIndex !== 0xffff) {\n let lookup = subsitutions.getItem(entry.currentIndex);\n let lookupTable = new (0, $ff5ce077dae0f144$export$2e2bcd8739ae039)(lookup);\n glyph = this.glyphs[index];\n var gid = lookupTable.lookup(glyph.id);\n if (gid) this.glyphs[index] = this.font.getGlyph(gid, glyph.codePoints);\n }\n if (entry.flags & $55f71433a605c87d$var$SET_MARK) this.markedGlyph = index;\n }\n processLigature(glyph, entry, index) {\n if (entry.flags & $55f71433a605c87d$var$SET_COMPONENT) this.ligatureStack.push(index);\n if (entry.flags & $55f71433a605c87d$var$PERFORM_ACTION) {\n let actions = this.subtable.table.ligatureActions;\n let components = this.subtable.table.components;\n let ligatureList = this.subtable.table.ligatureList;\n let actionIndex = entry.action;\n let last = false;\n let ligatureIndex = 0;\n let codePoints = [];\n let ligatureGlyphs = [];\n while(!last){\n let componentGlyph = this.ligatureStack.pop();\n codePoints.unshift(...this.glyphs[componentGlyph].codePoints);\n let action = actions.getItem(actionIndex++);\n last = !!(action & $55f71433a605c87d$var$LAST_MASK);\n let store = !!(action & $55f71433a605c87d$var$STORE_MASK);\n let offset = (action & $55f71433a605c87d$var$OFFSET_MASK) << 2 >> 2; // sign extend 30 to 32 bits\n offset += this.glyphs[componentGlyph].id;\n let component = components.getItem(offset);\n ligatureIndex += component;\n if (last || store) {\n let ligatureEntry = ligatureList.getItem(ligatureIndex);\n this.glyphs[componentGlyph] = this.font.getGlyph(ligatureEntry, codePoints);\n ligatureGlyphs.push(componentGlyph);\n ligatureIndex = 0;\n codePoints = [];\n } else this.glyphs[componentGlyph] = this.font.getGlyph(0xffff);\n }\n // Put ligature glyph indexes back on the stack\n this.ligatureStack.push(...ligatureGlyphs);\n }\n }\n processNoncontextualSubstitutions(subtable, glyphs, index) {\n let lookupTable = new (0, $ff5ce077dae0f144$export$2e2bcd8739ae039)(subtable.table.lookupTable);\n for(index = 0; index < glyphs.length; index++){\n let glyph = glyphs[index];\n if (glyph.id !== 0xffff) {\n let gid = lookupTable.lookup(glyph.id);\n if (gid) glyphs[index] = this.font.getGlyph(gid, glyph.codePoints);\n }\n }\n }\n _insertGlyphs(glyphIndex, insertionActionIndex, count, isBefore) {\n let insertions = [];\n while(count--){\n let gid = this.subtable.table.insertionActions.getItem(insertionActionIndex++);\n insertions.push(this.font.getGlyph(gid));\n }\n if (!isBefore) glyphIndex++;\n this.glyphs.splice(glyphIndex, 0, ...insertions);\n }\n processGlyphInsertion(glyph, entry, index) {\n if (entry.flags & $55f71433a605c87d$var$SET_MARK) this.markedIndex = index;\n if (entry.markedInsertIndex !== 0xffff) {\n let count = (entry.flags & $55f71433a605c87d$var$MARKED_INSERT_COUNT) >>> 5;\n let isBefore = !!(entry.flags & $55f71433a605c87d$var$MARKED_INSERT_BEFORE);\n this._insertGlyphs(this.markedIndex, entry.markedInsertIndex, count, isBefore);\n }\n if (entry.currentInsertIndex !== 0xffff) {\n let count = (entry.flags & $55f71433a605c87d$var$CURRENT_INSERT_COUNT) >>> 5;\n let isBefore = !!(entry.flags & $55f71433a605c87d$var$CURRENT_INSERT_BEFORE);\n this._insertGlyphs(index, entry.currentInsertIndex, count, isBefore);\n }\n }\n getSupportedFeatures() {\n let features = [];\n for (let chain of this.morx.chains)for (let feature of chain.features)features.push([\n feature.featureType,\n feature.featureSetting\n ]);\n return features;\n }\n generateInputs(gid) {\n if (!this.inputCache) this.generateInputCache();\n return this.inputCache[gid] || [];\n }\n generateInputCache() {\n this.inputCache = {};\n for (let chain of this.morx.chains){\n let flags = chain.defaultFlags;\n for (let subtable of chain.subtables)if (subtable.subFeatureFlags & flags) this.generateInputsForSubtable(subtable);\n }\n }\n generateInputsForSubtable(subtable) {\n // Currently, only supporting ligature subtables.\n if (subtable.type !== 2) return;\n let reverse = !!(subtable.coverage & $55f71433a605c87d$var$REVERSE_DIRECTION);\n if (reverse) throw new Error('Reverse subtable, not supported.');\n this.subtable = subtable;\n this.ligatureStack = [];\n let stateMachine = this.getStateMachine(subtable);\n let process = this.getProcessor();\n let input = [];\n let stack = [];\n this.glyphs = [];\n stateMachine.traverse({\n enter: (glyph, entry)=>{\n let glyphs = this.glyphs;\n stack.push({\n glyphs: glyphs.slice(),\n ligatureStack: this.ligatureStack.slice()\n });\n // Add glyph to input and glyphs to process.\n let g = this.font.getGlyph(glyph);\n input.push(g);\n glyphs.push(input[input.length - 1]);\n // Process ligature substitution\n process(glyphs[glyphs.length - 1], entry, glyphs.length - 1);\n // Add input to result if only one matching (non-deleted) glyph remains.\n let count = 0;\n let found = 0;\n for(let i = 0; i < glyphs.length && count <= 1; i++)if (glyphs[i].id !== 0xffff) {\n count++;\n found = glyphs[i].id;\n }\n if (count === 1) {\n let result = input.map((g)=>g.id);\n let cache = this.inputCache[found];\n if (cache) cache.push(result);\n else this.inputCache[found] = [\n result\n ];\n }\n },\n exit: ()=>{\n ({ glyphs: this.glyphs, ligatureStack: this.ligatureStack } = stack.pop());\n input.pop();\n }\n });\n }\n constructor(font){\n this.processIndicRearragement = this.processIndicRearragement.bind(this);\n this.processContextualSubstitution = this.processContextualSubstitution.bind(this);\n this.processLigature = this.processLigature.bind(this);\n this.processNoncontextualSubstitutions = this.processNoncontextualSubstitutions.bind(this);\n this.processGlyphInsertion = this.processGlyphInsertion.bind(this);\n this.font = font;\n this.morx = font.morx;\n this.inputCache = null;\n }\n}\n(0, $6uUbQ$_1)([\n (0, $e71565f2ce09cb6b$export$69a3209f1a06c04d)\n], $55f71433a605c87d$export$2e2bcd8739ae039.prototype, \"getStateMachine\", null);\n// swaps the glyphs in rangeA with those in rangeB\n// reverse the glyphs inside those ranges if specified\n// ranges are in [offset, length] format\nfunction $55f71433a605c87d$var$swap(glyphs, rangeA, rangeB, reverseA = false, reverseB = false) {\n let end = glyphs.splice(rangeB[0] - (rangeB[1] - 1), rangeB[1]);\n if (reverseB) end.reverse();\n let start = glyphs.splice(rangeA[0], rangeA[1], ...end);\n if (reverseA) start.reverse();\n glyphs.splice(rangeB[0] - (rangeA[1] - 1), 0, ...start);\n return glyphs;\n}\nfunction $55f71433a605c87d$var$reorderGlyphs(glyphs, verb, firstGlyph, lastGlyph) {\n let length = lastGlyph - firstGlyph + 1;\n switch(verb){\n case 0:\n return glyphs;\n case 1:\n return $55f71433a605c87d$var$swap(glyphs, [\n firstGlyph,\n 1\n ], [\n lastGlyph,\n 0\n ]);\n case 2:\n return $55f71433a605c87d$var$swap(glyphs, [\n firstGlyph,\n 0\n ], [\n lastGlyph,\n 1\n ]);\n case 3:\n return $55f71433a605c87d$var$swap(glyphs, [\n firstGlyph,\n 1\n ], [\n lastGlyph,\n 1\n ]);\n case 4:\n return $55f71433a605c87d$var$swap(glyphs, [\n firstGlyph,\n 2\n ], [\n lastGlyph,\n 0\n ]);\n case 5:\n return $55f71433a605c87d$var$swap(glyphs, [\n firstGlyph,\n 2\n ], [\n lastGlyph,\n 0\n ], true, false);\n case 6:\n return $55f71433a605c87d$var$swap(glyphs, [\n firstGlyph,\n 0\n ], [\n lastGlyph,\n 2\n ]);\n case 7:\n return $55f71433a605c87d$var$swap(glyphs, [\n firstGlyph,\n 0\n ], [\n lastGlyph,\n 2\n ], false, true);\n case 8:\n return $55f71433a605c87d$var$swap(glyphs, [\n firstGlyph,\n 1\n ], [\n lastGlyph,\n 2\n ]);\n case 9:\n return $55f71433a605c87d$var$swap(glyphs, [\n firstGlyph,\n 1\n ], [\n lastGlyph,\n 2\n ], false, true);\n case 10:\n return $55f71433a605c87d$var$swap(glyphs, [\n firstGlyph,\n 2\n ], [\n lastGlyph,\n 1\n ]);\n case 11:\n return $55f71433a605c87d$var$swap(glyphs, [\n firstGlyph,\n 2\n ], [\n lastGlyph,\n 1\n ], true, false);\n case 12:\n return $55f71433a605c87d$var$swap(glyphs, [\n firstGlyph,\n 2\n ], [\n lastGlyph,\n 2\n ]);\n case 13:\n return $55f71433a605c87d$var$swap(glyphs, [\n firstGlyph,\n 2\n ], [\n lastGlyph,\n 2\n ], true, false);\n case 14:\n return $55f71433a605c87d$var$swap(glyphs, [\n firstGlyph,\n 2\n ], [\n lastGlyph,\n 2\n ], false, true);\n case 15:\n return $55f71433a605c87d$var$swap(glyphs, [\n firstGlyph,\n 2\n ], [\n lastGlyph,\n 2\n ], true, true);\n default:\n throw new Error(`Unknown verb: ${verb}`);\n }\n}\n\n\nclass $ba6dd74203be8728$export$2e2bcd8739ae039 {\n substitute(glyphRun) {\n // AAT expects the glyphs to be in visual order prior to morx processing,\n // so reverse the glyphs if the script is right-to-left.\n if (glyphRun.direction === 'rtl') glyphRun.glyphs.reverse();\n this.morxProcessor.process(glyphRun.glyphs, $3b6302b64eccc32c$export$b813f7d2a1677c16(glyphRun.features));\n }\n getAvailableFeatures(script, language) {\n return $3b6302b64eccc32c$export$bd6df347a4f391c4(this.morxProcessor.getSupportedFeatures());\n }\n stringsForGlyph(gid) {\n let glyphStrings = this.morxProcessor.generateInputs(gid);\n let result = new Set;\n for (let glyphs of glyphStrings)this._addStrings(glyphs, 0, result, '');\n return result;\n }\n _addStrings(glyphs, index, strings, string) {\n let codePoints = this.font._cmapProcessor.codePointsForGlyph(glyphs[index]);\n for (let codePoint of codePoints){\n let s = string + String.fromCodePoint(codePoint);\n if (index < glyphs.length - 1) this._addStrings(glyphs, index + 1, strings, s);\n else strings.add(s);\n }\n }\n constructor(font){\n this.font = font;\n this.morxProcessor = new (0, $55f71433a605c87d$export$2e2bcd8739ae039)(font);\n this.fallbackPosition = false;\n }\n}\n\n\n\nclass $94d7a73bd2edfc9a$export$2e2bcd8739ae039 {\n /**\n * Adds the given features to the last stage.\n * Ignores features that have already been applied.\n */ _addFeatures(features, global) {\n let stageIndex = this.stages.length - 1;\n let stage = this.stages[stageIndex];\n for (let feature of features)if (this.allFeatures[feature] == null) {\n stage.push(feature);\n this.allFeatures[feature] = stageIndex;\n if (global) this.globalFeatures[feature] = true;\n }\n }\n /**\n * Add features to the last stage\n */ add(arg, global = true) {\n if (this.stages.length === 0) this.stages.push([]);\n if (typeof arg === 'string') arg = [\n arg\n ];\n if (Array.isArray(arg)) this._addFeatures(arg, global);\n else if (typeof arg === 'object') {\n this._addFeatures(arg.global || [], true);\n this._addFeatures(arg.local || [], false);\n } else throw new Error(\"Unsupported argument to ShapingPlan#add\");\n }\n /**\n * Add a new stage\n */ addStage(arg, global) {\n if (typeof arg === 'function') this.stages.push(arg, []);\n else {\n this.stages.push([]);\n this.add(arg, global);\n }\n }\n setFeatureOverrides(features) {\n if (Array.isArray(features)) this.add(features);\n else if (typeof features === 'object') for(let tag in features){\n if (features[tag]) this.add(tag);\n else if (this.allFeatures[tag] != null) {\n let stage = this.stages[this.allFeatures[tag]];\n stage.splice(stage.indexOf(tag), 1);\n delete this.allFeatures[tag];\n delete this.globalFeatures[tag];\n }\n }\n }\n /**\n * Assigns the global features to the given glyphs\n */ assignGlobalFeatures(glyphs) {\n for (let glyph of glyphs)for(let feature in this.globalFeatures)glyph.features[feature] = true;\n }\n /**\n * Executes the planned stages using the given OTProcessor\n */ process(processor, glyphs, positions) {\n for (let stage of this.stages){\n if (typeof stage === 'function') {\n if (!positions) stage(this.font, glyphs, this);\n } else if (stage.length > 0) processor.applyFeatures(stage, glyphs, positions);\n }\n }\n constructor(font, script, direction){\n this.font = font;\n this.script = script;\n this.direction = direction;\n this.stages = [];\n this.globalFeatures = {};\n this.allFeatures = {};\n }\n}\n\n\n\n\nconst $649970d87335b30f$var$VARIATION_FEATURES = [\n 'rvrn'\n];\nconst $649970d87335b30f$var$COMMON_FEATURES = [\n 'ccmp',\n 'locl',\n 'rlig',\n 'mark',\n 'mkmk'\n];\nconst $649970d87335b30f$var$FRACTIONAL_FEATURES = [\n 'frac',\n 'numr',\n 'dnom'\n];\nconst $649970d87335b30f$var$HORIZONTAL_FEATURES = [\n 'calt',\n 'clig',\n 'liga',\n 'rclt',\n 'curs',\n 'kern'\n];\nconst $649970d87335b30f$var$VERTICAL_FEATURES = [\n 'vert'\n];\nconst $649970d87335b30f$var$DIRECTIONAL_FEATURES = {\n ltr: [\n 'ltra',\n 'ltrm'\n ],\n rtl: [\n 'rtla',\n 'rtlm'\n ]\n};\nclass $649970d87335b30f$export$2e2bcd8739ae039 {\n static plan(plan, glyphs, features) {\n // Plan the features we want to apply\n this.planPreprocessing(plan);\n this.planFeatures(plan);\n this.planPostprocessing(plan, features);\n // Assign the global features to all the glyphs\n plan.assignGlobalFeatures(glyphs);\n // Assign local features to glyphs\n this.assignFeatures(plan, glyphs);\n }\n static planPreprocessing(plan) {\n plan.add({\n global: [\n ...$649970d87335b30f$var$VARIATION_FEATURES,\n ...$649970d87335b30f$var$DIRECTIONAL_FEATURES[plan.direction]\n ],\n local: $649970d87335b30f$var$FRACTIONAL_FEATURES\n });\n }\n static planFeatures(plan) {\n // Do nothing by default. Let subclasses override this.\n }\n static planPostprocessing(plan, userFeatures) {\n plan.add([\n ...$649970d87335b30f$var$COMMON_FEATURES,\n ...$649970d87335b30f$var$HORIZONTAL_FEATURES\n ]);\n plan.setFeatureOverrides(userFeatures);\n }\n static assignFeatures(plan, glyphs) {\n // Enable contextual fractions\n for(let i = 0; i < glyphs.length; i++){\n let glyph = glyphs[i];\n if (glyph.codePoints[0] === 0x2044) {\n let start = i;\n let end = i + 1;\n // Apply numerator\n while(start > 0 && (0, $6uUbQ$isDigit)(glyphs[start - 1].codePoints[0])){\n glyphs[start - 1].features.numr = true;\n glyphs[start - 1].features.frac = true;\n start--;\n }\n // Apply denominator\n while(end < glyphs.length && (0, $6uUbQ$isDigit)(glyphs[end].codePoints[0])){\n glyphs[end].features.dnom = true;\n glyphs[end].features.frac = true;\n end++;\n }\n // Apply fraction slash\n glyph.features.frac = true;\n i = end - 1;\n }\n }\n }\n}\n(0, $6uUbQ$_)($649970d87335b30f$export$2e2bcd8739ae039, \"zeroMarkWidths\", 'AFTER_GPOS');\n\n\n\n\n\n\nconst $764eb544bbe1ccf0$var$trie = new (0, $6uUbQ$unicodetrie)((0, $12727730ddfc8bfe$export$94fdf11bafc8de6b)(\"APABAAAAAAAAOAAAAf0BAv7tmi1MxDAUx7vtvjhAgcDgkEgEAnmXEBIMCYaEcygEiqBQ4FAkCE4ikUgMiiBJSAgSiUQSDMn9L9eSl6bddddug9t7yS/trevre+3r27pcNxZiG+yCfdCVv/9LeQxOwRm4AJegD27ALbgD9+ABPJF+z+BN/h7yDj5k/VOWX6SdmU5+wLWknggxDxaS8u0qiiX4uiz9XamQ3wzDMAzDMAzDMAzDVI/h959V/v7BMAzDMAzDMLlyNTNiMSdewVxbiA44B4/guz1qW58VYlMI0WsJ0W+N6kXw0spvPtdwhtkwnGM6uLaV4Xyzg3v3PM9DPfQ/sOg4xPWjipy31P8LTqbU304c/cLCUmWJLNB2Uz2U1KTeRKNmKHVMfbJC+/0loTZRH/W5cvEvBJPMbREkWt3FD1NcqXZBSpuE2Ad0PBehPtNrPtIEdYP+hiRt/V1jIiE69X4NT/uVZI3PUHE9bm5M7ePGdZWy951v7Nn6j8v1WWKP3mt6ttnsigx6VN7Vc0VomSSGqW2mGNP1muZPl7LfjNUaKNFtDGVf2fvE9O7VlBS5j333c5p/eeoOqcs1R/hIqDWLJ7TTlksirVT1SI7l8k4Yp+g3jafGcrU1RM6l9th80XOpnlN97bDNY4i4s61B0Si/ipa0uHMl6zqEjlFfCZm/TM8KmzQDjmuTAQ==\"));\nconst $764eb544bbe1ccf0$var$FEATURES = [\n 'isol',\n 'fina',\n 'fin2',\n 'fin3',\n 'medi',\n 'med2',\n 'init'\n];\nconst $764eb544bbe1ccf0$var$ShapingClasses = {\n Non_Joining: 0,\n Left_Joining: 1,\n Right_Joining: 2,\n Dual_Joining: 3,\n Join_Causing: 3,\n ALAPH: 4,\n 'DALATH RISH': 5,\n Transparent: 6\n};\nconst $764eb544bbe1ccf0$var$ISOL = 'isol';\nconst $764eb544bbe1ccf0$var$FINA = 'fina';\nconst $764eb544bbe1ccf0$var$FIN2 = 'fin2';\nconst $764eb544bbe1ccf0$var$FIN3 = 'fin3';\nconst $764eb544bbe1ccf0$var$MEDI = 'medi';\nconst $764eb544bbe1ccf0$var$MED2 = 'med2';\nconst $764eb544bbe1ccf0$var$INIT = 'init';\nconst $764eb544bbe1ccf0$var$NONE = null;\n// Each entry is [prevAction, curAction, nextState]\nconst $764eb544bbe1ccf0$var$STATE_TABLE = [\n // Non_Joining, Left_Joining, Right_Joining, Dual_Joining, ALAPH, DALATH RISH\n // State 0: prev was U, not willing to join.\n [\n [\n $764eb544bbe1ccf0$var$NONE,\n $764eb544bbe1ccf0$var$NONE,\n 0\n ],\n [\n $764eb544bbe1ccf0$var$NONE,\n $764eb544bbe1ccf0$var$ISOL,\n 2\n ],\n [\n $764eb544bbe1ccf0$var$NONE,\n $764eb544bbe1ccf0$var$ISOL,\n 1\n ],\n [\n $764eb544bbe1ccf0$var$NONE,\n $764eb544bbe1ccf0$var$ISOL,\n 2\n ],\n [\n $764eb544bbe1ccf0$var$NONE,\n $764eb544bbe1ccf0$var$ISOL,\n 1\n ],\n [\n $764eb544bbe1ccf0$var$NONE,\n $764eb544bbe1ccf0$var$ISOL,\n 6\n ]\n ],\n // State 1: prev was R or ISOL/ALAPH, not willing to join.\n [\n [\n $764eb544bbe1ccf0$var$NONE,\n $764eb544bbe1ccf0$var$NONE,\n 0\n ],\n [\n $764eb544bbe1ccf0$var$NONE,\n $764eb544bbe1ccf0$var$ISOL,\n 2\n ],\n [\n $764eb544bbe1ccf0$var$NONE,\n $764eb544bbe1ccf0$var$ISOL,\n 1\n ],\n [\n $764eb544bbe1ccf0$var$NONE,\n $764eb544bbe1ccf0$var$ISOL,\n 2\n ],\n [\n $764eb544bbe1ccf0$var$NONE,\n $764eb544bbe1ccf0$var$FIN2,\n 5\n ],\n [\n $764eb544bbe1ccf0$var$NONE,\n $764eb544bbe1ccf0$var$ISOL,\n 6\n ]\n ],\n // State 2: prev was D/L in ISOL form, willing to join.\n [\n [\n $764eb544bbe1ccf0$var$NONE,\n $764eb544bbe1ccf0$var$NONE,\n 0\n ],\n [\n $764eb544bbe1ccf0$var$NONE,\n $764eb544bbe1ccf0$var$ISOL,\n 2\n ],\n [\n $764eb544bbe1ccf0$var$INIT,\n $764eb544bbe1ccf0$var$FINA,\n 1\n ],\n [\n $764eb544bbe1ccf0$var$INIT,\n $764eb544bbe1ccf0$var$FINA,\n 3\n ],\n [\n $764eb544bbe1ccf0$var$INIT,\n $764eb544bbe1ccf0$var$FINA,\n 4\n ],\n [\n $764eb544bbe1ccf0$var$INIT,\n $764eb544bbe1ccf0$var$FINA,\n 6\n ]\n ],\n // State 3: prev was D in FINA form, willing to join.\n [\n [\n $764eb544bbe1ccf0$var$NONE,\n $764eb544bbe1ccf0$var$NONE,\n 0\n ],\n [\n $764eb544bbe1ccf0$var$NONE,\n $764eb544bbe1ccf0$var$ISOL,\n 2\n ],\n [\n $764eb544bbe1ccf0$var$MEDI,\n $764eb544bbe1ccf0$var$FINA,\n 1\n ],\n [\n $764eb544bbe1ccf0$var$MEDI,\n $764eb544bbe1ccf0$var$FINA,\n 3\n ],\n [\n $764eb544bbe1ccf0$var$MEDI,\n $764eb544bbe1ccf0$var$FINA,\n 4\n ],\n [\n $764eb544bbe1ccf0$var$MEDI,\n $764eb544bbe1ccf0$var$FINA,\n 6\n ]\n ],\n // State 4: prev was FINA ALAPH, not willing to join.\n [\n [\n $764eb544bbe1ccf0$var$NONE,\n $764eb544bbe1ccf0$var$NONE,\n 0\n ],\n [\n $764eb544bbe1ccf0$var$NONE,\n $764eb544bbe1ccf0$var$ISOL,\n 2\n ],\n [\n $764eb544bbe1ccf0$var$MED2,\n $764eb544bbe1ccf0$var$ISOL,\n 1\n ],\n [\n $764eb544bbe1ccf0$var$MED2,\n $764eb544bbe1ccf0$var$ISOL,\n 2\n ],\n [\n $764eb544bbe1ccf0$var$MED2,\n $764eb544bbe1ccf0$var$FIN2,\n 5\n ],\n [\n $764eb544bbe1ccf0$var$MED2,\n $764eb544bbe1ccf0$var$ISOL,\n 6\n ]\n ],\n // State 5: prev was FIN2/FIN3 ALAPH, not willing to join.\n [\n [\n $764eb544bbe1ccf0$var$NONE,\n $764eb544bbe1ccf0$var$NONE,\n 0\n ],\n [\n $764eb544bbe1ccf0$var$NONE,\n $764eb544bbe1ccf0$var$ISOL,\n 2\n ],\n [\n $764eb544bbe1ccf0$var$ISOL,\n $764eb544bbe1ccf0$var$ISOL,\n 1\n ],\n [\n $764eb544bbe1ccf0$var$ISOL,\n $764eb544bbe1ccf0$var$ISOL,\n 2\n ],\n [\n $764eb544bbe1ccf0$var$ISOL,\n $764eb544bbe1ccf0$var$FIN2,\n 5\n ],\n [\n $764eb544bbe1ccf0$var$ISOL,\n $764eb544bbe1ccf0$var$ISOL,\n 6\n ]\n ],\n // State 6: prev was DALATH/RISH, not willing to join.\n [\n [\n $764eb544bbe1ccf0$var$NONE,\n $764eb544bbe1ccf0$var$NONE,\n 0\n ],\n [\n $764eb544bbe1ccf0$var$NONE,\n $764eb544bbe1ccf0$var$ISOL,\n 2\n ],\n [\n $764eb544bbe1ccf0$var$NONE,\n $764eb544bbe1ccf0$var$ISOL,\n 1\n ],\n [\n $764eb544bbe1ccf0$var$NONE,\n $764eb544bbe1ccf0$var$ISOL,\n 2\n ],\n [\n $764eb544bbe1ccf0$var$NONE,\n $764eb544bbe1ccf0$var$FIN3,\n 5\n ],\n [\n $764eb544bbe1ccf0$var$NONE,\n $764eb544bbe1ccf0$var$ISOL,\n 6\n ]\n ]\n];\nclass $764eb544bbe1ccf0$export$2e2bcd8739ae039 extends (0, $649970d87335b30f$export$2e2bcd8739ae039) {\n static planFeatures(plan) {\n plan.add([\n 'ccmp',\n 'locl'\n ]);\n for(let i = 0; i < $764eb544bbe1ccf0$var$FEATURES.length; i++){\n let feature = $764eb544bbe1ccf0$var$FEATURES[i];\n plan.addStage(feature, false);\n }\n plan.addStage('mset');\n }\n static assignFeatures(plan, glyphs) {\n super.assignFeatures(plan, glyphs);\n let prev = -1;\n let state = 0;\n let actions = [];\n // Apply the state machine to map glyphs to features\n for(let i = 0; i < glyphs.length; i++){\n let curAction, prevAction;\n var glyph = glyphs[i];\n let type = $764eb544bbe1ccf0$var$getShapingClass(glyph.codePoints[0]);\n if (type === $764eb544bbe1ccf0$var$ShapingClasses.Transparent) {\n actions[i] = $764eb544bbe1ccf0$var$NONE;\n continue;\n }\n [prevAction, curAction, state] = $764eb544bbe1ccf0$var$STATE_TABLE[state][type];\n if (prevAction !== $764eb544bbe1ccf0$var$NONE && prev !== -1) actions[prev] = prevAction;\n actions[i] = curAction;\n prev = i;\n }\n // Apply the chosen features to their respective glyphs\n for(let index = 0; index < glyphs.length; index++){\n let feature;\n var glyph = glyphs[index];\n if (feature = actions[index]) glyph.features[feature] = true;\n }\n }\n}\nfunction $764eb544bbe1ccf0$var$getShapingClass(codePoint) {\n let res = $764eb544bbe1ccf0$var$trie.get(codePoint);\n if (res) return res - 1;\n let category = (0, $6uUbQ$getCategory)(codePoint);\n if (category === 'Mn' || category === 'Me' || category === 'Cf') return $764eb544bbe1ccf0$var$ShapingClasses.Transparent;\n return $764eb544bbe1ccf0$var$ShapingClasses.Non_Joining;\n}\n\n\n\n\n\nclass $85d408632270248b$export$2e2bcd8739ae039 {\n reset(options = {}, index = 0) {\n this.options = options;\n this.flags = options.flags || {};\n this.markAttachmentType = options.markAttachmentType || 0;\n this.index = index;\n }\n get cur() {\n return this.glyphs[this.index] || null;\n }\n shouldIgnore(glyph) {\n return this.flags.ignoreMarks && glyph.isMark || this.flags.ignoreBaseGlyphs && glyph.isBase || this.flags.ignoreLigatures && glyph.isLigature || this.markAttachmentType && glyph.isMark && glyph.markAttachmentType !== this.markAttachmentType;\n }\n move(dir) {\n this.index += dir;\n while(0 <= this.index && this.index < this.glyphs.length && this.shouldIgnore(this.glyphs[this.index]))this.index += dir;\n if (0 > this.index || this.index >= this.glyphs.length) return null;\n return this.glyphs[this.index];\n }\n next() {\n return this.move(1);\n }\n prev() {\n return this.move(-1);\n }\n peek(count = 1) {\n let idx = this.index;\n let res = this.increment(count);\n this.index = idx;\n return res;\n }\n peekIndex(count = 1) {\n let idx = this.index;\n this.increment(count);\n let res = this.index;\n this.index = idx;\n return res;\n }\n increment(count = 1) {\n let dir = count < 0 ? -1 : 1;\n count = Math.abs(count);\n while(count--)this.move(dir);\n return this.glyphs[this.index];\n }\n constructor(glyphs, options){\n this.glyphs = glyphs;\n this.reset(options);\n }\n}\n\n\n\nconst $a83b9c36aaa94fd3$var$DEFAULT_SCRIPTS = [\n 'DFLT',\n 'dflt',\n 'latn'\n];\nclass $a83b9c36aaa94fd3$export$2e2bcd8739ae039 {\n findScript(script) {\n if (this.table.scriptList == null) return null;\n if (!Array.isArray(script)) script = [\n script\n ];\n for (let s of script)for (let entry of this.table.scriptList){\n if (entry.tag === s) return entry;\n }\n return null;\n }\n selectScript(script, language, direction) {\n let changed = false;\n let entry;\n if (!this.script || script !== this.scriptTag) {\n entry = this.findScript(script);\n if (!entry) entry = this.findScript($a83b9c36aaa94fd3$var$DEFAULT_SCRIPTS);\n if (!entry) return this.scriptTag;\n this.scriptTag = entry.tag;\n this.script = entry.script;\n this.language = null;\n this.languageTag = null;\n changed = true;\n }\n if (!direction || direction !== this.direction) this.direction = direction || $130d1a642ebcd2b7$export$9fddb9d0dd7d8a54(script);\n if (language && language.length < 4) language += ' '.repeat(4 - language.length);\n if (!language || language !== this.languageTag) {\n this.language = null;\n for (let lang of this.script.langSysRecords)if (lang.tag === language) {\n this.language = lang.langSys;\n this.languageTag = lang.tag;\n break;\n }\n if (!this.language) {\n this.language = this.script.defaultLangSys;\n this.languageTag = null;\n }\n changed = true;\n }\n // Build a feature lookup table\n if (changed) {\n this.features = {};\n if (this.language) for (let featureIndex of this.language.featureIndexes){\n let record = this.table.featureList[featureIndex];\n let substituteFeature = this.substituteFeatureForVariations(featureIndex);\n this.features[record.tag] = substituteFeature || record.feature;\n }\n }\n return this.scriptTag;\n }\n lookupsForFeatures(userFeatures = [], exclude) {\n let lookups = [];\n for (let tag of userFeatures){\n let feature = this.features[tag];\n if (!feature) continue;\n for (let lookupIndex of feature.lookupListIndexes){\n if (exclude && exclude.indexOf(lookupIndex) !== -1) continue;\n lookups.push({\n feature: tag,\n index: lookupIndex,\n lookup: this.table.lookupList.get(lookupIndex)\n });\n }\n }\n lookups.sort((a, b)=>a.index - b.index);\n return lookups;\n }\n substituteFeatureForVariations(featureIndex) {\n if (this.variationsIndex === -1) return null;\n let record = this.table.featureVariations.featureVariationRecords[this.variationsIndex];\n let substitutions = record.featureTableSubstitution.substitutions;\n for (let substitution of substitutions){\n if (substitution.featureIndex === featureIndex) return substitution.alternateFeatureTable;\n }\n return null;\n }\n findVariationsIndex(coords) {\n let variations = this.table.featureVariations;\n if (!variations) return -1;\n let records = variations.featureVariationRecords;\n for(let i = 0; i < records.length; i++){\n let conditions = records[i].conditionSet.conditionTable;\n if (this.variationConditionsMatch(conditions, coords)) return i;\n }\n return -1;\n }\n variationConditionsMatch(conditions, coords) {\n return conditions.every((condition)=>{\n let coord = condition.axisIndex < coords.length ? coords[condition.axisIndex] : 0;\n return condition.filterRangeMinValue <= coord && coord <= condition.filterRangeMaxValue;\n });\n }\n applyFeatures(userFeatures, glyphs, advances) {\n let lookups = this.lookupsForFeatures(userFeatures);\n this.applyLookups(lookups, glyphs, advances);\n }\n applyLookups(lookups, glyphs, positions) {\n this.glyphs = glyphs;\n this.positions = positions;\n this.glyphIterator = new (0, $85d408632270248b$export$2e2bcd8739ae039)(glyphs);\n for (let { feature: feature, lookup: lookup } of lookups){\n this.currentFeature = feature;\n this.glyphIterator.reset(lookup.flags);\n while(this.glyphIterator.index < glyphs.length){\n if (!(feature in this.glyphIterator.cur.features)) {\n this.glyphIterator.next();\n continue;\n }\n for (let table of lookup.subTables){\n let res = this.applyLookup(lookup.lookupType, table);\n if (res) break;\n }\n this.glyphIterator.next();\n }\n }\n }\n applyLookup(lookup, table) {\n throw new Error(\"applyLookup must be implemented by subclasses\");\n }\n applyLookupList(lookupRecords) {\n let options = this.glyphIterator.options;\n let glyphIndex = this.glyphIterator.index;\n for (let lookupRecord of lookupRecords){\n // Reset flags and find glyph index for this lookup record\n this.glyphIterator.reset(options, glyphIndex);\n this.glyphIterator.increment(lookupRecord.sequenceIndex);\n // Get the lookup and setup flags for subtables\n let lookup = this.table.lookupList.get(lookupRecord.lookupListIndex);\n this.glyphIterator.reset(lookup.flags, this.glyphIterator.index);\n // Apply lookup subtables until one matches\n for (let table of lookup.subTables){\n if (this.applyLookup(lookup.lookupType, table)) break;\n }\n }\n this.glyphIterator.reset(options, glyphIndex);\n return true;\n }\n coverageIndex(coverage, glyph) {\n if (glyph == null) glyph = this.glyphIterator.cur.id;\n switch(coverage.version){\n case 1:\n return coverage.glyphs.indexOf(glyph);\n case 2:\n for (let range of coverage.rangeRecords){\n if (range.start <= glyph && glyph <= range.end) return range.startCoverageIndex + glyph - range.start;\n }\n break;\n }\n return -1;\n }\n match(sequenceIndex, sequence, fn, matched) {\n let pos = this.glyphIterator.index;\n let glyph = this.glyphIterator.increment(sequenceIndex);\n let idx = 0;\n while(idx < sequence.length && glyph && fn(sequence[idx], glyph)){\n if (matched) matched.push(this.glyphIterator.index);\n idx++;\n glyph = this.glyphIterator.next();\n }\n this.glyphIterator.index = pos;\n if (idx < sequence.length) return false;\n return matched || true;\n }\n sequenceMatches(sequenceIndex, sequence) {\n return this.match(sequenceIndex, sequence, (component, glyph)=>component === glyph.id);\n }\n sequenceMatchIndices(sequenceIndex, sequence) {\n return this.match(sequenceIndex, sequence, (component, glyph)=>{\n // If the current feature doesn't apply to this glyph,\n if (!(this.currentFeature in glyph.features)) return false;\n return component === glyph.id;\n }, []);\n }\n coverageSequenceMatches(sequenceIndex, sequence) {\n return this.match(sequenceIndex, sequence, (coverage, glyph)=>this.coverageIndex(coverage, glyph.id) >= 0);\n }\n getClassID(glyph, classDef) {\n switch(classDef.version){\n case 1:\n let i = glyph - classDef.startGlyph;\n if (i >= 0 && i < classDef.classValueArray.length) return classDef.classValueArray[i];\n break;\n case 2:\n for (let range of classDef.classRangeRecord){\n if (range.start <= glyph && glyph <= range.end) return range.class;\n }\n break;\n }\n return 0;\n }\n classSequenceMatches(sequenceIndex, sequence, classDef) {\n return this.match(sequenceIndex, sequence, (classID, glyph)=>classID === this.getClassID(glyph.id, classDef));\n }\n applyContext(table) {\n let index, set;\n switch(table.version){\n case 1:\n index = this.coverageIndex(table.coverage);\n if (index === -1) return false;\n set = table.ruleSets[index];\n for (let rule of set){\n if (this.sequenceMatches(1, rule.input)) return this.applyLookupList(rule.lookupRecords);\n }\n break;\n case 2:\n if (this.coverageIndex(table.coverage) === -1) return false;\n index = this.getClassID(this.glyphIterator.cur.id, table.classDef);\n if (index === -1) return false;\n set = table.classSet[index];\n for (let rule of set){\n if (this.classSequenceMatches(1, rule.classes, table.classDef)) return this.applyLookupList(rule.lookupRecords);\n }\n break;\n case 3:\n if (this.coverageSequenceMatches(0, table.coverages)) return this.applyLookupList(table.lookupRecords);\n break;\n }\n return false;\n }\n applyChainingContext(table) {\n let index;\n switch(table.version){\n case 1:\n index = this.coverageIndex(table.coverage);\n if (index === -1) return false;\n let set = table.chainRuleSets[index];\n for (let rule of set){\n if (this.sequenceMatches(-rule.backtrack.length, rule.backtrack) && this.sequenceMatches(1, rule.input) && this.sequenceMatches(1 + rule.input.length, rule.lookahead)) return this.applyLookupList(rule.lookupRecords);\n }\n break;\n case 2:\n if (this.coverageIndex(table.coverage) === -1) return false;\n index = this.getClassID(this.glyphIterator.cur.id, table.inputClassDef);\n let rules = table.chainClassSet[index];\n if (!rules) return false;\n for (let rule of rules){\n if (this.classSequenceMatches(-rule.backtrack.length, rule.backtrack, table.backtrackClassDef) && this.classSequenceMatches(1, rule.input, table.inputClassDef) && this.classSequenceMatches(1 + rule.input.length, rule.lookahead, table.lookaheadClassDef)) return this.applyLookupList(rule.lookupRecords);\n }\n break;\n case 3:\n if (this.coverageSequenceMatches(-table.backtrackGlyphCount, table.backtrackCoverage) && this.coverageSequenceMatches(0, table.inputCoverage) && this.coverageSequenceMatches(table.inputGlyphCount, table.lookaheadCoverage)) return this.applyLookupList(table.lookupRecords);\n break;\n }\n return false;\n }\n constructor(font, table){\n this.font = font;\n this.table = table;\n this.script = null;\n this.scriptTag = null;\n this.language = null;\n this.languageTag = null;\n this.features = {};\n this.lookups = {};\n // Setup variation substitutions\n this.variationsIndex = font._variationProcessor ? this.findVariationsIndex(font._variationProcessor.normalizedCoords) : -1;\n // initialize to default script + language\n this.selectScript();\n // current context (set by applyFeatures)\n this.glyphs = [];\n this.positions = []; // only used by GPOS\n this.ligatureID = 1;\n this.currentFeature = null;\n }\n}\n\n\nclass $10e7b257e1a9a756$export$2e2bcd8739ae039 {\n get id() {\n return this._id;\n }\n set id(id) {\n this._id = id;\n this.substituted = true;\n let GDEF = this._font.GDEF;\n if (GDEF && GDEF.glyphClassDef) {\n // TODO: clean this up\n let classID = (0, $a83b9c36aaa94fd3$export$2e2bcd8739ae039).prototype.getClassID(id, GDEF.glyphClassDef);\n this.isBase = classID === 1;\n this.isLigature = classID === 2;\n this.isMark = classID === 3;\n this.markAttachmentType = GDEF.markAttachClassDef ? (0, $a83b9c36aaa94fd3$export$2e2bcd8739ae039).prototype.getClassID(id, GDEF.markAttachClassDef) : 0;\n } else {\n this.isMark = this.codePoints.length > 0 && this.codePoints.every((0, $6uUbQ$isMark));\n this.isBase = !this.isMark;\n this.isLigature = this.codePoints.length > 1;\n this.markAttachmentType = 0;\n }\n }\n copy() {\n return new $10e7b257e1a9a756$export$2e2bcd8739ae039(this._font, this.id, this.codePoints, this.features);\n }\n constructor(font, id, codePoints = [], features){\n this._font = font;\n this.codePoints = codePoints;\n this.id = id;\n this.features = {};\n if (Array.isArray(features)) for(let i = 0; i < features.length; i++){\n let feature = features[i];\n this.features[feature] = true;\n }\n else if (typeof features === 'object') Object.assign(this.features, features);\n this.ligatureID = null;\n this.ligatureComponent = null;\n this.isLigated = false;\n this.cursiveAttachment = null;\n this.markAttachment = null;\n this.shaperInfo = null;\n this.substituted = false;\n this.isMultiplied = false;\n }\n}\n\n\nclass $e1c6bbc8cb416f8c$export$2e2bcd8739ae039 extends (0, $649970d87335b30f$export$2e2bcd8739ae039) {\n static planFeatures(plan) {\n plan.add([\n 'ljmo',\n 'vjmo',\n 'tjmo'\n ], false);\n }\n static assignFeatures(plan, glyphs) {\n let state = 0;\n let i = 0;\n while(i < glyphs.length){\n let action;\n let glyph = glyphs[i];\n let code = glyph.codePoints[0];\n let type = $e1c6bbc8cb416f8c$var$getType(code);\n [action, state] = $e1c6bbc8cb416f8c$var$STATE_TABLE[state][type];\n switch(action){\n case $e1c6bbc8cb416f8c$var$DECOMPOSE:\n // Decompose the composed syllable if it is not supported by the font.\n if (!plan.font.hasGlyphForCodePoint(code)) i = $e1c6bbc8cb416f8c$var$decompose(glyphs, i, plan.font);\n break;\n case $e1c6bbc8cb416f8c$var$COMPOSE:\n // Found a decomposed syllable. Try to compose if supported by the font.\n i = $e1c6bbc8cb416f8c$var$compose(glyphs, i, plan.font);\n break;\n case $e1c6bbc8cb416f8c$var$TONE_MARK:\n // Got a valid syllable, followed by a tone mark. Move the tone mark to the beginning of the syllable.\n $e1c6bbc8cb416f8c$var$reorderToneMark(glyphs, i, plan.font);\n break;\n case $e1c6bbc8cb416f8c$var$INVALID:\n // Tone mark has no valid syllable to attach to, so insert a dotted circle\n i = $e1c6bbc8cb416f8c$var$insertDottedCircle(glyphs, i, plan.font);\n break;\n }\n i++;\n }\n }\n}\n(0, $6uUbQ$_)($e1c6bbc8cb416f8c$export$2e2bcd8739ae039, \"zeroMarkWidths\", 'NONE');\nconst $e1c6bbc8cb416f8c$var$HANGUL_BASE = 0xac00;\nconst $e1c6bbc8cb416f8c$var$HANGUL_END = 0xd7a4;\nconst $e1c6bbc8cb416f8c$var$HANGUL_COUNT = $e1c6bbc8cb416f8c$var$HANGUL_END - $e1c6bbc8cb416f8c$var$HANGUL_BASE + 1;\nconst $e1c6bbc8cb416f8c$var$L_BASE = 0x1100; // lead\nconst $e1c6bbc8cb416f8c$var$V_BASE = 0x1161; // vowel\nconst $e1c6bbc8cb416f8c$var$T_BASE = 0x11a7; // trail\nconst $e1c6bbc8cb416f8c$var$L_COUNT = 19;\nconst $e1c6bbc8cb416f8c$var$V_COUNT = 21;\nconst $e1c6bbc8cb416f8c$var$T_COUNT = 28;\nconst $e1c6bbc8cb416f8c$var$L_END = $e1c6bbc8cb416f8c$var$L_BASE + $e1c6bbc8cb416f8c$var$L_COUNT - 1;\nconst $e1c6bbc8cb416f8c$var$V_END = $e1c6bbc8cb416f8c$var$V_BASE + $e1c6bbc8cb416f8c$var$V_COUNT - 1;\nconst $e1c6bbc8cb416f8c$var$T_END = $e1c6bbc8cb416f8c$var$T_BASE + $e1c6bbc8cb416f8c$var$T_COUNT - 1;\nconst $e1c6bbc8cb416f8c$var$DOTTED_CIRCLE = 0x25cc;\nconst $e1c6bbc8cb416f8c$var$isL = (code)=>0x1100 <= code && code <= 0x115f || 0xa960 <= code && code <= 0xa97c;\nconst $e1c6bbc8cb416f8c$var$isV = (code)=>0x1160 <= code && code <= 0x11a7 || 0xd7b0 <= code && code <= 0xd7c6;\nconst $e1c6bbc8cb416f8c$var$isT = (code)=>0x11a8 <= code && code <= 0x11ff || 0xd7cb <= code && code <= 0xd7fb;\nconst $e1c6bbc8cb416f8c$var$isTone = (code)=>0x302e <= code && code <= 0x302f;\nconst $e1c6bbc8cb416f8c$var$isLVT = (code)=>$e1c6bbc8cb416f8c$var$HANGUL_BASE <= code && code <= $e1c6bbc8cb416f8c$var$HANGUL_END;\nconst $e1c6bbc8cb416f8c$var$isLV = (code)=>code - $e1c6bbc8cb416f8c$var$HANGUL_BASE < $e1c6bbc8cb416f8c$var$HANGUL_COUNT && (code - $e1c6bbc8cb416f8c$var$HANGUL_BASE) % $e1c6bbc8cb416f8c$var$T_COUNT === 0;\nconst $e1c6bbc8cb416f8c$var$isCombiningL = (code)=>$e1c6bbc8cb416f8c$var$L_BASE <= code && code <= $e1c6bbc8cb416f8c$var$L_END;\nconst $e1c6bbc8cb416f8c$var$isCombiningV = (code)=>$e1c6bbc8cb416f8c$var$V_BASE <= code && code <= $e1c6bbc8cb416f8c$var$V_END;\nconst $e1c6bbc8cb416f8c$var$isCombiningT = (code)=>$e1c6bbc8cb416f8c$var$T_BASE + 1 && 1 <= code && code <= $e1c6bbc8cb416f8c$var$T_END;\n// Character categories\nconst $e1c6bbc8cb416f8c$var$X = 0; // Other character\nconst $e1c6bbc8cb416f8c$var$L = 1; // Leading consonant\nconst $e1c6bbc8cb416f8c$var$V = 2; // Medial vowel\nconst $e1c6bbc8cb416f8c$var$T = 3; // Trailing consonant\nconst $e1c6bbc8cb416f8c$var$LV = 4; // Composed syllable\nconst $e1c6bbc8cb416f8c$var$LVT = 5; // Composed syllable\nconst $e1c6bbc8cb416f8c$var$M = 6; // Tone mark\n// This function classifies a character using the above categories.\nfunction $e1c6bbc8cb416f8c$var$getType(code) {\n if ($e1c6bbc8cb416f8c$var$isL(code)) return $e1c6bbc8cb416f8c$var$L;\n if ($e1c6bbc8cb416f8c$var$isV(code)) return $e1c6bbc8cb416f8c$var$V;\n if ($e1c6bbc8cb416f8c$var$isT(code)) return $e1c6bbc8cb416f8c$var$T;\n if ($e1c6bbc8cb416f8c$var$isLV(code)) return $e1c6bbc8cb416f8c$var$LV;\n if ($e1c6bbc8cb416f8c$var$isLVT(code)) return $e1c6bbc8cb416f8c$var$LVT;\n if ($e1c6bbc8cb416f8c$var$isTone(code)) return $e1c6bbc8cb416f8c$var$M;\n return $e1c6bbc8cb416f8c$var$X;\n}\n// State machine actions\nconst $e1c6bbc8cb416f8c$var$NO_ACTION = 0;\nconst $e1c6bbc8cb416f8c$var$DECOMPOSE = 1;\nconst $e1c6bbc8cb416f8c$var$COMPOSE = 2;\nconst $e1c6bbc8cb416f8c$var$TONE_MARK = 4;\nconst $e1c6bbc8cb416f8c$var$INVALID = 5;\n// Build a state machine that accepts valid syllables, and applies actions along the way.\n// The logic this is implementing is documented at the top of the file.\nconst $e1c6bbc8cb416f8c$var$STATE_TABLE = [\n // X L V T LV LVT M\n // State 0: start state\n [\n [\n $e1c6bbc8cb416f8c$var$NO_ACTION,\n 0\n ],\n [\n $e1c6bbc8cb416f8c$var$NO_ACTION,\n 1\n ],\n [\n $e1c6bbc8cb416f8c$var$NO_ACTION,\n 0\n ],\n [\n $e1c6bbc8cb416f8c$var$NO_ACTION,\n 0\n ],\n [\n $e1c6bbc8cb416f8c$var$DECOMPOSE,\n 2\n ],\n [\n $e1c6bbc8cb416f8c$var$DECOMPOSE,\n 3\n ],\n [\n $e1c6bbc8cb416f8c$var$INVALID,\n 0\n ]\n ],\n // State 1: \n [\n [\n $e1c6bbc8cb416f8c$var$NO_ACTION,\n 0\n ],\n [\n $e1c6bbc8cb416f8c$var$NO_ACTION,\n 1\n ],\n [\n $e1c6bbc8cb416f8c$var$COMPOSE,\n 2\n ],\n [\n $e1c6bbc8cb416f8c$var$NO_ACTION,\n 0\n ],\n [\n $e1c6bbc8cb416f8c$var$DECOMPOSE,\n 2\n ],\n [\n $e1c6bbc8cb416f8c$var$DECOMPOSE,\n 3\n ],\n [\n $e1c6bbc8cb416f8c$var$INVALID,\n 0\n ]\n ],\n // State 2: or \n [\n [\n $e1c6bbc8cb416f8c$var$NO_ACTION,\n 0\n ],\n [\n $e1c6bbc8cb416f8c$var$NO_ACTION,\n 1\n ],\n [\n $e1c6bbc8cb416f8c$var$NO_ACTION,\n 0\n ],\n [\n $e1c6bbc8cb416f8c$var$COMPOSE,\n 3\n ],\n [\n $e1c6bbc8cb416f8c$var$DECOMPOSE,\n 2\n ],\n [\n $e1c6bbc8cb416f8c$var$DECOMPOSE,\n 3\n ],\n [\n $e1c6bbc8cb416f8c$var$TONE_MARK,\n 0\n ]\n ],\n // State 3: or \n [\n [\n $e1c6bbc8cb416f8c$var$NO_ACTION,\n 0\n ],\n [\n $e1c6bbc8cb416f8c$var$NO_ACTION,\n 1\n ],\n [\n $e1c6bbc8cb416f8c$var$NO_ACTION,\n 0\n ],\n [\n $e1c6bbc8cb416f8c$var$NO_ACTION,\n 0\n ],\n [\n $e1c6bbc8cb416f8c$var$DECOMPOSE,\n 2\n ],\n [\n $e1c6bbc8cb416f8c$var$DECOMPOSE,\n 3\n ],\n [\n $e1c6bbc8cb416f8c$var$TONE_MARK,\n 0\n ]\n ]\n];\nfunction $e1c6bbc8cb416f8c$var$getGlyph(font, code, features) {\n return new (0, $10e7b257e1a9a756$export$2e2bcd8739ae039)(font, font.glyphForCodePoint(code).id, [\n code\n ], features);\n}\nfunction $e1c6bbc8cb416f8c$var$decompose(glyphs, i, font) {\n let glyph = glyphs[i];\n let code = glyph.codePoints[0];\n let s = code - $e1c6bbc8cb416f8c$var$HANGUL_BASE;\n let t = $e1c6bbc8cb416f8c$var$T_BASE + s % $e1c6bbc8cb416f8c$var$T_COUNT;\n s = s / $e1c6bbc8cb416f8c$var$T_COUNT | 0;\n let l = $e1c6bbc8cb416f8c$var$L_BASE + s / $e1c6bbc8cb416f8c$var$V_COUNT | 0;\n let v = $e1c6bbc8cb416f8c$var$V_BASE + s % $e1c6bbc8cb416f8c$var$V_COUNT;\n // Don't decompose if all of the components are not available\n if (!font.hasGlyphForCodePoint(l) || !font.hasGlyphForCodePoint(v) || t !== $e1c6bbc8cb416f8c$var$T_BASE && !font.hasGlyphForCodePoint(t)) return i;\n // Replace the current glyph with decomposed L, V, and T glyphs,\n // and apply the proper OpenType features to each component.\n let ljmo = $e1c6bbc8cb416f8c$var$getGlyph(font, l, glyph.features);\n ljmo.features.ljmo = true;\n let vjmo = $e1c6bbc8cb416f8c$var$getGlyph(font, v, glyph.features);\n vjmo.features.vjmo = true;\n let insert = [\n ljmo,\n vjmo\n ];\n if (t > $e1c6bbc8cb416f8c$var$T_BASE) {\n let tjmo = $e1c6bbc8cb416f8c$var$getGlyph(font, t, glyph.features);\n tjmo.features.tjmo = true;\n insert.push(tjmo);\n }\n glyphs.splice(i, 1, ...insert);\n return i + insert.length - 1;\n}\nfunction $e1c6bbc8cb416f8c$var$compose(glyphs, i, font) {\n let glyph = glyphs[i];\n let code = glyphs[i].codePoints[0];\n let type = $e1c6bbc8cb416f8c$var$getType(code);\n let prev = glyphs[i - 1].codePoints[0];\n let prevType = $e1c6bbc8cb416f8c$var$getType(prev);\n // Figure out what type of syllable we're dealing with\n let lv, ljmo, vjmo, tjmo;\n if (prevType === $e1c6bbc8cb416f8c$var$LV && type === $e1c6bbc8cb416f8c$var$T) {\n // \n lv = prev;\n tjmo = glyph;\n } else {\n if (type === $e1c6bbc8cb416f8c$var$V) {\n // \n ljmo = glyphs[i - 1];\n vjmo = glyph;\n } else {\n // \n ljmo = glyphs[i - 2];\n vjmo = glyphs[i - 1];\n tjmo = glyph;\n }\n let l = ljmo.codePoints[0];\n let v = vjmo.codePoints[0];\n // Make sure L and V are combining characters\n if ($e1c6bbc8cb416f8c$var$isCombiningL(l) && $e1c6bbc8cb416f8c$var$isCombiningV(v)) lv = $e1c6bbc8cb416f8c$var$HANGUL_BASE + ((l - $e1c6bbc8cb416f8c$var$L_BASE) * $e1c6bbc8cb416f8c$var$V_COUNT + (v - $e1c6bbc8cb416f8c$var$V_BASE)) * $e1c6bbc8cb416f8c$var$T_COUNT;\n }\n let t = tjmo && tjmo.codePoints[0] || $e1c6bbc8cb416f8c$var$T_BASE;\n if (lv != null && (t === $e1c6bbc8cb416f8c$var$T_BASE || $e1c6bbc8cb416f8c$var$isCombiningT(t))) {\n let s = lv + (t - $e1c6bbc8cb416f8c$var$T_BASE);\n // Replace with a composed glyph if supported by the font,\n // otherwise apply the proper OpenType features to each component.\n if (font.hasGlyphForCodePoint(s)) {\n let del = prevType === $e1c6bbc8cb416f8c$var$V ? 3 : 2;\n glyphs.splice(i - del + 1, del, $e1c6bbc8cb416f8c$var$getGlyph(font, s, glyph.features));\n return i - del + 1;\n }\n }\n // Didn't compose (either a non-combining component or unsupported by font).\n if (ljmo) ljmo.features.ljmo = true;\n if (vjmo) vjmo.features.vjmo = true;\n if (tjmo) tjmo.features.tjmo = true;\n if (prevType === $e1c6bbc8cb416f8c$var$LV) {\n // Sequence was originally , which got combined earlier.\n // Either the T was non-combining, or the LVT glyph wasn't supported.\n // Decompose the glyph again and apply OT features.\n $e1c6bbc8cb416f8c$var$decompose(glyphs, i - 1, font);\n return i + 1;\n }\n return i;\n}\nfunction $e1c6bbc8cb416f8c$var$getLength(code) {\n switch($e1c6bbc8cb416f8c$var$getType(code)){\n case $e1c6bbc8cb416f8c$var$LV:\n case $e1c6bbc8cb416f8c$var$LVT:\n return 1;\n case $e1c6bbc8cb416f8c$var$V:\n return 2;\n case $e1c6bbc8cb416f8c$var$T:\n return 3;\n }\n}\nfunction $e1c6bbc8cb416f8c$var$reorderToneMark(glyphs, i, font) {\n let glyph = glyphs[i];\n let code = glyphs[i].codePoints[0];\n // Move tone mark to the beginning of the previous syllable, unless it is zero width\n if (font.glyphForCodePoint(code).advanceWidth === 0) return;\n let prev = glyphs[i - 1].codePoints[0];\n let len = $e1c6bbc8cb416f8c$var$getLength(prev);\n glyphs.splice(i, 1);\n return glyphs.splice(i - len, 0, glyph);\n}\nfunction $e1c6bbc8cb416f8c$var$insertDottedCircle(glyphs, i, font) {\n let glyph = glyphs[i];\n let code = glyphs[i].codePoints[0];\n if (font.hasGlyphForCodePoint($e1c6bbc8cb416f8c$var$DOTTED_CIRCLE)) {\n let dottedCircle = $e1c6bbc8cb416f8c$var$getGlyph(font, $e1c6bbc8cb416f8c$var$DOTTED_CIRCLE, glyph.features);\n // If the tone mark is zero width, insert the dotted circle before, otherwise after\n let idx = font.glyphForCodePoint(code).advanceWidth === 0 ? i : i + 1;\n glyphs.splice(idx, 0, dottedCircle);\n i++;\n }\n return i;\n}\n\n\n\n\n\n\n\n\n\nvar $4b0735ca6c692ea5$exports = {};\n$4b0735ca6c692ea5$exports = JSON.parse(\"{\\\"stateTable\\\":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,2,3,4,5,6,7,8,9,0,10,11,11,12,13,14,15,16,17],[0,0,0,18,19,20,21,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,28,29,30,31,32,33,0,34,0,0,35,36,0,0,37,0],[0,0,0,38,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,39,0,0,0,40,41,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,43,44,44,8,9,0,0,0,0,12,43,0,0,0,0],[0,0,0,0,43,44,44,8,9,0,0,0,0,0,43,0,0,0,0],[0,0,0,45,46,47,48,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,50,0,0,51,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,52,0,0,0,0,0,0,0,0],[0,0,0,53,54,55,56,57,58,0,59,0,0,60,61,0,0,62,0],[0,0,0,4,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,63,64,0,0,40,41,0,9,0,10,0,0,0,42,0,63,0,0],[0,2,3,4,5,6,7,8,9,0,10,11,11,12,13,0,2,16,0],[0,0,0,18,65,20,21,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,0,66,67,67,8,9,0,10,0,0,0,68,0,0,0,0],[0,0,0,69,0,70,70,0,71,0,72,0,0,0,0,0,0,0,0],[0,0,0,73,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,75,0,0,0,76,77,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,79,80,80,22,23,0,0,0,0,25,79,0,0,0,0],[0,0,0,18,19,20,74,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,81,82,83,84,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,86,0,0,87,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,88,0,0,0,0,0,0,0,0],[0,0,0,18,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,89,90,0,0,76,77,0,23,0,24,0,0,0,78,0,89,0,0],[0,0,0,0,91,92,92,22,23,0,24,0,0,0,93,0,0,0,0],[0,0,0,94,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,96,0,0,0,97,98,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,35,100,0,0,0,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,0,100,0,0,0,0],[0,0,0,102,103,104,105,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,107,0,0,108,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0],[0,0,0,28,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,110,111,0,0,97,98,0,33,0,34,0,0,0,99,0,110,0,0],[0,0,0,0,112,113,113,32,33,0,34,0,0,0,114,0,0,0,0],[0,0,0,0,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,0,0,115,116,117,118,8,9,0,10,0,0,119,120,0,0,16,0],[0,0,0,0,0,121,121,0,9,0,10,0,0,0,42,0,0,0,0],[0,39,0,122,0,123,123,8,9,0,10,0,0,0,42,0,39,0,0],[0,124,64,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,0],[0,39,0,0,0,121,125,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,126,126,8,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,46,47,48,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,47,47,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,127,127,49,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,128,127,127,49,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,129,130,131,132,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,50,0,0,0,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,134,0,0,0,0,0,0,0,0],[0,0,0,135,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,136,0,0,0,137,138,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,140,141,141,57,58,0,0,0,0,60,140,0,0,0,0],[0,0,0,0,140,141,141,57,58,0,0,0,0,0,140,0,0,0,0],[0,0,0,142,143,144,145,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,147,0,0,148,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,149,0,0,0,0,0,0,0,0],[0,0,0,53,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,150,151,0,0,137,138,0,58,0,59,0,0,0,139,0,150,0,0],[0,0,0,0,152,153,153,57,58,0,59,0,0,0,154,0,0,0,0],[0,0,0,155,116,156,157,8,9,0,10,0,0,158,120,0,0,16,0],[0,0,0,0,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,75,3,4,5,159,160,8,161,0,162,0,11,12,163,0,75,16,0],[0,0,0,0,0,40,164,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,0,165,0,0,0,0],[0,124,64,0,0,40,164,0,9,0,10,0,0,0,42,0,124,0,0],[0,0,0,0,0,70,70,0,71,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,71,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,166,0,0,167,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0],[0,0,0,0,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,0,0,0,79,80,80,22,23,0,0,0,0,0,79,0,0,0,0],[0,0,0,169,170,171,172,22,23,0,24,0,0,173,174,0,0,27,0],[0,0,0,0,0,175,175,0,23,0,24,0,0,0,78,0,0,0,0],[0,75,0,176,0,177,177,22,23,0,24,0,0,0,78,0,75,0,0],[0,178,90,0,0,0,0,0,0,0,0,0,0,0,0,0,178,0,0],[0,75,0,0,0,175,179,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,180,180,22,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,82,83,84,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,83,83,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,181,181,85,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,182,181,181,85,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,183,184,185,186,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,86,0,0,0,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,0],[0,0,0,189,170,190,191,22,23,0,24,0,0,192,174,0,0,27,0],[0,0,0,0,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,76,193,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,0,194,0,0,0,0],[0,178,90,0,0,76,193,0,23,0,24,0,0,0,78,0,178,0,0],[0,0,0,0,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,0,100,0,0,0,0],[0,0,0,195,196,197,198,32,33,0,34,0,0,199,200,0,0,37,0],[0,0,0,0,0,201,201,0,33,0,34,0,0,0,99,0,0,0,0],[0,96,0,202,0,203,203,32,33,0,34,0,0,0,99,0,96,0,0],[0,204,111,0,0,0,0,0,0,0,0,0,0,0,0,0,204,0,0],[0,96,0,0,0,201,205,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,206,206,32,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,103,104,105,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,104,104,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,207,207,106,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,208,207,207,106,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,209,210,211,212,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,107,0,0,0,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,0],[0,0,0,215,196,216,217,32,33,0,34,0,0,218,200,0,0,37,0],[0,0,0,0,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,97,219,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,0,220,0,0,0,0],[0,204,111,0,0,97,219,0,33,0,34,0,0,0,99,0,204,0,0],[0,0,0,221,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,223,0,0,0,40,224,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,119,225,0,0,0,0],[0,0,0,115,116,117,222,8,9,0,10,0,0,119,120,0,0,16,0],[0,0,0,115,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,226,64,0,0,40,224,0,9,0,10,0,0,0,42,0,226,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0],[0,39,0,0,0,121,121,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,44,44,8,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,227,0,228,229,0,9,0,10,0,0,230,0,0,0,0,0],[0,39,0,122,0,121,121,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,231,231,49,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,232,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,130,131,132,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,131,131,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,233,233,133,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,234,233,233,133,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,235,236,237,238,239,9,0,10,0,0,0,42,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,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,0,0,240,241,242,243,57,58,0,59,0,0,244,245,0,0,62,0],[0,0,0,0,0,246,246,0,58,0,59,0,0,0,139,0,0,0,0],[0,136,0,247,0,248,248,57,58,0,59,0,0,0,139,0,136,0,0],[0,249,151,0,0,0,0,0,0,0,0,0,0,0,0,0,249,0,0],[0,136,0,0,0,246,250,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,251,251,57,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,143,144,145,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,144,144,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,252,252,146,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,253,252,252,146,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,254,255,256,257,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,147,0,0,0,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,259,0,0,0,0,0,0,0,0],[0,0,0,260,241,261,262,57,58,0,59,0,0,263,245,0,0,62,0],[0,0,0,0,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,137,264,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,0,265,0,0,0,0],[0,249,151,0,0,137,264,0,58,0,59,0,0,0,139,0,249,0,0],[0,0,0,221,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,158,225,0,0,0,0],[0,0,0,155,116,156,222,8,9,0,10,0,0,158,120,0,0,16,0],[0,0,0,155,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,43,266,266,8,161,0,24,0,0,12,267,0,0,0,0],[0,75,0,176,43,268,268,269,161,0,24,0,0,0,267,0,75,0,0],[0,0,0,0,0,270,0,0,271,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,272,0,0,0,0,0,0,0,0],[0,273,274,0,0,40,41,0,9,0,10,0,0,0,42,0,273,0,0],[0,0,0,40,0,123,123,8,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,121,275,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,166,0,0,0,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,276,0,0,0,0,0,0,0,0],[0,0,0,277,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,279,0,0,0,76,280,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,173,281,0,0,0,0],[0,0,0,169,170,171,278,22,23,0,24,0,0,173,174,0,0,27,0],[0,0,0,169,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,282,90,0,0,76,280,0,23,0,24,0,0,0,78,0,282,0,0],[0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0],[0,75,0,0,0,175,175,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,80,80,22,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,283,0,284,285,0,23,0,24,0,0,286,0,0,0,0,0],[0,75,0,176,0,175,175,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,287,287,85,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,288,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,184,185,186,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,185,185,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,289,289,187,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,290,289,289,187,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,291,292,293,294,295,23,0,24,0,0,0,78,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,277,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,192,281,0,0,0,0],[0,0,0,189,170,190,278,22,23,0,24,0,0,192,174,0,0,27,0],[0,0,0,189,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,76,0,177,177,22,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,175,296,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,297,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,299,0,0,0,97,300,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,199,301,0,0,0,0],[0,0,0,195,196,197,298,32,33,0,34,0,0,199,200,0,0,37,0],[0,0,0,195,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,302,111,0,0,97,300,0,33,0,34,0,0,0,99,0,302,0,0],[0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0],[0,96,0,0,0,201,201,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,101,101,32,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,303,0,304,305,0,33,0,34,0,0,306,0,0,0,0,0],[0,96,0,202,0,201,201,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,307,307,106,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,308,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,210,211,212,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,211,211,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,309,309,213,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,310,309,309,213,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,311,312,313,314,315,33,0,34,0,0,0,99,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,297,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,218,301,0,0,0,0],[0,0,0,215,196,216,298,32,33,0,34,0,0,218,200,0,0,37,0],[0,0,0,215,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,97,0,203,203,32,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,201,316,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,0,225,0,0,0,0],[0,0,0,317,318,319,320,8,9,0,10,0,0,321,322,0,0,16,0],[0,223,0,323,0,123,123,8,9,0,10,0,0,0,42,0,223,0,0],[0,223,0,0,0,121,324,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,325,318,326,327,8,9,0,10,0,0,328,322,0,0,16,0],[0,0,0,64,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,230,0,0,0,0,0],[0,0,0,227,0,228,121,0,9,0,10,0,0,230,0,0,0,0,0],[0,0,0,227,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,49,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,46,0,0],[0,0,0,0,0,329,329,133,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,330,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,236,237,238,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,237,237,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,331,331,239,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,332,331,331,239,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,333,40,121,334,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,335,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,337,0,0,0,137,338,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,244,339,0,0,0,0],[0,0,0,240,241,242,336,57,58,0,59,0,0,244,245,0,0,62,0],[0,0,0,240,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,340,151,0,0,137,338,0,58,0,59,0,0,0,139,0,340,0,0],[0,0,0,0,0,0,0,0,58,0,0,0,0,0,0,0,0,0,0],[0,136,0,0,0,246,246,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,141,141,57,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,341,0,342,343,0,58,0,59,0,0,344,0,0,0,0,0],[0,136,0,247,0,246,246,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,0,0,57,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,345,345,146,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,346,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,255,256,257,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,256,256,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,347,347,258,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,348,347,347,258,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,349,350,351,352,353,58,0,59,0,0,0,139,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,335,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,263,339,0,0,0,0],[0,0,0,260,241,261,336,57,58,0,59,0,0,263,245,0,0,62,0],[0,0,0,260,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,137,0,248,248,57,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,246,354,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,126,126,8,23,0,0,0,0,0,0,0,0,0,0],[0,355,90,0,0,121,125,0,9,0,10,0,0,0,42,0,355,0,0],[0,0,0,0,0,356,356,269,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,357,358,359,360,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,270,0,0,0,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,363,0,0,0,0,0,0,0,0],[0,0,0,364,116,365,366,8,161,0,162,0,0,367,120,0,0,16,0],[0,0,0,0,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,40,0,121,121,0,9,0,10,0,0,0,42,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,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,0,281,0,0,0,0],[0,0,0,369,370,371,372,22,23,0,24,0,0,373,374,0,0,27,0],[0,279,0,375,0,177,177,22,23,0,24,0,0,0,78,0,279,0,0],[0,279,0,0,0,175,376,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,377,370,378,379,22,23,0,24,0,0,380,374,0,0,27,0],[0,0,0,90,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,23,0,0,0,0,286,0,0,0,0,0],[0,0,0,283,0,284,175,0,23,0,24,0,0,286,0,0,0,0,0],[0,0,0,283,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,85,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,82,0,0],[0,0,0,0,0,381,381,187,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,382,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,292,293,294,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,293,293,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,383,383,295,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,384,383,383,295,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,385,76,175,386,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,76,0,175,175,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,0,301,0,0,0,0],[0,0,0,387,388,389,390,32,33,0,34,0,0,391,392,0,0,37,0],[0,299,0,393,0,203,203,32,33,0,34,0,0,0,99,0,299,0,0],[0,299,0,0,0,201,394,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,395,388,396,397,32,33,0,34,0,0,398,392,0,0,37,0],[0,0,0,111,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,33,0,0,0,0,306,0,0,0,0,0],[0,0,0,303,0,304,201,0,33,0,34,0,0,306,0,0,0,0,0],[0,0,0,303,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,106,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,103,0,0],[0,0,0,0,0,399,399,213,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,400,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,312,313,314,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,313,313,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,401,401,315,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,402,401,401,315,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,403,97,201,404,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,97,0,201,201,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,405,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,407,0,0,0,40,408,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,321,409,0,0,0,0],[0,0,0,317,318,319,406,8,9,0,10,0,0,321,322,0,0,16,0],[0,0,0,317,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,410,64,0,0,40,408,0,9,0,10,0,0,0,42,0,410,0,0],[0,223,0,0,0,121,121,0,9,0,10,0,0,0,42,0,223,0,0],[0,223,0,323,0,121,121,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,405,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,328,409,0,0,0,0],[0,0,0,325,318,326,406,8,9,0,10,0,0,328,322,0,0,16,0],[0,0,0,325,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,0,0,0,133,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,130,0,0],[0,0,0,0,0,411,411,239,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,412,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,40,121,334,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,413,0,0,0,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,0,339,0,0,0,0],[0,0,0,414,415,416,417,57,58,0,59,0,0,418,419,0,0,62,0],[0,337,0,420,0,248,248,57,58,0,59,0,0,0,139,0,337,0,0],[0,337,0,0,0,246,421,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,422,415,423,424,57,58,0,59,0,0,425,419,0,0,62,0],[0,0,0,151,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,58,0,0,0,0,344,0,0,0,0,0],[0,0,0,341,0,342,246,0,58,0,59,0,0,344,0,0,0,0,0],[0,0,0,341,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,146,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,143,0,0],[0,0,0,0,0,426,426,258,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,427,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,350,351,352,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,351,351,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,428,428,353,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,429,428,428,353,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,430,137,246,431,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,137,0,246,246,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,432,116,433,434,8,161,0,162,0,0,435,120,0,0,16,0],[0,0,0,0,0,180,180,269,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,358,359,360,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,359,359,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,436,436,361,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,437,436,436,361,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,438,439,440,441,442,161,0,162,0,0,0,362,0,0,0,0],[0,443,274,0,0,0,0,0,0,0,0,0,0,0,0,0,443,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,444,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,367,225,0,0,0,0],[0,0,0,364,116,365,445,8,161,0,162,0,0,367,120,0,0,16,0],[0,0,0,364,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,0,0,0,0,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,446,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,448,0,0,0,76,449,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,373,450,0,0,0,0],[0,0,0,369,370,371,447,22,23,0,24,0,0,373,374,0,0,27,0],[0,0,0,369,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,451,90,0,0,76,449,0,23,0,24,0,0,0,78,0,451,0,0],[0,279,0,0,0,175,175,0,23,0,24,0,0,0,78,0,279,0,0],[0,279,0,375,0,175,175,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,446,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,380,450,0,0,0,0],[0,0,0,377,370,378,447,22,23,0,24,0,0,380,374,0,0,27,0],[0,0,0,377,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,0,0,0,187,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,184,0,0],[0,0,0,0,0,452,452,295,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,453,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,76,175,386,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,454,0,0,0,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,455,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,457,0,0,0,97,458,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,391,459,0,0,0,0],[0,0,0,387,388,389,456,32,33,0,34,0,0,391,392,0,0,37,0],[0,0,0,387,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,460,111,0,0,97,458,0,33,0,34,0,0,0,99,0,460,0,0],[0,299,0,0,0,201,201,0,33,0,34,0,0,0,99,0,299,0,0],[0,299,0,393,0,201,201,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,455,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,398,459,0,0,0,0],[0,0,0,395,388,396,456,32,33,0,34,0,0,398,392,0,0,37,0],[0,0,0,395,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,0,0,0,213,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,210,0,0],[0,0,0,0,0,461,461,315,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,462,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,97,201,404,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,463,0,0,0,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,0,409,0,0,0,0],[0,0,0,464,465,466,467,8,9,0,10,0,0,468,469,0,0,16,0],[0,407,0,470,0,123,123,8,9,0,10,0,0,0,42,0,407,0,0],[0,407,0,0,0,121,471,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,472,465,473,474,8,9,0,10,0,0,475,469,0,0,16,0],[0,0,0,0,0,0,0,239,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,236,0,0],[0,0,0,0,0,0,476,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,477,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,479,0,0,0,137,480,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,418,481,0,0,0,0],[0,0,0,414,415,416,478,57,58,0,59,0,0,418,419,0,0,62,0],[0,0,0,414,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,482,151,0,0,137,480,0,58,0,59,0,0,0,139,0,482,0,0],[0,337,0,0,0,246,246,0,58,0,59,0,0,0,139,0,337,0,0],[0,337,0,420,0,246,246,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,477,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,425,481,0,0,0,0],[0,0,0,422,415,423,478,57,58,0,59,0,0,425,419,0,0,62,0],[0,0,0,422,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,0,0,0,258,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,255,0,0],[0,0,0,0,0,483,483,353,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,484,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,137,246,431,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,485,0,0,0,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,444,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,435,225,0,0,0,0],[0,0,0,432,116,433,445,8,161,0,162,0,0,435,120,0,0,16,0],[0,0,0,432,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,0,486,486,361,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,487,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,439,440,441,442,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,440,440,442,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,488,488,442,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,489,488,488,442,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,490,491,492,493,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,495,0,496,497,0,161,0,162,0,0,498,0,0,0,0,0],[0,0,0,0,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,0,225,0,0,0,0],[0,0,0,0,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,0,450,0,0,0,0],[0,0,0,499,500,501,502,22,23,0,24,0,0,503,504,0,0,27,0],[0,448,0,505,0,177,177,22,23,0,24,0,0,0,78,0,448,0,0],[0,448,0,0,0,175,506,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,507,500,508,509,22,23,0,24,0,0,510,504,0,0,27,0],[0,0,0,0,0,0,0,295,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,292,0,0],[0,0,0,0,0,0,511,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,0,459,0,0,0,0],[0,0,0,512,513,514,515,32,33,0,34,0,0,516,517,0,0,37,0],[0,457,0,518,0,203,203,32,33,0,34,0,0,0,99,0,457,0,0],[0,457,0,0,0,201,519,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,520,513,521,522,32,33,0,34,0,0,523,517,0,0,37,0],[0,0,0,0,0,0,0,315,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,312,0,0],[0,0,0,0,0,0,524,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,525,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,527,0,0,0,40,528,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,468,529,0,0,0,0],[0,0,0,464,465,466,526,8,9,0,10,0,0,468,469,0,0,16,0],[0,0,0,464,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,530,64,0,0,40,528,0,9,0,10,0,0,0,42,0,530,0,0],[0,407,0,0,0,121,121,0,9,0,10,0,0,0,42,0,407,0,0],[0,407,0,470,0,121,121,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,525,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,475,529,0,0,0,0],[0,0,0,472,465,473,526,8,9,0,10,0,0,475,469,0,0,16,0],[0,0,0,472,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0],[0,0,0,0,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,0,481,0,0,0,0],[0,0,0,531,532,533,534,57,58,0,59,0,0,535,536,0,0,62,0],[0,479,0,537,0,248,248,57,58,0,59,0,0,0,139,0,479,0,0],[0,479,0,0,0,246,538,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,539,532,540,541,57,58,0,59,0,0,542,536,0,0,62,0],[0,0,0,0,0,0,0,353,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,350,0,0],[0,0,0,0,0,0,543,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,361,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,358,0,0],[0,0,0,0,0,544,544,442,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,545,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,491,492,493,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,492,492,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,546,546,494,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,547,546,546,494,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,548,549,368,550,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,274,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,161,0,0,0,0,498,0,0,0,0,0],[0,0,0,495,0,496,368,0,161,0,162,0,0,498,0,0,0,0,0],[0,0,0,495,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,551,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,553,0,0,0,76,554,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,503,555,0,0,0,0],[0,0,0,499,500,501,552,22,23,0,24,0,0,503,504,0,0,27,0],[0,0,0,499,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,556,90,0,0,76,554,0,23,0,24,0,0,0,78,0,556,0,0],[0,448,0,0,0,175,175,0,23,0,24,0,0,0,78,0,448,0,0],[0,448,0,505,0,175,175,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,551,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,510,555,0,0,0,0],[0,0,0,507,500,508,552,22,23,0,24,0,0,510,504,0,0,27,0],[0,0,0,507,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,0,0],[0,0,0,557,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,559,0,0,0,97,560,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,516,561,0,0,0,0],[0,0,0,512,513,514,558,32,33,0,34,0,0,516,517,0,0,37,0],[0,0,0,512,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,562,111,0,0,97,560,0,33,0,34,0,0,0,99,0,562,0,0],[0,457,0,0,0,201,201,0,33,0,34,0,0,0,99,0,457,0,0],[0,457,0,518,0,201,201,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,557,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,523,561,0,0,0,0],[0,0,0,520,513,521,558,32,33,0,34,0,0,523,517,0,0,37,0],[0,0,0,520,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,0],[0,0,0,0,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,0,529,0,0,0,0],[0,0,0,563,66,564,565,8,9,0,10,0,0,566,68,0,0,16,0],[0,527,0,567,0,123,123,8,9,0,10,0,0,0,42,0,527,0,0],[0,527,0,0,0,121,568,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,569,66,570,571,8,9,0,10,0,0,572,68,0,0,16,0],[0,0,0,573,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,575,0,0,0,137,576,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,535,577,0,0,0,0],[0,0,0,531,532,533,574,57,58,0,59,0,0,535,536,0,0,62,0],[0,0,0,531,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,578,151,0,0,137,576,0,58,0,59,0,0,0,139,0,578,0,0],[0,479,0,0,0,246,246,0,58,0,59,0,0,0,139,0,479,0,0],[0,479,0,537,0,246,246,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,573,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,542,577,0,0,0,0],[0,0,0,539,532,540,574,57,58,0,59,0,0,542,536,0,0,62,0],[0,0,0,539,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,0,0],[0,0,0,0,0,0,0,442,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,439,0,0],[0,0,0,0,0,579,579,494,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,580,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,549,368,550,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,368,368,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,581,0,0,0,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,0,555,0,0,0,0],[0,0,0,582,91,583,584,22,23,0,24,0,0,585,93,0,0,27,0],[0,553,0,586,0,177,177,22,23,0,24,0,0,0,78,0,553,0,0],[0,553,0,0,0,175,587,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,588,91,589,590,22,23,0,24,0,0,591,93,0,0,27,0],[0,0,0,0,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,0,561,0,0,0,0],[0,0,0,592,112,593,594,32,33,0,34,0,0,595,114,0,0,37,0],[0,559,0,596,0,203,203,32,33,0,34,0,0,0,99,0,559,0,0],[0,559,0,0,0,201,597,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,598,112,599,600,32,33,0,34,0,0,601,114,0,0,37,0],[0,0,0,602,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,566,165,0,0,0,0],[0,0,0,563,66,564,67,8,9,0,10,0,0,566,68,0,0,16,0],[0,0,0,563,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,527,0,0,0,121,121,0,9,0,10,0,0,0,42,0,527,0,0],[0,527,0,567,0,121,121,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,602,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,572,165,0,0,0,0],[0,0,0,569,66,570,67,8,9,0,10,0,0,572,68,0,0,16,0],[0,0,0,569,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,0,577,0,0,0,0],[0,0,0,603,152,604,605,57,58,0,59,0,0,606,154,0,0,62,0],[0,575,0,607,0,248,248,57,58,0,59,0,0,0,139,0,575,0,0],[0,575,0,0,0,246,608,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,609,152,610,611,57,58,0,59,0,0,612,154,0,0,62,0],[0,0,0,0,0,0,0,494,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,491,0,0],[0,0,0,0,0,0,613,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,614,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,585,194,0,0,0,0],[0,0,0,582,91,583,92,22,23,0,24,0,0,585,93,0,0,27,0],[0,0,0,582,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,553,0,0,0,175,175,0,23,0,24,0,0,0,78,0,553,0,0],[0,553,0,586,0,175,175,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,614,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,591,194,0,0,0,0],[0,0,0,588,91,589,92,22,23,0,24,0,0,591,93,0,0,27,0],[0,0,0,588,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,615,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,595,220,0,0,0,0],[0,0,0,592,112,593,113,32,33,0,34,0,0,595,114,0,0,37,0],[0,0,0,592,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,559,0,0,0,201,201,0,33,0,34,0,0,0,99,0,559,0,0],[0,559,0,596,0,201,201,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,615,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,601,220,0,0,0,0],[0,0,0,598,112,599,113,32,33,0,34,0,0,601,114,0,0,37,0],[0,0,0,598,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,616,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,606,265,0,0,0,0],[0,0,0,603,152,604,153,57,58,0,59,0,0,606,154,0,0,62,0],[0,0,0,603,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,575,0,0,0,246,246,0,58,0,59,0,0,0,139,0,575,0,0],[0,575,0,607,0,246,246,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,616,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,612,265,0,0,0,0],[0,0,0,609,152,610,153,57,58,0,59,0,0,612,154,0,0,62,0],[0,0,0,609,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,549,0,0],[0,0,0,0,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0]],\\\"accepting\\\":[false,true,true,true,true,true,false,false,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,false,false,true,true,true,true,true,true,true,true,true,true,false,true,true,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,false,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,false,true,false,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,false,false,true,false,true,true,false,true,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,true,true,false,false,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,false,false,true,true,false,false,true,true,true,false,true,false,true,true,true,true,false,false,false,true,false,true,true,true,true,false,false,false,true,true,false,true,true,true,true,true,true,false,true,true,false,true,false,true,true,true,true,false,false,false,false,false,false,false,true,true,false,false,true,true,false,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,true,false,true,true,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,false,true,true,false,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,true,false,true,true,true,true,false,false,false,true,false,true,true,true,true,true,false,true,true,true,false,true,true,true,true,true,false,true,true,true,true,false,true,true,true,true,true,false,true,true,false,true,true,true],\\\"tags\\\":[[],[\\\"broken_cluster\\\"],[\\\"consonant_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[],[],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"consonant_syllable\\\"],[\\\"broken_cluster\\\"],[\\\"symbol_cluster\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[],[\\\"broken_cluster\\\"],[],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[],[],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[],[],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[],[\\\"broken_cluster\\\"],[\\\"symbol_cluster\\\"],[],[\\\"symbol_cluster\\\"],[\\\"symbol_cluster\\\"],[\\\"consonant_syllable\\\"],[],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[],[\\\"consonant_syllable\\\"],[],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[],[],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[],[\\\"consonant_syllable\\\"],[\\\"vowel_syllable\\\"],[],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[],[\\\"vowel_syllable\\\"],[],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[],[],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[],[\\\"vowel_syllable\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[],[\\\"broken_cluster\\\"],[],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[],[],[],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[],[],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[],[\\\"standalone_cluster\\\"],[],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[],[],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[],[\\\"standalone_cluster\\\"],[\\\"broken_cluster\\\"],[],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"symbol_cluster\\\"],[\\\"symbol_cluster\\\"],[\\\"symbol_cluster\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[],[\\\"consonant_syllable\\\"],[],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[],[],[],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[],[],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[],[\\\"vowel_syllable\\\"],[],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[],[],[],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[],[],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"broken_cluster\\\"],[],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[],[],[],[],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[],[],[\\\"broken_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[],[\\\"standalone_cluster\\\"],[],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[],[],[],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[],[],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[],[\\\"broken_cluster\\\"],[],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"symbol_cluster\\\"],[\\\"consonant_syllable\\\"],[],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[],[],[],[],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[],[],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"vowel_syllable\\\"],[],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[],[],[],[],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[],[],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[],[],[],[],[\\\"broken_cluster\\\"],[],[\\\"standalone_cluster\\\"],[],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[],[],[],[],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[],[],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[],[],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[],[],[],[],[\\\"consonant_syllable\\\"],[],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[],[],[],[],[\\\"vowel_syllable\\\"],[],[\\\"broken_cluster\\\"],[],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[],[],[],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[],[],[],[],[\\\"standalone_cluster\\\"],[],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[],[],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[],[],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[],[\\\"consonant_syllable\\\"],[],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[],[],[],[\\\"vowel_syllable\\\"],[],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[],[],[],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[],[\\\"standalone_cluster\\\"],[],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[],[],[],[],[],[],[],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[],[],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[],[\\\"broken_cluster\\\"],[],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[],[],[],[],[],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[\\\"consonant_syllable\\\",\\\"broken_cluster\\\"],[],[\\\"consonant_syllable\\\"],[],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"vowel_syllable\\\"],[],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"broken_cluster\\\"],[],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"standalone_cluster\\\"],[],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[],[],[],[\\\"consonant_syllable\\\"],[],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[],[\\\"consonant_syllable\\\"],[\\\"consonant_syllable\\\"],[\\\"vowel_syllable\\\"],[],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[],[\\\"vowel_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"broken_cluster\\\"],[\\\"standalone_cluster\\\"],[],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[],[\\\"standalone_cluster\\\"],[\\\"standalone_cluster\\\"],[],[\\\"consonant_syllable\\\"],[\\\"vowel_syllable\\\"],[\\\"standalone_cluster\\\"]]}\");\n\n\nvar $aa333a9607471296$exports = {};\n$aa333a9607471296$exports = JSON.parse(\"{\\\"categories\\\":[\\\"O\\\",\\\"IND\\\",\\\"S\\\",\\\"GB\\\",\\\"B\\\",\\\"FM\\\",\\\"CGJ\\\",\\\"VMAbv\\\",\\\"VMPst\\\",\\\"VAbv\\\",\\\"VPst\\\",\\\"CMBlw\\\",\\\"VPre\\\",\\\"VBlw\\\",\\\"H\\\",\\\"VMBlw\\\",\\\"CMAbv\\\",\\\"MBlw\\\",\\\"CS\\\",\\\"R\\\",\\\"SUB\\\",\\\"MPst\\\",\\\"MPre\\\",\\\"FAbv\\\",\\\"FPst\\\",\\\"FBlw\\\",\\\"null\\\",\\\"SMAbv\\\",\\\"SMBlw\\\",\\\"VMPre\\\",\\\"ZWNJ\\\",\\\"ZWJ\\\",\\\"WJ\\\",\\\"M\\\",\\\"VS\\\",\\\"N\\\",\\\"HN\\\",\\\"MAbv\\\"],\\\"decompositions\\\":{\\\"2507\\\":[2503,2494],\\\"2508\\\":[2503,2519],\\\"2888\\\":[2887,2902],\\\"2891\\\":[2887,2878],\\\"2892\\\":[2887,2903],\\\"3018\\\":[3014,3006],\\\"3019\\\":[3015,3006],\\\"3020\\\":[3014,3031],\\\"3144\\\":[3142,3158],\\\"3264\\\":[3263,3285],\\\"3271\\\":[3270,3285],\\\"3272\\\":[3270,3286],\\\"3274\\\":[3270,3266],\\\"3275\\\":[3270,3266,3285],\\\"3402\\\":[3398,3390],\\\"3403\\\":[3399,3390],\\\"3404\\\":[3398,3415],\\\"3546\\\":[3545,3530],\\\"3548\\\":[3545,3535],\\\"3549\\\":[3545,3535,3530],\\\"3550\\\":[3545,3551],\\\"3635\\\":[3661,3634],\\\"3763\\\":[3789,3762],\\\"3955\\\":[3953,3954],\\\"3957\\\":[3953,3956],\\\"3958\\\":[4018,3968],\\\"3959\\\":[4018,3953,3968],\\\"3960\\\":[4019,3968],\\\"3961\\\":[4019,3953,3968],\\\"3969\\\":[3953,3968],\\\"6971\\\":[6970,6965],\\\"6973\\\":[6972,6965],\\\"6976\\\":[6974,6965],\\\"6977\\\":[6975,6965],\\\"6979\\\":[6978,6965],\\\"69934\\\":[69937,69927],\\\"69935\\\":[69938,69927],\\\"70475\\\":[70471,70462],\\\"70476\\\":[70471,70487],\\\"70843\\\":[70841,70842],\\\"70844\\\":[70841,70832],\\\"70846\\\":[70841,70845],\\\"71098\\\":[71096,71087],\\\"71099\\\":[71097,71087]},\\\"stateTable\\\":[[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],[2,2,3,4,4,5,0,6,7,8,9,10,11,12,13,14,15,16,0,17,18,11,19,20,21,22,0,0,0,23,0,0,2,0,0,24,0,25],[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,26,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,27,28,0,0,0,0,0,27,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,39,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,39,0,0,47],[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,5,0,6,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,0,0,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,9,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,10,11,12,13,14,0,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,9,0,0,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,18,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,5,0,0,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,10,11,12,13,14,15,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,0,0,0,0,11,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,4,4,5,0,6,7,8,9,10,11,12,13,14,15,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,48,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,49,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,16,0,0,0,11,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,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,50,0,51,0],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,16,0,0,0,11,0,20,21,22,0,0,0,23,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,27,28,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,28,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,29,0,30,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,0,0,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,33,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,0,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,33,0,0,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,41,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,29,0,0,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,39,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,0,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,52,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,53,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,40,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,40,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,0,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,48,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[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,51,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,54,0,0],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,0,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,52,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[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,50,0,51,0]],\\\"accepting\\\":[false,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true],\\\"tags\\\":[[],[\\\"broken_cluster\\\"],[\\\"independent_cluster\\\"],[\\\"symbol_cluster\\\"],[\\\"standard_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"numeral_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"independent_cluster\\\"],[\\\"symbol_cluster\\\"],[\\\"symbol_cluster\\\"],[\\\"standard_cluster\\\"],[\\\"standard_cluster\\\"],[\\\"standard_cluster\\\"],[\\\"standard_cluster\\\"],[\\\"standard_cluster\\\"],[\\\"standard_cluster\\\"],[\\\"standard_cluster\\\"],[\\\"standard_cluster\\\"],[\\\"virama_terminated_cluster\\\"],[\\\"standard_cluster\\\"],[\\\"standard_cluster\\\"],[\\\"standard_cluster\\\"],[\\\"standard_cluster\\\"],[\\\"standard_cluster\\\"],[\\\"standard_cluster\\\"],[\\\"standard_cluster\\\"],[\\\"standard_cluster\\\"],[\\\"standard_cluster\\\"],[\\\"standard_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"broken_cluster\\\"],[\\\"numeral_cluster\\\"],[\\\"number_joiner_terminated_cluster\\\"],[\\\"standard_cluster\\\"],[\\\"standard_cluster\\\"],[\\\"numeral_cluster\\\"]]}\");\n\n\n// Cateories used in the OpenType spec:\n// https://www.microsoft.com/typography/otfntdev/devanot/shaping.aspx\nconst $90a9d3398ee54fe5$export$a513ea61a7bee91c = {\n X: 1,\n C: 2,\n V: 4,\n N: 8,\n H: 16,\n ZWNJ: 32,\n ZWJ: 64,\n M: 128,\n SM: 256,\n VD: 512,\n A: 1024,\n Placeholder: 2048,\n Dotted_Circle: 4096,\n RS: 8192,\n Coeng: 16384,\n Repha: 32768,\n Ra: 65536,\n CM: 131072,\n Symbol: 262144 // Avagraha, etc that take marks (SM,A,VD).\n};\nconst $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0 = {\n Start: 1,\n Ra_To_Become_Reph: 2,\n Pre_M: 4,\n Pre_C: 8,\n Base_C: 16,\n After_Main: 32,\n Above_C: 64,\n Before_Sub: 128,\n Below_C: 256,\n After_Sub: 512,\n Before_Post: 1024,\n Post_C: 2048,\n After_Post: 4096,\n Final_C: 8192,\n SMVD: 16384,\n End: 32768\n};\nconst $90a9d3398ee54fe5$export$8519deaa7de2b07 = $90a9d3398ee54fe5$export$a513ea61a7bee91c.C | $90a9d3398ee54fe5$export$a513ea61a7bee91c.Ra | $90a9d3398ee54fe5$export$a513ea61a7bee91c.CM | $90a9d3398ee54fe5$export$a513ea61a7bee91c.V | $90a9d3398ee54fe5$export$a513ea61a7bee91c.Placeholder | $90a9d3398ee54fe5$export$a513ea61a7bee91c.Dotted_Circle;\nconst $90a9d3398ee54fe5$export$bbcd928767338e0d = $90a9d3398ee54fe5$export$a513ea61a7bee91c.ZWJ | $90a9d3398ee54fe5$export$a513ea61a7bee91c.ZWNJ;\nconst $90a9d3398ee54fe5$export$ca9599b2a300afc = $90a9d3398ee54fe5$export$a513ea61a7bee91c.H | $90a9d3398ee54fe5$export$a513ea61a7bee91c.Coeng;\nconst $90a9d3398ee54fe5$export$e99d119da76a0fc5 = {\n Default: {\n hasOldSpec: false,\n virama: 0,\n basePos: 'Last',\n rephPos: $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0.Before_Post,\n rephMode: 'Implicit',\n blwfMode: 'Pre_And_Post'\n },\n Devanagari: {\n hasOldSpec: true,\n virama: 0x094D,\n basePos: 'Last',\n rephPos: $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0.Before_Post,\n rephMode: 'Implicit',\n blwfMode: 'Pre_And_Post'\n },\n Bengali: {\n hasOldSpec: true,\n virama: 0x09CD,\n basePos: 'Last',\n rephPos: $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0.After_Sub,\n rephMode: 'Implicit',\n blwfMode: 'Pre_And_Post'\n },\n Gurmukhi: {\n hasOldSpec: true,\n virama: 0x0A4D,\n basePos: 'Last',\n rephPos: $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0.Before_Sub,\n rephMode: 'Implicit',\n blwfMode: 'Pre_And_Post'\n },\n Gujarati: {\n hasOldSpec: true,\n virama: 0x0ACD,\n basePos: 'Last',\n rephPos: $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0.Before_Post,\n rephMode: 'Implicit',\n blwfMode: 'Pre_And_Post'\n },\n Oriya: {\n hasOldSpec: true,\n virama: 0x0B4D,\n basePos: 'Last',\n rephPos: $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0.After_Main,\n rephMode: 'Implicit',\n blwfMode: 'Pre_And_Post'\n },\n Tamil: {\n hasOldSpec: true,\n virama: 0x0BCD,\n basePos: 'Last',\n rephPos: $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0.After_Post,\n rephMode: 'Implicit',\n blwfMode: 'Pre_And_Post'\n },\n Telugu: {\n hasOldSpec: true,\n virama: 0x0C4D,\n basePos: 'Last',\n rephPos: $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0.After_Post,\n rephMode: 'Explicit',\n blwfMode: 'Post_Only'\n },\n Kannada: {\n hasOldSpec: true,\n virama: 0x0CCD,\n basePos: 'Last',\n rephPos: $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0.After_Post,\n rephMode: 'Implicit',\n blwfMode: 'Post_Only'\n },\n Malayalam: {\n hasOldSpec: true,\n virama: 0x0D4D,\n basePos: 'Last',\n rephPos: $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0.After_Main,\n rephMode: 'Log_Repha',\n blwfMode: 'Pre_And_Post'\n },\n // Handled by UniversalShaper\n // Sinhala: {\n // hasOldSpec: false,\n // virama: 0x0DCA,\n // basePos: 'Last_Sinhala',\n // rephPos: POSITIONS.After_Main,\n // rephMode: 'Explicit',\n // blwfMode: 'Pre_And_Post'\n // },\n Khmer: {\n hasOldSpec: false,\n virama: 0x17D2,\n basePos: 'First',\n rephPos: $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0.Ra_To_Become_Reph,\n rephMode: 'Vis_Repha',\n blwfMode: 'Pre_And_Post'\n }\n};\nconst $90a9d3398ee54fe5$export$f647c9cfdd77d95a = {\n // Khmer\n 0x17BE: [\n 0x17C1,\n 0x17BE\n ],\n 0x17BF: [\n 0x17C1,\n 0x17BF\n ],\n 0x17C0: [\n 0x17C1,\n 0x17C0\n ],\n 0x17C4: [\n 0x17C1,\n 0x17C4\n ],\n 0x17C5: [\n 0x17C1,\n 0x17C5\n ]\n};\n\n\n\nconst { decompositions: $7826f90f6f0cecc9$var$decompositions } = (0, (/*@__PURE__*/$parcel$interopDefault($aa333a9607471296$exports)));\nconst $7826f90f6f0cecc9$var$trie = new (0, $6uUbQ$unicodetrie)((0, $12727730ddfc8bfe$export$94fdf11bafc8de6b)(\"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\"));\nconst $7826f90f6f0cecc9$var$stateMachine = new (0, $6uUbQ$dfa)((0, (/*@__PURE__*/$parcel$interopDefault($4b0735ca6c692ea5$exports))));\nclass $7826f90f6f0cecc9$export$2e2bcd8739ae039 extends (0, $649970d87335b30f$export$2e2bcd8739ae039) {\n static planFeatures(plan) {\n plan.addStage($7826f90f6f0cecc9$var$setupSyllables);\n plan.addStage([\n 'locl',\n 'ccmp'\n ]);\n plan.addStage($7826f90f6f0cecc9$var$initialReordering);\n plan.addStage('nukt');\n plan.addStage('akhn');\n plan.addStage('rphf', false);\n plan.addStage('rkrf');\n plan.addStage('pref', false);\n plan.addStage('blwf', false);\n plan.addStage('abvf', false);\n plan.addStage('half', false);\n plan.addStage('pstf', false);\n plan.addStage('vatu');\n plan.addStage('cjct');\n plan.addStage('cfar', false);\n plan.addStage($7826f90f6f0cecc9$var$finalReordering);\n plan.addStage({\n local: [\n 'init'\n ],\n global: [\n 'pres',\n 'abvs',\n 'blws',\n 'psts',\n 'haln',\n 'dist',\n 'abvm',\n 'blwm',\n 'calt',\n 'clig'\n ]\n });\n // Setup the indic config for the selected script\n plan.unicodeScript = $130d1a642ebcd2b7$export$ce50e82f12a827a4(plan.script);\n plan.indicConfig = (0, $90a9d3398ee54fe5$export$e99d119da76a0fc5)[plan.unicodeScript] || (0, $90a9d3398ee54fe5$export$e99d119da76a0fc5).Default;\n plan.isOldSpec = plan.indicConfig.hasOldSpec && plan.script[plan.script.length - 1] !== '2';\n // TODO: turn off kern (Khmer) and liga features.\n }\n static assignFeatures(plan, glyphs) {\n // Decompose split matras\n // TODO: do this in a more general unicode normalizer\n for(let i = glyphs.length - 1; i >= 0; i--){\n let codepoint = glyphs[i].codePoints[0];\n let d = (0, $90a9d3398ee54fe5$export$f647c9cfdd77d95a)[codepoint] || $7826f90f6f0cecc9$var$decompositions[codepoint];\n if (d) {\n let decomposed = d.map((c)=>{\n let g = plan.font.glyphForCodePoint(c);\n return new (0, $10e7b257e1a9a756$export$2e2bcd8739ae039)(plan.font, g.id, [\n c\n ], glyphs[i].features);\n });\n glyphs.splice(i, 1, ...decomposed);\n }\n }\n }\n}\n(0, $6uUbQ$_)($7826f90f6f0cecc9$export$2e2bcd8739ae039, \"zeroMarkWidths\", 'NONE');\nfunction $7826f90f6f0cecc9$var$indicCategory(glyph) {\n return $7826f90f6f0cecc9$var$trie.get(glyph.codePoints[0]) >> 8;\n}\nfunction $7826f90f6f0cecc9$var$indicPosition(glyph) {\n return 1 << ($7826f90f6f0cecc9$var$trie.get(glyph.codePoints[0]) & 0xff);\n}\nclass $7826f90f6f0cecc9$var$IndicInfo {\n constructor(category, position, syllableType, syllable){\n this.category = category;\n this.position = position;\n this.syllableType = syllableType;\n this.syllable = syllable;\n }\n}\nfunction $7826f90f6f0cecc9$var$setupSyllables(font, glyphs) {\n let syllable = 0;\n let last = 0;\n for (let [start, end, tags] of $7826f90f6f0cecc9$var$stateMachine.match(glyphs.map($7826f90f6f0cecc9$var$indicCategory))){\n if (start > last) {\n ++syllable;\n for(let i = last; i < start; i++)glyphs[i].shaperInfo = new $7826f90f6f0cecc9$var$IndicInfo((0, $90a9d3398ee54fe5$export$a513ea61a7bee91c).X, (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).End, 'non_indic_cluster', syllable);\n }\n ++syllable;\n // Create shaper info\n for(let i = start; i <= end; i++)glyphs[i].shaperInfo = new $7826f90f6f0cecc9$var$IndicInfo(1 << $7826f90f6f0cecc9$var$indicCategory(glyphs[i]), $7826f90f6f0cecc9$var$indicPosition(glyphs[i]), tags[0], syllable);\n last = end + 1;\n }\n if (last < glyphs.length) {\n ++syllable;\n for(let i = last; i < glyphs.length; i++)glyphs[i].shaperInfo = new $7826f90f6f0cecc9$var$IndicInfo((0, $90a9d3398ee54fe5$export$a513ea61a7bee91c).X, (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).End, 'non_indic_cluster', syllable);\n }\n}\nfunction $7826f90f6f0cecc9$var$isConsonant(glyph) {\n return glyph.shaperInfo.category & (0, $90a9d3398ee54fe5$export$8519deaa7de2b07);\n}\nfunction $7826f90f6f0cecc9$var$isJoiner(glyph) {\n return glyph.shaperInfo.category & (0, $90a9d3398ee54fe5$export$bbcd928767338e0d);\n}\nfunction $7826f90f6f0cecc9$var$isHalantOrCoeng(glyph) {\n return glyph.shaperInfo.category & (0, $90a9d3398ee54fe5$export$ca9599b2a300afc);\n}\nfunction $7826f90f6f0cecc9$var$wouldSubstitute(glyphs, feature) {\n for (let glyph of glyphs)glyph.features = {\n [feature]: true\n };\n let GSUB = glyphs[0]._font._layoutEngine.engine.GSUBProcessor;\n GSUB.applyFeatures([\n feature\n ], glyphs);\n return glyphs.length === 1;\n}\nfunction $7826f90f6f0cecc9$var$consonantPosition(font, consonant, virama) {\n let glyphs = [\n virama,\n consonant,\n virama\n ];\n if ($7826f90f6f0cecc9$var$wouldSubstitute(glyphs.slice(0, 2), 'blwf') || $7826f90f6f0cecc9$var$wouldSubstitute(glyphs.slice(1, 3), 'blwf')) return (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Below_C;\n else if ($7826f90f6f0cecc9$var$wouldSubstitute(glyphs.slice(0, 2), 'pstf') || $7826f90f6f0cecc9$var$wouldSubstitute(glyphs.slice(1, 3), 'pstf')) return (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Post_C;\n else if ($7826f90f6f0cecc9$var$wouldSubstitute(glyphs.slice(0, 2), 'pref') || $7826f90f6f0cecc9$var$wouldSubstitute(glyphs.slice(1, 3), 'pref')) return (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Post_C;\n return (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Base_C;\n}\nfunction $7826f90f6f0cecc9$var$initialReordering(font, glyphs, plan) {\n let indicConfig = plan.indicConfig;\n let features = font._layoutEngine.engine.GSUBProcessor.features;\n let dottedCircle = font.glyphForCodePoint(0x25cc).id;\n let virama = font.glyphForCodePoint(indicConfig.virama).id;\n if (virama) {\n let info = new (0, $10e7b257e1a9a756$export$2e2bcd8739ae039)(font, virama, [\n indicConfig.virama\n ]);\n for(let i = 0; i < glyphs.length; i++)if (glyphs[i].shaperInfo.position === (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Base_C) glyphs[i].shaperInfo.position = $7826f90f6f0cecc9$var$consonantPosition(font, glyphs[i].copy(), info);\n }\n for(let start = 0, end = $7826f90f6f0cecc9$var$nextSyllable(glyphs, 0); start < glyphs.length; start = end, end = $7826f90f6f0cecc9$var$nextSyllable(glyphs, start)){\n let { category: category, syllableType: syllableType } = glyphs[start].shaperInfo;\n if (syllableType === 'symbol_cluster' || syllableType === 'non_indic_cluster') continue;\n if (syllableType === 'broken_cluster' && dottedCircle) {\n let g = new (0, $10e7b257e1a9a756$export$2e2bcd8739ae039)(font, dottedCircle, [\n 0x25cc\n ]);\n g.shaperInfo = new $7826f90f6f0cecc9$var$IndicInfo(1 << $7826f90f6f0cecc9$var$indicCategory(g), $7826f90f6f0cecc9$var$indicPosition(g), glyphs[start].shaperInfo.syllableType, glyphs[start].shaperInfo.syllable);\n // Insert after possible Repha.\n let i = start;\n while(i < end && glyphs[i].shaperInfo.category === (0, $90a9d3398ee54fe5$export$a513ea61a7bee91c).Repha)i++;\n glyphs.splice(i++, 0, g);\n end++;\n }\n // 1. Find base consonant:\n //\n // The shaping engine finds the base consonant of the syllable, using the\n // following algorithm: starting from the end of the syllable, move backwards\n // until a consonant is found that does not have a below-base or post-base\n // form (post-base forms have to follow below-base forms), or that is not a\n // pre-base reordering Ra, or arrive at the first consonant. The consonant\n // stopped at will be the base.\n let base = end;\n let limit = start;\n let hasReph = false;\n // If the syllable starts with Ra + Halant (in a script that has Reph)\n // and has more than one consonant, Ra is excluded from candidates for\n // base consonants.\n if (indicConfig.rephPos !== (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Ra_To_Become_Reph && features.rphf && start + 3 <= end && (indicConfig.rephMode === 'Implicit' && !$7826f90f6f0cecc9$var$isJoiner(glyphs[start + 2]) || indicConfig.rephMode === 'Explicit' && glyphs[start + 2].shaperInfo.category === (0, $90a9d3398ee54fe5$export$a513ea61a7bee91c).ZWJ)) {\n // See if it matches the 'rphf' feature.\n let g = [\n glyphs[start].copy(),\n glyphs[start + 1].copy(),\n glyphs[start + 2].copy()\n ];\n if ($7826f90f6f0cecc9$var$wouldSubstitute(g.slice(0, 2), 'rphf') || indicConfig.rephMode === 'Explicit' && $7826f90f6f0cecc9$var$wouldSubstitute(g, 'rphf')) {\n limit += 2;\n while(limit < end && $7826f90f6f0cecc9$var$isJoiner(glyphs[limit]))limit++;\n base = start;\n hasReph = true;\n }\n } else if (indicConfig.rephMode === 'Log_Repha' && glyphs[start].shaperInfo.category === (0, $90a9d3398ee54fe5$export$a513ea61a7bee91c).Repha) {\n limit++;\n while(limit < end && $7826f90f6f0cecc9$var$isJoiner(glyphs[limit]))limit++;\n base = start;\n hasReph = true;\n }\n switch(indicConfig.basePos){\n case 'Last':\n {\n // starting from the end of the syllable, move backwards\n let i = end;\n let seenBelow = false;\n do {\n let info = glyphs[--i].shaperInfo;\n // until a consonant is found\n if ($7826f90f6f0cecc9$var$isConsonant(glyphs[i])) {\n // that does not have a below-base or post-base form\n // (post-base forms have to follow below-base forms),\n if (info.position !== (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Below_C && (info.position !== (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Post_C || seenBelow)) {\n base = i;\n break;\n }\n // or that is not a pre-base reordering Ra,\n //\n // IMPLEMENTATION NOTES:\n //\n // Our pre-base reordering Ra's are marked POS_POST_C, so will be skipped\n // by the logic above already.\n //\n // or arrive at the first consonant. The consonant stopped at will\n // be the base.\n if (info.position === (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Below_C) seenBelow = true;\n base = i;\n } else if (start < i && info.category === (0, $90a9d3398ee54fe5$export$a513ea61a7bee91c).ZWJ && glyphs[i - 1].shaperInfo.category === (0, $90a9d3398ee54fe5$export$a513ea61a7bee91c).H) break;\n }while (i > limit);\n break;\n }\n case 'First':\n // The first consonant is always the base.\n base = start;\n // Mark all subsequent consonants as below.\n for(let i = base + 1; i < end; i++)if ($7826f90f6f0cecc9$var$isConsonant(glyphs[i])) glyphs[i].shaperInfo.position = (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Below_C;\n }\n // If the syllable starts with Ra + Halant (in a script that has Reph)\n // and has more than one consonant, Ra is excluded from candidates for\n // base consonants.\n //\n // Only do this for unforced Reph. (ie. not for Ra,H,ZWJ)\n if (hasReph && base === start && limit - base <= 2) hasReph = false;\n // 2. Decompose and reorder Matras:\n //\n // Each matra and any syllable modifier sign in the cluster are moved to the\n // appropriate position relative to the consonant(s) in the cluster. The\n // shaping engine decomposes two- or three-part matras into their constituent\n // parts before any repositioning. Matra characters are classified by which\n // consonant in a conjunct they have affinity for and are reordered to the\n // following positions:\n //\n // o Before first half form in the syllable\n // o After subjoined consonants\n // o After post-form consonant\n // o After main consonant (for above marks)\n //\n // IMPLEMENTATION NOTES:\n //\n // The normalize() routine has already decomposed matras for us, so we don't\n // need to worry about that.\n // 3. Reorder marks to canonical order:\n //\n // Adjacent nukta and halant or nukta and vedic sign are always repositioned\n // if necessary, so that the nukta is first.\n //\n // IMPLEMENTATION NOTES:\n //\n // We don't need to do this: the normalize() routine already did this for us.\n // Reorder characters\n for(let i = start; i < base; i++){\n let info = glyphs[i].shaperInfo;\n info.position = Math.min((0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Pre_C, info.position);\n }\n if (base < end) glyphs[base].shaperInfo.position = (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Base_C;\n // Mark final consonants. A final consonant is one appearing after a matra,\n // like in Khmer.\n for(let i = base + 1; i < end; i++)if (glyphs[i].shaperInfo.category === (0, $90a9d3398ee54fe5$export$a513ea61a7bee91c).M) {\n for(let j = i + 1; j < end; j++)if ($7826f90f6f0cecc9$var$isConsonant(glyphs[j])) {\n glyphs[j].shaperInfo.position = (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Final_C;\n break;\n }\n break;\n }\n // Handle beginning Ra\n if (hasReph) glyphs[start].shaperInfo.position = (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Ra_To_Become_Reph;\n // For old-style Indic script tags, move the first post-base Halant after\n // last consonant.\n //\n // Reports suggest that in some scripts Uniscribe does this only if there\n // is *not* a Halant after last consonant already (eg. Kannada), while it\n // does it unconditionally in other scripts (eg. Malayalam). We don't\n // currently know about other scripts, so we single out Malayalam for now.\n //\n // Kannada test case:\n // U+0C9A,U+0CCD,U+0C9A,U+0CCD\n // With some versions of Lohit Kannada.\n // https://bugs.freedesktop.org/show_bug.cgi?id=59118\n //\n // Malayalam test case:\n // U+0D38,U+0D4D,U+0D31,U+0D4D,U+0D31,U+0D4D\n // With lohit-ttf-20121122/Lohit-Malayalam.ttf\n if (plan.isOldSpec) {\n let disallowDoubleHalants = plan.unicodeScript !== 'Malayalam';\n for(let i = base + 1; i < end; i++)if (glyphs[i].shaperInfo.category === (0, $90a9d3398ee54fe5$export$a513ea61a7bee91c).H) {\n let j;\n for(j = end - 1; j > i; j--){\n if ($7826f90f6f0cecc9$var$isConsonant(glyphs[j]) || disallowDoubleHalants && glyphs[j].shaperInfo.category === (0, $90a9d3398ee54fe5$export$a513ea61a7bee91c).H) break;\n }\n if (glyphs[j].shaperInfo.category !== (0, $90a9d3398ee54fe5$export$a513ea61a7bee91c).H && j > i) {\n // Move Halant to after last consonant.\n let t = glyphs[i];\n glyphs.splice(i, 0, ...glyphs.splice(i + 1, j - i));\n glyphs[j] = t;\n }\n break;\n }\n }\n // Attach misc marks to previous char to move with them.\n let lastPos = (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Start;\n for(let i = start; i < end; i++){\n let info = glyphs[i].shaperInfo;\n if (info.category & ((0, $90a9d3398ee54fe5$export$bbcd928767338e0d) | (0, $90a9d3398ee54fe5$export$a513ea61a7bee91c).N | (0, $90a9d3398ee54fe5$export$a513ea61a7bee91c).RS | (0, $90a9d3398ee54fe5$export$a513ea61a7bee91c).CM | (0, $90a9d3398ee54fe5$export$ca9599b2a300afc) & info.category)) {\n info.position = lastPos;\n if (info.category === (0, $90a9d3398ee54fe5$export$a513ea61a7bee91c).H && info.position === (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Pre_M) {\n // Uniscribe doesn't move the Halant with Left Matra.\n // TEST: U+092B,U+093F,U+094DE\n // We follow. This is important for the Sinhala\n // U+0DDA split matra since it decomposes to U+0DD9,U+0DCA\n // where U+0DD9 is a left matra and U+0DCA is the virama.\n // We don't want to move the virama with the left matra.\n // TEST: U+0D9A,U+0DDA\n for(let j = i; j > start; j--)if (glyphs[j - 1].shaperInfo.position !== (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Pre_M) {\n info.position = glyphs[j - 1].shaperInfo.position;\n break;\n }\n }\n } else if (info.position !== (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).SMVD) lastPos = info.position;\n }\n // For post-base consonants let them own anything before them\n // since the last consonant or matra.\n let last = base;\n for(let i = base + 1; i < end; i++){\n if ($7826f90f6f0cecc9$var$isConsonant(glyphs[i])) {\n for(let j = last + 1; j < i; j++)if (glyphs[j].shaperInfo.position < (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).SMVD) glyphs[j].shaperInfo.position = glyphs[i].shaperInfo.position;\n last = i;\n } else if (glyphs[i].shaperInfo.category === (0, $90a9d3398ee54fe5$export$a513ea61a7bee91c).M) last = i;\n }\n let arr = glyphs.slice(start, end);\n arr.sort((a, b)=>a.shaperInfo.position - b.shaperInfo.position);\n glyphs.splice(start, arr.length, ...arr);\n // Find base again\n for(let i = start; i < end; i++)if (glyphs[i].shaperInfo.position === (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Base_C) {\n base = i;\n break;\n }\n // Setup features now\n // Reph\n for(let i = start; i < end && glyphs[i].shaperInfo.position === (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Ra_To_Become_Reph; i++)glyphs[i].features.rphf = true;\n // Pre-base\n let blwf = !plan.isOldSpec && indicConfig.blwfMode === 'Pre_And_Post';\n for(let i = start; i < base; i++){\n glyphs[i].features.half = true;\n if (blwf) glyphs[i].features.blwf = true;\n }\n // Post-base\n for(let i = base + 1; i < end; i++){\n glyphs[i].features.abvf = true;\n glyphs[i].features.pstf = true;\n glyphs[i].features.blwf = true;\n }\n if (plan.isOldSpec && plan.unicodeScript === 'Devanagari') {\n // Old-spec eye-lash Ra needs special handling. From the\n // spec:\n //\n // \"The feature 'below-base form' is applied to consonants\n // having below-base forms and following the base consonant.\n // The exception is vattu, which may appear below half forms\n // as well as below the base glyph. The feature 'below-base\n // form' will be applied to all such occurrences of Ra as well.\"\n //\n // Test case: U+0924,U+094D,U+0930,U+094d,U+0915\n // with Sanskrit 2003 font.\n //\n // However, note that Ra,Halant,ZWJ is the correct way to\n // request eyelash form of Ra, so we wouldbn't inhibit it\n // in that sequence.\n //\n // Test case: U+0924,U+094D,U+0930,U+094d,U+200D,U+0915\n for(let i = start; i + 1 < base; i++)if (glyphs[i].shaperInfo.category === (0, $90a9d3398ee54fe5$export$a513ea61a7bee91c).Ra && glyphs[i + 1].shaperInfo.category === (0, $90a9d3398ee54fe5$export$a513ea61a7bee91c).H && (i + 1 === base || glyphs[i + 2].shaperInfo.category === (0, $90a9d3398ee54fe5$export$a513ea61a7bee91c).ZWJ)) {\n glyphs[i].features.blwf = true;\n glyphs[i + 1].features.blwf = true;\n }\n }\n let prefLen = 2;\n if (features.pref && base + prefLen < end) // Find a Halant,Ra sequence and mark it for pre-base reordering processing.\n for(let i = base + 1; i + prefLen - 1 < end; i++){\n let g = [\n glyphs[i].copy(),\n glyphs[i + 1].copy()\n ];\n if ($7826f90f6f0cecc9$var$wouldSubstitute(g, 'pref')) {\n for(let j = 0; j < prefLen; j++)glyphs[i++].features.pref = true;\n // Mark the subsequent stuff with 'cfar'. Used in Khmer.\n // Read the feature spec.\n // This allows distinguishing the following cases with MS Khmer fonts:\n // U+1784,U+17D2,U+179A,U+17D2,U+1782\n // U+1784,U+17D2,U+1782,U+17D2,U+179A\n if (features.cfar) for(; i < end; i++)glyphs[i].features.cfar = true;\n break;\n }\n }\n // Apply ZWJ/ZWNJ effects\n for(let i = start + 1; i < end; i++)if ($7826f90f6f0cecc9$var$isJoiner(glyphs[i])) {\n let nonJoiner = glyphs[i].shaperInfo.category === (0, $90a9d3398ee54fe5$export$a513ea61a7bee91c).ZWNJ;\n let j = i;\n do {\n j--;\n // ZWJ/ZWNJ should disable CJCT. They do that by simply\n // being there, since we don't skip them for the CJCT\n // feature (ie. F_MANUAL_ZWJ)\n // A ZWNJ disables HALF.\n if (nonJoiner) delete glyphs[j].features.half;\n }while (j > start && !$7826f90f6f0cecc9$var$isConsonant(glyphs[j]));\n }\n }\n}\nfunction $7826f90f6f0cecc9$var$finalReordering(font, glyphs, plan) {\n let indicConfig = plan.indicConfig;\n let features = font._layoutEngine.engine.GSUBProcessor.features;\n for(let start = 0, end = $7826f90f6f0cecc9$var$nextSyllable(glyphs, 0); start < glyphs.length; start = end, end = $7826f90f6f0cecc9$var$nextSyllable(glyphs, start)){\n // 4. Final reordering:\n //\n // After the localized forms and basic shaping forms GSUB features have been\n // applied (see below), the shaping engine performs some final glyph\n // reordering before applying all the remaining font features to the entire\n // cluster.\n let tryPref = !!features.pref;\n // Find base again\n let base = start;\n for(; base < end; base++)if (glyphs[base].shaperInfo.position >= (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Base_C) {\n if (tryPref && base + 1 < end) {\n for(let i = base + 1; i < end; i++)if (glyphs[i].features.pref) {\n if (!(glyphs[i].substituted && glyphs[i].isLigated && !glyphs[i].isMultiplied)) {\n // Ok, this was a 'pref' candidate but didn't form any.\n // Base is around here...\n base = i;\n while(base < end && $7826f90f6f0cecc9$var$isHalantOrCoeng(glyphs[base]))base++;\n glyphs[base].shaperInfo.position = (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).BASE_C;\n tryPref = false;\n }\n break;\n }\n }\n // For Malayalam, skip over unformed below- (but NOT post-) forms.\n if (plan.unicodeScript === 'Malayalam') for(let i = base + 1; i < end; i++){\n while(i < end && $7826f90f6f0cecc9$var$isJoiner(glyphs[i]))i++;\n if (i === end || !$7826f90f6f0cecc9$var$isHalantOrCoeng(glyphs[i])) break;\n i++; // Skip halant.\n while(i < end && $7826f90f6f0cecc9$var$isJoiner(glyphs[i]))i++;\n if (i < end && $7826f90f6f0cecc9$var$isConsonant(glyphs[i]) && glyphs[i].shaperInfo.position === (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Below_C) {\n base = i;\n glyphs[base].shaperInfo.position = (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Base_C;\n }\n }\n if (start < base && glyphs[base].shaperInfo.position > (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Base_C) base--;\n break;\n }\n if (base === end && start < base && glyphs[base - 1].shaperInfo.category === (0, $90a9d3398ee54fe5$export$a513ea61a7bee91c).ZWJ) base--;\n if (base < end) while(start < base && glyphs[base].shaperInfo.category & ((0, $90a9d3398ee54fe5$export$a513ea61a7bee91c).N | (0, $90a9d3398ee54fe5$export$ca9599b2a300afc)))base--;\n // o Reorder matras:\n //\n // If a pre-base matra character had been reordered before applying basic\n // features, the glyph can be moved closer to the main consonant based on\n // whether half-forms had been formed. Actual position for the matra is\n // defined as “after last standalone halant glyph, after initial matra\n // position and before the main consonant”. If ZWJ or ZWNJ follow this\n // halant, position is moved after it.\n //\n if (start + 1 < end && start < base) {\n // If we lost track of base, alas, position before last thingy.\n let newPos = base === end ? base - 2 : base - 1;\n // Malayalam / Tamil do not have \"half\" forms or explicit virama forms.\n // The glyphs formed by 'half' are Chillus or ligated explicit viramas.\n // We want to position matra after them.\n if (plan.unicodeScript !== 'Malayalam' && plan.unicodeScript !== 'Tamil') {\n while(newPos > start && !(glyphs[newPos].shaperInfo.category & ((0, $90a9d3398ee54fe5$export$a513ea61a7bee91c).M | (0, $90a9d3398ee54fe5$export$ca9599b2a300afc))))newPos--;\n // If we found no Halant we are done.\n // Otherwise only proceed if the Halant does\n // not belong to the Matra itself!\n if ($7826f90f6f0cecc9$var$isHalantOrCoeng(glyphs[newPos]) && glyphs[newPos].shaperInfo.position !== (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Pre_M) // If ZWJ or ZWNJ follow this halant, position is moved after it.\n {\n if (newPos + 1 < end && $7826f90f6f0cecc9$var$isJoiner(glyphs[newPos + 1])) newPos++;\n } else newPos = start; // No move.\n }\n if (start < newPos && glyphs[newPos].shaperInfo.position !== (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Pre_M) {\n // Now go see if there's actually any matras...\n for(let i = newPos; i > start; i--)if (glyphs[i - 1].shaperInfo.position === (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Pre_M) {\n let oldPos = i - 1;\n if (oldPos < base && base <= newPos) base--;\n let tmp = glyphs[oldPos];\n glyphs.splice(oldPos, 0, ...glyphs.splice(oldPos + 1, newPos - oldPos));\n glyphs[newPos] = tmp;\n newPos--;\n }\n }\n }\n // o Reorder reph:\n //\n // Reph’s original position is always at the beginning of the syllable,\n // (i.e. it is not reordered at the character reordering stage). However,\n // it will be reordered according to the basic-forms shaping results.\n // Possible positions for reph, depending on the script, are; after main,\n // before post-base consonant forms, and after post-base consonant forms.\n // Two cases:\n //\n // - If repha is encoded as a sequence of characters (Ra,H or Ra,H,ZWJ), then\n // we should only move it if the sequence ligated to the repha form.\n //\n // - If repha is encoded separately and in the logical position, we should only\n // move it if it did NOT ligate. If it ligated, it's probably the font trying\n // to make it work without the reordering.\n if (start + 1 < end && glyphs[start].shaperInfo.position === (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Ra_To_Become_Reph && glyphs[start].shaperInfo.category === (0, $90a9d3398ee54fe5$export$a513ea61a7bee91c).Repha !== (glyphs[start].isLigated && !glyphs[start].isMultiplied)) {\n let newRephPos;\n let rephPos = indicConfig.rephPos;\n let found = false;\n // 1. If reph should be positioned after post-base consonant forms,\n // proceed to step 5.\n if (rephPos !== (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).After_Post) {\n // 2. If the reph repositioning class is not after post-base: target\n // position is after the first explicit halant glyph between the\n // first post-reph consonant and last main consonant. If ZWJ or ZWNJ\n // are following this halant, position is moved after it. If such\n // position is found, this is the target position. Otherwise,\n // proceed to the next step.\n //\n // Note: in old-implementation fonts, where classifications were\n // fixed in shaping engine, there was no case where reph position\n // will be found on this step.\n newRephPos = start + 1;\n while(newRephPos < base && !$7826f90f6f0cecc9$var$isHalantOrCoeng(glyphs[newRephPos]))newRephPos++;\n if (newRephPos < base && $7826f90f6f0cecc9$var$isHalantOrCoeng(glyphs[newRephPos])) {\n // ->If ZWJ or ZWNJ are following this halant, position is moved after it.\n if (newRephPos + 1 < base && $7826f90f6f0cecc9$var$isJoiner(glyphs[newRephPos + 1])) newRephPos++;\n found = true;\n }\n // 3. If reph should be repositioned after the main consonant: find the\n // first consonant not ligated with main, or find the first\n // consonant that is not a potential pre-base reordering Ra.\n if (!found && rephPos === (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).After_Main) {\n newRephPos = base;\n while(newRephPos + 1 < end && glyphs[newRephPos + 1].shaperInfo.position <= (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).After_Main)newRephPos++;\n found = newRephPos < end;\n }\n // 4. If reph should be positioned before post-base consonant, find\n // first post-base classified consonant not ligated with main. If no\n // consonant is found, the target position should be before the\n // first matra, syllable modifier sign or vedic sign.\n //\n // This is our take on what step 4 is trying to say (and failing, BADLY).\n if (!found && rephPos === (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).After_Sub) {\n newRephPos = base;\n while(newRephPos + 1 < end && !(glyphs[newRephPos + 1].shaperInfo.position & ((0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Post_C | (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).After_Post | (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).SMVD)))newRephPos++;\n found = newRephPos < end;\n }\n }\n // 5. If no consonant is found in steps 3 or 4, move reph to a position\n // immediately before the first post-base matra, syllable modifier\n // sign or vedic sign that has a reordering class after the intended\n // reph position. For example, if the reordering position for reph\n // is post-main, it will skip above-base matras that also have a\n // post-main position.\n if (!found) {\n // Copied from step 2.\n newRephPos = start + 1;\n while(newRephPos < base && !$7826f90f6f0cecc9$var$isHalantOrCoeng(glyphs[newRephPos]))newRephPos++;\n if (newRephPos < base && $7826f90f6f0cecc9$var$isHalantOrCoeng(glyphs[newRephPos])) {\n // ->If ZWJ or ZWNJ are following this halant, position is moved after it.\n if (newRephPos + 1 < base && $7826f90f6f0cecc9$var$isJoiner(glyphs[newRephPos + 1])) newRephPos++;\n found = true;\n }\n }\n // 6. Otherwise, reorder reph to the end of the syllable.\n if (!found) {\n newRephPos = end - 1;\n while(newRephPos > start && glyphs[newRephPos].shaperInfo.position === (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).SMVD)newRephPos--;\n // If the Reph is to be ending up after a Matra,Halant sequence,\n // position it before that Halant so it can interact with the Matra.\n // However, if it's a plain Consonant,Halant we shouldn't do that.\n // Uniscribe doesn't do this.\n // TEST: U+0930,U+094D,U+0915,U+094B,U+094D\n if ($7826f90f6f0cecc9$var$isHalantOrCoeng(glyphs[newRephPos])) {\n for(let i = base + 1; i < newRephPos; i++)if (glyphs[i].shaperInfo.category === (0, $90a9d3398ee54fe5$export$a513ea61a7bee91c).M) newRephPos--;\n }\n }\n let reph = glyphs[start];\n glyphs.splice(start, 0, ...glyphs.splice(start + 1, newRephPos - start));\n glyphs[newRephPos] = reph;\n if (start < base && base <= newRephPos) base--;\n }\n // o Reorder pre-base reordering consonants:\n //\n // If a pre-base reordering consonant is found, reorder it according to\n // the following rules:\n if (tryPref && base + 1 < end) {\n for(let i = base + 1; i < end; i++)if (glyphs[i].features.pref) {\n // 1. Only reorder a glyph produced by substitution during application\n // of the feature. (Note that a font may shape a Ra consonant with\n // the feature generally but block it in certain contexts.)\n // Note: We just check that something got substituted. We don't check that\n // the feature actually did it...\n //\n // Reorder pref only if it ligated.\n if (glyphs[i].isLigated && !glyphs[i].isMultiplied) {\n // 2. Try to find a target position the same way as for pre-base matra.\n // If it is found, reorder pre-base consonant glyph.\n //\n // 3. If position is not found, reorder immediately before main\n // consonant.\n let newPos = base;\n // Malayalam / Tamil do not have \"half\" forms or explicit virama forms.\n // The glyphs formed by 'half' are Chillus or ligated explicit viramas.\n // We want to position matra after them.\n if (plan.unicodeScript !== 'Malayalam' && plan.unicodeScript !== 'Tamil') {\n while(newPos > start && !(glyphs[newPos - 1].shaperInfo.category & ((0, $90a9d3398ee54fe5$export$a513ea61a7bee91c).M | (0, $90a9d3398ee54fe5$export$ca9599b2a300afc))))newPos--;\n // In Khmer coeng model, a H,Ra can go *after* matras. If it goes after a\n // split matra, it should be reordered to *before* the left part of such matra.\n if (newPos > start && glyphs[newPos - 1].shaperInfo.category === (0, $90a9d3398ee54fe5$export$a513ea61a7bee91c).M) {\n let oldPos = i;\n for(let j = base + 1; j < oldPos; j++)if (glyphs[j].shaperInfo.category === (0, $90a9d3398ee54fe5$export$a513ea61a7bee91c).M) {\n newPos--;\n break;\n }\n }\n }\n if (newPos > start && $7826f90f6f0cecc9$var$isHalantOrCoeng(glyphs[newPos - 1])) // -> If ZWJ or ZWNJ follow this halant, position is moved after it.\n {\n if (newPos < end && $7826f90f6f0cecc9$var$isJoiner(glyphs[newPos])) newPos++;\n }\n let oldPos = i;\n let tmp = glyphs[oldPos];\n glyphs.splice(newPos + 1, 0, ...glyphs.splice(newPos, oldPos - newPos));\n glyphs[newPos] = tmp;\n if (newPos <= base && base < oldPos) base++;\n }\n break;\n }\n }\n // Apply 'init' to the Left Matra if it's a word start.\n if (glyphs[start].shaperInfo.position === (0, $90a9d3398ee54fe5$export$1a1f61c9c4dd9df0).Pre_M && (!start || !/Cf|Mn/.test((0, $6uUbQ$getCategory)(glyphs[start - 1].codePoints[0])))) glyphs[start].features.init = true;\n }\n}\nfunction $7826f90f6f0cecc9$var$nextSyllable(glyphs, start) {\n if (start >= glyphs.length) return start;\n let syllable = glyphs[start].shaperInfo.syllable;\n while(++start < glyphs.length && glyphs[start].shaperInfo.syllable === syllable);\n return start;\n}\n\n\n\n\n\n\n\n\n\nconst { categories: $7ab494fe977143c6$var$categories, decompositions: $7ab494fe977143c6$var$decompositions } = (0, (/*@__PURE__*/$parcel$interopDefault($aa333a9607471296$exports)));\nconst $7ab494fe977143c6$var$trie = new (0, $6uUbQ$unicodetrie)((0, $12727730ddfc8bfe$export$94fdf11bafc8de6b)(\"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\"));\nconst $7ab494fe977143c6$var$stateMachine = new (0, $6uUbQ$dfa)((0, (/*@__PURE__*/$parcel$interopDefault($aa333a9607471296$exports))));\nclass $7ab494fe977143c6$export$2e2bcd8739ae039 extends (0, $649970d87335b30f$export$2e2bcd8739ae039) {\n static planFeatures(plan) {\n plan.addStage($7ab494fe977143c6$var$setupSyllables);\n // Default glyph pre-processing group\n plan.addStage([\n 'locl',\n 'ccmp',\n 'nukt',\n 'akhn'\n ]);\n // Reordering group\n plan.addStage($7ab494fe977143c6$var$clearSubstitutionFlags);\n plan.addStage([\n 'rphf'\n ], false);\n plan.addStage($7ab494fe977143c6$var$recordRphf);\n plan.addStage($7ab494fe977143c6$var$clearSubstitutionFlags);\n plan.addStage([\n 'pref'\n ]);\n plan.addStage($7ab494fe977143c6$var$recordPref);\n // Orthographic unit shaping group\n plan.addStage([\n 'rkrf',\n 'abvf',\n 'blwf',\n 'half',\n 'pstf',\n 'vatu',\n 'cjct'\n ]);\n plan.addStage($7ab494fe977143c6$var$reorder);\n // Topographical features\n // Scripts that need this are handled by the Arabic shaper, not implemented here for now.\n // plan.addStage(['isol', 'init', 'medi', 'fina', 'med2', 'fin2', 'fin3'], false);\n // Standard topographic presentation and positional feature application\n plan.addStage([\n 'abvs',\n 'blws',\n 'pres',\n 'psts',\n 'dist',\n 'abvm',\n 'blwm'\n ]);\n }\n static assignFeatures(plan, glyphs) {\n // Decompose split vowels\n // TODO: do this in a more general unicode normalizer\n for(let i = glyphs.length - 1; i >= 0; i--){\n let codepoint = glyphs[i].codePoints[0];\n if ($7ab494fe977143c6$var$decompositions[codepoint]) {\n let decomposed = $7ab494fe977143c6$var$decompositions[codepoint].map((c)=>{\n let g = plan.font.glyphForCodePoint(c);\n return new (0, $10e7b257e1a9a756$export$2e2bcd8739ae039)(plan.font, g.id, [\n c\n ], glyphs[i].features);\n });\n glyphs.splice(i, 1, ...decomposed);\n }\n }\n }\n}\n(0, $6uUbQ$_)($7ab494fe977143c6$export$2e2bcd8739ae039, \"zeroMarkWidths\", 'BEFORE_GPOS');\nfunction $7ab494fe977143c6$var$useCategory(glyph) {\n return $7ab494fe977143c6$var$trie.get(glyph.codePoints[0]);\n}\nclass $7ab494fe977143c6$var$USEInfo {\n constructor(category, syllableType, syllable){\n this.category = category;\n this.syllableType = syllableType;\n this.syllable = syllable;\n }\n}\nfunction $7ab494fe977143c6$var$setupSyllables(font, glyphs) {\n let syllable = 0;\n for (let [start, end, tags] of $7ab494fe977143c6$var$stateMachine.match(glyphs.map($7ab494fe977143c6$var$useCategory))){\n ++syllable;\n // Create shaper info\n for(let i = start; i <= end; i++)glyphs[i].shaperInfo = new $7ab494fe977143c6$var$USEInfo($7ab494fe977143c6$var$categories[$7ab494fe977143c6$var$useCategory(glyphs[i])], tags[0], syllable);\n // Assign rphf feature\n let limit = glyphs[start].shaperInfo.category === 'R' ? 1 : Math.min(3, end - start);\n for(let i = start; i < start + limit; i++)glyphs[i].features.rphf = true;\n }\n}\nfunction $7ab494fe977143c6$var$clearSubstitutionFlags(font, glyphs) {\n for (let glyph of glyphs)glyph.substituted = false;\n}\nfunction $7ab494fe977143c6$var$recordRphf(font, glyphs) {\n for (let glyph of glyphs)if (glyph.substituted && glyph.features.rphf) // Mark a substituted repha.\n glyph.shaperInfo.category = 'R';\n}\nfunction $7ab494fe977143c6$var$recordPref(font, glyphs) {\n for (let glyph of glyphs)if (glyph.substituted) // Mark a substituted pref as VPre, as they behave the same way.\n glyph.shaperInfo.category = 'VPre';\n}\nfunction $7ab494fe977143c6$var$reorder(font, glyphs) {\n let dottedCircle = font.glyphForCodePoint(0x25cc).id;\n for(let start = 0, end = $7ab494fe977143c6$var$nextSyllable(glyphs, 0); start < glyphs.length; start = end, end = $7ab494fe977143c6$var$nextSyllable(glyphs, start)){\n let i, j;\n let info = glyphs[start].shaperInfo;\n let type = info.syllableType;\n // Only a few syllable types need reordering.\n if (type !== 'virama_terminated_cluster' && type !== 'standard_cluster' && type !== 'broken_cluster') continue;\n // Insert a dotted circle glyph in broken clusters.\n if (type === 'broken_cluster' && dottedCircle) {\n let g = new (0, $10e7b257e1a9a756$export$2e2bcd8739ae039)(font, dottedCircle, [\n 0x25cc\n ]);\n g.shaperInfo = info;\n // Insert after possible Repha.\n for(i = start; i < end && glyphs[i].shaperInfo.category === 'R'; i++);\n glyphs.splice(++i, 0, g);\n end++;\n }\n // Move things forward.\n if (info.category === 'R' && end - start > 1) // Got a repha. Reorder it to after first base, before first halant.\n for(i = start + 1; i < end; i++){\n info = glyphs[i].shaperInfo;\n if ($7ab494fe977143c6$var$isBase(info) || $7ab494fe977143c6$var$isHalant(glyphs[i])) {\n // If we hit a halant, move before it; otherwise it's a base: move to it's\n // place, and shift things in between backward.\n if ($7ab494fe977143c6$var$isHalant(glyphs[i])) i--;\n glyphs.splice(start, 0, ...glyphs.splice(start + 1, i - start), glyphs[i]);\n break;\n }\n }\n // Move things back.\n for(i = start, j = end; i < end; i++){\n info = glyphs[i].shaperInfo;\n if ($7ab494fe977143c6$var$isBase(info) || $7ab494fe977143c6$var$isHalant(glyphs[i])) // If we hit a halant, move after it; otherwise it's a base: move to it's\n // place, and shift things in between backward.\n j = $7ab494fe977143c6$var$isHalant(glyphs[i]) ? i + 1 : i;\n else if ((info.category === 'VPre' || info.category === 'VMPre') && j < i) glyphs.splice(j, 1, glyphs[i], ...glyphs.splice(j, i - j));\n }\n }\n}\nfunction $7ab494fe977143c6$var$nextSyllable(glyphs, start) {\n if (start >= glyphs.length) return start;\n let syllable = glyphs[start].shaperInfo.syllable;\n while(++start < glyphs.length && glyphs[start].shaperInfo.syllable === syllable);\n return start;\n}\nfunction $7ab494fe977143c6$var$isHalant(glyph) {\n return glyph.shaperInfo.category === 'H' && !glyph.isLigated;\n}\nfunction $7ab494fe977143c6$var$isBase(info) {\n return info.category === 'B' || info.category === 'GB';\n}\n\n\nconst $102b6fe50f1d50b4$var$SHAPERS = {\n arab: (0, $764eb544bbe1ccf0$export$2e2bcd8739ae039),\n mong: (0, $764eb544bbe1ccf0$export$2e2bcd8739ae039),\n syrc: (0, $764eb544bbe1ccf0$export$2e2bcd8739ae039),\n 'nko ': (0, $764eb544bbe1ccf0$export$2e2bcd8739ae039),\n phag: (0, $764eb544bbe1ccf0$export$2e2bcd8739ae039),\n mand: (0, $764eb544bbe1ccf0$export$2e2bcd8739ae039),\n mani: (0, $764eb544bbe1ccf0$export$2e2bcd8739ae039),\n phlp: (0, $764eb544bbe1ccf0$export$2e2bcd8739ae039),\n hang: (0, $e1c6bbc8cb416f8c$export$2e2bcd8739ae039),\n bng2: (0, $7826f90f6f0cecc9$export$2e2bcd8739ae039),\n beng: (0, $7826f90f6f0cecc9$export$2e2bcd8739ae039),\n dev2: (0, $7826f90f6f0cecc9$export$2e2bcd8739ae039),\n deva: (0, $7826f90f6f0cecc9$export$2e2bcd8739ae039),\n gjr2: (0, $7826f90f6f0cecc9$export$2e2bcd8739ae039),\n gujr: (0, $7826f90f6f0cecc9$export$2e2bcd8739ae039),\n guru: (0, $7826f90f6f0cecc9$export$2e2bcd8739ae039),\n gur2: (0, $7826f90f6f0cecc9$export$2e2bcd8739ae039),\n knda: (0, $7826f90f6f0cecc9$export$2e2bcd8739ae039),\n knd2: (0, $7826f90f6f0cecc9$export$2e2bcd8739ae039),\n mlm2: (0, $7826f90f6f0cecc9$export$2e2bcd8739ae039),\n mlym: (0, $7826f90f6f0cecc9$export$2e2bcd8739ae039),\n ory2: (0, $7826f90f6f0cecc9$export$2e2bcd8739ae039),\n orya: (0, $7826f90f6f0cecc9$export$2e2bcd8739ae039),\n taml: (0, $7826f90f6f0cecc9$export$2e2bcd8739ae039),\n tml2: (0, $7826f90f6f0cecc9$export$2e2bcd8739ae039),\n telu: (0, $7826f90f6f0cecc9$export$2e2bcd8739ae039),\n tel2: (0, $7826f90f6f0cecc9$export$2e2bcd8739ae039),\n khmr: (0, $7826f90f6f0cecc9$export$2e2bcd8739ae039),\n bali: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n batk: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n brah: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n bugi: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n buhd: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n cakm: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n cham: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n dupl: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n egyp: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n gran: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n hano: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n java: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n kthi: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n kali: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n khar: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n khoj: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n sind: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n lepc: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n limb: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n mahj: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n // mand: UniversalShaper, // Mandaic\n // mani: UniversalShaper, // Manichaean\n mtei: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n modi: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n // mong: UniversalShaper, // Mongolian\n // 'nko ': UniversalShaper, // N’Ko\n hmng: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n // phag: UniversalShaper, // Phags-pa\n // phlp: UniversalShaper, // Psalter Pahlavi\n rjng: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n saur: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n shrd: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n sidd: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n sinh: (0, $7826f90f6f0cecc9$export$2e2bcd8739ae039),\n sund: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n sylo: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n tglg: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n tagb: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n tale: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n lana: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n tavt: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n takr: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n tibt: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n tfng: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n tirh: (0, $7ab494fe977143c6$export$2e2bcd8739ae039),\n latn: (0, $649970d87335b30f$export$2e2bcd8739ae039),\n DFLT: (0, $649970d87335b30f$export$2e2bcd8739ae039 // Default\n )\n};\nfunction $102b6fe50f1d50b4$export$7877a478dd30fd3d(script) {\n if (!Array.isArray(script)) script = [\n script\n ];\n for (let s of script){\n let shaper = $102b6fe50f1d50b4$var$SHAPERS[s];\n if (shaper) return shaper;\n }\n return 0, $649970d87335b30f$export$2e2bcd8739ae039;\n}\n\n\n\n\n\nclass $0a876c45f1f7c41c$export$2e2bcd8739ae039 extends (0, $a83b9c36aaa94fd3$export$2e2bcd8739ae039) {\n applyLookup(lookupType, table) {\n switch(lookupType){\n case 1:\n {\n let index = this.coverageIndex(table.coverage);\n if (index === -1) return false;\n let glyph = this.glyphIterator.cur;\n switch(table.version){\n case 1:\n glyph.id = glyph.id + table.deltaGlyphID & 0xffff;\n break;\n case 2:\n glyph.id = table.substitute.get(index);\n break;\n }\n return true;\n }\n case 2:\n {\n let index = this.coverageIndex(table.coverage);\n if (index !== -1) {\n let sequence = table.sequences.get(index);\n if (sequence.length === 0) {\n // If the sequence length is zero, delete the glyph.\n // The OpenType spec disallows this, but seems like Harfbuzz and Uniscribe allow it.\n this.glyphs.splice(this.glyphIterator.index, 1);\n return true;\n }\n this.glyphIterator.cur.id = sequence[0];\n this.glyphIterator.cur.ligatureComponent = 0;\n let features = this.glyphIterator.cur.features;\n let curGlyph = this.glyphIterator.cur;\n let replacement = sequence.slice(1).map((gid, i)=>{\n let glyph = new (0, $10e7b257e1a9a756$export$2e2bcd8739ae039)(this.font, gid, undefined, features);\n glyph.shaperInfo = curGlyph.shaperInfo;\n glyph.isLigated = curGlyph.isLigated;\n glyph.ligatureComponent = i + 1;\n glyph.substituted = true;\n glyph.isMultiplied = true;\n return glyph;\n });\n this.glyphs.splice(this.glyphIterator.index + 1, 0, ...replacement);\n return true;\n }\n return false;\n }\n case 3:\n {\n let index = this.coverageIndex(table.coverage);\n if (index !== -1) {\n let USER_INDEX = 0; // TODO\n this.glyphIterator.cur.id = table.alternateSet.get(index)[USER_INDEX];\n return true;\n }\n return false;\n }\n case 4:\n {\n let index = this.coverageIndex(table.coverage);\n if (index === -1) return false;\n for (let ligature of table.ligatureSets.get(index)){\n let matched = this.sequenceMatchIndices(1, ligature.components);\n if (!matched) continue;\n let curGlyph = this.glyphIterator.cur;\n // Concatenate all of the characters the new ligature will represent\n let characters = curGlyph.codePoints.slice();\n for (let index of matched)characters.push(...this.glyphs[index].codePoints);\n // Create the replacement ligature glyph\n let ligatureGlyph = new (0, $10e7b257e1a9a756$export$2e2bcd8739ae039)(this.font, ligature.glyph, characters, curGlyph.features);\n ligatureGlyph.shaperInfo = curGlyph.shaperInfo;\n ligatureGlyph.isLigated = true;\n ligatureGlyph.substituted = true;\n // From Harfbuzz:\n // - If it *is* a mark ligature, we don't allocate a new ligature id, and leave\n // the ligature to keep its old ligature id. This will allow it to attach to\n // a base ligature in GPOS. Eg. if the sequence is: LAM,LAM,SHADDA,FATHA,HEH,\n // and LAM,LAM,HEH for a ligature, they will leave SHADDA and FATHA with a\n // ligature id and component value of 2. Then if SHADDA,FATHA form a ligature\n // later, we don't want them to lose their ligature id/component, otherwise\n // GPOS will fail to correctly position the mark ligature on top of the\n // LAM,LAM,HEH ligature. See https://bugzilla.gnome.org/show_bug.cgi?id=676343\n //\n // - If a ligature is formed of components that some of which are also ligatures\n // themselves, and those ligature components had marks attached to *their*\n // components, we have to attach the marks to the new ligature component\n // positions! Now *that*'s tricky! And these marks may be following the\n // last component of the whole sequence, so we should loop forward looking\n // for them and update them.\n //\n // Eg. the sequence is LAM,LAM,SHADDA,FATHA,HEH, and the font first forms a\n // 'calt' ligature of LAM,HEH, leaving the SHADDA and FATHA with a ligature\n // id and component == 1. Now, during 'liga', the LAM and the LAM-HEH ligature\n // form a LAM-LAM-HEH ligature. We need to reassign the SHADDA and FATHA to\n // the new ligature with a component value of 2.\n //\n // This in fact happened to a font... See https://bugzilla.gnome.org/show_bug.cgi?id=437633\n let isMarkLigature = curGlyph.isMark;\n for(let i = 0; i < matched.length && isMarkLigature; i++)isMarkLigature = this.glyphs[matched[i]].isMark;\n ligatureGlyph.ligatureID = isMarkLigature ? null : this.ligatureID++;\n let lastLigID = curGlyph.ligatureID;\n let lastNumComps = curGlyph.codePoints.length;\n let curComps = lastNumComps;\n let idx = this.glyphIterator.index + 1;\n // Set ligatureID and ligatureComponent on glyphs that were skipped in the matched sequence.\n // This allows GPOS to attach marks to the correct ligature components.\n for (let matchIndex of matched){\n // Don't assign new ligature components for mark ligatures (see above)\n if (isMarkLigature) idx = matchIndex;\n else while(idx < matchIndex){\n var ligatureComponent = curComps - lastNumComps + Math.min(this.glyphs[idx].ligatureComponent || 1, lastNumComps);\n this.glyphs[idx].ligatureID = ligatureGlyph.ligatureID;\n this.glyphs[idx].ligatureComponent = ligatureComponent;\n idx++;\n }\n lastLigID = this.glyphs[idx].ligatureID;\n lastNumComps = this.glyphs[idx].codePoints.length;\n curComps += lastNumComps;\n idx++; // skip base glyph\n }\n // Adjust ligature components for any marks following\n if (lastLigID && !isMarkLigature) for(let i = idx; i < this.glyphs.length; i++){\n if (this.glyphs[i].ligatureID === lastLigID) {\n var ligatureComponent = curComps - lastNumComps + Math.min(this.glyphs[i].ligatureComponent || 1, lastNumComps);\n this.glyphs[i].ligatureComponent = ligatureComponent;\n } else break;\n }\n // Delete the matched glyphs, and replace the current glyph with the ligature glyph\n for(let i = matched.length - 1; i >= 0; i--)this.glyphs.splice(matched[i], 1);\n this.glyphs[this.glyphIterator.index] = ligatureGlyph;\n return true;\n }\n return false;\n }\n case 5:\n return this.applyContext(table);\n case 6:\n return this.applyChainingContext(table);\n case 7:\n return this.applyLookup(table.lookupType, table.extension);\n default:\n throw new Error(`GSUB lookupType ${lookupType} is not supported`);\n }\n }\n}\n\n\n\nclass $c96c93587d49c14d$export$2e2bcd8739ae039 extends (0, $a83b9c36aaa94fd3$export$2e2bcd8739ae039) {\n applyPositionValue(sequenceIndex, value) {\n let position = this.positions[this.glyphIterator.peekIndex(sequenceIndex)];\n if (value.xAdvance != null) position.xAdvance += value.xAdvance;\n if (value.yAdvance != null) position.yAdvance += value.yAdvance;\n if (value.xPlacement != null) position.xOffset += value.xPlacement;\n if (value.yPlacement != null) position.yOffset += value.yPlacement;\n // Adjustments for font variations\n let variationProcessor = this.font._variationProcessor;\n let variationStore = this.font.GDEF && this.font.GDEF.itemVariationStore;\n if (variationProcessor && variationStore) {\n if (value.xPlaDevice) position.xOffset += variationProcessor.getDelta(variationStore, value.xPlaDevice.a, value.xPlaDevice.b);\n if (value.yPlaDevice) position.yOffset += variationProcessor.getDelta(variationStore, value.yPlaDevice.a, value.yPlaDevice.b);\n if (value.xAdvDevice) position.xAdvance += variationProcessor.getDelta(variationStore, value.xAdvDevice.a, value.xAdvDevice.b);\n if (value.yAdvDevice) position.yAdvance += variationProcessor.getDelta(variationStore, value.yAdvDevice.a, value.yAdvDevice.b);\n }\n // TODO: device tables\n }\n applyLookup(lookupType, table) {\n switch(lookupType){\n case 1:\n {\n let index = this.coverageIndex(table.coverage);\n if (index === -1) return false;\n switch(table.version){\n case 1:\n this.applyPositionValue(0, table.value);\n break;\n case 2:\n this.applyPositionValue(0, table.values.get(index));\n break;\n }\n return true;\n }\n case 2:\n {\n let nextGlyph = this.glyphIterator.peek();\n if (!nextGlyph) return false;\n let index = this.coverageIndex(table.coverage);\n if (index === -1) return false;\n switch(table.version){\n case 1:\n let set = table.pairSets.get(index);\n for (let pair of set)if (pair.secondGlyph === nextGlyph.id) {\n this.applyPositionValue(0, pair.value1);\n this.applyPositionValue(1, pair.value2);\n return true;\n }\n return false;\n case 2:\n let class1 = this.getClassID(this.glyphIterator.cur.id, table.classDef1);\n let class2 = this.getClassID(nextGlyph.id, table.classDef2);\n if (class1 === -1 || class2 === -1) return false;\n var pair = table.classRecords.get(class1).get(class2);\n this.applyPositionValue(0, pair.value1);\n this.applyPositionValue(1, pair.value2);\n return true;\n }\n }\n case 3:\n {\n let nextIndex = this.glyphIterator.peekIndex();\n let nextGlyph = this.glyphs[nextIndex];\n if (!nextGlyph) return false;\n let curRecord = table.entryExitRecords[this.coverageIndex(table.coverage)];\n if (!curRecord || !curRecord.exitAnchor) return false;\n let nextRecord = table.entryExitRecords[this.coverageIndex(table.coverage, nextGlyph.id)];\n if (!nextRecord || !nextRecord.entryAnchor) return false;\n let entry = this.getAnchor(nextRecord.entryAnchor);\n let exit = this.getAnchor(curRecord.exitAnchor);\n let cur = this.positions[this.glyphIterator.index];\n let next = this.positions[nextIndex];\n let d;\n switch(this.direction){\n case 'ltr':\n cur.xAdvance = exit.x + cur.xOffset;\n d = entry.x + next.xOffset;\n next.xAdvance -= d;\n next.xOffset -= d;\n break;\n case 'rtl':\n d = exit.x + cur.xOffset;\n cur.xAdvance -= d;\n cur.xOffset -= d;\n next.xAdvance = entry.x + next.xOffset;\n break;\n }\n if (this.glyphIterator.flags.rightToLeft) {\n this.glyphIterator.cur.cursiveAttachment = nextIndex;\n cur.yOffset = entry.y - exit.y;\n } else {\n nextGlyph.cursiveAttachment = this.glyphIterator.index;\n cur.yOffset = exit.y - entry.y;\n }\n return true;\n }\n case 4:\n {\n let markIndex = this.coverageIndex(table.markCoverage);\n if (markIndex === -1) return false;\n // search backward for a base glyph\n let baseGlyphIndex = this.glyphIterator.index;\n while(--baseGlyphIndex >= 0 && (this.glyphs[baseGlyphIndex].isMark || this.glyphs[baseGlyphIndex].ligatureComponent > 0));\n if (baseGlyphIndex < 0) return false;\n let baseIndex = this.coverageIndex(table.baseCoverage, this.glyphs[baseGlyphIndex].id);\n if (baseIndex === -1) return false;\n let markRecord = table.markArray[markIndex];\n let baseAnchor = table.baseArray[baseIndex][markRecord.class];\n this.applyAnchor(markRecord, baseAnchor, baseGlyphIndex);\n return true;\n }\n case 5:\n {\n let markIndex = this.coverageIndex(table.markCoverage);\n if (markIndex === -1) return false;\n // search backward for a base glyph\n let baseGlyphIndex = this.glyphIterator.index;\n while(--baseGlyphIndex >= 0 && this.glyphs[baseGlyphIndex].isMark);\n if (baseGlyphIndex < 0) return false;\n let ligIndex = this.coverageIndex(table.ligatureCoverage, this.glyphs[baseGlyphIndex].id);\n if (ligIndex === -1) return false;\n let ligAttach = table.ligatureArray[ligIndex];\n let markGlyph = this.glyphIterator.cur;\n let ligGlyph = this.glyphs[baseGlyphIndex];\n let compIndex = ligGlyph.ligatureID && ligGlyph.ligatureID === markGlyph.ligatureID && markGlyph.ligatureComponent > 0 ? Math.min(markGlyph.ligatureComponent, ligGlyph.codePoints.length) - 1 : ligGlyph.codePoints.length - 1;\n let markRecord = table.markArray[markIndex];\n let baseAnchor = ligAttach[compIndex][markRecord.class];\n this.applyAnchor(markRecord, baseAnchor, baseGlyphIndex);\n return true;\n }\n case 6:\n {\n let mark1Index = this.coverageIndex(table.mark1Coverage);\n if (mark1Index === -1) return false;\n // get the previous mark to attach to\n let prevIndex = this.glyphIterator.peekIndex(-1);\n let prev = this.glyphs[prevIndex];\n if (!prev || !prev.isMark) return false;\n let cur = this.glyphIterator.cur;\n // The following logic was borrowed from Harfbuzz\n let good = false;\n if (cur.ligatureID === prev.ligatureID) {\n if (!cur.ligatureID) good = true;\n else if (cur.ligatureComponent === prev.ligatureComponent) good = true;\n } else // If ligature ids don't match, it may be the case that one of the marks\n // itself is a ligature, in which case match.\n if (cur.ligatureID && !cur.ligatureComponent || prev.ligatureID && !prev.ligatureComponent) good = true;\n if (!good) return false;\n let mark2Index = this.coverageIndex(table.mark2Coverage, prev.id);\n if (mark2Index === -1) return false;\n let markRecord = table.mark1Array[mark1Index];\n let baseAnchor = table.mark2Array[mark2Index][markRecord.class];\n this.applyAnchor(markRecord, baseAnchor, prevIndex);\n return true;\n }\n case 7:\n return this.applyContext(table);\n case 8:\n return this.applyChainingContext(table);\n case 9:\n return this.applyLookup(table.lookupType, table.extension);\n default:\n throw new Error(`Unsupported GPOS table: ${lookupType}`);\n }\n }\n applyAnchor(markRecord, baseAnchor, baseGlyphIndex) {\n let baseCoords = this.getAnchor(baseAnchor);\n let markCoords = this.getAnchor(markRecord.markAnchor);\n let basePos = this.positions[baseGlyphIndex];\n let markPos = this.positions[this.glyphIterator.index];\n markPos.xOffset = baseCoords.x - markCoords.x;\n markPos.yOffset = baseCoords.y - markCoords.y;\n this.glyphIterator.cur.markAttachment = baseGlyphIndex;\n }\n getAnchor(anchor) {\n // TODO: contour point, device tables\n let x = anchor.xCoordinate;\n let y = anchor.yCoordinate;\n // Adjustments for font variations\n let variationProcessor = this.font._variationProcessor;\n let variationStore = this.font.GDEF && this.font.GDEF.itemVariationStore;\n if (variationProcessor && variationStore) {\n if (anchor.xDeviceTable) x += variationProcessor.getDelta(variationStore, anchor.xDeviceTable.a, anchor.xDeviceTable.b);\n if (anchor.yDeviceTable) y += variationProcessor.getDelta(variationStore, anchor.yDeviceTable.a, anchor.yDeviceTable.b);\n }\n return {\n x: x,\n y: y\n };\n }\n applyFeatures(userFeatures, glyphs, advances) {\n super.applyFeatures(userFeatures, glyphs, advances);\n for(var i = 0; i < this.glyphs.length; i++)this.fixCursiveAttachment(i);\n this.fixMarkAttachment();\n }\n fixCursiveAttachment(i) {\n let glyph = this.glyphs[i];\n if (glyph.cursiveAttachment != null) {\n let j = glyph.cursiveAttachment;\n glyph.cursiveAttachment = null;\n this.fixCursiveAttachment(j);\n this.positions[i].yOffset += this.positions[j].yOffset;\n }\n }\n fixMarkAttachment() {\n for(let i = 0; i < this.glyphs.length; i++){\n let glyph = this.glyphs[i];\n if (glyph.markAttachment != null) {\n let j = glyph.markAttachment;\n this.positions[i].xOffset += this.positions[j].xOffset;\n this.positions[i].yOffset += this.positions[j].yOffset;\n if (this.direction === 'ltr') for(let k = j; k < i; k++){\n this.positions[i].xOffset -= this.positions[k].xAdvance;\n this.positions[i].yOffset -= this.positions[k].yAdvance;\n }\n else for(let k = j + 1; k < i + 1; k++){\n this.positions[i].xOffset += this.positions[k].xAdvance;\n this.positions[i].yOffset += this.positions[k].yAdvance;\n }\n }\n }\n }\n}\n\n\nclass $a62492810de27e3d$export$2e2bcd8739ae039 {\n setup(glyphRun) {\n // Map glyphs to GlyphInfo objects so data can be passed between\n // GSUB and GPOS without mutating the real (shared) Glyph objects.\n this.glyphInfos = glyphRun.glyphs.map((glyph)=>new (0, $10e7b257e1a9a756$export$2e2bcd8739ae039)(this.font, glyph.id, [\n ...glyph.codePoints\n ]));\n // Select a script based on what is available in GSUB/GPOS.\n let script = null;\n if (this.GPOSProcessor) script = this.GPOSProcessor.selectScript(glyphRun.script, glyphRun.language, glyphRun.direction);\n if (this.GSUBProcessor) script = this.GSUBProcessor.selectScript(glyphRun.script, glyphRun.language, glyphRun.direction);\n // Choose a shaper based on the script, and setup a shaping plan.\n // This determines which features to apply to which glyphs.\n this.shaper = $102b6fe50f1d50b4$export$7877a478dd30fd3d(script);\n this.plan = new (0, $94d7a73bd2edfc9a$export$2e2bcd8739ae039)(this.font, script, glyphRun.direction);\n this.shaper.plan(this.plan, this.glyphInfos, glyphRun.features);\n // Assign chosen features to output glyph run\n for(let key in this.plan.allFeatures)glyphRun.features[key] = true;\n }\n substitute(glyphRun) {\n if (this.GSUBProcessor) {\n this.plan.process(this.GSUBProcessor, this.glyphInfos);\n // Map glyph infos back to normal Glyph objects\n glyphRun.glyphs = this.glyphInfos.map((glyphInfo)=>this.font.getGlyph(glyphInfo.id, glyphInfo.codePoints));\n }\n }\n position(glyphRun) {\n if (this.shaper.zeroMarkWidths === 'BEFORE_GPOS') this.zeroMarkAdvances(glyphRun.positions);\n if (this.GPOSProcessor) this.plan.process(this.GPOSProcessor, this.glyphInfos, glyphRun.positions);\n if (this.shaper.zeroMarkWidths === 'AFTER_GPOS') this.zeroMarkAdvances(glyphRun.positions);\n // Reverse the glyphs and positions if the script is right-to-left\n if (glyphRun.direction === 'rtl') {\n glyphRun.glyphs.reverse();\n glyphRun.positions.reverse();\n }\n return this.GPOSProcessor && this.GPOSProcessor.features;\n }\n zeroMarkAdvances(positions) {\n for(let i = 0; i < this.glyphInfos.length; i++)if (this.glyphInfos[i].isMark) {\n positions[i].xAdvance = 0;\n positions[i].yAdvance = 0;\n }\n }\n cleanup() {\n this.glyphInfos = null;\n this.plan = null;\n this.shaper = null;\n }\n getAvailableFeatures(script, language) {\n let features = [];\n if (this.GSUBProcessor) {\n this.GSUBProcessor.selectScript(script, language);\n features.push(...Object.keys(this.GSUBProcessor.features));\n }\n if (this.GPOSProcessor) {\n this.GPOSProcessor.selectScript(script, language);\n features.push(...Object.keys(this.GPOSProcessor.features));\n }\n return features;\n }\n constructor(font){\n this.font = font;\n this.glyphInfos = null;\n this.plan = null;\n this.GSUBProcessor = null;\n this.GPOSProcessor = null;\n this.fallbackPosition = true;\n if (font.GSUB) this.GSUBProcessor = new (0, $0a876c45f1f7c41c$export$2e2bcd8739ae039)(font, font.GSUB);\n if (font.GPOS) this.GPOSProcessor = new (0, $c96c93587d49c14d$export$2e2bcd8739ae039)(font, font.GPOS);\n }\n}\n\n\nclass $4c0a7fa5df7a9ab1$export$2e2bcd8739ae039 {\n layout(string, features, script, language, direction) {\n // Make the features parameter optional\n if (typeof features === 'string') {\n direction = language;\n language = script;\n script = features;\n features = [];\n }\n // Map string to glyphs if needed\n if (typeof string === 'string') {\n // Attempt to detect the script from the string if not provided.\n if (script == null) script = $130d1a642ebcd2b7$export$e5cb25e204fb8450(string);\n var glyphs = this.font.glyphsForString(string);\n } else {\n // Attempt to detect the script from the glyph code points if not provided.\n if (script == null) {\n let codePoints = [];\n for (let glyph of string)codePoints.push(...glyph.codePoints);\n script = $130d1a642ebcd2b7$export$16fab0757cfc223d(codePoints);\n }\n var glyphs = string;\n }\n let glyphRun = new (0, $be07b3e97a42687a$export$2e2bcd8739ae039)(glyphs, features, script, language, direction);\n // Return early if there are no glyphs\n if (glyphs.length === 0) {\n glyphRun.positions = [];\n return glyphRun;\n }\n // Setup the advanced layout engine\n if (this.engine && this.engine.setup) this.engine.setup(glyphRun);\n // Substitute and position the glyphs\n this.substitute(glyphRun);\n this.position(glyphRun);\n this.hideDefaultIgnorables(glyphRun.glyphs, glyphRun.positions);\n // Let the layout engine clean up any state it might have\n if (this.engine && this.engine.cleanup) this.engine.cleanup();\n return glyphRun;\n }\n substitute(glyphRun) {\n // Call the advanced layout engine to make substitutions\n if (this.engine && this.engine.substitute) this.engine.substitute(glyphRun);\n }\n position(glyphRun) {\n // Get initial glyph positions\n glyphRun.positions = glyphRun.glyphs.map((glyph)=>new (0, $1ac75d9a55b67f01$export$2e2bcd8739ae039)(glyph.advanceWidth));\n let positioned = null;\n // Call the advanced layout engine. Returns the features applied.\n if (this.engine && this.engine.position) positioned = this.engine.position(glyphRun);\n // if there is no GPOS table, use unicode properties to position marks.\n if (!positioned && (!this.engine || this.engine.fallbackPosition)) {\n if (!this.unicodeLayoutEngine) this.unicodeLayoutEngine = new (0, $0a4bdfeb6dfd6f5e$export$2e2bcd8739ae039)(this.font);\n this.unicodeLayoutEngine.positionGlyphs(glyphRun.glyphs, glyphRun.positions);\n }\n // if kerning is not supported by GPOS, do kerning with the TrueType/AAT kern table\n if ((!positioned || !positioned.kern) && glyphRun.features.kern !== false && this.font.kern) {\n if (!this.kernProcessor) this.kernProcessor = new (0, $0bba3a9db57637f3$export$2e2bcd8739ae039)(this.font);\n this.kernProcessor.process(glyphRun.glyphs, glyphRun.positions);\n glyphRun.features.kern = true;\n }\n }\n hideDefaultIgnorables(glyphs, positions) {\n let space = this.font.glyphForCodePoint(0x20);\n for(let i = 0; i < glyphs.length; i++)if (this.isDefaultIgnorable(glyphs[i].codePoints[0])) {\n glyphs[i] = space;\n positions[i].xAdvance = 0;\n positions[i].yAdvance = 0;\n }\n }\n isDefaultIgnorable(ch) {\n // From DerivedCoreProperties.txt in the Unicode database,\n // minus U+115F, U+1160, U+3164 and U+FFA0, which is what\n // Harfbuzz and Uniscribe do.\n let plane = ch >> 16;\n if (plane === 0) // BMP\n switch(ch >> 8){\n case 0x00:\n return ch === 0x00AD;\n case 0x03:\n return ch === 0x034F;\n case 0x06:\n return ch === 0x061C;\n case 0x17:\n return 0x17B4 <= ch && ch <= 0x17B5;\n case 0x18:\n return 0x180B <= ch && ch <= 0x180E;\n case 0x20:\n return 0x200B <= ch && ch <= 0x200F || 0x202A <= ch && ch <= 0x202E || 0x2060 <= ch && ch <= 0x206F;\n case 0xFE:\n return 0xFE00 <= ch && ch <= 0xFE0F || ch === 0xFEFF;\n case 0xFF:\n return 0xFFF0 <= ch && ch <= 0xFFF8;\n default:\n return false;\n }\n else // Other planes\n switch(plane){\n case 0x01:\n return 0x1BCA0 <= ch && ch <= 0x1BCA3 || 0x1D173 <= ch && ch <= 0x1D17A;\n case 0x0E:\n return 0xE0000 <= ch && ch <= 0xE0FFF;\n default:\n return false;\n }\n }\n getAvailableFeatures(script, language) {\n let features = [];\n if (this.engine) features.push(...this.engine.getAvailableFeatures(script, language));\n if (this.font.kern && features.indexOf('kern') === -1) features.push('kern');\n return features;\n }\n stringsForGlyph(gid) {\n let result = new Set;\n let codePoints = this.font._cmapProcessor.codePointsForGlyph(gid);\n for (let codePoint of codePoints)result.add(String.fromCodePoint(codePoint));\n if (this.engine && this.engine.stringsForGlyph) for (let string of this.engine.stringsForGlyph(gid))result.add(string);\n return Array.from(result);\n }\n constructor(font){\n this.font = font;\n this.unicodeLayoutEngine = null;\n this.kernProcessor = null;\n // Choose an advanced layout engine. We try the AAT morx table first since more\n // scripts are currently supported because the shaping logic is built into the font.\n if (this.font.morx) this.engine = new (0, $ba6dd74203be8728$export$2e2bcd8739ae039)(this.font);\n else if (this.font.GSUB || this.font.GPOS) this.engine = new (0, $a62492810de27e3d$export$2e2bcd8739ae039)(this.font);\n }\n}\n\n\n\n\n\n\nconst $f43aec954cdfdf21$var$SVG_COMMANDS = {\n moveTo: 'M',\n lineTo: 'L',\n quadraticCurveTo: 'Q',\n bezierCurveTo: 'C',\n closePath: 'Z'\n};\nclass $f43aec954cdfdf21$export$2e2bcd8739ae039 {\n /**\n * Compiles the path to a JavaScript function that can be applied with\n * a graphics context in order to render the path.\n * @return {string}\n */ toFunction() {\n return (ctx)=>{\n this.commands.forEach((c)=>{\n return ctx[c.command].apply(ctx, c.args);\n });\n };\n }\n /**\n * Converts the path to an SVG path data string\n * @return {string}\n */ toSVG() {\n let cmds = this.commands.map((c)=>{\n let args = c.args.map((arg)=>Math.round(arg * 100) / 100);\n return `${$f43aec954cdfdf21$var$SVG_COMMANDS[c.command]}${args.join(' ')}`;\n });\n return cmds.join('');\n }\n /**\n * Gets the \"control box\" of a path.\n * This is like the bounding box, but it includes all points including\n * control points of bezier segments and is much faster to compute than\n * the real bounding box.\n * @type {BBox}\n */ get cbox() {\n if (!this._cbox) {\n let cbox = new (0, $f34600ab9d7f70d8$export$2e2bcd8739ae039);\n for (let command of this.commands)for(let i = 0; i < command.args.length; i += 2)cbox.addPoint(command.args[i], command.args[i + 1]);\n this._cbox = Object.freeze(cbox);\n }\n return this._cbox;\n }\n /**\n * Gets the exact bounding box of the path by evaluating curve segments.\n * Slower to compute than the control box, but more accurate.\n * @type {BBox}\n */ get bbox() {\n if (this._bbox) return this._bbox;\n let bbox = new (0, $f34600ab9d7f70d8$export$2e2bcd8739ae039);\n let cx = 0, cy = 0;\n let f = (t)=>Math.pow(1 - t, 3) * p0[i] + 3 * Math.pow(1 - t, 2) * t * p1[i] + 3 * (1 - t) * Math.pow(t, 2) * p2[i] + Math.pow(t, 3) * p3[i];\n for (let c of this.commands)switch(c.command){\n case 'moveTo':\n case 'lineTo':\n let [x, y] = c.args;\n bbox.addPoint(x, y);\n cx = x;\n cy = y;\n break;\n case 'quadraticCurveTo':\n case 'bezierCurveTo':\n if (c.command === 'quadraticCurveTo') {\n // http://fontforge.org/bezier.html\n var [qp1x, qp1y, p3x, p3y] = c.args;\n var cp1x = cx + 2 / 3 * (qp1x - cx); // CP1 = QP0 + 2/3 * (QP1-QP0)\n var cp1y = cy + 2 / 3 * (qp1y - cy);\n var cp2x = p3x + 2 / 3 * (qp1x - p3x); // CP2 = QP2 + 2/3 * (QP1-QP2)\n var cp2y = p3y + 2 / 3 * (qp1y - p3y);\n } else var [cp1x, cp1y, cp2x, cp2y, p3x, p3y] = c.args;\n // http://blog.hackers-cafe.net/2009/06/how-to-calculate-bezier-curves-bounding.html\n bbox.addPoint(p3x, p3y);\n var p0 = [\n cx,\n cy\n ];\n var p1 = [\n cp1x,\n cp1y\n ];\n var p2 = [\n cp2x,\n cp2y\n ];\n var p3 = [\n p3x,\n p3y\n ];\n for(var i = 0; i <= 1; i++){\n let b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];\n let a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];\n c = 3 * p1[i] - 3 * p0[i];\n if (a === 0) {\n if (b === 0) continue;\n let t = -c / b;\n if (0 < t && t < 1) {\n if (i === 0) bbox.addPoint(f(t), bbox.maxY);\n else if (i === 1) bbox.addPoint(bbox.maxX, f(t));\n }\n continue;\n }\n let b2ac = Math.pow(b, 2) - 4 * c * a;\n if (b2ac < 0) continue;\n let t1 = (-b + Math.sqrt(b2ac)) / (2 * a);\n if (0 < t1 && t1 < 1) {\n if (i === 0) bbox.addPoint(f(t1), bbox.maxY);\n else if (i === 1) bbox.addPoint(bbox.maxX, f(t1));\n }\n let t2 = (-b - Math.sqrt(b2ac)) / (2 * a);\n if (0 < t2 && t2 < 1) {\n if (i === 0) bbox.addPoint(f(t2), bbox.maxY);\n else if (i === 1) bbox.addPoint(bbox.maxX, f(t2));\n }\n }\n cx = p3x;\n cy = p3y;\n break;\n }\n return this._bbox = Object.freeze(bbox);\n }\n /**\n * Applies a mapping function to each point in the path.\n * @param {function} fn\n * @return {Path}\n */ mapPoints(fn) {\n let path = new $f43aec954cdfdf21$export$2e2bcd8739ae039;\n for (let c of this.commands){\n let args = [];\n for(let i = 0; i < c.args.length; i += 2){\n let [x, y] = fn(c.args[i], c.args[i + 1]);\n args.push(x, y);\n }\n path[c.command](...args);\n }\n return path;\n }\n /**\n * Transforms the path by the given matrix.\n */ transform(m0, m1, m2, m3, m4, m5) {\n return this.mapPoints((x, y)=>{\n const tx = m0 * x + m2 * y + m4;\n const ty = m1 * x + m3 * y + m5;\n return [\n tx,\n ty\n ];\n });\n }\n /**\n * Translates the path by the given offset.\n */ translate(x, y) {\n return this.transform(1, 0, 0, 1, x, y);\n }\n /**\n * Rotates the path by the given angle (in radians).\n */ rotate(angle) {\n let cos = Math.cos(angle);\n let sin = Math.sin(angle);\n return this.transform(cos, sin, -sin, cos, 0, 0);\n }\n /**\n * Scales the path.\n */ scale(scaleX, scaleY = scaleX) {\n return this.transform(scaleX, 0, 0, scaleY, 0, 0);\n }\n constructor(){\n this.commands = [];\n this._bbox = null;\n this._cbox = null;\n }\n}\nfor (let command of [\n 'moveTo',\n 'lineTo',\n 'quadraticCurveTo',\n 'bezierCurveTo',\n 'closePath'\n])$f43aec954cdfdf21$export$2e2bcd8739ae039.prototype[command] = function(...args) {\n this._bbox = this._cbox = null;\n this.commands.push({\n command: command,\n args: args\n });\n return this;\n};\n\n\n\nvar $7713b9b7b438dff8$export$2e2bcd8739ae039 = [\n '.notdef',\n '.null',\n 'nonmarkingreturn',\n 'space',\n 'exclam',\n 'quotedbl',\n 'numbersign',\n 'dollar',\n 'percent',\n 'ampersand',\n 'quotesingle',\n 'parenleft',\n 'parenright',\n 'asterisk',\n 'plus',\n 'comma',\n 'hyphen',\n 'period',\n 'slash',\n 'zero',\n 'one',\n 'two',\n 'three',\n 'four',\n 'five',\n 'six',\n 'seven',\n 'eight',\n 'nine',\n 'colon',\n 'semicolon',\n 'less',\n 'equal',\n 'greater',\n 'question',\n 'at',\n 'A',\n 'B',\n 'C',\n 'D',\n 'E',\n 'F',\n 'G',\n 'H',\n 'I',\n 'J',\n 'K',\n 'L',\n 'M',\n 'N',\n 'O',\n 'P',\n 'Q',\n 'R',\n 'S',\n 'T',\n 'U',\n 'V',\n 'W',\n 'X',\n 'Y',\n 'Z',\n 'bracketleft',\n 'backslash',\n 'bracketright',\n 'asciicircum',\n 'underscore',\n 'grave',\n 'a',\n 'b',\n 'c',\n 'd',\n 'e',\n 'f',\n 'g',\n 'h',\n 'i',\n 'j',\n 'k',\n 'l',\n 'm',\n 'n',\n 'o',\n 'p',\n 'q',\n 'r',\n 's',\n 't',\n 'u',\n 'v',\n 'w',\n 'x',\n 'y',\n 'z',\n 'braceleft',\n 'bar',\n 'braceright',\n 'asciitilde',\n 'Adieresis',\n 'Aring',\n 'Ccedilla',\n 'Eacute',\n 'Ntilde',\n 'Odieresis',\n 'Udieresis',\n 'aacute',\n 'agrave',\n 'acircumflex',\n 'adieresis',\n 'atilde',\n 'aring',\n 'ccedilla',\n 'eacute',\n 'egrave',\n 'ecircumflex',\n 'edieresis',\n 'iacute',\n 'igrave',\n 'icircumflex',\n 'idieresis',\n 'ntilde',\n 'oacute',\n 'ograve',\n 'ocircumflex',\n 'odieresis',\n 'otilde',\n 'uacute',\n 'ugrave',\n 'ucircumflex',\n 'udieresis',\n 'dagger',\n 'degree',\n 'cent',\n 'sterling',\n 'section',\n 'bullet',\n 'paragraph',\n 'germandbls',\n 'registered',\n 'copyright',\n 'trademark',\n 'acute',\n 'dieresis',\n 'notequal',\n 'AE',\n 'Oslash',\n 'infinity',\n 'plusminus',\n 'lessequal',\n 'greaterequal',\n 'yen',\n 'mu',\n 'partialdiff',\n 'summation',\n 'product',\n 'pi',\n 'integral',\n 'ordfeminine',\n 'ordmasculine',\n 'Omega',\n 'ae',\n 'oslash',\n 'questiondown',\n 'exclamdown',\n 'logicalnot',\n 'radical',\n 'florin',\n 'approxequal',\n 'Delta',\n 'guillemotleft',\n 'guillemotright',\n 'ellipsis',\n 'nonbreakingspace',\n 'Agrave',\n 'Atilde',\n 'Otilde',\n 'OE',\n 'oe',\n 'endash',\n 'emdash',\n 'quotedblleft',\n 'quotedblright',\n 'quoteleft',\n 'quoteright',\n 'divide',\n 'lozenge',\n 'ydieresis',\n 'Ydieresis',\n 'fraction',\n 'currency',\n 'guilsinglleft',\n 'guilsinglright',\n 'fi',\n 'fl',\n 'daggerdbl',\n 'periodcentered',\n 'quotesinglbase',\n 'quotedblbase',\n 'perthousand',\n 'Acircumflex',\n 'Ecircumflex',\n 'Aacute',\n 'Edieresis',\n 'Egrave',\n 'Iacute',\n 'Icircumflex',\n 'Idieresis',\n 'Igrave',\n 'Oacute',\n 'Ocircumflex',\n 'apple',\n 'Ograve',\n 'Uacute',\n 'Ucircumflex',\n 'Ugrave',\n 'dotlessi',\n 'circumflex',\n 'tilde',\n 'macron',\n 'breve',\n 'dotaccent',\n 'ring',\n 'cedilla',\n 'hungarumlaut',\n 'ogonek',\n 'caron',\n 'Lslash',\n 'lslash',\n 'Scaron',\n 'scaron',\n 'Zcaron',\n 'zcaron',\n 'brokenbar',\n 'Eth',\n 'eth',\n 'Yacute',\n 'yacute',\n 'Thorn',\n 'thorn',\n 'minus',\n 'multiply',\n 'onesuperior',\n 'twosuperior',\n 'threesuperior',\n 'onehalf',\n 'onequarter',\n 'threequarters',\n 'franc',\n 'Gbreve',\n 'gbreve',\n 'Idotaccent',\n 'Scedilla',\n 'scedilla',\n 'Cacute',\n 'cacute',\n 'Ccaron',\n 'ccaron',\n 'dcroat'\n];\n\n\nclass $f92906be28e61769$export$2e2bcd8739ae039 {\n _getPath() {\n return new (0, $f43aec954cdfdf21$export$2e2bcd8739ae039)();\n }\n _getCBox() {\n return this.path.cbox;\n }\n _getBBox() {\n return this.path.bbox;\n }\n _getTableMetrics(table) {\n if (this.id < table.metrics.length) return table.metrics.get(this.id);\n let metric = table.metrics.get(table.metrics.length - 1);\n let res = {\n advance: metric ? metric.advance : 0,\n bearing: table.bearings.get(this.id - table.metrics.length) || 0\n };\n return res;\n }\n _getMetrics(cbox) {\n if (this._metrics) return this._metrics;\n let { advance: advanceWidth, bearing: leftBearing } = this._getTableMetrics(this._font.hmtx);\n // For vertical metrics, use vmtx if available, or fall back to global data from OS/2 or hhea\n if (this._font.vmtx) var { advance: advanceHeight, bearing: topBearing } = this._getTableMetrics(this._font.vmtx);\n else {\n let os2;\n if (typeof cbox === 'undefined' || cbox === null) ({ cbox: cbox } = this);\n if ((os2 = this._font['OS/2']) && os2.version > 0) {\n var advanceHeight = Math.abs(os2.typoAscender - os2.typoDescender);\n var topBearing = os2.typoAscender - cbox.maxY;\n } else {\n let { hhea: hhea } = this._font;\n var advanceHeight = Math.abs(hhea.ascent - hhea.descent);\n var topBearing = hhea.ascent - cbox.maxY;\n }\n }\n if (this._font._variationProcessor && this._font.HVAR) advanceWidth += this._font._variationProcessor.getAdvanceAdjustment(this.id, this._font.HVAR);\n return this._metrics = {\n advanceWidth: advanceWidth,\n advanceHeight: advanceHeight,\n leftBearing: leftBearing,\n topBearing: topBearing\n };\n }\n /**\n * The glyph’s control box.\n * This is often the same as the bounding box, but is faster to compute.\n * Because of the way bezier curves are defined, some of the control points\n * can be outside of the bounding box. Where `bbox` takes this into account,\n * `cbox` does not. Thus, cbox is less accurate, but faster to compute.\n * See [here](http://www.freetype.org/freetype2/docs/glyphs/glyphs-6.html#section-2)\n * for a more detailed description.\n *\n * @type {BBox}\n */ get cbox() {\n return this._getCBox();\n }\n /**\n * The glyph’s bounding box, i.e. the rectangle that encloses the\n * glyph outline as tightly as possible.\n * @type {BBox}\n */ get bbox() {\n return this._getBBox();\n }\n /**\n * A vector Path object representing the glyph outline.\n * @type {Path}\n */ get path() {\n // Cache the path so we only decode it once\n // Decoding is actually performed by subclasses\n return this._getPath();\n }\n /**\n * Returns a path scaled to the given font size.\n * @param {number} size\n * @return {Path}\n */ getScaledPath(size) {\n let scale = 1 / this._font.unitsPerEm * size;\n return this.path.scale(scale);\n }\n /**\n * The glyph's advance width.\n * @type {number}\n */ get advanceWidth() {\n return this._getMetrics().advanceWidth;\n }\n /**\n * The glyph's advance height.\n * @type {number}\n */ get advanceHeight() {\n return this._getMetrics().advanceHeight;\n }\n get ligatureCaretPositions() {}\n _getName() {\n let { post: post } = this._font;\n if (!post) return null;\n switch(post.version){\n case 1:\n return (0, $7713b9b7b438dff8$export$2e2bcd8739ae039)[this.id];\n case 2:\n let id = post.glyphNameIndex[this.id];\n if (id < (0, $7713b9b7b438dff8$export$2e2bcd8739ae039).length) return (0, $7713b9b7b438dff8$export$2e2bcd8739ae039)[id];\n return post.names[id - (0, $7713b9b7b438dff8$export$2e2bcd8739ae039).length];\n case 2.5:\n return (0, $7713b9b7b438dff8$export$2e2bcd8739ae039)[this.id + post.offsets[this.id]];\n case 4:\n return String.fromCharCode(post.map[this.id]);\n }\n }\n /**\n * The glyph's name\n * @type {string}\n */ get name() {\n return this._getName();\n }\n /**\n * Renders the glyph to the given graphics context, at the specified font size.\n * @param {CanvasRenderingContext2d} ctx\n * @param {number} size\n */ render(ctx, size) {\n ctx.save();\n let scale = 1 / this._font.head.unitsPerEm * size;\n ctx.scale(scale, scale);\n let fn = this.path.toFunction();\n fn(ctx);\n ctx.fill();\n ctx.restore();\n }\n constructor(id, codePoints, font){\n /**\n * The glyph id in the font\n * @type {number}\n */ this.id = id;\n /**\n * An array of unicode code points that are represented by this glyph.\n * There can be multiple code points in the case of ligatures and other glyphs\n * that represent multiple visual characters.\n * @type {number[]}\n */ this.codePoints = codePoints;\n this._font = font;\n // TODO: get this info from GDEF if available\n this.isMark = this.codePoints.length > 0 && this.codePoints.every((0, $6uUbQ$isMark));\n this.isLigature = this.codePoints.length > 1;\n }\n}\n(0, $6uUbQ$_1)([\n (0, $e71565f2ce09cb6b$export$69a3209f1a06c04d)\n], $f92906be28e61769$export$2e2bcd8739ae039.prototype, \"cbox\", null);\n(0, $6uUbQ$_1)([\n (0, $e71565f2ce09cb6b$export$69a3209f1a06c04d)\n], $f92906be28e61769$export$2e2bcd8739ae039.prototype, \"bbox\", null);\n(0, $6uUbQ$_1)([\n (0, $e71565f2ce09cb6b$export$69a3209f1a06c04d)\n], $f92906be28e61769$export$2e2bcd8739ae039.prototype, \"path\", null);\n(0, $6uUbQ$_1)([\n (0, $e71565f2ce09cb6b$export$69a3209f1a06c04d)\n], $f92906be28e61769$export$2e2bcd8739ae039.prototype, \"advanceWidth\", null);\n(0, $6uUbQ$_1)([\n (0, $e71565f2ce09cb6b$export$69a3209f1a06c04d)\n], $f92906be28e61769$export$2e2bcd8739ae039.prototype, \"advanceHeight\", null);\n(0, $6uUbQ$_1)([\n (0, $e71565f2ce09cb6b$export$69a3209f1a06c04d)\n], $f92906be28e61769$export$2e2bcd8739ae039.prototype, \"name\", null);\n\n\n\n\n\n// The header for both simple and composite glyphs\nlet $69aac16029968692$var$GlyfHeader = new $6uUbQ$Struct({\n numberOfContours: $6uUbQ$int16,\n xMin: $6uUbQ$int16,\n yMin: $6uUbQ$int16,\n xMax: $6uUbQ$int16,\n yMax: $6uUbQ$int16\n});\n// Flags for simple glyphs\nconst $69aac16029968692$var$ON_CURVE = 1;\nconst $69aac16029968692$var$X_SHORT_VECTOR = 2;\nconst $69aac16029968692$var$Y_SHORT_VECTOR = 4;\nconst $69aac16029968692$var$REPEAT = 8;\nconst $69aac16029968692$var$SAME_X = 16;\nconst $69aac16029968692$var$SAME_Y = 32;\n// Flags for composite glyphs\nconst $69aac16029968692$var$ARG_1_AND_2_ARE_WORDS = 1;\nconst $69aac16029968692$var$ARGS_ARE_XY_VALUES = 2;\nconst $69aac16029968692$var$ROUND_XY_TO_GRID = 4;\nconst $69aac16029968692$var$WE_HAVE_A_SCALE = 8;\nconst $69aac16029968692$var$MORE_COMPONENTS = 32;\nconst $69aac16029968692$var$WE_HAVE_AN_X_AND_Y_SCALE = 64;\nconst $69aac16029968692$var$WE_HAVE_A_TWO_BY_TWO = 128;\nconst $69aac16029968692$var$WE_HAVE_INSTRUCTIONS = 256;\nconst $69aac16029968692$var$USE_MY_METRICS = 512;\nconst $69aac16029968692$var$OVERLAP_COMPOUND = 1024;\nconst $69aac16029968692$var$SCALED_COMPONENT_OFFSET = 2048;\nconst $69aac16029968692$var$UNSCALED_COMPONENT_OFFSET = 4096;\nclass $69aac16029968692$export$baf26146a414f24a {\n copy() {\n return new $69aac16029968692$export$baf26146a414f24a(this.onCurve, this.endContour, this.x, this.y);\n }\n constructor(onCurve, endContour, x = 0, y = 0){\n this.onCurve = onCurve;\n this.endContour = endContour;\n this.x = x;\n this.y = y;\n }\n}\n// Represents a component in a composite glyph\nclass $69aac16029968692$var$Component {\n constructor(glyphID, dx, dy){\n this.glyphID = glyphID;\n this.dx = dx;\n this.dy = dy;\n this.pos = 0;\n this.scaleX = this.scaleY = 1;\n this.scale01 = this.scale10 = 0;\n }\n}\nclass $69aac16029968692$export$2e2bcd8739ae039 extends (0, $f92906be28e61769$export$2e2bcd8739ae039) {\n // Parses just the glyph header and returns the bounding box\n _getCBox(internal) {\n // We need to decode the glyph if variation processing is requested,\n // so it's easier just to recompute the path's cbox after decoding.\n if (this._font._variationProcessor && !internal) return this.path.cbox;\n let stream = this._font._getTableStream('glyf');\n stream.pos += this._font.loca.offsets[this.id];\n let glyph = $69aac16029968692$var$GlyfHeader.decode(stream);\n let cbox = new (0, $f34600ab9d7f70d8$export$2e2bcd8739ae039)(glyph.xMin, glyph.yMin, glyph.xMax, glyph.yMax);\n return Object.freeze(cbox);\n }\n // Parses a single glyph coordinate\n _parseGlyphCoord(stream, prev, short, same) {\n if (short) {\n var val = stream.readUInt8();\n if (!same) val = -val;\n val += prev;\n } else if (same) var val = prev;\n else var val = prev + stream.readInt16BE();\n return val;\n }\n // Decodes the glyph data into points for simple glyphs,\n // or components for composite glyphs\n _decode() {\n let glyfPos = this._font.loca.offsets[this.id];\n let nextPos = this._font.loca.offsets[this.id + 1];\n // Nothing to do if there is no data for this glyph\n if (glyfPos === nextPos) return null;\n let stream = this._font._getTableStream('glyf');\n stream.pos += glyfPos;\n let startPos = stream.pos;\n let glyph = $69aac16029968692$var$GlyfHeader.decode(stream);\n if (glyph.numberOfContours > 0) this._decodeSimple(glyph, stream);\n else if (glyph.numberOfContours < 0) this._decodeComposite(glyph, stream, startPos);\n return glyph;\n }\n _decodeSimple(glyph, stream) {\n // this is a simple glyph\n glyph.points = [];\n let endPtsOfContours = new $6uUbQ$Array($6uUbQ$uint16, glyph.numberOfContours).decode(stream);\n glyph.instructions = new $6uUbQ$Array($6uUbQ$uint8, $6uUbQ$uint16).decode(stream);\n let flags = [];\n let numCoords = endPtsOfContours[endPtsOfContours.length - 1] + 1;\n while(flags.length < numCoords){\n var flag = stream.readUInt8();\n flags.push(flag);\n // check for repeat flag\n if (flag & $69aac16029968692$var$REPEAT) {\n let count = stream.readUInt8();\n for(let j = 0; j < count; j++)flags.push(flag);\n }\n }\n for(var i = 0; i < flags.length; i++){\n var flag = flags[i];\n let point = new $69aac16029968692$export$baf26146a414f24a(!!(flag & $69aac16029968692$var$ON_CURVE), endPtsOfContours.indexOf(i) >= 0, 0, 0);\n glyph.points.push(point);\n }\n let px = 0;\n for(var i = 0; i < flags.length; i++){\n var flag = flags[i];\n glyph.points[i].x = px = this._parseGlyphCoord(stream, px, flag & $69aac16029968692$var$X_SHORT_VECTOR, flag & $69aac16029968692$var$SAME_X);\n }\n let py = 0;\n for(var i = 0; i < flags.length; i++){\n var flag = flags[i];\n glyph.points[i].y = py = this._parseGlyphCoord(stream, py, flag & $69aac16029968692$var$Y_SHORT_VECTOR, flag & $69aac16029968692$var$SAME_Y);\n }\n if (this._font._variationProcessor) {\n let points = glyph.points.slice();\n points.push(...this._getPhantomPoints(glyph));\n this._font._variationProcessor.transformPoints(this.id, points);\n glyph.phantomPoints = points.slice(-4);\n }\n return;\n }\n _decodeComposite(glyph, stream, offset = 0) {\n // this is a composite glyph\n glyph.components = [];\n let haveInstructions = false;\n let flags = $69aac16029968692$var$MORE_COMPONENTS;\n while(flags & $69aac16029968692$var$MORE_COMPONENTS){\n flags = stream.readUInt16BE();\n let gPos = stream.pos - offset;\n let glyphID = stream.readUInt16BE();\n if (!haveInstructions) haveInstructions = (flags & $69aac16029968692$var$WE_HAVE_INSTRUCTIONS) !== 0;\n if (flags & $69aac16029968692$var$ARG_1_AND_2_ARE_WORDS) {\n var dx = stream.readInt16BE();\n var dy = stream.readInt16BE();\n } else {\n var dx = stream.readInt8();\n var dy = stream.readInt8();\n }\n var component = new $69aac16029968692$var$Component(glyphID, dx, dy);\n component.pos = gPos;\n if (flags & $69aac16029968692$var$WE_HAVE_A_SCALE) // fixed number with 14 bits of fraction\n component.scaleX = component.scaleY = (stream.readUInt8() << 24 | stream.readUInt8() << 16) / 1073741824;\n else if (flags & $69aac16029968692$var$WE_HAVE_AN_X_AND_Y_SCALE) {\n component.scaleX = (stream.readUInt8() << 24 | stream.readUInt8() << 16) / 1073741824;\n component.scaleY = (stream.readUInt8() << 24 | stream.readUInt8() << 16) / 1073741824;\n } else if (flags & $69aac16029968692$var$WE_HAVE_A_TWO_BY_TWO) {\n component.scaleX = (stream.readUInt8() << 24 | stream.readUInt8() << 16) / 1073741824;\n component.scale01 = (stream.readUInt8() << 24 | stream.readUInt8() << 16) / 1073741824;\n component.scale10 = (stream.readUInt8() << 24 | stream.readUInt8() << 16) / 1073741824;\n component.scaleY = (stream.readUInt8() << 24 | stream.readUInt8() << 16) / 1073741824;\n }\n glyph.components.push(component);\n }\n if (this._font._variationProcessor) {\n let points = [];\n for(let j = 0; j < glyph.components.length; j++){\n var component = glyph.components[j];\n points.push(new $69aac16029968692$export$baf26146a414f24a(true, true, component.dx, component.dy));\n }\n points.push(...this._getPhantomPoints(glyph));\n this._font._variationProcessor.transformPoints(this.id, points);\n glyph.phantomPoints = points.splice(-4, 4);\n for(let i = 0; i < points.length; i++){\n let point = points[i];\n glyph.components[i].dx = point.x;\n glyph.components[i].dy = point.y;\n }\n }\n return haveInstructions;\n }\n _getPhantomPoints(glyph) {\n let cbox = this._getCBox(true);\n if (this._metrics == null) this._metrics = (0, $f92906be28e61769$export$2e2bcd8739ae039).prototype._getMetrics.call(this, cbox);\n let { advanceWidth: advanceWidth, advanceHeight: advanceHeight, leftBearing: leftBearing, topBearing: topBearing } = this._metrics;\n return [\n new $69aac16029968692$export$baf26146a414f24a(false, true, glyph.xMin - leftBearing, 0),\n new $69aac16029968692$export$baf26146a414f24a(false, true, glyph.xMin - leftBearing + advanceWidth, 0),\n new $69aac16029968692$export$baf26146a414f24a(false, true, 0, glyph.yMax + topBearing),\n new $69aac16029968692$export$baf26146a414f24a(false, true, 0, glyph.yMax + topBearing + advanceHeight)\n ];\n }\n // Decodes font data, resolves composite glyphs, and returns an array of contours\n _getContours() {\n let glyph = this._decode();\n if (!glyph) return [];\n let points = [];\n if (glyph.numberOfContours < 0) // resolve composite glyphs\n for (let component of glyph.components){\n let contours = this._font.getGlyph(component.glyphID)._getContours();\n for(let i = 0; i < contours.length; i++){\n let contour = contours[i];\n for(let j = 0; j < contour.length; j++){\n let point = contour[j];\n let x = point.x * component.scaleX + point.y * component.scale01 + component.dx;\n let y = point.y * component.scaleY + point.x * component.scale10 + component.dy;\n points.push(new $69aac16029968692$export$baf26146a414f24a(point.onCurve, point.endContour, x, y));\n }\n }\n }\n else points = glyph.points || [];\n // Recompute and cache metrics if we performed variation processing, and don't have an HVAR table\n if (glyph.phantomPoints && !this._font.directory.tables.HVAR) {\n this._metrics.advanceWidth = glyph.phantomPoints[1].x - glyph.phantomPoints[0].x;\n this._metrics.advanceHeight = glyph.phantomPoints[3].y - glyph.phantomPoints[2].y;\n this._metrics.leftBearing = glyph.xMin - glyph.phantomPoints[0].x;\n this._metrics.topBearing = glyph.phantomPoints[2].y - glyph.yMax;\n }\n let contours = [];\n let cur = [];\n for(let k = 0; k < points.length; k++){\n var point = points[k];\n cur.push(point);\n if (point.endContour) {\n contours.push(cur);\n cur = [];\n }\n }\n return contours;\n }\n _getMetrics() {\n if (this._metrics) return this._metrics;\n let cbox = this._getCBox(true);\n super._getMetrics(cbox);\n if (this._font._variationProcessor && !this._font.HVAR) // No HVAR table, decode the glyph. This triggers recomputation of metrics.\n this.path;\n return this._metrics;\n }\n // Converts contours to a Path object that can be rendered\n _getPath() {\n let contours = this._getContours();\n let path = new (0, $f43aec954cdfdf21$export$2e2bcd8739ae039);\n for(let i = 0; i < contours.length; i++){\n let contour = contours[i];\n let firstPt = contour[0];\n let lastPt = contour[contour.length - 1];\n let start = 0;\n if (firstPt.onCurve) {\n // The first point will be consumed by the moveTo command, so skip in the loop\n var curvePt = null;\n start = 1;\n } else {\n if (lastPt.onCurve) // Start at the last point if the first point is off curve and the last point is on curve\n firstPt = lastPt;\n else // Start at the middle if both the first and last points are off curve\n firstPt = new $69aac16029968692$export$baf26146a414f24a(false, false, (firstPt.x + lastPt.x) / 2, (firstPt.y + lastPt.y) / 2);\n var curvePt = firstPt;\n }\n path.moveTo(firstPt.x, firstPt.y);\n for(let j = start; j < contour.length; j++){\n let pt = contour[j];\n let prevPt = j === 0 ? firstPt : contour[j - 1];\n if (prevPt.onCurve && pt.onCurve) path.lineTo(pt.x, pt.y);\n else if (prevPt.onCurve && !pt.onCurve) var curvePt = pt;\n else if (!prevPt.onCurve && !pt.onCurve) {\n let midX = (prevPt.x + pt.x) / 2;\n let midY = (prevPt.y + pt.y) / 2;\n path.quadraticCurveTo(prevPt.x, prevPt.y, midX, midY);\n var curvePt = pt;\n } else if (!prevPt.onCurve && pt.onCurve) {\n path.quadraticCurveTo(curvePt.x, curvePt.y, pt.x, pt.y);\n var curvePt = null;\n } else throw new Error(\"Unknown TTF path state\");\n }\n // Connect the first and last points\n if (curvePt) path.quadraticCurveTo(curvePt.x, curvePt.y, firstPt.x, firstPt.y);\n path.closePath();\n }\n return path;\n }\n constructor(...args){\n super(...args);\n (0, $6uUbQ$_)(this, \"type\", 'TTF');\n }\n}\n\n\n\n\n\nclass $62cc5109c6101893$export$2e2bcd8739ae039 extends (0, $f92906be28e61769$export$2e2bcd8739ae039) {\n _getName() {\n if (this._font.CFF2) return super._getName();\n return this._font['CFF '].getGlyphName(this.id);\n }\n bias(s) {\n if (s.length < 1240) return 107;\n else if (s.length < 33900) return 1131;\n else return 32768;\n }\n _getPath() {\n let cff = this._font.CFF2 || this._font['CFF '];\n let { stream: stream } = cff;\n let str = cff.topDict.CharStrings[this.id];\n let end = str.offset + str.length;\n stream.pos = str.offset;\n let path = new (0, $f43aec954cdfdf21$export$2e2bcd8739ae039);\n let stack = [];\n let trans = [];\n let width = null;\n let nStems = 0;\n let x = 0, y = 0;\n let usedGsubrs;\n let usedSubrs;\n let open = false;\n this._usedGsubrs = usedGsubrs = {};\n this._usedSubrs = usedSubrs = {};\n let gsubrs = cff.globalSubrIndex || [];\n let gsubrsBias = this.bias(gsubrs);\n let privateDict = cff.privateDictForGlyph(this.id) || {};\n let subrs = privateDict.Subrs || [];\n let subrsBias = this.bias(subrs);\n let vstore = cff.topDict.vstore && cff.topDict.vstore.itemVariationStore;\n let vsindex = privateDict.vsindex;\n let variationProcessor = this._font._variationProcessor;\n function checkWidth() {\n if (width == null) width = stack.shift() + privateDict.nominalWidthX;\n }\n function parseStems() {\n if (stack.length % 2 !== 0) checkWidth();\n nStems += stack.length >> 1;\n return stack.length = 0;\n }\n function moveTo(x, y) {\n if (open) path.closePath();\n path.moveTo(x, y);\n open = true;\n }\n let parse = function() {\n while(stream.pos < end){\n let op = stream.readUInt8();\n if (op < 32) {\n let index, subr, phase;\n let c1x, c1y, c2x, c2y, c3x, c3y;\n let c4x, c4y, c5x, c5y, c6x, c6y;\n let pts;\n switch(op){\n case 1:\n case 3:\n case 18:\n case 23:\n parseStems();\n break;\n case 4:\n if (stack.length > 1) checkWidth();\n y += stack.shift();\n moveTo(x, y);\n break;\n case 5:\n while(stack.length >= 2){\n x += stack.shift();\n y += stack.shift();\n path.lineTo(x, y);\n }\n break;\n case 6:\n case 7:\n phase = op === 6;\n while(stack.length >= 1){\n if (phase) x += stack.shift();\n else y += stack.shift();\n path.lineTo(x, y);\n phase = !phase;\n }\n break;\n case 8:\n while(stack.length > 0){\n c1x = x + stack.shift();\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y + stack.shift();\n path.bezierCurveTo(c1x, c1y, c2x, c2y, x, y);\n }\n break;\n case 10:\n index = stack.pop() + subrsBias;\n subr = subrs[index];\n if (subr) {\n usedSubrs[index] = true;\n let p = stream.pos;\n let e = end;\n stream.pos = subr.offset;\n end = subr.offset + subr.length;\n parse();\n stream.pos = p;\n end = e;\n }\n break;\n case 11:\n if (cff.version >= 2) break;\n return;\n case 14:\n if (cff.version >= 2) break;\n if (stack.length > 0) checkWidth();\n if (open) {\n path.closePath();\n open = false;\n }\n break;\n case 15:\n if (cff.version < 2) throw new Error('vsindex operator not supported in CFF v1');\n vsindex = stack.pop();\n break;\n case 16:\n {\n if (cff.version < 2) throw new Error('blend operator not supported in CFF v1');\n if (!variationProcessor) throw new Error('blend operator in non-variation font');\n let blendVector = variationProcessor.getBlendVector(vstore, vsindex);\n let numBlends = stack.pop();\n let numOperands = numBlends * blendVector.length;\n let delta = stack.length - numOperands;\n let base = delta - numBlends;\n for(let i = 0; i < numBlends; i++){\n let sum = stack[base + i];\n for(let j = 0; j < blendVector.length; j++)sum += blendVector[j] * stack[delta++];\n stack[base + i] = sum;\n }\n while(numOperands--)stack.pop();\n break;\n }\n case 19:\n case 20:\n parseStems();\n stream.pos += nStems + 7 >> 3;\n break;\n case 21:\n if (stack.length > 2) checkWidth();\n x += stack.shift();\n y += stack.shift();\n moveTo(x, y);\n break;\n case 22:\n if (stack.length > 1) checkWidth();\n x += stack.shift();\n moveTo(x, y);\n break;\n case 24:\n while(stack.length >= 8){\n c1x = x + stack.shift();\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y + stack.shift();\n path.bezierCurveTo(c1x, c1y, c2x, c2y, x, y);\n }\n x += stack.shift();\n y += stack.shift();\n path.lineTo(x, y);\n break;\n case 25:\n while(stack.length >= 8){\n x += stack.shift();\n y += stack.shift();\n path.lineTo(x, y);\n }\n c1x = x + stack.shift();\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y + stack.shift();\n path.bezierCurveTo(c1x, c1y, c2x, c2y, x, y);\n break;\n case 26:\n if (stack.length % 2) x += stack.shift();\n while(stack.length >= 4){\n c1x = x;\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x;\n y = c2y + stack.shift();\n path.bezierCurveTo(c1x, c1y, c2x, c2y, x, y);\n }\n break;\n case 27:\n if (stack.length % 2) y += stack.shift();\n while(stack.length >= 4){\n c1x = x + stack.shift();\n c1y = y;\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y;\n path.bezierCurveTo(c1x, c1y, c2x, c2y, x, y);\n }\n break;\n case 28:\n stack.push(stream.readInt16BE());\n break;\n case 29:\n index = stack.pop() + gsubrsBias;\n subr = gsubrs[index];\n if (subr) {\n usedGsubrs[index] = true;\n let p = stream.pos;\n let e = end;\n stream.pos = subr.offset;\n end = subr.offset + subr.length;\n parse();\n stream.pos = p;\n end = e;\n }\n break;\n case 30:\n case 31:\n phase = op === 31;\n while(stack.length >= 4){\n if (phase) {\n c1x = x + stack.shift();\n c1y = y;\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n y = c2y + stack.shift();\n x = c2x + (stack.length === 1 ? stack.shift() : 0);\n } else {\n c1x = x;\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y + (stack.length === 1 ? stack.shift() : 0);\n }\n path.bezierCurveTo(c1x, c1y, c2x, c2y, x, y);\n phase = !phase;\n }\n break;\n case 12:\n op = stream.readUInt8();\n switch(op){\n case 3:\n let a = stack.pop();\n let b = stack.pop();\n stack.push(a && b ? 1 : 0);\n break;\n case 4:\n a = stack.pop();\n b = stack.pop();\n stack.push(a || b ? 1 : 0);\n break;\n case 5:\n a = stack.pop();\n stack.push(a ? 0 : 1);\n break;\n case 9:\n a = stack.pop();\n stack.push(Math.abs(a));\n break;\n case 10:\n a = stack.pop();\n b = stack.pop();\n stack.push(a + b);\n break;\n case 11:\n a = stack.pop();\n b = stack.pop();\n stack.push(a - b);\n break;\n case 12:\n a = stack.pop();\n b = stack.pop();\n stack.push(a / b);\n break;\n case 14:\n a = stack.pop();\n stack.push(-a);\n break;\n case 15:\n a = stack.pop();\n b = stack.pop();\n stack.push(a === b ? 1 : 0);\n break;\n case 18:\n stack.pop();\n break;\n case 20:\n let val = stack.pop();\n let idx = stack.pop();\n trans[idx] = val;\n break;\n case 21:\n idx = stack.pop();\n stack.push(trans[idx] || 0);\n break;\n case 22:\n let s1 = stack.pop();\n let s2 = stack.pop();\n let v1 = stack.pop();\n let v2 = stack.pop();\n stack.push(v1 <= v2 ? s1 : s2);\n break;\n case 23:\n stack.push(Math.random());\n break;\n case 24:\n a = stack.pop();\n b = stack.pop();\n stack.push(a * b);\n break;\n case 26:\n a = stack.pop();\n stack.push(Math.sqrt(a));\n break;\n case 27:\n a = stack.pop();\n stack.push(a, a);\n break;\n case 28:\n a = stack.pop();\n b = stack.pop();\n stack.push(b, a);\n break;\n case 29:\n idx = stack.pop();\n if (idx < 0) idx = 0;\n else if (idx > stack.length - 1) idx = stack.length - 1;\n stack.push(stack[idx]);\n break;\n case 30:\n let n = stack.pop();\n let j = stack.pop();\n if (j >= 0) while(j > 0){\n var t = stack[n - 1];\n for(let i = n - 2; i >= 0; i--)stack[i + 1] = stack[i];\n stack[0] = t;\n j--;\n }\n else while(j < 0){\n var t = stack[0];\n for(let i = 0; i <= n; i++)stack[i] = stack[i + 1];\n stack[n - 1] = t;\n j++;\n }\n break;\n case 34:\n c1x = x + stack.shift();\n c1y = y;\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n c3x = c2x + stack.shift();\n c3y = c2y;\n c4x = c3x + stack.shift();\n c4y = c3y;\n c5x = c4x + stack.shift();\n c5y = c4y;\n c6x = c5x + stack.shift();\n c6y = c5y;\n x = c6x;\n y = c6y;\n path.bezierCurveTo(c1x, c1y, c2x, c2y, c3x, c3y);\n path.bezierCurveTo(c4x, c4y, c5x, c5y, c6x, c6y);\n break;\n case 35:\n pts = [];\n for(let i = 0; i <= 5; i++){\n x += stack.shift();\n y += stack.shift();\n pts.push(x, y);\n }\n path.bezierCurveTo(...pts.slice(0, 6));\n path.bezierCurveTo(...pts.slice(6));\n stack.shift(); // fd\n break;\n case 36:\n c1x = x + stack.shift();\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n c3x = c2x + stack.shift();\n c3y = c2y;\n c4x = c3x + stack.shift();\n c4y = c3y;\n c5x = c4x + stack.shift();\n c5y = c4y + stack.shift();\n c6x = c5x + stack.shift();\n c6y = c5y;\n x = c6x;\n y = c6y;\n path.bezierCurveTo(c1x, c1y, c2x, c2y, c3x, c3y);\n path.bezierCurveTo(c4x, c4y, c5x, c5y, c6x, c6y);\n break;\n case 37:\n let startx = x;\n let starty = y;\n pts = [];\n for(let i = 0; i <= 4; i++){\n x += stack.shift();\n y += stack.shift();\n pts.push(x, y);\n }\n if (Math.abs(x - startx) > Math.abs(y - starty)) {\n x += stack.shift();\n y = starty;\n } else {\n x = startx;\n y += stack.shift();\n }\n pts.push(x, y);\n path.bezierCurveTo(...pts.slice(0, 6));\n path.bezierCurveTo(...pts.slice(6));\n break;\n default:\n throw new Error(`Unknown op: 12 ${op}`);\n }\n break;\n default:\n throw new Error(`Unknown op: ${op}`);\n }\n } else if (op < 247) stack.push(op - 139);\n else if (op < 251) {\n var b1 = stream.readUInt8();\n stack.push((op - 247) * 256 + b1 + 108);\n } else if (op < 255) {\n var b1 = stream.readUInt8();\n stack.push(-(op - 251) * 256 - b1 - 108);\n } else stack.push(stream.readInt32BE() / 65536);\n }\n };\n parse();\n if (open) path.closePath();\n return path;\n }\n constructor(...args){\n super(...args);\n (0, $6uUbQ$_)(this, \"type\", 'CFF');\n }\n}\n\n\n\n\n\nlet $25d8f049c222084c$var$SBIXImage = new $6uUbQ$Struct({\n originX: $6uUbQ$uint16,\n originY: $6uUbQ$uint16,\n type: new $6uUbQ$String(4),\n data: new $6uUbQ$Buffer((t)=>t.parent.buflen - t._currentOffset)\n});\nclass $25d8f049c222084c$export$2e2bcd8739ae039 extends (0, $69aac16029968692$export$2e2bcd8739ae039) {\n /**\n * Returns an object representing a glyph image at the given point size.\n * The object has a data property with a Buffer containing the actual image data,\n * along with the image type, and origin.\n *\n * @param {number} size\n * @return {object}\n */ getImageForSize(size) {\n for(let i = 0; i < this._font.sbix.imageTables.length; i++){\n var table = this._font.sbix.imageTables[i];\n if (table.ppem >= size) break;\n }\n let offsets = table.imageOffsets;\n let start = offsets[this.id];\n let end = offsets[this.id + 1];\n if (start === end) return null;\n this._font.stream.pos = start;\n return $25d8f049c222084c$var$SBIXImage.decode(this._font.stream, {\n buflen: end - start\n });\n }\n render(ctx, size) {\n let img = this.getImageForSize(size);\n if (img != null) {\n let scale = size / this._font.unitsPerEm;\n ctx.image(img.data, {\n height: size,\n x: img.originX,\n y: (this.bbox.minY - img.originY) * scale\n });\n }\n if (this._font.sbix.flags.renderOutlines) super.render(ctx, size);\n }\n constructor(...args){\n super(...args);\n (0, $6uUbQ$_)(this, \"type\", 'SBIX');\n }\n}\n\n\n\n\n\nclass $0d411f0165859681$var$COLRLayer {\n constructor(glyph, color){\n this.glyph = glyph;\n this.color = color;\n }\n}\nclass $0d411f0165859681$export$2e2bcd8739ae039 extends (0, $f92906be28e61769$export$2e2bcd8739ae039) {\n _getBBox() {\n let bbox = new (0, $f34600ab9d7f70d8$export$2e2bcd8739ae039);\n for(let i = 0; i < this.layers.length; i++){\n let layer = this.layers[i];\n let b = layer.glyph.bbox;\n bbox.addPoint(b.minX, b.minY);\n bbox.addPoint(b.maxX, b.maxY);\n }\n return bbox;\n }\n /**\n * Returns an array of objects containing the glyph and color for\n * each layer in the composite color glyph.\n * @type {object[]}\n */ get layers() {\n let cpal = this._font.CPAL;\n let colr = this._font.COLR;\n let low = 0;\n let high = colr.baseGlyphRecord.length - 1;\n while(low <= high){\n let mid = low + high >> 1;\n var rec = colr.baseGlyphRecord[mid];\n if (this.id < rec.gid) high = mid - 1;\n else if (this.id > rec.gid) low = mid + 1;\n else {\n var baseLayer = rec;\n break;\n }\n }\n // if base glyph not found in COLR table,\n // default to normal glyph from glyf or CFF\n if (baseLayer == null) {\n var g = this._font._getBaseGlyph(this.id);\n var color = {\n red: 0,\n green: 0,\n blue: 0,\n alpha: 255\n };\n return [\n new $0d411f0165859681$var$COLRLayer(g, color)\n ];\n }\n // otherwise, return an array of all the layers\n let layers = [];\n for(let i = baseLayer.firstLayerIndex; i < baseLayer.firstLayerIndex + baseLayer.numLayers; i++){\n var rec = colr.layerRecords[i];\n var color = cpal.colorRecords[rec.paletteIndex];\n var g = this._font._getBaseGlyph(rec.gid);\n layers.push(new $0d411f0165859681$var$COLRLayer(g, color));\n }\n return layers;\n }\n render(ctx, size) {\n for (let { glyph: glyph, color: color } of this.layers){\n ctx.fillColor([\n color.red,\n color.green,\n color.blue\n ], color.alpha / 255 * 100);\n glyph.render(ctx, size);\n }\n return;\n }\n constructor(...args){\n super(...args);\n (0, $6uUbQ$_)(this, \"type\", 'COLR');\n }\n}\n\n\nconst $0bb840cac04e911b$var$TUPLES_SHARE_POINT_NUMBERS = 0x8000;\nconst $0bb840cac04e911b$var$TUPLE_COUNT_MASK = 0x0fff;\nconst $0bb840cac04e911b$var$EMBEDDED_TUPLE_COORD = 0x8000;\nconst $0bb840cac04e911b$var$INTERMEDIATE_TUPLE = 0x4000;\nconst $0bb840cac04e911b$var$PRIVATE_POINT_NUMBERS = 0x2000;\nconst $0bb840cac04e911b$var$TUPLE_INDEX_MASK = 0x0fff;\nconst $0bb840cac04e911b$var$POINTS_ARE_WORDS = 0x80;\nconst $0bb840cac04e911b$var$POINT_RUN_COUNT_MASK = 0x7f;\nconst $0bb840cac04e911b$var$DELTAS_ARE_ZERO = 0x80;\nconst $0bb840cac04e911b$var$DELTAS_ARE_WORDS = 0x40;\nconst $0bb840cac04e911b$var$DELTA_RUN_COUNT_MASK = 0x3f;\nclass $0bb840cac04e911b$export$2e2bcd8739ae039 {\n normalizeCoords(coords) {\n // the default mapping is linear along each axis, in two segments:\n // from the minValue to defaultValue, and from defaultValue to maxValue.\n let normalized = [];\n for(var i = 0; i < this.font.fvar.axis.length; i++){\n let axis = this.font.fvar.axis[i];\n if (coords[i] < axis.defaultValue) normalized.push((coords[i] - axis.defaultValue + Number.EPSILON) / (axis.defaultValue - axis.minValue + Number.EPSILON));\n else normalized.push((coords[i] - axis.defaultValue + Number.EPSILON) / (axis.maxValue - axis.defaultValue + Number.EPSILON));\n }\n // if there is an avar table, the normalized value is calculated\n // by interpolating between the two nearest mapped values.\n if (this.font.avar) for(var i = 0; i < this.font.avar.segment.length; i++){\n let segment = this.font.avar.segment[i];\n for(let j = 0; j < segment.correspondence.length; j++){\n let pair = segment.correspondence[j];\n if (j >= 1 && normalized[i] < pair.fromCoord) {\n let prev = segment.correspondence[j - 1];\n normalized[i] = ((normalized[i] - prev.fromCoord) * (pair.toCoord - prev.toCoord) + Number.EPSILON) / (pair.fromCoord - prev.fromCoord + Number.EPSILON) + prev.toCoord;\n break;\n }\n }\n }\n return normalized;\n }\n transformPoints(gid, glyphPoints) {\n if (!this.font.fvar || !this.font.gvar) return;\n let { gvar: gvar } = this.font;\n if (gid >= gvar.glyphCount) return;\n let offset = gvar.offsets[gid];\n if (offset === gvar.offsets[gid + 1]) return;\n // Read the gvar data for this glyph\n let { stream: stream } = this.font;\n stream.pos = offset;\n if (stream.pos >= stream.length) return;\n let tupleCount = stream.readUInt16BE();\n let offsetToData = offset + stream.readUInt16BE();\n if (tupleCount & $0bb840cac04e911b$var$TUPLES_SHARE_POINT_NUMBERS) {\n var here = stream.pos;\n stream.pos = offsetToData;\n var sharedPoints = this.decodePoints();\n offsetToData = stream.pos;\n stream.pos = here;\n }\n let origPoints = glyphPoints.map((pt)=>pt.copy());\n tupleCount &= $0bb840cac04e911b$var$TUPLE_COUNT_MASK;\n for(let i = 0; i < tupleCount; i++){\n let tupleDataSize = stream.readUInt16BE();\n let tupleIndex = stream.readUInt16BE();\n if (tupleIndex & $0bb840cac04e911b$var$EMBEDDED_TUPLE_COORD) {\n var tupleCoords = [];\n for(let a = 0; a < gvar.axisCount; a++)tupleCoords.push(stream.readInt16BE() / 16384);\n } else {\n if ((tupleIndex & $0bb840cac04e911b$var$TUPLE_INDEX_MASK) >= gvar.globalCoordCount) throw new Error('Invalid gvar table');\n var tupleCoords = gvar.globalCoords[tupleIndex & $0bb840cac04e911b$var$TUPLE_INDEX_MASK];\n }\n if (tupleIndex & $0bb840cac04e911b$var$INTERMEDIATE_TUPLE) {\n var startCoords = [];\n for(let a = 0; a < gvar.axisCount; a++)startCoords.push(stream.readInt16BE() / 16384);\n var endCoords = [];\n for(let a = 0; a < gvar.axisCount; a++)endCoords.push(stream.readInt16BE() / 16384);\n }\n // Get the factor at which to apply this tuple\n let factor = this.tupleFactor(tupleIndex, tupleCoords, startCoords, endCoords);\n if (factor === 0) {\n offsetToData += tupleDataSize;\n continue;\n }\n var here = stream.pos;\n stream.pos = offsetToData;\n if (tupleIndex & $0bb840cac04e911b$var$PRIVATE_POINT_NUMBERS) var points = this.decodePoints();\n else var points = sharedPoints;\n // points.length = 0 means there are deltas for all points\n let nPoints = points.length === 0 ? glyphPoints.length : points.length;\n let xDeltas = this.decodeDeltas(nPoints);\n let yDeltas = this.decodeDeltas(nPoints);\n if (points.length === 0) for(let i = 0; i < glyphPoints.length; i++){\n var point = glyphPoints[i];\n point.x += Math.round(xDeltas[i] * factor);\n point.y += Math.round(yDeltas[i] * factor);\n }\n else {\n let outPoints = origPoints.map((pt)=>pt.copy());\n let hasDelta = glyphPoints.map(()=>false);\n for(let i = 0; i < points.length; i++){\n let idx = points[i];\n if (idx < glyphPoints.length) {\n let point = outPoints[idx];\n hasDelta[idx] = true;\n point.x += xDeltas[i] * factor;\n point.y += yDeltas[i] * factor;\n }\n }\n this.interpolateMissingDeltas(outPoints, origPoints, hasDelta);\n for(let i = 0; i < glyphPoints.length; i++){\n let deltaX = outPoints[i].x - origPoints[i].x;\n let deltaY = outPoints[i].y - origPoints[i].y;\n glyphPoints[i].x = Math.round(glyphPoints[i].x + deltaX);\n glyphPoints[i].y = Math.round(glyphPoints[i].y + deltaY);\n }\n }\n offsetToData += tupleDataSize;\n stream.pos = here;\n }\n }\n decodePoints() {\n let stream = this.font.stream;\n let count = stream.readUInt8();\n if (count & $0bb840cac04e911b$var$POINTS_ARE_WORDS) count = (count & $0bb840cac04e911b$var$POINT_RUN_COUNT_MASK) << 8 | stream.readUInt8();\n let points = new Uint16Array(count);\n let i = 0;\n let point = 0;\n while(i < count){\n let run = stream.readUInt8();\n let runCount = (run & $0bb840cac04e911b$var$POINT_RUN_COUNT_MASK) + 1;\n let fn = run & $0bb840cac04e911b$var$POINTS_ARE_WORDS ? stream.readUInt16 : stream.readUInt8;\n for(let j = 0; j < runCount && i < count; j++){\n point += fn.call(stream);\n points[i++] = point;\n }\n }\n return points;\n }\n decodeDeltas(count) {\n let stream = this.font.stream;\n let i = 0;\n let deltas = new Int16Array(count);\n while(i < count){\n let run = stream.readUInt8();\n let runCount = (run & $0bb840cac04e911b$var$DELTA_RUN_COUNT_MASK) + 1;\n if (run & $0bb840cac04e911b$var$DELTAS_ARE_ZERO) i += runCount;\n else {\n let fn = run & $0bb840cac04e911b$var$DELTAS_ARE_WORDS ? stream.readInt16BE : stream.readInt8;\n for(let j = 0; j < runCount && i < count; j++)deltas[i++] = fn.call(stream);\n }\n }\n return deltas;\n }\n tupleFactor(tupleIndex, tupleCoords, startCoords, endCoords) {\n let normalized = this.normalizedCoords;\n let { gvar: gvar } = this.font;\n let factor = 1;\n for(let i = 0; i < gvar.axisCount; i++){\n if (tupleCoords[i] === 0) continue;\n if (normalized[i] === 0) return 0;\n if ((tupleIndex & $0bb840cac04e911b$var$INTERMEDIATE_TUPLE) === 0) {\n if (normalized[i] < Math.min(0, tupleCoords[i]) || normalized[i] > Math.max(0, tupleCoords[i])) return 0;\n factor = (factor * normalized[i] + Number.EPSILON) / (tupleCoords[i] + Number.EPSILON);\n } else {\n if (normalized[i] < startCoords[i] || normalized[i] > endCoords[i]) return 0;\n else if (normalized[i] < tupleCoords[i]) factor = factor * (normalized[i] - startCoords[i] + Number.EPSILON) / (tupleCoords[i] - startCoords[i] + Number.EPSILON);\n else factor = factor * (endCoords[i] - normalized[i] + Number.EPSILON) / (endCoords[i] - tupleCoords[i] + Number.EPSILON);\n }\n }\n return factor;\n }\n // Interpolates points without delta values.\n // Needed for the Ø and Q glyphs in Skia.\n // Algorithm from Freetype.\n interpolateMissingDeltas(points, inPoints, hasDelta) {\n if (points.length === 0) return;\n let point = 0;\n while(point < points.length){\n let firstPoint = point;\n // find the end point of the contour\n let endPoint = point;\n let pt = points[endPoint];\n while(!pt.endContour)pt = points[++endPoint];\n // find the first point that has a delta\n while(point <= endPoint && !hasDelta[point])point++;\n if (point > endPoint) continue;\n let firstDelta = point;\n let curDelta = point;\n point++;\n while(point <= endPoint){\n // find the next point with a delta, and interpolate intermediate points\n if (hasDelta[point]) {\n this.deltaInterpolate(curDelta + 1, point - 1, curDelta, point, inPoints, points);\n curDelta = point;\n }\n point++;\n }\n // shift contour if we only have a single delta\n if (curDelta === firstDelta) this.deltaShift(firstPoint, endPoint, curDelta, inPoints, points);\n else {\n // otherwise, handle the remaining points at the end and beginning of the contour\n this.deltaInterpolate(curDelta + 1, endPoint, curDelta, firstDelta, inPoints, points);\n if (firstDelta > 0) this.deltaInterpolate(firstPoint, firstDelta - 1, curDelta, firstDelta, inPoints, points);\n }\n point = endPoint + 1;\n }\n }\n deltaInterpolate(p1, p2, ref1, ref2, inPoints, outPoints) {\n if (p1 > p2) return;\n let iterable = [\n 'x',\n 'y'\n ];\n for(let i = 0; i < iterable.length; i++){\n let k = iterable[i];\n if (inPoints[ref1][k] > inPoints[ref2][k]) {\n var p = ref1;\n ref1 = ref2;\n ref2 = p;\n }\n let in1 = inPoints[ref1][k];\n let in2 = inPoints[ref2][k];\n let out1 = outPoints[ref1][k];\n let out2 = outPoints[ref2][k];\n // If the reference points have the same coordinate but different\n // delta, inferred delta is zero. Otherwise interpolate.\n if (in1 !== in2 || out1 === out2) {\n let scale = in1 === in2 ? 0 : (out2 - out1) / (in2 - in1);\n for(let p = p1; p <= p2; p++){\n let out = inPoints[p][k];\n if (out <= in1) out += out1 - in1;\n else if (out >= in2) out += out2 - in2;\n else out = out1 + (out - in1) * scale;\n outPoints[p][k] = out;\n }\n }\n }\n }\n deltaShift(p1, p2, ref, inPoints, outPoints) {\n let deltaX = outPoints[ref].x - inPoints[ref].x;\n let deltaY = outPoints[ref].y - inPoints[ref].y;\n if (deltaX === 0 && deltaY === 0) return;\n for(let p = p1; p <= p2; p++)if (p !== ref) {\n outPoints[p].x += deltaX;\n outPoints[p].y += deltaY;\n }\n }\n getAdvanceAdjustment(gid, table) {\n let outerIndex, innerIndex;\n if (table.advanceWidthMapping) {\n let idx = gid;\n if (idx >= table.advanceWidthMapping.mapCount) idx = table.advanceWidthMapping.mapCount - 1;\n let entryFormat = table.advanceWidthMapping.entryFormat;\n ({ outerIndex: outerIndex, innerIndex: innerIndex } = table.advanceWidthMapping.mapData[idx]);\n } else {\n outerIndex = 0;\n innerIndex = gid;\n }\n return this.getDelta(table.itemVariationStore, outerIndex, innerIndex);\n }\n // See pseudo code from `Font Variations Overview'\n // in the OpenType specification.\n getDelta(itemStore, outerIndex, innerIndex) {\n if (outerIndex >= itemStore.itemVariationData.length) return 0;\n let varData = itemStore.itemVariationData[outerIndex];\n if (innerIndex >= varData.deltaSets.length) return 0;\n let deltaSet = varData.deltaSets[innerIndex];\n let blendVector = this.getBlendVector(itemStore, outerIndex);\n let netAdjustment = 0;\n for(let master = 0; master < varData.regionIndexCount; master++)netAdjustment += deltaSet.deltas[master] * blendVector[master];\n return netAdjustment;\n }\n getBlendVector(itemStore, outerIndex) {\n let varData = itemStore.itemVariationData[outerIndex];\n if (this.blendVectors.has(varData)) return this.blendVectors.get(varData);\n let normalizedCoords = this.normalizedCoords;\n let blendVector = [];\n // outer loop steps through master designs to be blended\n for(let master = 0; master < varData.regionIndexCount; master++){\n let scalar = 1;\n let regionIndex = varData.regionIndexes[master];\n let axes = itemStore.variationRegionList.variationRegions[regionIndex];\n // inner loop steps through axes in this region\n for(let j = 0; j < axes.length; j++){\n let axis = axes[j];\n let axisScalar;\n // compute the scalar contribution of this axis\n // ignore invalid ranges\n if (axis.startCoord > axis.peakCoord || axis.peakCoord > axis.endCoord) axisScalar = 1;\n else if (axis.startCoord < 0 && axis.endCoord > 0 && axis.peakCoord !== 0) axisScalar = 1;\n else if (axis.peakCoord === 0) axisScalar = 1;\n else if (normalizedCoords[j] < axis.startCoord || normalizedCoords[j] > axis.endCoord) axisScalar = 0;\n else {\n if (normalizedCoords[j] === axis.peakCoord) axisScalar = 1;\n else if (normalizedCoords[j] < axis.peakCoord) axisScalar = (normalizedCoords[j] - axis.startCoord + Number.EPSILON) / (axis.peakCoord - axis.startCoord + Number.EPSILON);\n else axisScalar = (axis.endCoord - normalizedCoords[j] + Number.EPSILON) / (axis.endCoord - axis.peakCoord + Number.EPSILON);\n }\n // take product of all the axis scalars\n scalar *= axisScalar;\n }\n blendVector[master] = scalar;\n }\n this.blendVectors.set(varData, blendVector);\n return blendVector;\n }\n constructor(font, coords){\n this.font = font;\n this.normalizedCoords = this.normalizeCoords(coords);\n this.blendVectors = new Map;\n }\n}\n\n\n\n\nconst $5cc7476da92df375$var$resolved = Promise.resolve();\nclass $5cc7476da92df375$export$2e2bcd8739ae039 {\n includeGlyph(glyph) {\n if (typeof glyph === 'object') glyph = glyph.id;\n if (this.mapping[glyph] == null) {\n this.glyphs.push(glyph);\n this.mapping[glyph] = this.glyphs.length - 1;\n }\n return this.mapping[glyph];\n }\n constructor(font){\n this.font = font;\n this.glyphs = [];\n this.mapping = {};\n // always include the missing glyph\n this.includeGlyph(0);\n }\n}\n\n\n\n\n\n// Flags for simple glyphs\nconst $807e58506be70005$var$ON_CURVE = 1;\nconst $807e58506be70005$var$X_SHORT_VECTOR = 2;\nconst $807e58506be70005$var$Y_SHORT_VECTOR = 4;\nconst $807e58506be70005$var$REPEAT = 8;\nconst $807e58506be70005$var$SAME_X = 16;\nconst $807e58506be70005$var$SAME_Y = 32;\nclass $807e58506be70005$var$Point {\n static size(val) {\n return val >= 0 && val <= 255 ? 1 : 2;\n }\n static encode(stream, value) {\n if (value >= 0 && value <= 255) stream.writeUInt8(value);\n else stream.writeInt16BE(value);\n }\n}\nlet $807e58506be70005$var$Glyf = new $6uUbQ$Struct({\n numberOfContours: $6uUbQ$int16,\n xMin: $6uUbQ$int16,\n yMin: $6uUbQ$int16,\n xMax: $6uUbQ$int16,\n yMax: $6uUbQ$int16,\n endPtsOfContours: new $6uUbQ$Array($6uUbQ$uint16, 'numberOfContours'),\n instructions: new $6uUbQ$Array($6uUbQ$uint8, $6uUbQ$uint16),\n flags: new $6uUbQ$Array($6uUbQ$uint8, 0),\n xPoints: new $6uUbQ$Array($807e58506be70005$var$Point, 0),\n yPoints: new $6uUbQ$Array($807e58506be70005$var$Point, 0)\n});\nclass $807e58506be70005$export$2e2bcd8739ae039 {\n encodeSimple(path, instructions = []) {\n let endPtsOfContours = [];\n let xPoints = [];\n let yPoints = [];\n let flags = [];\n let same = 0;\n let lastX = 0, lastY = 0, lastFlag = 0;\n let pointCount = 0;\n for(let i = 0; i < path.commands.length; i++){\n let c = path.commands[i];\n for(let j = 0; j < c.args.length; j += 2){\n let x = c.args[j];\n let y = c.args[j + 1];\n let flag = 0;\n // If the ending point of a quadratic curve is the midpoint\n // between the control point and the control point of the next\n // quadratic curve, we can omit the ending point.\n if (c.command === 'quadraticCurveTo' && j === 2) {\n let next = path.commands[i + 1];\n if (next && next.command === 'quadraticCurveTo') {\n let midX = (lastX + next.args[0]) / 2;\n let midY = (lastY + next.args[1]) / 2;\n if (x === midX && y === midY) continue;\n }\n }\n // All points except control points are on curve.\n if (!(c.command === 'quadraticCurveTo' && j === 0)) flag |= $807e58506be70005$var$ON_CURVE;\n flag = this._encodePoint(x, lastX, xPoints, flag, $807e58506be70005$var$X_SHORT_VECTOR, $807e58506be70005$var$SAME_X);\n flag = this._encodePoint(y, lastY, yPoints, flag, $807e58506be70005$var$Y_SHORT_VECTOR, $807e58506be70005$var$SAME_Y);\n if (flag === lastFlag && same < 255) {\n flags[flags.length - 1] |= $807e58506be70005$var$REPEAT;\n same++;\n } else {\n if (same > 0) {\n flags.push(same);\n same = 0;\n }\n flags.push(flag);\n lastFlag = flag;\n }\n lastX = x;\n lastY = y;\n pointCount++;\n }\n if (c.command === 'closePath') endPtsOfContours.push(pointCount - 1);\n }\n // Close the path if the last command didn't already\n if (path.commands.length > 1 && path.commands[path.commands.length - 1].command !== 'closePath') endPtsOfContours.push(pointCount - 1);\n let bbox = path.bbox;\n let glyf = {\n numberOfContours: endPtsOfContours.length,\n xMin: bbox.minX,\n yMin: bbox.minY,\n xMax: bbox.maxX,\n yMax: bbox.maxY,\n endPtsOfContours: endPtsOfContours,\n instructions: instructions,\n flags: flags,\n xPoints: xPoints,\n yPoints: yPoints\n };\n let size = $807e58506be70005$var$Glyf.size(glyf);\n let tail = 4 - size % 4;\n let stream = new $6uUbQ$EncodeStream(size + tail);\n $807e58506be70005$var$Glyf.encode(stream, glyf);\n // Align to 4-byte length\n if (tail !== 0) stream.fill(0, tail);\n return stream.buffer;\n }\n _encodePoint(value, last, points, flag, shortFlag, sameFlag) {\n let diff = value - last;\n if (value === last) flag |= sameFlag;\n else {\n if (-255 <= diff && diff <= 255) {\n flag |= shortFlag;\n if (diff < 0) diff = -diff;\n else flag |= sameFlag;\n }\n points.push(diff);\n }\n return flag;\n }\n}\n\n\nclass $4abbb6a5dbdc441a$export$2e2bcd8739ae039 extends (0, $5cc7476da92df375$export$2e2bcd8739ae039) {\n _addGlyph(gid) {\n let glyph = this.font.getGlyph(gid);\n let glyf = glyph._decode();\n // get the offset to the glyph from the loca table\n let curOffset = this.font.loca.offsets[gid];\n let nextOffset = this.font.loca.offsets[gid + 1];\n let stream = this.font._getTableStream('glyf');\n stream.pos += curOffset;\n let buffer = stream.readBuffer(nextOffset - curOffset);\n // if it is a compound glyph, include its components\n if (glyf && glyf.numberOfContours < 0) {\n buffer = new Uint8Array(buffer);\n let view = new DataView(buffer.buffer);\n for (let component of glyf.components){\n gid = this.includeGlyph(component.glyphID);\n view.setUint16(component.pos, gid);\n }\n } else if (glyf && this.font._variationProcessor) // If this is a TrueType variation glyph, re-encode the path\n buffer = this.glyphEncoder.encodeSimple(glyph.path, glyf.instructions);\n this.glyf.push(buffer);\n this.loca.offsets.push(this.offset);\n this.hmtx.metrics.push({\n advance: glyph.advanceWidth,\n bearing: glyph._getMetrics().leftBearing\n });\n this.offset += buffer.length;\n return this.glyf.length - 1;\n }\n encode() {\n // tables required by PDF spec:\n // head, hhea, loca, maxp, cvt , prep, glyf, hmtx, fpgm\n //\n // additional tables required for standalone fonts:\n // name, cmap, OS/2, post\n this.glyf = [];\n this.offset = 0;\n this.loca = {\n offsets: [],\n version: this.font.loca.version\n };\n this.hmtx = {\n metrics: [],\n bearings: []\n };\n // include all the glyphs\n // not using a for loop because we need to support adding more\n // glyphs to the array as we go, and CoffeeScript caches the length.\n let i = 0;\n while(i < this.glyphs.length)this._addGlyph(this.glyphs[i++]);\n let maxp = (0, $6uUbQ$clone)(this.font.maxp);\n maxp.numGlyphs = this.glyf.length;\n this.loca.offsets.push(this.offset);\n let head = (0, $6uUbQ$clone)(this.font.head);\n head.indexToLocFormat = this.loca.version;\n let hhea = (0, $6uUbQ$clone)(this.font.hhea);\n hhea.numberOfMetrics = this.hmtx.metrics.length;\n // map = []\n // for index in [0...256]\n // if index < @numGlyphs\n // map[index] = index\n // else\n // map[index] = 0\n //\n // cmapTable =\n // version: 0\n // length: 262\n // language: 0\n // codeMap: map\n //\n // cmap =\n // version: 0\n // numSubtables: 1\n // tables: [\n // platformID: 1\n // encodingID: 0\n // table: cmapTable\n // ]\n // TODO: subset prep, cvt, fpgm?\n return (0, $816c07a04b6dba87$export$2e2bcd8739ae039).toBuffer({\n tables: {\n head: head,\n hhea: hhea,\n loca: this.loca,\n maxp: maxp,\n 'cvt ': this.font['cvt '],\n prep: this.font.prep,\n glyf: this.glyf,\n hmtx: this.hmtx,\n fpgm: this.font.fpgm\n }\n });\n }\n constructor(font){\n super(font);\n this.glyphEncoder = new (0, $807e58506be70005$export$2e2bcd8739ae039);\n }\n}\n\n\n\n\n\n\nclass $001d739428a71d5a$export$2e2bcd8739ae039 extends (0, $5cc7476da92df375$export$2e2bcd8739ae039) {\n subsetCharstrings() {\n this.charstrings = [];\n let gsubrs = {};\n for (let gid of this.glyphs){\n this.charstrings.push(this.cff.getCharString(gid));\n let glyph = this.font.getGlyph(gid);\n let path = glyph.path; // this causes the glyph to be parsed\n for(let subr in glyph._usedGsubrs)gsubrs[subr] = true;\n }\n this.gsubrs = this.subsetSubrs(this.cff.globalSubrIndex, gsubrs);\n }\n subsetSubrs(subrs, used) {\n let res = [];\n for(let i = 0; i < subrs.length; i++){\n let subr = subrs[i];\n if (used[i]) {\n this.cff.stream.pos = subr.offset;\n res.push(this.cff.stream.readBuffer(subr.length));\n } else res.push(new Uint8Array([\n 11\n ])); // return\n }\n return res;\n }\n subsetFontdict(topDict) {\n topDict.FDArray = [];\n topDict.FDSelect = {\n version: 0,\n fds: []\n };\n let used_fds = {};\n let used_subrs = [];\n let fd_select = {};\n for (let gid of this.glyphs){\n let fd = this.cff.fdForGlyph(gid);\n if (fd == null) continue;\n if (!used_fds[fd]) {\n topDict.FDArray.push(Object.assign({}, this.cff.topDict.FDArray[fd]));\n used_subrs.push({});\n fd_select[fd] = topDict.FDArray.length - 1;\n }\n used_fds[fd] = true;\n topDict.FDSelect.fds.push(fd_select[fd]);\n let glyph = this.font.getGlyph(gid);\n let path = glyph.path; // this causes the glyph to be parsed\n for(let subr in glyph._usedSubrs)used_subrs[fd_select[fd]][subr] = true;\n }\n for(let i = 0; i < topDict.FDArray.length; i++){\n let dict = topDict.FDArray[i];\n delete dict.FontName;\n if (dict.Private && dict.Private.Subrs) {\n dict.Private = Object.assign({}, dict.Private);\n dict.Private.Subrs = this.subsetSubrs(dict.Private.Subrs, used_subrs[i]);\n }\n }\n return;\n }\n createCIDFontdict(topDict) {\n let used_subrs = {};\n for (let gid of this.glyphs){\n let glyph = this.font.getGlyph(gid);\n let path = glyph.path; // this causes the glyph to be parsed\n for(let subr in glyph._usedSubrs)used_subrs[subr] = true;\n }\n let privateDict = Object.assign({}, this.cff.topDict.Private);\n if (this.cff.topDict.Private && this.cff.topDict.Private.Subrs) privateDict.Subrs = this.subsetSubrs(this.cff.topDict.Private.Subrs, used_subrs);\n topDict.FDArray = [\n {\n Private: privateDict\n }\n ];\n return topDict.FDSelect = {\n version: 3,\n nRanges: 1,\n ranges: [\n {\n first: 0,\n fd: 0\n }\n ],\n sentinel: this.charstrings.length\n };\n }\n addString(string) {\n if (!string) return null;\n if (!this.strings) this.strings = [];\n this.strings.push(string);\n return (0, $229224aec43783c5$export$2e2bcd8739ae039).length + this.strings.length - 1;\n }\n encode() {\n this.subsetCharstrings();\n let charset = {\n version: this.charstrings.length > 255 ? 2 : 1,\n ranges: [\n {\n first: 1,\n nLeft: this.charstrings.length - 2\n }\n ]\n };\n let topDict = Object.assign({}, this.cff.topDict);\n topDict.Private = null;\n topDict.charset = charset;\n topDict.Encoding = null;\n topDict.CharStrings = this.charstrings;\n for (let key of [\n 'version',\n 'Notice',\n 'Copyright',\n 'FullName',\n 'FamilyName',\n 'Weight',\n 'PostScript',\n 'BaseFontName',\n 'FontName'\n ])topDict[key] = this.addString(this.cff.string(topDict[key]));\n topDict.ROS = [\n this.addString('Adobe'),\n this.addString('Identity'),\n 0\n ];\n topDict.CIDCount = this.charstrings.length;\n if (this.cff.isCIDFont) this.subsetFontdict(topDict);\n else this.createCIDFontdict(topDict);\n let top = {\n version: 1,\n hdrSize: this.cff.hdrSize,\n offSize: 4,\n header: this.cff.header,\n nameIndex: [\n this.cff.postscriptName\n ],\n topDictIndex: [\n topDict\n ],\n stringIndex: this.strings,\n globalSubrIndex: this.gsubrs\n };\n return (0, $b84fd3dd9d8eddb2$export$2e2bcd8739ae039).toBuffer(top);\n }\n constructor(font){\n super(font);\n this.cff = this.font['CFF '];\n if (!this.cff) throw new Error('Not a CFF Font');\n }\n}\n\n\n\n\nclass $4c1709dee528ea76$export$2e2bcd8739ae039 {\n static probe(buffer) {\n let format = (0, $12727730ddfc8bfe$export$3d28c1996ced1f14).decode(buffer.slice(0, 4));\n return format === 'true' || format === 'OTTO' || format === String.fromCharCode(0, 1, 0, 0);\n }\n setDefaultLanguage(lang = null) {\n this.defaultLanguage = lang;\n }\n _getTable(table) {\n if (!(table.tag in this._tables)) try {\n this._tables[table.tag] = this._decodeTable(table);\n } catch (e) {\n if ($d636bc798e7178db$export$bd5c5d8b8dcafd78) {\n console.error(`Error decoding table ${table.tag}`);\n console.error(e.stack);\n }\n }\n return this._tables[table.tag];\n }\n _getTableStream(tag) {\n let table = this.directory.tables[tag];\n if (table) {\n this.stream.pos = table.offset;\n return this.stream;\n }\n return null;\n }\n _decodeDirectory() {\n return this.directory = (0, $816c07a04b6dba87$export$2e2bcd8739ae039).decode(this.stream, {\n _startOffset: 0\n });\n }\n _decodeTable(table) {\n let pos = this.stream.pos;\n let stream = this._getTableStream(table.tag);\n let result = (0, $c3395722bea751e2$export$2e2bcd8739ae039)[table.tag].decode(stream, this, table.length);\n this.stream.pos = pos;\n return result;\n }\n /**\n * Gets a string from the font's `name` table\n * `lang` is a BCP-47 language code.\n * @return {string}\n */ getName(key, lang = this.defaultLanguage || $d636bc798e7178db$export$42940898df819940) {\n let record = this.name && this.name.records[key];\n if (record) // Attempt to retrieve the entry, depending on which translation is available:\n return record[lang] || record[this.defaultLanguage] || record[$d636bc798e7178db$export$42940898df819940] || record['en'] || record[Object.keys(record)[0]] // Seriously, ANY language would be fine\n || null;\n return null;\n }\n /**\n * The unique PostScript name for this font, e.g. \"Helvetica-Bold\"\n * @type {string}\n */ get postscriptName() {\n return this.getName('postscriptName');\n }\n /**\n * The font's full name, e.g. \"Helvetica Bold\"\n * @type {string}\n */ get fullName() {\n return this.getName('fullName');\n }\n /**\n * The font's family name, e.g. \"Helvetica\"\n * @type {string}\n */ get familyName() {\n return this.getName('fontFamily');\n }\n /**\n * The font's sub-family, e.g. \"Bold\".\n * @type {string}\n */ get subfamilyName() {\n return this.getName('fontSubfamily');\n }\n /**\n * The font's copyright information\n * @type {string}\n */ get copyright() {\n return this.getName('copyright');\n }\n /**\n * The font's version number\n * @type {string}\n */ get version() {\n return this.getName('version');\n }\n /**\n * The font’s [ascender](https://en.wikipedia.org/wiki/Ascender_(typography))\n * @type {number}\n */ get ascent() {\n return this.hhea.ascent;\n }\n /**\n * The font’s [descender](https://en.wikipedia.org/wiki/Descender)\n * @type {number}\n */ get descent() {\n return this.hhea.descent;\n }\n /**\n * The amount of space that should be included between lines\n * @type {number}\n */ get lineGap() {\n return this.hhea.lineGap;\n }\n /**\n * The offset from the normal underline position that should be used\n * @type {number}\n */ get underlinePosition() {\n return this.post.underlinePosition;\n }\n /**\n * The weight of the underline that should be used\n * @type {number}\n */ get underlineThickness() {\n return this.post.underlineThickness;\n }\n /**\n * If this is an italic font, the angle the cursor should be drawn at to match the font design\n * @type {number}\n */ get italicAngle() {\n return this.post.italicAngle;\n }\n /**\n * The height of capital letters above the baseline.\n * See [here](https://en.wikipedia.org/wiki/Cap_height) for more details.\n * @type {number}\n */ get capHeight() {\n let os2 = this['OS/2'];\n return os2 ? os2.capHeight : this.ascent;\n }\n /**\n * The height of lower case letters in the font.\n * See [here](https://en.wikipedia.org/wiki/X-height) for more details.\n * @type {number}\n */ get xHeight() {\n let os2 = this['OS/2'];\n return os2 ? os2.xHeight : 0;\n }\n /**\n * The number of glyphs in the font.\n * @type {number}\n */ get numGlyphs() {\n return this.maxp.numGlyphs;\n }\n /**\n * The size of the font’s internal coordinate grid\n * @type {number}\n */ get unitsPerEm() {\n return this.head.unitsPerEm;\n }\n /**\n * The font’s bounding box, i.e. the box that encloses all glyphs in the font.\n * @type {BBox}\n */ get bbox() {\n return Object.freeze(new (0, $f34600ab9d7f70d8$export$2e2bcd8739ae039)(this.head.xMin, this.head.yMin, this.head.xMax, this.head.yMax));\n }\n get _cmapProcessor() {\n return new (0, $f08dd41ef10b694c$export$2e2bcd8739ae039)(this.cmap);\n }\n /**\n * An array of all of the unicode code points supported by the font.\n * @type {number[]}\n */ get characterSet() {\n return this._cmapProcessor.getCharacterSet();\n }\n /**\n * Returns whether there is glyph in the font for the given unicode code point.\n *\n * @param {number} codePoint\n * @return {boolean}\n */ hasGlyphForCodePoint(codePoint) {\n return !!this._cmapProcessor.lookup(codePoint);\n }\n /**\n * Maps a single unicode code point to a Glyph object.\n * Does not perform any advanced substitutions (there is no context to do so).\n *\n * @param {number} codePoint\n * @return {Glyph}\n */ glyphForCodePoint(codePoint) {\n return this.getGlyph(this._cmapProcessor.lookup(codePoint), [\n codePoint\n ]);\n }\n /**\n * Returns an array of Glyph objects for the given string.\n * This is only a one-to-one mapping from characters to glyphs.\n * For most uses, you should use font.layout (described below), which\n * provides a much more advanced mapping supporting AAT and OpenType shaping.\n *\n * @param {string} string\n * @return {Glyph[]}\n */ glyphsForString(string) {\n let glyphs = [];\n let len = string.length;\n let idx = 0;\n let last = -1;\n let state = -1;\n while(idx <= len){\n let code = 0;\n let nextState = 0;\n if (idx < len) {\n // Decode the next codepoint from UTF 16\n code = string.charCodeAt(idx++);\n if (0xd800 <= code && code <= 0xdbff && idx < len) {\n let next = string.charCodeAt(idx);\n if (0xdc00 <= next && next <= 0xdfff) {\n idx++;\n code = ((code & 0x3ff) << 10) + (next & 0x3ff) + 0x10000;\n }\n }\n // Compute the next state: 1 if the next codepoint is a variation selector, 0 otherwise.\n nextState = 0xfe00 <= code && code <= 0xfe0f || 0xe0100 <= code && code <= 0xe01ef ? 1 : 0;\n } else idx++;\n if (state === 0 && nextState === 1) // Variation selector following normal codepoint.\n glyphs.push(this.getGlyph(this._cmapProcessor.lookup(last, code), [\n last,\n code\n ]));\n else if (state === 0 && nextState === 0) // Normal codepoint following normal codepoint.\n glyphs.push(this.glyphForCodePoint(last));\n last = code;\n state = nextState;\n }\n return glyphs;\n }\n get _layoutEngine() {\n return new (0, $4c0a7fa5df7a9ab1$export$2e2bcd8739ae039)(this);\n }\n /**\n * Returns a GlyphRun object, which includes an array of Glyphs and GlyphPositions for the given string.\n *\n * @param {string} string\n * @param {string[]} [userFeatures]\n * @param {string} [script]\n * @param {string} [language]\n * @param {string} [direction]\n * @return {GlyphRun}\n */ layout(string, userFeatures, script, language, direction) {\n return this._layoutEngine.layout(string, userFeatures, script, language, direction);\n }\n /**\n * Returns an array of strings that map to the given glyph id.\n * @param {number} gid - glyph id\n */ stringsForGlyph(gid) {\n return this._layoutEngine.stringsForGlyph(gid);\n }\n /**\n * An array of all [OpenType feature tags](https://www.microsoft.com/typography/otspec/featuretags.htm)\n * (or mapped AAT tags) supported by the font.\n * The features parameter is an array of OpenType feature tags to be applied in addition to the default set.\n * If this is an AAT font, the OpenType feature tags are mapped to AAT features.\n *\n * @type {string[]}\n */ get availableFeatures() {\n return this._layoutEngine.getAvailableFeatures();\n }\n getAvailableFeatures(script, language) {\n return this._layoutEngine.getAvailableFeatures(script, language);\n }\n _getBaseGlyph(glyph, characters = []) {\n if (!this._glyphs[glyph]) {\n if (this.directory.tables.glyf) this._glyphs[glyph] = new (0, $69aac16029968692$export$2e2bcd8739ae039)(glyph, characters, this);\n else if (this.directory.tables['CFF '] || this.directory.tables.CFF2) this._glyphs[glyph] = new (0, $62cc5109c6101893$export$2e2bcd8739ae039)(glyph, characters, this);\n }\n return this._glyphs[glyph] || null;\n }\n /**\n * Returns a glyph object for the given glyph id.\n * You can pass the array of code points this glyph represents for\n * your use later, and it will be stored in the glyph object.\n *\n * @param {number} glyph\n * @param {number[]} characters\n * @return {Glyph}\n */ getGlyph(glyph, characters = []) {\n if (!this._glyphs[glyph]) {\n if (this.directory.tables.sbix) this._glyphs[glyph] = new (0, $25d8f049c222084c$export$2e2bcd8739ae039)(glyph, characters, this);\n else if (this.directory.tables.COLR && this.directory.tables.CPAL) this._glyphs[glyph] = new (0, $0d411f0165859681$export$2e2bcd8739ae039)(glyph, characters, this);\n else this._getBaseGlyph(glyph, characters);\n }\n return this._glyphs[glyph] || null;\n }\n /**\n * Returns a Subset for this font.\n * @return {Subset}\n */ createSubset() {\n if (this.directory.tables['CFF ']) return new (0, $001d739428a71d5a$export$2e2bcd8739ae039)(this);\n return new (0, $4abbb6a5dbdc441a$export$2e2bcd8739ae039)(this);\n }\n /**\n * Returns an object describing the available variation axes\n * that this font supports. Keys are setting tags, and values\n * contain the axis name, range, and default value.\n *\n * @type {object}\n */ get variationAxes() {\n let res = {};\n if (!this.fvar) return res;\n for (let axis of this.fvar.axis)res[axis.axisTag.trim()] = {\n name: axis.name.en,\n min: axis.minValue,\n default: axis.defaultValue,\n max: axis.maxValue\n };\n return res;\n }\n /**\n * Returns an object describing the named variation instances\n * that the font designer has specified. Keys are variation names\n * and values are the variation settings for this instance.\n *\n * @type {object}\n */ get namedVariations() {\n let res = {};\n if (!this.fvar) return res;\n for (let instance of this.fvar.instance){\n let settings = {};\n for(let i = 0; i < this.fvar.axis.length; i++){\n let axis = this.fvar.axis[i];\n settings[axis.axisTag.trim()] = instance.coord[i];\n }\n res[instance.name.en] = settings;\n }\n return res;\n }\n /**\n * Returns a new font with the given variation settings applied.\n * Settings can either be an instance name, or an object containing\n * variation tags as specified by the `variationAxes` property.\n *\n * @param {object} settings\n * @return {TTFFont}\n */ getVariation(settings) {\n if (!(this.directory.tables.fvar && (this.directory.tables.gvar && this.directory.tables.glyf || this.directory.tables.CFF2))) throw new Error('Variations require a font with the fvar, gvar and glyf, or CFF2 tables.');\n if (typeof settings === 'string') settings = this.namedVariations[settings];\n if (typeof settings !== 'object') throw new Error('Variation settings must be either a variation name or settings object.');\n // normalize the coordinates\n let coords = this.fvar.axis.map((axis, i)=>{\n let axisTag = axis.axisTag.trim();\n if (axisTag in settings) return Math.max(axis.minValue, Math.min(axis.maxValue, settings[axisTag]));\n else return axis.defaultValue;\n });\n let stream = new $6uUbQ$DecodeStream(this.stream.buffer);\n stream.pos = this._directoryPos;\n let font = new $4c1709dee528ea76$export$2e2bcd8739ae039(stream, coords);\n font._tables = this._tables;\n return font;\n }\n get _variationProcessor() {\n if (!this.fvar) return null;\n let variationCoords = this.variationCoords;\n // Ignore if no variation coords and not CFF2\n if (!variationCoords && !this.CFF2) return null;\n if (!variationCoords) variationCoords = this.fvar.axis.map((axis)=>axis.defaultValue);\n return new (0, $0bb840cac04e911b$export$2e2bcd8739ae039)(this, variationCoords);\n }\n // Standardized format plugin API\n getFont(name) {\n return this.getVariation(name);\n }\n constructor(stream, variationCoords = null){\n (0, $6uUbQ$_)(this, \"type\", 'TTF');\n this.defaultLanguage = null;\n this.stream = stream;\n this.variationCoords = variationCoords;\n this._directoryPos = this.stream.pos;\n this._tables = {};\n this._glyphs = {};\n this._decodeDirectory();\n // define properties for each table to lazily parse\n for(let tag in this.directory.tables){\n let table = this.directory.tables[tag];\n if ((0, $c3395722bea751e2$export$2e2bcd8739ae039)[tag] && table.length > 0) Object.defineProperty(this, tag, {\n get: this._getTable.bind(this, table)\n });\n }\n }\n}\n(0, $6uUbQ$_1)([\n (0, $e71565f2ce09cb6b$export$69a3209f1a06c04d)\n], $4c1709dee528ea76$export$2e2bcd8739ae039.prototype, \"bbox\", null);\n(0, $6uUbQ$_1)([\n (0, $e71565f2ce09cb6b$export$69a3209f1a06c04d)\n], $4c1709dee528ea76$export$2e2bcd8739ae039.prototype, \"_cmapProcessor\", null);\n(0, $6uUbQ$_1)([\n (0, $e71565f2ce09cb6b$export$69a3209f1a06c04d)\n], $4c1709dee528ea76$export$2e2bcd8739ae039.prototype, \"characterSet\", null);\n(0, $6uUbQ$_1)([\n (0, $e71565f2ce09cb6b$export$69a3209f1a06c04d)\n], $4c1709dee528ea76$export$2e2bcd8739ae039.prototype, \"_layoutEngine\", null);\n(0, $6uUbQ$_1)([\n (0, $e71565f2ce09cb6b$export$69a3209f1a06c04d)\n], $4c1709dee528ea76$export$2e2bcd8739ae039.prototype, \"variationAxes\", null);\n(0, $6uUbQ$_1)([\n (0, $e71565f2ce09cb6b$export$69a3209f1a06c04d)\n], $4c1709dee528ea76$export$2e2bcd8739ae039.prototype, \"namedVariations\", null);\n(0, $6uUbQ$_1)([\n (0, $e71565f2ce09cb6b$export$69a3209f1a06c04d)\n], $4c1709dee528ea76$export$2e2bcd8739ae039.prototype, \"_variationProcessor\", null);\n\n\n\n\n\n\nlet $c1726355ecc5b889$var$WOFFDirectoryEntry = new $6uUbQ$Struct({\n tag: new $6uUbQ$String(4),\n offset: new $6uUbQ$Pointer($6uUbQ$uint32, 'void', {\n type: 'global'\n }),\n compLength: $6uUbQ$uint32,\n length: $6uUbQ$uint32,\n origChecksum: $6uUbQ$uint32\n});\nlet $c1726355ecc5b889$var$WOFFDirectory = new $6uUbQ$Struct({\n tag: new $6uUbQ$String(4),\n flavor: $6uUbQ$uint32,\n length: $6uUbQ$uint32,\n numTables: $6uUbQ$uint16,\n reserved: new $6uUbQ$Reserved($6uUbQ$uint16),\n totalSfntSize: $6uUbQ$uint32,\n majorVersion: $6uUbQ$uint16,\n minorVersion: $6uUbQ$uint16,\n metaOffset: $6uUbQ$uint32,\n metaLength: $6uUbQ$uint32,\n metaOrigLength: $6uUbQ$uint32,\n privOffset: $6uUbQ$uint32,\n privLength: $6uUbQ$uint32,\n tables: new $6uUbQ$Array($c1726355ecc5b889$var$WOFFDirectoryEntry, 'numTables')\n});\n$c1726355ecc5b889$var$WOFFDirectory.process = function() {\n let tables = {};\n for (let table of this.tables)tables[table.tag] = table;\n this.tables = tables;\n};\nvar $c1726355ecc5b889$export$2e2bcd8739ae039 = $c1726355ecc5b889$var$WOFFDirectory;\n\n\n\n\n\n\nclass $760785214b9fc52c$export$2e2bcd8739ae039 extends (0, $4c1709dee528ea76$export$2e2bcd8739ae039) {\n static probe(buffer) {\n return (0, $12727730ddfc8bfe$export$3d28c1996ced1f14).decode(buffer.slice(0, 4)) === 'wOFF';\n }\n _decodeDirectory() {\n this.directory = (0, $c1726355ecc5b889$export$2e2bcd8739ae039).decode(this.stream, {\n _startOffset: 0\n });\n }\n _getTableStream(tag) {\n let table = this.directory.tables[tag];\n if (table) {\n this.stream.pos = table.offset;\n if (table.compLength < table.length) {\n this.stream.pos += 2; // skip deflate header\n let outBuffer = new Uint8Array(table.length);\n let buf = (0, $6uUbQ$tinyinflate)(this.stream.readBuffer(table.compLength - 2), outBuffer);\n return new $6uUbQ$DecodeStream(buf);\n } else return this.stream;\n }\n return null;\n }\n constructor(...args){\n super(...args);\n (0, $6uUbQ$_)(this, \"type\", 'WOFF');\n }\n}\n\n\n\n\n\n\n\n\n\nclass $8046190c9f1ad19e$export$2e2bcd8739ae039 extends (0, $69aac16029968692$export$2e2bcd8739ae039) {\n _decode() {\n // We have to decode in advance (in WOFF2Font), so just return the pre-decoded data.\n return this._font._transformedGlyphs[this.id];\n }\n _getCBox() {\n return this.path.bbox;\n }\n constructor(...args){\n super(...args);\n (0, $6uUbQ$_)(this, \"type\", 'WOFF2');\n }\n}\n\n\n\nconst $c28ec7bbb3b8de3a$var$Base128 = {\n decode (stream) {\n let result = 0;\n let iterable = [\n 0,\n 1,\n 2,\n 3,\n 4\n ];\n for(let j = 0; j < iterable.length; j++){\n let i = iterable[j];\n let code = stream.readUInt8();\n // If any of the top seven bits are set then we're about to overflow.\n if (result & 0xe0000000) throw new Error('Overflow');\n result = result << 7 | code & 0x7f;\n if ((code & 0x80) === 0) return result;\n }\n throw new Error('Bad base 128 number');\n }\n};\nlet $c28ec7bbb3b8de3a$var$knownTags = [\n 'cmap',\n 'head',\n 'hhea',\n 'hmtx',\n 'maxp',\n 'name',\n 'OS/2',\n 'post',\n 'cvt ',\n 'fpgm',\n 'glyf',\n 'loca',\n 'prep',\n 'CFF ',\n 'VORG',\n 'EBDT',\n 'EBLC',\n 'gasp',\n 'hdmx',\n 'kern',\n 'LTSH',\n 'PCLT',\n 'VDMX',\n 'vhea',\n 'vmtx',\n 'BASE',\n 'GDEF',\n 'GPOS',\n 'GSUB',\n 'EBSC',\n 'JSTF',\n 'MATH',\n 'CBDT',\n 'CBLC',\n 'COLR',\n 'CPAL',\n 'SVG ',\n 'sbix',\n 'acnt',\n 'avar',\n 'bdat',\n 'bloc',\n 'bsln',\n 'cvar',\n 'fdsc',\n 'feat',\n 'fmtx',\n 'fvar',\n 'gvar',\n 'hsty',\n 'just',\n 'lcar',\n 'mort',\n 'morx',\n 'opbd',\n 'prop',\n 'trak',\n 'Zapf',\n 'Silf',\n 'Glat',\n 'Gloc',\n 'Feat',\n 'Sill'\n];\nlet $c28ec7bbb3b8de3a$var$WOFF2DirectoryEntry = new $6uUbQ$Struct({\n flags: $6uUbQ$uint8,\n customTag: new $6uUbQ$Optional(new $6uUbQ$String(4), (t)=>(t.flags & 0x3f) === 0x3f),\n tag: (t)=>t.customTag || $c28ec7bbb3b8de3a$var$knownTags[t.flags & 0x3f],\n length: $c28ec7bbb3b8de3a$var$Base128,\n transformVersion: (t)=>t.flags >>> 6 & 0x03,\n transformed: (t)=>t.tag === 'glyf' || t.tag === 'loca' ? t.transformVersion === 0 : t.transformVersion !== 0,\n transformLength: new $6uUbQ$Optional($c28ec7bbb3b8de3a$var$Base128, (t)=>t.transformed)\n});\nlet $c28ec7bbb3b8de3a$var$WOFF2Directory = new $6uUbQ$Struct({\n tag: new $6uUbQ$String(4),\n flavor: $6uUbQ$uint32,\n length: $6uUbQ$uint32,\n numTables: $6uUbQ$uint16,\n reserved: new $6uUbQ$Reserved($6uUbQ$uint16),\n totalSfntSize: $6uUbQ$uint32,\n totalCompressedSize: $6uUbQ$uint32,\n majorVersion: $6uUbQ$uint16,\n minorVersion: $6uUbQ$uint16,\n metaOffset: $6uUbQ$uint32,\n metaLength: $6uUbQ$uint32,\n metaOrigLength: $6uUbQ$uint32,\n privOffset: $6uUbQ$uint32,\n privLength: $6uUbQ$uint32,\n tables: new $6uUbQ$Array($c28ec7bbb3b8de3a$var$WOFF2DirectoryEntry, 'numTables')\n});\n$c28ec7bbb3b8de3a$var$WOFF2Directory.process = function() {\n let tables = {};\n for(let i = 0; i < this.tables.length; i++){\n let table = this.tables[i];\n tables[table.tag] = table;\n }\n return this.tables = tables;\n};\nvar $c28ec7bbb3b8de3a$export$2e2bcd8739ae039 = $c28ec7bbb3b8de3a$var$WOFF2Directory;\n\n\n\nclass $21ee218f84ac7f32$export$2e2bcd8739ae039 extends (0, $4c1709dee528ea76$export$2e2bcd8739ae039) {\n static probe(buffer) {\n return (0, $12727730ddfc8bfe$export$3d28c1996ced1f14).decode(buffer.slice(0, 4)) === 'wOF2';\n }\n _decodeDirectory() {\n this.directory = (0, $c28ec7bbb3b8de3a$export$2e2bcd8739ae039).decode(this.stream);\n this._dataPos = this.stream.pos;\n }\n _decompress() {\n // decompress data and setup table offsets if we haven't already\n if (!this._decompressed) {\n this.stream.pos = this._dataPos;\n let buffer = this.stream.readBuffer(this.directory.totalCompressedSize);\n let decompressedSize = 0;\n for(let tag in this.directory.tables){\n let entry = this.directory.tables[tag];\n entry.offset = decompressedSize;\n decompressedSize += entry.transformLength != null ? entry.transformLength : entry.length;\n }\n let decompressed = (0, $6uUbQ$brotlidecompressjs)(buffer, decompressedSize);\n if (!decompressed) throw new Error('Error decoding compressed data in WOFF2');\n this.stream = new $6uUbQ$DecodeStream(decompressed);\n this._decompressed = true;\n }\n }\n _decodeTable(table) {\n this._decompress();\n return super._decodeTable(table);\n }\n // Override this method to get a glyph and return our\n // custom subclass if there is a glyf table.\n _getBaseGlyph(glyph, characters = []) {\n if (!this._glyphs[glyph]) {\n if (this.directory.tables.glyf && this.directory.tables.glyf.transformed) {\n if (!this._transformedGlyphs) this._transformGlyfTable();\n return this._glyphs[glyph] = new (0, $8046190c9f1ad19e$export$2e2bcd8739ae039)(glyph, characters, this);\n } else return super._getBaseGlyph(glyph, characters);\n }\n }\n _transformGlyfTable() {\n this._decompress();\n this.stream.pos = this.directory.tables.glyf.offset;\n let table = $21ee218f84ac7f32$var$GlyfTable.decode(this.stream);\n let glyphs = [];\n for(let index = 0; index < table.numGlyphs; index++){\n let glyph = {};\n let nContours = table.nContours.readInt16BE();\n glyph.numberOfContours = nContours;\n if (nContours > 0) {\n let nPoints = [];\n let totalPoints = 0;\n for(let i = 0; i < nContours; i++){\n let r = $21ee218f84ac7f32$var$read255UInt16(table.nPoints);\n totalPoints += r;\n nPoints.push(totalPoints);\n }\n glyph.points = $21ee218f84ac7f32$var$decodeTriplet(table.flags, table.glyphs, totalPoints);\n for(let i = 0; i < nContours; i++)glyph.points[nPoints[i] - 1].endContour = true;\n var instructionSize = $21ee218f84ac7f32$var$read255UInt16(table.glyphs);\n } else if (nContours < 0) {\n let haveInstructions = (0, $69aac16029968692$export$2e2bcd8739ae039).prototype._decodeComposite.call({\n _font: this\n }, glyph, table.composites);\n if (haveInstructions) var instructionSize = $21ee218f84ac7f32$var$read255UInt16(table.glyphs);\n }\n glyphs.push(glyph);\n }\n this._transformedGlyphs = glyphs;\n }\n constructor(...args){\n super(...args);\n (0, $6uUbQ$_)(this, \"type\", 'WOFF2');\n }\n}\n// Special class that accepts a length and returns a sub-stream for that data\nclass $21ee218f84ac7f32$var$Substream {\n decode(stream, parent) {\n return new $6uUbQ$DecodeStream(this._buf.decode(stream, parent));\n }\n constructor(length){\n this.length = length;\n this._buf = new $6uUbQ$Buffer(length);\n }\n}\n// This struct represents the entire glyf table\nlet $21ee218f84ac7f32$var$GlyfTable = new $6uUbQ$Struct({\n version: $6uUbQ$uint32,\n numGlyphs: $6uUbQ$uint16,\n indexFormat: $6uUbQ$uint16,\n nContourStreamSize: $6uUbQ$uint32,\n nPointsStreamSize: $6uUbQ$uint32,\n flagStreamSize: $6uUbQ$uint32,\n glyphStreamSize: $6uUbQ$uint32,\n compositeStreamSize: $6uUbQ$uint32,\n bboxStreamSize: $6uUbQ$uint32,\n instructionStreamSize: $6uUbQ$uint32,\n nContours: new $21ee218f84ac7f32$var$Substream('nContourStreamSize'),\n nPoints: new $21ee218f84ac7f32$var$Substream('nPointsStreamSize'),\n flags: new $21ee218f84ac7f32$var$Substream('flagStreamSize'),\n glyphs: new $21ee218f84ac7f32$var$Substream('glyphStreamSize'),\n composites: new $21ee218f84ac7f32$var$Substream('compositeStreamSize'),\n bboxes: new $21ee218f84ac7f32$var$Substream('bboxStreamSize'),\n instructions: new $21ee218f84ac7f32$var$Substream('instructionStreamSize')\n});\nconst $21ee218f84ac7f32$var$WORD_CODE = 253;\nconst $21ee218f84ac7f32$var$ONE_MORE_BYTE_CODE2 = 254;\nconst $21ee218f84ac7f32$var$ONE_MORE_BYTE_CODE1 = 255;\nconst $21ee218f84ac7f32$var$LOWEST_U_CODE = 253;\nfunction $21ee218f84ac7f32$var$read255UInt16(stream) {\n let code = stream.readUInt8();\n if (code === $21ee218f84ac7f32$var$WORD_CODE) return stream.readUInt16BE();\n if (code === $21ee218f84ac7f32$var$ONE_MORE_BYTE_CODE1) return stream.readUInt8() + $21ee218f84ac7f32$var$LOWEST_U_CODE;\n if (code === $21ee218f84ac7f32$var$ONE_MORE_BYTE_CODE2) return stream.readUInt8() + $21ee218f84ac7f32$var$LOWEST_U_CODE * 2;\n return code;\n}\nfunction $21ee218f84ac7f32$var$withSign(flag, baseval) {\n return flag & 1 ? baseval : -baseval;\n}\nfunction $21ee218f84ac7f32$var$decodeTriplet(flags, glyphs, nPoints) {\n let y;\n let x = y = 0;\n let res = [];\n for(let i = 0; i < nPoints; i++){\n let dx = 0, dy = 0;\n let flag = flags.readUInt8();\n let onCurve = !(flag >> 7);\n flag &= 0x7f;\n if (flag < 10) {\n dx = 0;\n dy = $21ee218f84ac7f32$var$withSign(flag, ((flag & 14) << 7) + glyphs.readUInt8());\n } else if (flag < 20) {\n dx = $21ee218f84ac7f32$var$withSign(flag, ((flag - 10 & 14) << 7) + glyphs.readUInt8());\n dy = 0;\n } else if (flag < 84) {\n var b0 = flag - 20;\n var b1 = glyphs.readUInt8();\n dx = $21ee218f84ac7f32$var$withSign(flag, 1 + (b0 & 0x30) + (b1 >> 4));\n dy = $21ee218f84ac7f32$var$withSign(flag >> 1, 1 + ((b0 & 0x0c) << 2) + (b1 & 0x0f));\n } else if (flag < 120) {\n var b0 = flag - 84;\n dx = $21ee218f84ac7f32$var$withSign(flag, 1 + (b0 / 12 << 8) + glyphs.readUInt8());\n dy = $21ee218f84ac7f32$var$withSign(flag >> 1, 1 + (b0 % 12 >> 2 << 8) + glyphs.readUInt8());\n } else if (flag < 124) {\n var b1 = glyphs.readUInt8();\n let b2 = glyphs.readUInt8();\n dx = $21ee218f84ac7f32$var$withSign(flag, (b1 << 4) + (b2 >> 4));\n dy = $21ee218f84ac7f32$var$withSign(flag >> 1, ((b2 & 0x0f) << 8) + glyphs.readUInt8());\n } else {\n dx = $21ee218f84ac7f32$var$withSign(flag, glyphs.readUInt16BE());\n dy = $21ee218f84ac7f32$var$withSign(flag >> 1, glyphs.readUInt16BE());\n }\n x += dx;\n y += dy;\n res.push(new (0, $69aac16029968692$export$baf26146a414f24a)(onCurve, false, x, y));\n }\n return res;\n}\n\n\n\n\n\n\n\n\nlet $cd5853a56c68fec7$var$TTCHeader = new $6uUbQ$VersionedStruct($6uUbQ$uint32, {\n 0x00010000: {\n numFonts: $6uUbQ$uint32,\n offsets: new $6uUbQ$Array($6uUbQ$uint32, 'numFonts')\n },\n 0x00020000: {\n numFonts: $6uUbQ$uint32,\n offsets: new $6uUbQ$Array($6uUbQ$uint32, 'numFonts'),\n dsigTag: $6uUbQ$uint32,\n dsigLength: $6uUbQ$uint32,\n dsigOffset: $6uUbQ$uint32\n }\n});\nclass $cd5853a56c68fec7$export$2e2bcd8739ae039 {\n static probe(buffer) {\n return (0, $12727730ddfc8bfe$export$3d28c1996ced1f14).decode(buffer.slice(0, 4)) === 'ttcf';\n }\n getFont(name) {\n for (let offset of this.header.offsets){\n let stream = new $6uUbQ$DecodeStream(this.stream.buffer);\n stream.pos = offset;\n let font = new (0, $4c1709dee528ea76$export$2e2bcd8739ae039)(stream);\n if (font.postscriptName === name || font.postscriptName instanceof Uint8Array && name instanceof Uint8Array && font.postscriptName.every((v, i)=>name[i] === v)) return font;\n }\n return null;\n }\n get fonts() {\n let fonts = [];\n for (let offset of this.header.offsets){\n let stream = new $6uUbQ$DecodeStream(this.stream.buffer);\n stream.pos = offset;\n fonts.push(new (0, $4c1709dee528ea76$export$2e2bcd8739ae039)(stream));\n }\n return fonts;\n }\n constructor(stream){\n (0, $6uUbQ$_)(this, \"type\", 'TTC');\n this.stream = stream;\n if (stream.readString(4) !== 'ttcf') throw new Error('Not a TrueType collection');\n this.header = $cd5853a56c68fec7$var$TTCHeader.decode(stream);\n }\n}\n\n\n\n\n\nlet $05f49f930186144e$var$DFontName = new $6uUbQ$String($6uUbQ$uint8);\nlet $05f49f930186144e$var$DFontData = new $6uUbQ$Struct({\n len: $6uUbQ$uint32,\n buf: new $6uUbQ$Buffer('len')\n});\nlet $05f49f930186144e$var$Ref = new $6uUbQ$Struct({\n id: $6uUbQ$uint16,\n nameOffset: $6uUbQ$int16,\n attr: $6uUbQ$uint8,\n dataOffset: $6uUbQ$uint24,\n handle: $6uUbQ$uint32\n});\nlet $05f49f930186144e$var$Type = new $6uUbQ$Struct({\n name: new $6uUbQ$String(4),\n maxTypeIndex: $6uUbQ$uint16,\n refList: new $6uUbQ$Pointer($6uUbQ$uint16, new $6uUbQ$Array($05f49f930186144e$var$Ref, (t)=>t.maxTypeIndex + 1), {\n type: 'parent'\n })\n});\nlet $05f49f930186144e$var$TypeList = new $6uUbQ$Struct({\n length: $6uUbQ$uint16,\n types: new $6uUbQ$Array($05f49f930186144e$var$Type, (t)=>t.length + 1)\n});\nlet $05f49f930186144e$var$DFontMap = new $6uUbQ$Struct({\n reserved: new $6uUbQ$Reserved($6uUbQ$uint8, 24),\n typeList: new $6uUbQ$Pointer($6uUbQ$uint16, $05f49f930186144e$var$TypeList),\n nameListOffset: new $6uUbQ$Pointer($6uUbQ$uint16, 'void')\n});\nlet $05f49f930186144e$var$DFontHeader = new $6uUbQ$Struct({\n dataOffset: $6uUbQ$uint32,\n map: new $6uUbQ$Pointer($6uUbQ$uint32, $05f49f930186144e$var$DFontMap),\n dataLength: $6uUbQ$uint32,\n mapLength: $6uUbQ$uint32\n});\nclass $05f49f930186144e$export$2e2bcd8739ae039 {\n static probe(buffer) {\n let stream = new $6uUbQ$DecodeStream(buffer);\n try {\n var header = $05f49f930186144e$var$DFontHeader.decode(stream);\n } catch (e) {\n return false;\n }\n for (let type of header.map.typeList.types){\n if (type.name === 'sfnt') return true;\n }\n return false;\n }\n getFont(name) {\n if (!this.sfnt) return null;\n for (let ref of this.sfnt.refList){\n let pos = this.header.dataOffset + ref.dataOffset + 4;\n let stream = new $6uUbQ$DecodeStream(this.stream.buffer.slice(pos));\n let font = new (0, $4c1709dee528ea76$export$2e2bcd8739ae039)(stream);\n if (font.postscriptName === name || font.postscriptName instanceof Uint8Array && name instanceof Uint8Array && font.postscriptName.every((v, i)=>name[i] === v)) return font;\n }\n return null;\n }\n get fonts() {\n let fonts = [];\n for (let ref of this.sfnt.refList){\n let pos = this.header.dataOffset + ref.dataOffset + 4;\n let stream = new $6uUbQ$DecodeStream(this.stream.buffer.slice(pos));\n fonts.push(new (0, $4c1709dee528ea76$export$2e2bcd8739ae039)(stream));\n }\n return fonts;\n }\n constructor(stream){\n (0, $6uUbQ$_)(this, \"type\", 'DFont');\n this.stream = stream;\n this.header = $05f49f930186144e$var$DFontHeader.decode(this.stream);\n for (let type of this.header.map.typeList.types){\n for (let ref of type.refList)if (ref.nameOffset >= 0) {\n this.stream.pos = ref.nameOffset + this.header.map.nameListOffset;\n ref.name = $05f49f930186144e$var$DFontName.decode(this.stream);\n } else ref.name = null;\n if (type.name === 'sfnt') this.sfnt = type;\n }\n }\n}\n\n\n// Register font formats\n(0, $d636bc798e7178db$export$36b2f24e97d43be)((0, $4c1709dee528ea76$export$2e2bcd8739ae039));\n(0, $d636bc798e7178db$export$36b2f24e97d43be)((0, $760785214b9fc52c$export$2e2bcd8739ae039));\n(0, $d636bc798e7178db$export$36b2f24e97d43be)((0, $21ee218f84ac7f32$export$2e2bcd8739ae039));\n(0, $d636bc798e7178db$export$36b2f24e97d43be)((0, $cd5853a56c68fec7$export$2e2bcd8739ae039));\n(0, $d636bc798e7178db$export$36b2f24e97d43be)((0, $05f49f930186144e$export$2e2bcd8739ae039));\n\n\nexport {$d636bc798e7178db$export$bd5c5d8b8dcafd78 as logErrors, $d636bc798e7178db$export$36b2f24e97d43be as registerFormat, $d636bc798e7178db$export$185802fd694ee1f5 as create, $d636bc798e7178db$export$42940898df819940 as defaultLanguage, $d636bc798e7178db$export$5157e7780d44cc36 as setDefaultLanguage};\n//# sourceMappingURL=browser-module.mjs.map\n","import {Base} from './Base.js';\nimport {Number as NumberT} from './Number.js';\nimport * as utils from './utils.js';\n\nclass ArrayT extends Base {\n constructor(type, length, lengthType = 'count') {\n super();\n this.type = type;\n this.length = length;\n this.lengthType = lengthType;\n }\n\n decode(stream, parent) {\n let length;\n const { pos } = stream;\n\n const res = [];\n let ctx = parent;\n\n if (this.length != null) {\n length = utils.resolveLength(this.length, stream, parent);\n }\n\n if (this.length instanceof NumberT) {\n // define hidden properties\n Object.defineProperties(res, {\n parent: { value: parent },\n _startOffset: { value: pos },\n _currentOffset: { value: 0, writable: true },\n _length: { value: length }\n });\n\n ctx = res;\n }\n\n if ((length == null) || (this.lengthType === 'bytes')) {\n const target = (length != null) ?\n stream.pos + length\n : (parent != null ? parent._length : undefined) ?\n parent._startOffset + parent._length\n :\n stream.length;\n\n while (stream.pos < target) {\n res.push(this.type.decode(stream, ctx));\n }\n\n } else {\n for (let i = 0, end = length; i < end; i++) {\n res.push(this.type.decode(stream, ctx));\n }\n }\n\n return res;\n }\n\n size(array, ctx, includePointers = true) {\n if (!array) {\n return this.type.size(null, ctx) * utils.resolveLength(this.length, null, ctx);\n }\n\n let size = 0;\n if (this.length instanceof NumberT) {\n size += this.length.size();\n ctx = {parent: ctx, pointerSize: 0};\n }\n\n for (let item of array) {\n size += this.type.size(item, ctx);\n }\n\n if (ctx && includePointers && this.length instanceof NumberT) {\n size += ctx.pointerSize;\n }\n \n return size;\n }\n\n encode(stream, array, parent) {\n let ctx = parent;\n if (this.length instanceof NumberT) {\n ctx = {\n pointers: [],\n startOffset: stream.pos,\n parent\n };\n\n ctx.pointerOffset = stream.pos + this.size(array, ctx, false);\n this.length.encode(stream, array.length);\n }\n\n for (let item of array) {\n this.type.encode(stream, item, ctx);\n }\n\n if (this.length instanceof NumberT) {\n let i = 0;\n while (i < ctx.pointers.length) {\n const ptr = ctx.pointers[i++];\n ptr.type.encode(stream, ptr.val, ptr.parent);\n }\n }\n }\n}\n\nexport {ArrayT as Array};\n","import {DecodeStream} from './DecodeStream.js';\nimport {EncodeStream} from './EncodeStream.js';\n\nexport class Base {\n fromBuffer(buffer) {\n let stream = new DecodeStream(buffer);\n return this.decode(stream);\n }\n\n toBuffer(value) {\n let size = this.size(value);\n let buffer = new Uint8Array(size);\n let stream = new EncodeStream(buffer);\n this.encode(stream, value);\n return buffer;\n }\n}\n","import {Base} from './Base.js';\n\nexport class Bitfield extends Base {\n constructor(type, flags = []) {\n super();\n this.type = type;\n this.flags = flags;\n }\n\n decode(stream) {\n const val = this.type.decode(stream);\n\n const res = {};\n for (let i = 0; i < this.flags.length; i++) {\n const flag = this.flags[i];\n if (flag != null) {\n res[flag] = !!(val & (1 << i));\n }\n }\n\n return res;\n }\n\n size() {\n return this.type.size();\n }\n\n encode(stream, keys) {\n let val = 0;\n for (let i = 0; i < this.flags.length; i++) {\n const flag = this.flags[i];\n if (flag != null) {\n if (keys[flag]) { val |= (1 << i); }\n }\n }\n\n return this.type.encode(stream, val);\n }\n}\n","import {Base} from './Base.js';\n\nexport class BooleanT extends Base {\n constructor(type) {\n super();\n this.type = type;\n }\n\n decode(stream, parent) {\n return !!this.type.decode(stream, parent);\n }\n\n size(val, parent) {\n return this.type.size(val, parent);\n }\n\n encode(stream, val, parent) {\n return this.type.encode(stream, +val, parent);\n }\n}\n\nexport {BooleanT as Boolean};\n","import {Base} from './Base.js';\nimport {Number as NumberT} from './Number.js';\nimport * as utils from './utils.js';\n\nexport class BufferT extends Base {\n constructor(length) {\n super();\n this.length = length;\n }\n \n decode(stream, parent) {\n const length = utils.resolveLength(this.length, stream, parent);\n return stream.readBuffer(length);\n }\n\n size(val, parent) {\n if (!val) {\n return utils.resolveLength(this.length, null, parent);\n }\n\n let len = val.length;\n if (this.length instanceof NumberT) {\n len += this.length.size();\n }\n\n return len;\n }\n\n encode(stream, buf, parent) {\n if (this.length instanceof NumberT) {\n this.length.encode(stream, buf.length);\n }\n\n return stream.writeBuffer(buf);\n }\n}\n\nexport {BufferT as Buffer};\n","// Node back-compat.\nconst ENCODING_MAPPING = {\n utf16le: 'utf-16le',\n ucs2: 'utf-16le',\n utf16be: 'utf-16be'\n}\n\nexport class DecodeStream {\n constructor(buffer) {\n this.buffer = buffer;\n this.view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n this.pos = 0;\n this.length = this.buffer.length;\n }\n\n readString(length, encoding = 'ascii') {\n encoding = ENCODING_MAPPING[encoding] || encoding;\n\n let buf = this.readBuffer(length);\n try {\n let decoder = new TextDecoder(encoding);\n return decoder.decode(buf);\n } catch (err) {\n return buf;\n }\n }\n\n readBuffer(length) {\n return this.buffer.slice(this.pos, (this.pos += length));\n }\n\n readUInt24BE() {\n return (this.readUInt16BE() << 8) + this.readUInt8();\n }\n\n readUInt24LE() {\n return this.readUInt16LE() + (this.readUInt8() << 16);\n }\n\n readInt24BE() {\n return (this.readInt16BE() << 8) + this.readUInt8();\n }\n\n readInt24LE() {\n return this.readUInt16LE() + (this.readInt8() << 16);\n }\n}\n\nDecodeStream.TYPES = {\n UInt8: 1,\n UInt16: 2,\n UInt24: 3,\n UInt32: 4,\n Int8: 1,\n Int16: 2,\n Int24: 3,\n Int32: 4,\n Float: 4,\n Double: 8\n};\n\nfor (let key of Object.getOwnPropertyNames(DataView.prototype)) {\n if (key.slice(0, 3) === 'get') {\n let type = key.slice(3).replace('Ui', 'UI');\n if (type === 'Float32') {\n type = 'Float';\n } else if (type === 'Float64') {\n type = 'Double';\n }\n let bytes = DecodeStream.TYPES[type];\n DecodeStream.prototype['read' + type + (bytes === 1 ? '' : 'BE')] = function () {\n const ret = this.view[key](this.pos, false);\n this.pos += bytes;\n return ret;\n };\n\n if (bytes !== 1) {\n DecodeStream.prototype['read' + type + 'LE'] = function () {\n const ret = this.view[key](this.pos, true);\n this.pos += bytes;\n return ret;\n };\n }\n }\n}\n","import {DecodeStream} from './DecodeStream.js';\n\nconst textEncoder = new TextEncoder();\nconst isBigEndian = new Uint8Array(new Uint16Array([0x1234]).buffer)[0] == 0x12;\n\nexport class EncodeStream {\n constructor(buffer) {\n this.buffer = buffer;\n this.view = new DataView(this.buffer.buffer, this.buffer.byteOffset, this.buffer.byteLength);\n this.pos = 0;\n }\n\n writeBuffer(buffer) {\n this.buffer.set(buffer, this.pos);\n this.pos += buffer.length;\n }\n\n writeString(string, encoding = 'ascii') {\n let buf;\n switch (encoding) {\n case 'utf16le':\n case 'utf16-le':\n case 'ucs2': // node treats this the same as utf16.\n buf = stringToUtf16(string, isBigEndian);\n break;\n\n case 'utf16be':\n case 'utf16-be':\n buf = stringToUtf16(string, !isBigEndian);\n break;\n\n case 'utf8':\n buf = textEncoder.encode(string);\n break;\n\n case 'ascii':\n buf = stringToAscii(string);\n break;\n\n default:\n throw new Error(`Unsupported encoding: ${encoding}`);\n }\n\n this.writeBuffer(buf);\n }\n\n writeUInt24BE(val) {\n this.buffer[this.pos++] = (val >>> 16) & 0xff;\n this.buffer[this.pos++] = (val >>> 8) & 0xff;\n this.buffer[this.pos++] = val & 0xff;\n }\n\n writeUInt24LE(val) {\n this.buffer[this.pos++] = val & 0xff;\n this.buffer[this.pos++] = (val >>> 8) & 0xff;\n this.buffer[this.pos++] = (val >>> 16) & 0xff;\n }\n\n writeInt24BE(val) {\n if (val >= 0) {\n this.writeUInt24BE(val);\n } else {\n this.writeUInt24BE(val + 0xffffff + 1);\n }\n }\n\n writeInt24LE(val) {\n if (val >= 0) {\n this.writeUInt24LE(val);\n } else {\n this.writeUInt24LE(val + 0xffffff + 1);\n }\n }\n\n fill(val, length) {\n if (length < this.buffer.length) {\n this.buffer.fill(val, this.pos, this.pos + length);\n this.pos += length;\n } else {\n const buf = new Uint8Array(length);\n buf.fill(val);\n this.writeBuffer(buf);\n }\n }\n}\n\nfunction stringToUtf16(string, swap) {\n let buf = new Uint16Array(string.length);\n for (let i = 0; i < string.length; i++) {\n let code = string.charCodeAt(i);\n if (swap) {\n code = (code >> 8) | ((code & 0xff) << 8);\n }\n buf[i] = code;\n }\n return new Uint8Array(buf.buffer);\n}\n\nfunction stringToAscii(string) {\n let buf = new Uint8Array(string.length);\n for (let i = 0; i < string.length; i++) {\n // Match node.js behavior - encoding allows 8-bit rather than 7-bit.\n buf[i] = string.charCodeAt(i);\n }\n return buf;\n}\n\nfor (let key of Object.getOwnPropertyNames(DataView.prototype)) {\n if (key.slice(0, 3) === 'set') {\n let type = key.slice(3).replace('Ui', 'UI');\n if (type === 'Float32') {\n type = 'Float';\n } else if (type === 'Float64') {\n type = 'Double';\n }\n let bytes = DecodeStream.TYPES[type];\n EncodeStream.prototype['write' + type + (bytes === 1 ? '' : 'BE')] = function (value) {\n this.view[key](this.pos, value, false);\n this.pos += bytes;\n };\n\n if (bytes !== 1) {\n EncodeStream.prototype['write' + type + 'LE'] = function (value) {\n this.view[key](this.pos, value, true);\n this.pos += bytes;\n };\n }\n }\n}\n","import {Base} from './Base.js';\n\nexport class Enum extends Base {\n constructor(type, options = []) {\n super();\n this.type = type;\n this.options = options;\n }\n \n decode(stream) {\n const index = this.type.decode(stream);\n return this.options[index] || index;\n }\n\n size() {\n return this.type.size();\n }\n\n encode(stream, val) {\n const index = this.options.indexOf(val);\n if (index === -1) {\n throw new Error(`Unknown option in enum: ${val}`);\n }\n\n return this.type.encode(stream, index);\n }\n}\n","import {Array as ArrayT} from './Array.js';\nimport {Number as NumberT} from './Number.js';\nimport * as utils from './utils.js';\n\nexport class LazyArray extends ArrayT {\n decode(stream, parent) {\n const { pos } = stream;\n const length = utils.resolveLength(this.length, stream, parent);\n\n if (this.length instanceof NumberT) {\n parent = {\n parent,\n _startOffset: pos,\n _currentOffset: 0,\n _length: length\n };\n }\n\n const res = new LazyArrayValue(this.type, length, stream, parent);\n\n stream.pos += length * this.type.size(null, parent);\n return res;\n }\n\n size(val, ctx) {\n if (val instanceof LazyArrayValue) {\n val = val.toArray();\n }\n\n return super.size(val, ctx);\n }\n\n encode(stream, val, ctx) {\n if (val instanceof LazyArrayValue) {\n val = val.toArray();\n }\n\n return super.encode(stream, val, ctx);\n }\n}\n\nclass LazyArrayValue {\n constructor(type, length, stream, ctx) {\n this.type = type;\n this.length = length;\n this.stream = stream;\n this.ctx = ctx;\n this.base = this.stream.pos;\n this.items = [];\n }\n\n get(index) {\n if ((index < 0) || (index >= this.length)) {\n return undefined;\n }\n\n if (this.items[index] == null) {\n const { pos } = this.stream;\n this.stream.pos = this.base + (this.type.size(null, this.ctx) * index);\n this.items[index] = this.type.decode(this.stream, this.ctx);\n this.stream.pos = pos;\n }\n\n return this.items[index];\n }\n\n toArray() {\n const result = [];\n for (let i = 0, end = this.length; i < end; i++) {\n result.push(this.get(i));\n }\n return result;\n }\n}\n","import {DecodeStream} from './DecodeStream.js';\nimport {Base} from './Base.js';\n\nclass NumberT extends Base {\n constructor(type, endian = 'BE') {\n super();\n this.type = type;\n this.endian = endian;\n this.fn = this.type;\n if (this.type[this.type.length - 1] !== '8') {\n this.fn += this.endian;\n }\n }\n\n size() {\n return DecodeStream.TYPES[this.type];\n }\n\n decode(stream) {\n return stream[`read${this.fn}`]();\n }\n\n encode(stream, val) {\n return stream[`write${this.fn}`](val);\n }\n}\n\nexport {NumberT as Number};\n\nexport const uint8 = new NumberT('UInt8');\nexport const uint16be = new NumberT('UInt16', 'BE');\nexport const uint16 = uint16be;\nexport const uint16le = new NumberT('UInt16', 'LE');\nexport const uint24be = new NumberT('UInt24', 'BE');\nexport const uint24 = uint24be;\nexport const uint24le = new NumberT('UInt24', 'LE');\nexport const uint32be = new NumberT('UInt32', 'BE');\nexport const uint32 = uint32be;\nexport const uint32le = new NumberT('UInt32', 'LE');\nexport const int8 = new NumberT('Int8');\nexport const int16be = new NumberT('Int16', 'BE');\nexport const int16 = int16be;\nexport const int16le = new NumberT('Int16', 'LE');\nexport const int24be = new NumberT('Int24', 'BE');\nexport const int24 = int24be;\nexport const int24le = new NumberT('Int24', 'LE');\nexport const int32be = new NumberT('Int32', 'BE');\nexport const int32 = int32be;\nexport const int32le = new NumberT('Int32', 'LE');\nexport const floatbe = new NumberT('Float', 'BE');\nexport const float = floatbe;\nexport const floatle = new NumberT('Float', 'LE');\nexport const doublebe = new NumberT('Double', 'BE');\nexport const double = doublebe;\nexport const doublele = new NumberT('Double', 'LE');\n\nexport class Fixed extends NumberT {\n constructor(size, endian, fracBits = size >> 1) {\n super(`Int${size}`, endian);\n this._point = 1 << fracBits;\n }\n\n decode(stream) {\n return super.decode(stream) / this._point;\n }\n\n encode(stream, val) {\n return super.encode(stream, (val * this._point) | 0);\n }\n}\n\nexport const fixed16be = new Fixed(16, 'BE');\nexport const fixed16 = fixed16be;\nexport const fixed16le = new Fixed(16, 'LE');\nexport const fixed32be = new Fixed(32, 'BE');\nexport const fixed32 = fixed32be;\nexport const fixed32le = new Fixed(32, 'LE');\n","import {Base} from './Base.js';\n\nexport class Optional extends Base {\n constructor(type, condition = true) {\n super();\n this.type = type;\n this.condition = condition;\n }\n\n decode(stream, parent) {\n let { condition } = this;\n if (typeof condition === 'function') {\n condition = condition.call(parent, parent);\n }\n\n if (condition) {\n return this.type.decode(stream, parent);\n }\n }\n\n size(val, parent) {\n let { condition } = this;\n if (typeof condition === 'function') {\n condition = condition.call(parent, parent);\n }\n\n if (condition) {\n return this.type.size(val, parent);\n } else {\n return 0;\n }\n }\n\n encode(stream, val, parent) {\n let { condition } = this;\n if (typeof condition === 'function') {\n condition = condition.call(parent, parent);\n }\n\n if (condition) {\n return this.type.encode(stream, val, parent);\n }\n }\n}\n","import * as utils from './utils.js';\nimport {Base} from './Base.js';\n\nexport class Pointer extends Base {\n constructor(offsetType, type, options = {}) {\n super();\n this.offsetType = offsetType;\n this.type = type;\n this.options = options;\n if (this.type === 'void') { this.type = null; }\n if (this.options.type == null) { this.options.type = 'local'; }\n if (this.options.allowNull == null) { this.options.allowNull = true; }\n if (this.options.nullValue == null) { this.options.nullValue = 0; }\n if (this.options.lazy == null) { this.options.lazy = false; }\n if (this.options.relativeTo) {\n if (typeof this.options.relativeTo !== 'function') {\n throw new Error('relativeTo option must be a function');\n }\n this.relativeToGetter = options.relativeTo;\n }\n }\n\n decode(stream, ctx) {\n const offset = this.offsetType.decode(stream, ctx);\n\n // handle NULL pointers\n if ((offset === this.options.nullValue) && this.options.allowNull) {\n return null;\n }\n\n let relative;\n switch (this.options.type) {\n case 'local': relative = ctx._startOffset; break;\n case 'immediate': relative = stream.pos - this.offsetType.size(); break;\n case 'parent': relative = ctx.parent._startOffset; break;\n default:\n var c = ctx;\n while (c.parent) {\n c = c.parent;\n }\n\n relative = c._startOffset || 0;\n }\n\n if (this.options.relativeTo) {\n relative += this.relativeToGetter(ctx);\n }\n\n const ptr = offset + relative;\n\n if (this.type != null) {\n let val = null;\n const decodeValue = () => {\n if (val != null) { return val; }\n\n const { pos } = stream;\n stream.pos = ptr;\n val = this.type.decode(stream, ctx);\n stream.pos = pos;\n return val;\n };\n\n // If this is a lazy pointer, define a getter to decode only when needed.\n // This obviously only works when the pointer is contained by a Struct.\n if (this.options.lazy) {\n return new utils.PropertyDescriptor({\n get: decodeValue});\n }\n\n return decodeValue();\n } else {\n return ptr;\n }\n }\n\n size(val, ctx) {\n const parent = ctx;\n switch (this.options.type) {\n case 'local': case 'immediate':\n break;\n case 'parent':\n ctx = ctx.parent;\n break;\n default: // global\n while (ctx.parent) {\n ctx = ctx.parent;\n }\n }\n\n let { type } = this;\n if (type == null) {\n if (!(val instanceof VoidPointer)) {\n throw new Error(\"Must be a VoidPointer\");\n }\n\n ({ type } = val);\n val = val.value;\n }\n\n if (val && ctx) {\n // Must be written as two separate lines rather than += in case `type.size` mutates ctx.pointerSize.\n let size = type.size(val, parent);\n ctx.pointerSize += size;\n }\n\n return this.offsetType.size();\n }\n\n encode(stream, val, ctx) {\n let relative;\n const parent = ctx;\n if ((val == null)) {\n this.offsetType.encode(stream, this.options.nullValue);\n return;\n }\n\n switch (this.options.type) {\n case 'local':\n relative = ctx.startOffset;\n break;\n case 'immediate':\n relative = stream.pos + this.offsetType.size(val, parent);\n break;\n case 'parent':\n ctx = ctx.parent;\n relative = ctx.startOffset;\n break;\n default: // global\n relative = 0;\n while (ctx.parent) {\n ctx = ctx.parent;\n }\n }\n\n if (this.options.relativeTo) {\n relative += this.relativeToGetter(parent.val);\n }\n\n this.offsetType.encode(stream, ctx.pointerOffset - relative);\n\n let { type } = this;\n if (type == null) {\n if (!(val instanceof VoidPointer)) {\n throw new Error(\"Must be a VoidPointer\");\n }\n\n ({ type } = val);\n val = val.value;\n }\n\n ctx.pointers.push({\n type,\n val,\n parent\n });\n\n return ctx.pointerOffset += type.size(val, parent);\n }\n}\n\n// A pointer whose type is determined at decode time\nexport class VoidPointer {\n constructor(type, value) {\n this.type = type;\n this.value = value;\n }\n}\n","import {Base} from './Base.js';\nimport * as utils from './utils.js';\n\nexport class Reserved extends Base {\n constructor(type, count = 1) {\n super();\n this.type = type;\n this.count = count;\n }\n decode(stream, parent) {\n stream.pos += this.size(null, parent);\n return undefined;\n }\n\n size(data, parent) {\n const count = utils.resolveLength(this.count, null, parent);\n return this.type.size() * count;\n }\n\n encode(stream, val, parent) {\n return stream.fill(0, this.size(val, parent));\n }\n}\n","import {Base} from './Base.js';\nimport {Number as NumberT} from './Number.js';\nimport * as utils from './utils.js';\n\nclass StringT extends Base {\n constructor(length, encoding = 'ascii') {\n super();\n this.length = length;\n this.encoding = encoding;\n }\n\n decode(stream, parent) {\n let length, pos;\n\n let { encoding } = this;\n if (typeof encoding === 'function') {\n encoding = encoding.call(parent, parent) || 'ascii';\n }\n let width = encodingWidth(encoding);\n\n if (this.length != null) {\n length = utils.resolveLength(this.length, stream, parent);\n } else {\n let buffer;\n ({buffer, length, pos} = stream);\n\n while ((pos < length - width + 1) &&\n (buffer[pos] !== 0x00 ||\n (width === 2 && buffer[pos+1] !== 0x00)\n )) {\n pos += width;\n }\n\n length = pos - stream.pos;\n }\n\n\n const string = stream.readString(length, encoding);\n\n if ((this.length == null) && (stream.pos < stream.length)) {\n stream.pos+=width;\n }\n\n return string;\n }\n\n size(val, parent) {\n // Use the defined value if no value was given\n if (val === undefined || val === null) {\n return utils.resolveLength(this.length, null, parent);\n }\n\n let { encoding } = this;\n if (typeof encoding === 'function') {\n encoding = encoding.call(parent != null ? parent.val : undefined, parent != null ? parent.val : undefined) || 'ascii';\n }\n\n if (encoding === 'utf16be') {\n encoding = 'utf16le';\n }\n\n let size = byteLength(val, encoding);\n if (this.length instanceof NumberT) {\n size += this.length.size();\n }\n\n if ((this.length == null)) {\n size += encodingWidth(encoding);\n }\n\n return size;\n }\n\n encode(stream, val, parent) {\n let { encoding } = this;\n if (typeof encoding === 'function') {\n encoding = encoding.call(parent != null ? parent.val : undefined, parent != null ? parent.val : undefined) || 'ascii';\n }\n\n if (this.length instanceof NumberT) {\n this.length.encode(stream, byteLength(val, encoding));\n }\n\n stream.writeString(val, encoding);\n\n if ((this.length == null)) {\n return encodingWidth(encoding) == 2 ?\n stream.writeUInt16LE(0x0000) :\n stream.writeUInt8(0x00);\n }\n }\n}\n\nfunction encodingWidth(encoding) {\n switch(encoding) {\n case 'ascii':\n case 'utf8': // utf8 is a byte-based encoding for zero-term string\n return 1;\n case 'utf16le':\n case 'utf16-le':\n case 'utf-16be':\n case 'utf-16le':\n case 'utf16be':\n case 'utf16-be':\n case 'ucs2':\n return 2;\n default:\n //TODO: assume all other encodings are 1-byters\n //throw new Error('Unknown encoding ' + encoding);\n return 1;\n }\n}\n\nfunction byteLength(string, encoding) {\n switch (encoding) {\n case 'ascii':\n return string.length;\n case 'utf8':\n let len = 0;\n for (let i = 0; i < string.length; i++) {\n let c = string.charCodeAt(i);\n\n if (c >= 0xd800 && c <= 0xdbff && i < string.length - 1) {\n let c2 = string.charCodeAt(++i);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = ((c & 0x3ff) << 10) + (c2 & 0x3ff) + 0x10000;\n } else {\n // unmatched surrogate.\n i--;\n }\n }\n\n if ((c & 0xffffff80) === 0) {\n len++;\n } else if ((c & 0xfffff800) === 0) {\n len += 2;\n } else if ((c & 0xffff0000) === 0) {\n len += 3;\n } else if ((c & 0xffe00000) === 0) {\n len += 4;\n }\n }\n return len;\n case 'utf16le':\n case 'utf16-le':\n case 'utf16be':\n case 'utf16-be':\n case 'ucs2':\n return string.length * 2;\n default:\n throw new Error('Unknown encoding ' + encoding);\n }\n}\n\nexport {StringT as String};\n","import {Base} from './Base.js';\nimport * as utils from './utils.js';\n\nexport class Struct extends Base {\n constructor(fields = {}) {\n super();\n this.fields = fields;\n }\n\n decode(stream, parent, length = 0) {\n const res = this._setup(stream, parent, length);\n this._parseFields(stream, res, this.fields);\n\n if (this.process != null) {\n this.process.call(res, stream);\n }\n return res;\n }\n\n _setup(stream, parent, length) {\n const res = {};\n\n // define hidden properties\n Object.defineProperties(res, {\n parent: { value: parent },\n _startOffset: { value: stream.pos },\n _currentOffset: { value: 0, writable: true },\n _length: { value: length }\n });\n\n return res;\n }\n\n _parseFields(stream, res, fields) {\n for (let key in fields) {\n var val;\n const type = fields[key];\n if (typeof type === 'function') {\n val = type.call(res, res);\n } else {\n val = type.decode(stream, res);\n }\n\n if (val !== undefined) {\n if (val instanceof utils.PropertyDescriptor) {\n Object.defineProperty(res, key, val);\n } else {\n res[key] = val;\n }\n }\n\n res._currentOffset = stream.pos - res._startOffset;\n }\n\n }\n\n size(val, parent, includePointers = true) {\n if (val == null) { val = {}; }\n const ctx = {\n parent,\n val,\n pointerSize: 0\n };\n\n if (this.preEncode != null) {\n this.preEncode.call(val);\n }\n\n let size = 0;\n for (let key in this.fields) {\n const type = this.fields[key];\n if (type.size != null) {\n size += type.size(val[key], ctx);\n }\n }\n\n if (includePointers) {\n size += ctx.pointerSize;\n }\n\n return size;\n }\n\n encode(stream, val, parent) {\n let type;\n if (this.preEncode != null) {\n this.preEncode.call(val, stream);\n }\n\n const ctx = {\n pointers: [],\n startOffset: stream.pos,\n parent,\n val,\n pointerSize: 0\n };\n\n ctx.pointerOffset = stream.pos + this.size(val, ctx, false);\n\n for (let key in this.fields) {\n type = this.fields[key];\n if (type.encode != null) {\n type.encode(stream, val[key], ctx);\n }\n }\n\n let i = 0;\n while (i < ctx.pointers.length) {\n const ptr = ctx.pointers[i++];\n ptr.type.encode(stream, ptr.val, ptr.parent);\n }\n }\n}\n","import {Struct} from './Struct.js';\n\nconst getPath = (object, pathArray) => {\n return pathArray.reduce((prevObj, key) => prevObj && prevObj[key], object);\n};\n\nexport class VersionedStruct extends Struct {\n constructor(type, versions = {}) {\n super();\n this.type = type;\n this.versions = versions;\n if (typeof type === 'string') {\n this.versionPath = type.split('.');\n }\n }\n\n decode(stream, parent, length = 0) {\n const res = this._setup(stream, parent, length);\n\n if (typeof this.type === 'string') {\n res.version = getPath(parent, this.versionPath);\n } else {\n res.version = this.type.decode(stream);\n }\n\n if (this.versions.header) {\n this._parseFields(stream, res, this.versions.header);\n }\n\n const fields = this.versions[res.version];\n if ((fields == null)) {\n throw new Error(`Unknown version ${res.version}`);\n }\n\n if (fields instanceof VersionedStruct) {\n return fields.decode(stream, parent);\n }\n\n this._parseFields(stream, res, fields);\n\n if (this.process != null) {\n this.process.call(res, stream);\n }\n return res;\n }\n\n size(val, parent, includePointers = true) {\n let key, type;\n if (!val) {\n throw new Error('Not a fixed size');\n }\n\n if (this.preEncode != null) {\n this.preEncode.call(val);\n }\n\n const ctx = {\n parent,\n val,\n pointerSize: 0\n };\n\n let size = 0;\n if (typeof this.type !== 'string') {\n size += this.type.size(val.version, ctx);\n }\n\n if (this.versions.header) {\n for (key in this.versions.header) {\n type = this.versions.header[key];\n if (type.size != null) {\n size += type.size(val[key], ctx);\n }\n }\n }\n\n const fields = this.versions[val.version];\n if ((fields == null)) {\n throw new Error(`Unknown version ${val.version}`);\n }\n\n for (key in fields) {\n type = fields[key];\n if (type.size != null) {\n size += type.size(val[key], ctx);\n }\n }\n\n if (includePointers) {\n size += ctx.pointerSize;\n }\n\n return size;\n }\n\n encode(stream, val, parent) {\n let key, type;\n if (this.preEncode != null) {\n this.preEncode.call(val, stream);\n }\n\n const ctx = {\n pointers: [],\n startOffset: stream.pos,\n parent,\n val,\n pointerSize: 0\n };\n\n ctx.pointerOffset = stream.pos + this.size(val, ctx, false);\n\n if (typeof this.type !== 'string') {\n this.type.encode(stream, val.version);\n }\n\n if (this.versions.header) {\n for (key in this.versions.header) {\n type = this.versions.header[key];\n if (type.encode != null) {\n type.encode(stream, val[key], ctx);\n }\n }\n }\n\n const fields = this.versions[val.version];\n for (key in fields) {\n type = fields[key];\n if (type.encode != null) {\n type.encode(stream, val[key], ctx);\n }\n }\n\n let i = 0;\n while (i < ctx.pointers.length) {\n const ptr = ctx.pointers[i++];\n ptr.type.encode(stream, ptr.val, ptr.parent);\n }\n }\n}\n","import {Number as NumberT} from './Number.js';\n\nexport function resolveLength(length, stream, parent) {\n let res;\n if (typeof length === 'number') {\n res = length;\n\n } else if (typeof length === 'function') {\n res = length.call(parent, parent);\n\n } else if (parent && (typeof length === 'string')) {\n res = parent[length];\n\n } else if (stream && length instanceof NumberT) {\n res = length.decode(stream);\n }\n\n if (isNaN(res)) {\n throw new Error('Not a fixed size');\n }\n\n return res;\n};\n\nexport class PropertyDescriptor {\n constructor(opts = {}) {\n this.enumerable = true;\n this.configurable = true;\n\n for (let key in opts) {\n const val = opts[key];\n this[key] = val;\n }\n }\n}\n","!function(root, factory) {\n \"function\" == typeof define && define.amd ? // AMD. Register as an anonymous module unless amdModuleId is set\n define([], function() {\n return root.svg4everybody = factory();\n }) : \"object\" == typeof module && module.exports ? // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = factory() : root.svg4everybody = factory();\n}(this, function() {\n /*! svg4everybody v2.1.9 | github.com/jonathantneal/svg4everybody */\n function embed(parent, svg, target) {\n // if the target exists\n if (target) {\n // create a document fragment to hold the contents of the target\n var fragment = document.createDocumentFragment(), viewBox = !svg.hasAttribute(\"viewBox\") && target.getAttribute(\"viewBox\");\n // conditionally set the viewBox on the svg\n viewBox && svg.setAttribute(\"viewBox\", viewBox);\n // copy the contents of the clone into the fragment\n for (// clone the target\n var clone = target.cloneNode(!0); clone.childNodes.length; ) {\n fragment.appendChild(clone.firstChild);\n }\n // append the fragment into the svg\n parent.appendChild(fragment);\n }\n }\n function loadreadystatechange(xhr) {\n // listen to changes in the request\n xhr.onreadystatechange = function() {\n // if the request is ready\n if (4 === xhr.readyState) {\n // get the cached html document\n var cachedDocument = xhr._cachedDocument;\n // ensure the cached html document based on the xhr response\n cachedDocument || (cachedDocument = xhr._cachedDocument = document.implementation.createHTMLDocument(\"\"), \n cachedDocument.body.innerHTML = xhr.responseText, xhr._cachedTarget = {}), // clear the xhr embeds list and embed each item\n xhr._embeds.splice(0).map(function(item) {\n // get the cached target\n var target = xhr._cachedTarget[item.id];\n // ensure the cached target\n target || (target = xhr._cachedTarget[item.id] = cachedDocument.getElementById(item.id)), \n // embed the target into the svg\n embed(item.parent, item.svg, target);\n });\n }\n }, // test the ready state change immediately\n xhr.onreadystatechange();\n }\n function svg4everybody(rawopts) {\n function oninterval() {\n // while the index exists in the live collection\n for (// get the cached index\n var index = 0; index < uses.length; ) {\n // get the current \n var use = uses[index], parent = use.parentNode, svg = getSVGAncestor(parent), src = use.getAttribute(\"xlink:href\") || use.getAttribute(\"href\");\n if (!src && opts.attributeName && (src = use.getAttribute(opts.attributeName)), \n svg && src) {\n if (polyfill) {\n if (!opts.validate || opts.validate(src, svg, use)) {\n // remove the element\n parent.removeChild(use);\n // parse the src and get the url and id\n var srcSplit = src.split(\"#\"), url = srcSplit.shift(), id = srcSplit.join(\"#\");\n // if the link is external\n if (url.length) {\n // get the cached xhr request\n var xhr = requests[url];\n // ensure the xhr request exists\n xhr || (xhr = requests[url] = new XMLHttpRequest(), xhr.open(\"GET\", url), xhr.send(), \n xhr._embeds = []), // add the svg and id as an item to the xhr embeds list\n xhr._embeds.push({\n parent: parent,\n svg: svg,\n id: id\n }), // prepare the xhr ready state change event\n loadreadystatechange(xhr);\n } else {\n // embed the local id into the svg\n embed(parent, svg, document.getElementById(id));\n }\n } else {\n // increase the index when the previous value was not \"valid\"\n ++index, ++numberOfSvgUseElementsToBypass;\n }\n }\n } else {\n // increase the index when the previous value was not \"valid\"\n ++index;\n }\n }\n // continue the interval\n (!uses.length || uses.length - numberOfSvgUseElementsToBypass > 0) && requestAnimationFrame(oninterval, 67);\n }\n var polyfill, opts = Object(rawopts), newerIEUA = /\\bTrident\\/[567]\\b|\\bMSIE (?:9|10)\\.0\\b/, webkitUA = /\\bAppleWebKit\\/(\\d+)\\b/, olderEdgeUA = /\\bEdge\\/12\\.(\\d+)\\b/, edgeUA = /\\bEdge\\/.(\\d+)\\b/, inIframe = window.top !== window.self;\n polyfill = \"polyfill\" in opts ? opts.polyfill : newerIEUA.test(navigator.userAgent) || (navigator.userAgent.match(olderEdgeUA) || [])[1] < 10547 || (navigator.userAgent.match(webkitUA) || [])[1] < 537 || edgeUA.test(navigator.userAgent) && inIframe;\n // create xhr requests object\n var requests = {}, requestAnimationFrame = window.requestAnimationFrame || setTimeout, uses = document.getElementsByTagName(\"use\"), numberOfSvgUseElementsToBypass = 0;\n // conditionally start the interval if the polyfill is active\n polyfill && oninterval();\n }\n function getSVGAncestor(node) {\n for (var svg = node; \"svg\" !== svg.nodeName.toLowerCase() && (svg = svg.parentNode); ) {}\n return svg;\n }\n return svg4everybody;\n});","var TINF_OK = 0;\nvar TINF_DATA_ERROR = -3;\n\nfunction Tree() {\n this.table = new Uint16Array(16); /* table of code length counts */\n this.trans = new Uint16Array(288); /* code -> symbol translation table */\n}\n\nfunction Data(source, dest) {\n this.source = source;\n this.sourceIndex = 0;\n this.tag = 0;\n this.bitcount = 0;\n \n this.dest = dest;\n this.destLen = 0;\n \n this.ltree = new Tree(); /* dynamic length/symbol tree */\n this.dtree = new Tree(); /* dynamic distance tree */\n}\n\n/* --------------------------------------------------- *\n * -- uninitialized global data (static structures) -- *\n * --------------------------------------------------- */\n\nvar sltree = new Tree();\nvar sdtree = new Tree();\n\n/* extra bits and base tables for length codes */\nvar length_bits = new Uint8Array(30);\nvar length_base = new Uint16Array(30);\n\n/* extra bits and base tables for distance codes */\nvar dist_bits = new Uint8Array(30);\nvar dist_base = new Uint16Array(30);\n\n/* special ordering of code length codes */\nvar clcidx = new Uint8Array([\n 16, 17, 18, 0, 8, 7, 9, 6,\n 10, 5, 11, 4, 12, 3, 13, 2,\n 14, 1, 15\n]);\n\n/* used by tinf_decode_trees, avoids allocations every call */\nvar code_tree = new Tree();\nvar lengths = new Uint8Array(288 + 32);\n\n/* ----------------------- *\n * -- utility functions -- *\n * ----------------------- */\n\n/* build extra bits and base tables */\nfunction tinf_build_bits_base(bits, base, delta, first) {\n var i, sum;\n\n /* build bits table */\n for (i = 0; i < delta; ++i) bits[i] = 0;\n for (i = 0; i < 30 - delta; ++i) bits[i + delta] = i / delta | 0;\n\n /* build base table */\n for (sum = first, i = 0; i < 30; ++i) {\n base[i] = sum;\n sum += 1 << bits[i];\n }\n}\n\n/* build the fixed huffman trees */\nfunction tinf_build_fixed_trees(lt, dt) {\n var i;\n\n /* build fixed length tree */\n for (i = 0; i < 7; ++i) lt.table[i] = 0;\n\n lt.table[7] = 24;\n lt.table[8] = 152;\n lt.table[9] = 112;\n\n for (i = 0; i < 24; ++i) lt.trans[i] = 256 + i;\n for (i = 0; i < 144; ++i) lt.trans[24 + i] = i;\n for (i = 0; i < 8; ++i) lt.trans[24 + 144 + i] = 280 + i;\n for (i = 0; i < 112; ++i) lt.trans[24 + 144 + 8 + i] = 144 + i;\n\n /* build fixed distance tree */\n for (i = 0; i < 5; ++i) dt.table[i] = 0;\n\n dt.table[5] = 32;\n\n for (i = 0; i < 32; ++i) dt.trans[i] = i;\n}\n\n/* given an array of code lengths, build a tree */\nvar offs = new Uint16Array(16);\n\nfunction tinf_build_tree(t, lengths, off, num) {\n var i, sum;\n\n /* clear code length count table */\n for (i = 0; i < 16; ++i) t.table[i] = 0;\n\n /* scan symbol lengths, and sum code length counts */\n for (i = 0; i < num; ++i) t.table[lengths[off + i]]++;\n\n t.table[0] = 0;\n\n /* compute offset table for distribution sort */\n for (sum = 0, i = 0; i < 16; ++i) {\n offs[i] = sum;\n sum += t.table[i];\n }\n\n /* create code->symbol translation table (symbols sorted by code) */\n for (i = 0; i < num; ++i) {\n if (lengths[off + i]) t.trans[offs[lengths[off + i]]++] = i;\n }\n}\n\n/* ---------------------- *\n * -- decode functions -- *\n * ---------------------- */\n\n/* get one bit from source stream */\nfunction tinf_getbit(d) {\n /* check if tag is empty */\n if (!d.bitcount--) {\n /* load next tag */\n d.tag = d.source[d.sourceIndex++];\n d.bitcount = 7;\n }\n\n /* shift bit out of tag */\n var bit = d.tag & 1;\n d.tag >>>= 1;\n\n return bit;\n}\n\n/* read a num bit value from a stream and add base */\nfunction tinf_read_bits(d, num, base) {\n if (!num)\n return base;\n\n while (d.bitcount < 24) {\n d.tag |= d.source[d.sourceIndex++] << d.bitcount;\n d.bitcount += 8;\n }\n\n var val = d.tag & (0xffff >>> (16 - num));\n d.tag >>>= num;\n d.bitcount -= num;\n return val + base;\n}\n\n/* given a data stream and a tree, decode a symbol */\nfunction tinf_decode_symbol(d, t) {\n while (d.bitcount < 24) {\n d.tag |= d.source[d.sourceIndex++] << d.bitcount;\n d.bitcount += 8;\n }\n \n var sum = 0, cur = 0, len = 0;\n var tag = d.tag;\n\n /* get more bits while code value is above sum */\n do {\n cur = 2 * cur + (tag & 1);\n tag >>>= 1;\n ++len;\n\n sum += t.table[len];\n cur -= t.table[len];\n } while (cur >= 0);\n \n d.tag = tag;\n d.bitcount -= len;\n\n return t.trans[sum + cur];\n}\n\n/* given a data stream, decode dynamic trees from it */\nfunction tinf_decode_trees(d, lt, dt) {\n var hlit, hdist, hclen;\n var i, num, length;\n\n /* get 5 bits HLIT (257-286) */\n hlit = tinf_read_bits(d, 5, 257);\n\n /* get 5 bits HDIST (1-32) */\n hdist = tinf_read_bits(d, 5, 1);\n\n /* get 4 bits HCLEN (4-19) */\n hclen = tinf_read_bits(d, 4, 4);\n\n for (i = 0; i < 19; ++i) lengths[i] = 0;\n\n /* read code lengths for code length alphabet */\n for (i = 0; i < hclen; ++i) {\n /* get 3 bits code length (0-7) */\n var clen = tinf_read_bits(d, 3, 0);\n lengths[clcidx[i]] = clen;\n }\n\n /* build code length tree */\n tinf_build_tree(code_tree, lengths, 0, 19);\n\n /* decode code lengths for the dynamic trees */\n for (num = 0; num < hlit + hdist;) {\n var sym = tinf_decode_symbol(d, code_tree);\n\n switch (sym) {\n case 16:\n /* copy previous code length 3-6 times (read 2 bits) */\n var prev = lengths[num - 1];\n for (length = tinf_read_bits(d, 2, 3); length; --length) {\n lengths[num++] = prev;\n }\n break;\n case 17:\n /* repeat code length 0 for 3-10 times (read 3 bits) */\n for (length = tinf_read_bits(d, 3, 3); length; --length) {\n lengths[num++] = 0;\n }\n break;\n case 18:\n /* repeat code length 0 for 11-138 times (read 7 bits) */\n for (length = tinf_read_bits(d, 7, 11); length; --length) {\n lengths[num++] = 0;\n }\n break;\n default:\n /* values 0-15 represent the actual code lengths */\n lengths[num++] = sym;\n break;\n }\n }\n\n /* build dynamic trees */\n tinf_build_tree(lt, lengths, 0, hlit);\n tinf_build_tree(dt, lengths, hlit, hdist);\n}\n\n/* ----------------------------- *\n * -- block inflate functions -- *\n * ----------------------------- */\n\n/* given a stream and two trees, inflate a block of data */\nfunction tinf_inflate_block_data(d, lt, dt) {\n while (1) {\n var sym = tinf_decode_symbol(d, lt);\n\n /* check for end of block */\n if (sym === 256) {\n return TINF_OK;\n }\n\n if (sym < 256) {\n d.dest[d.destLen++] = sym;\n } else {\n var length, dist, offs;\n var i;\n\n sym -= 257;\n\n /* possibly get more bits from length code */\n length = tinf_read_bits(d, length_bits[sym], length_base[sym]);\n\n dist = tinf_decode_symbol(d, dt);\n\n /* possibly get more bits from distance code */\n offs = d.destLen - tinf_read_bits(d, dist_bits[dist], dist_base[dist]);\n\n /* copy match */\n for (i = offs; i < offs + length; ++i) {\n d.dest[d.destLen++] = d.dest[i];\n }\n }\n }\n}\n\n/* inflate an uncompressed block of data */\nfunction tinf_inflate_uncompressed_block(d) {\n var length, invlength;\n var i;\n \n /* unread from bitbuffer */\n while (d.bitcount > 8) {\n d.sourceIndex--;\n d.bitcount -= 8;\n }\n\n /* get length */\n length = d.source[d.sourceIndex + 1];\n length = 256 * length + d.source[d.sourceIndex];\n\n /* get one's complement of length */\n invlength = d.source[d.sourceIndex + 3];\n invlength = 256 * invlength + d.source[d.sourceIndex + 2];\n\n /* check length */\n if (length !== (~invlength & 0x0000ffff))\n return TINF_DATA_ERROR;\n\n d.sourceIndex += 4;\n\n /* copy block */\n for (i = length; i; --i)\n d.dest[d.destLen++] = d.source[d.sourceIndex++];\n\n /* make sure we start next block on a byte boundary */\n d.bitcount = 0;\n\n return TINF_OK;\n}\n\n/* inflate stream from source to dest */\nfunction tinf_uncompress(source, dest) {\n var d = new Data(source, dest);\n var bfinal, btype, res;\n\n do {\n /* read final block flag */\n bfinal = tinf_getbit(d);\n\n /* read block type (2 bits) */\n btype = tinf_read_bits(d, 2, 0);\n\n /* decompress block */\n switch (btype) {\n case 0:\n /* decompress uncompressed block */\n res = tinf_inflate_uncompressed_block(d);\n break;\n case 1:\n /* decompress block with fixed huffman trees */\n res = tinf_inflate_block_data(d, sltree, sdtree);\n break;\n case 2:\n /* decompress block with dynamic huffman trees */\n tinf_decode_trees(d, d.ltree, d.dtree);\n res = tinf_inflate_block_data(d, d.ltree, d.dtree);\n break;\n default:\n res = TINF_DATA_ERROR;\n }\n\n if (res !== TINF_OK)\n throw new Error('Data error');\n\n } while (!bfinal);\n\n if (d.destLen < d.dest.length) {\n if (typeof d.dest.slice === 'function')\n return d.dest.slice(0, d.destLen);\n else\n return d.dest.subarray(0, d.destLen);\n }\n \n return d.dest;\n}\n\n/* -------------------- *\n * -- initialization -- *\n * -------------------- */\n\n/* build fixed huffman trees */\ntinf_build_fixed_trees(sltree, sdtree);\n\n/* build extra bits and base tables */\ntinf_build_bits_base(length_bits, length_base, 4, 3);\ntinf_build_bits_base(dist_bits, dist_base, 2, 1);\n\n/* fix a special case */\nlength_bits[28] = 0;\nlength_base[28] = 258;\n\nmodule.exports = tinf_uncompress;\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","import $bdjGp$base64js from \"base64-js\";\nimport $bdjGp$unicodetrie from \"unicode-trie\";\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\n\nvar $f4087201da764553$exports = {};\n$f4087201da764553$exports = JSON.parse('{\"categories\":[\"Cc\",\"Zs\",\"Po\",\"Sc\",\"Ps\",\"Pe\",\"Sm\",\"Pd\",\"Nd\",\"Lu\",\"Sk\",\"Pc\",\"Ll\",\"So\",\"Lo\",\"Pi\",\"Cf\",\"No\",\"Pf\",\"Lt\",\"Lm\",\"Mn\",\"Me\",\"Mc\",\"Nl\",\"Zl\",\"Zp\",\"Cs\",\"Co\"],\"combiningClasses\":[\"Not_Reordered\",\"Above\",\"Above_Right\",\"Below\",\"Attached_Above_Right\",\"Attached_Below\",\"Overlay\",\"Iota_Subscript\",\"Double_Below\",\"Double_Above\",\"Below_Right\",\"Above_Left\",\"CCC10\",\"CCC11\",\"CCC12\",\"CCC13\",\"CCC14\",\"CCC15\",\"CCC16\",\"CCC17\",\"CCC18\",\"CCC19\",\"CCC20\",\"CCC21\",\"CCC22\",\"CCC23\",\"CCC24\",\"CCC25\",\"CCC30\",\"CCC31\",\"CCC32\",\"CCC27\",\"CCC28\",\"CCC29\",\"CCC33\",\"CCC34\",\"CCC35\",\"CCC36\",\"Nukta\",\"Virama\",\"CCC84\",\"CCC91\",\"CCC103\",\"CCC107\",\"CCC118\",\"CCC122\",\"CCC129\",\"CCC130\",\"CCC132\",\"Attached_Above\",\"Below_Left\",\"Left\",\"Kana_Voicing\",\"CCC26\",\"Right\"],\"scripts\":[\"Common\",\"Latin\",\"Bopomofo\",\"Inherited\",\"Greek\",\"Coptic\",\"Cyrillic\",\"Armenian\",\"Hebrew\",\"Arabic\",\"Syriac\",\"Thaana\",\"Nko\",\"Samaritan\",\"Mandaic\",\"Devanagari\",\"Bengali\",\"Gurmukhi\",\"Gujarati\",\"Oriya\",\"Tamil\",\"Telugu\",\"Kannada\",\"Malayalam\",\"Sinhala\",\"Thai\",\"Lao\",\"Tibetan\",\"Myanmar\",\"Georgian\",\"Hangul\",\"Ethiopic\",\"Cherokee\",\"Canadian_Aboriginal\",\"Ogham\",\"Runic\",\"Tagalog\",\"Hanunoo\",\"Buhid\",\"Tagbanwa\",\"Khmer\",\"Mongolian\",\"Limbu\",\"Tai_Le\",\"New_Tai_Lue\",\"Buginese\",\"Tai_Tham\",\"Balinese\",\"Sundanese\",\"Batak\",\"Lepcha\",\"Ol_Chiki\",\"Braille\",\"Glagolitic\",\"Tifinagh\",\"Han\",\"Hiragana\",\"Katakana\",\"Yi\",\"Lisu\",\"Vai\",\"Bamum\",\"Syloti_Nagri\",\"Phags_Pa\",\"Saurashtra\",\"Kayah_Li\",\"Rejang\",\"Javanese\",\"Cham\",\"Tai_Viet\",\"Meetei_Mayek\",\"null\",\"Linear_B\",\"Lycian\",\"Carian\",\"Old_Italic\",\"Gothic\",\"Old_Permic\",\"Ugaritic\",\"Old_Persian\",\"Deseret\",\"Shavian\",\"Osmanya\",\"Osage\",\"Elbasan\",\"Caucasian_Albanian\",\"Linear_A\",\"Cypriot\",\"Imperial_Aramaic\",\"Palmyrene\",\"Nabataean\",\"Hatran\",\"Phoenician\",\"Lydian\",\"Meroitic_Hieroglyphs\",\"Meroitic_Cursive\",\"Kharoshthi\",\"Old_South_Arabian\",\"Old_North_Arabian\",\"Manichaean\",\"Avestan\",\"Inscriptional_Parthian\",\"Inscriptional_Pahlavi\",\"Psalter_Pahlavi\",\"Old_Turkic\",\"Old_Hungarian\",\"Hanifi_Rohingya\",\"Old_Sogdian\",\"Sogdian\",\"Elymaic\",\"Brahmi\",\"Kaithi\",\"Sora_Sompeng\",\"Chakma\",\"Mahajani\",\"Sharada\",\"Khojki\",\"Multani\",\"Khudawadi\",\"Grantha\",\"Newa\",\"Tirhuta\",\"Siddham\",\"Modi\",\"Takri\",\"Ahom\",\"Dogra\",\"Warang_Citi\",\"Nandinagari\",\"Zanabazar_Square\",\"Soyombo\",\"Pau_Cin_Hau\",\"Bhaiksuki\",\"Marchen\",\"Masaram_Gondi\",\"Gunjala_Gondi\",\"Makasar\",\"Cuneiform\",\"Egyptian_Hieroglyphs\",\"Anatolian_Hieroglyphs\",\"Mro\",\"Bassa_Vah\",\"Pahawh_Hmong\",\"Medefaidrin\",\"Miao\",\"Tangut\",\"Nushu\",\"Duployan\",\"SignWriting\",\"Nyiakeng_Puachue_Hmong\",\"Wancho\",\"Mende_Kikakui\",\"Adlam\"],\"eaw\":[\"N\",\"Na\",\"A\",\"W\",\"H\",\"F\"]}');\n\n\nconst $747425b437e121da$var$trie = new (0, $bdjGp$unicodetrie)((0, $bdjGp$base64js).toByteArray(\"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\"));\nconst $747425b437e121da$var$log2 = Math.log2 || ((n)=>Math.log(n) / Math.LN2);\nconst $747425b437e121da$var$bits = (n)=>$747425b437e121da$var$log2(n) + 1 | 0;\n// compute the number of bits stored for each field\nconst $747425b437e121da$var$CATEGORY_BITS = $747425b437e121da$var$bits((0, (/*@__PURE__*/$parcel$interopDefault($f4087201da764553$exports))).categories.length - 1);\nconst $747425b437e121da$var$COMBINING_BITS = $747425b437e121da$var$bits((0, (/*@__PURE__*/$parcel$interopDefault($f4087201da764553$exports))).combiningClasses.length - 1);\nconst $747425b437e121da$var$SCRIPT_BITS = $747425b437e121da$var$bits((0, (/*@__PURE__*/$parcel$interopDefault($f4087201da764553$exports))).scripts.length - 1);\nconst $747425b437e121da$var$EAW_BITS = $747425b437e121da$var$bits((0, (/*@__PURE__*/$parcel$interopDefault($f4087201da764553$exports))).eaw.length - 1);\nconst $747425b437e121da$var$NUMBER_BITS = 10;\n// compute shift and mask values for each field\nconst $747425b437e121da$var$CATEGORY_SHIFT = $747425b437e121da$var$COMBINING_BITS + $747425b437e121da$var$SCRIPT_BITS + $747425b437e121da$var$EAW_BITS + $747425b437e121da$var$NUMBER_BITS;\nconst $747425b437e121da$var$COMBINING_SHIFT = $747425b437e121da$var$SCRIPT_BITS + $747425b437e121da$var$EAW_BITS + $747425b437e121da$var$NUMBER_BITS;\nconst $747425b437e121da$var$SCRIPT_SHIFT = $747425b437e121da$var$EAW_BITS + $747425b437e121da$var$NUMBER_BITS;\nconst $747425b437e121da$var$EAW_SHIFT = $747425b437e121da$var$NUMBER_BITS;\nconst $747425b437e121da$var$CATEGORY_MASK = (1 << $747425b437e121da$var$CATEGORY_BITS) - 1;\nconst $747425b437e121da$var$COMBINING_MASK = (1 << $747425b437e121da$var$COMBINING_BITS) - 1;\nconst $747425b437e121da$var$SCRIPT_MASK = (1 << $747425b437e121da$var$SCRIPT_BITS) - 1;\nconst $747425b437e121da$var$EAW_MASK = (1 << $747425b437e121da$var$EAW_BITS) - 1;\nconst $747425b437e121da$var$NUMBER_MASK = (1 << $747425b437e121da$var$NUMBER_BITS) - 1;\nfunction $747425b437e121da$export$410364bbb673ddbc(codePoint) {\n const val = $747425b437e121da$var$trie.get(codePoint);\n return (0, (/*@__PURE__*/$parcel$interopDefault($f4087201da764553$exports))).categories[val >> $747425b437e121da$var$CATEGORY_SHIFT & $747425b437e121da$var$CATEGORY_MASK];\n}\nfunction $747425b437e121da$export$c03b919c6651ed55(codePoint) {\n const val = $747425b437e121da$var$trie.get(codePoint);\n return (0, (/*@__PURE__*/$parcel$interopDefault($f4087201da764553$exports))).combiningClasses[val >> $747425b437e121da$var$COMBINING_SHIFT & $747425b437e121da$var$COMBINING_MASK];\n}\nfunction $747425b437e121da$export$941569448d136665(codePoint) {\n const val = $747425b437e121da$var$trie.get(codePoint);\n return (0, (/*@__PURE__*/$parcel$interopDefault($f4087201da764553$exports))).scripts[val >> $747425b437e121da$var$SCRIPT_SHIFT & $747425b437e121da$var$SCRIPT_MASK];\n}\nfunction $747425b437e121da$export$92f6187db8ca6d26(codePoint) {\n const val = $747425b437e121da$var$trie.get(codePoint);\n return (0, (/*@__PURE__*/$parcel$interopDefault($f4087201da764553$exports))).eaw[val >> $747425b437e121da$var$EAW_SHIFT & $747425b437e121da$var$EAW_MASK];\n}\nfunction $747425b437e121da$export$7d1258ebb7625a0d(codePoint) {\n let val = $747425b437e121da$var$trie.get(codePoint);\n let num = val & $747425b437e121da$var$NUMBER_MASK;\n if (num === 0) return null;\n else if (num <= 50) return num - 1;\n else if (num < 0x1e0) {\n const numerator = (num >> 4) - 12;\n const denominator = (num & 0xf) + 1;\n return numerator / denominator;\n } else if (num < 0x300) {\n val = (num >> 5) - 14;\n let exp = (num & 0x1f) + 2;\n while(exp > 0){\n val *= 10;\n exp--;\n }\n return val;\n } else {\n val = (num >> 2) - 0xbf;\n let exp = (num & 3) + 1;\n while(exp > 0){\n val *= 60;\n exp--;\n }\n return val;\n }\n}\nfunction $747425b437e121da$export$52c8ea63abd07594(codePoint) {\n const category = $747425b437e121da$export$410364bbb673ddbc(codePoint);\n return category === \"Lu\" || category === \"Ll\" || category === \"Lt\" || category === \"Lm\" || category === \"Lo\" || category === \"Nl\";\n}\nfunction $747425b437e121da$export$727d9dbc4fbb948f(codePoint) {\n return $747425b437e121da$export$410364bbb673ddbc(codePoint) === \"Nd\";\n}\nfunction $747425b437e121da$export$a5b49f4dc6a07d2c(codePoint) {\n const category = $747425b437e121da$export$410364bbb673ddbc(codePoint);\n return category === \"Pc\" || category === \"Pd\" || category === \"Pe\" || category === \"Pf\" || category === \"Pi\" || category === \"Po\" || category === \"Ps\";\n}\nfunction $747425b437e121da$export$7b6804e8df61fcf5(codePoint) {\n return $747425b437e121da$export$410364bbb673ddbc(codePoint) === \"Ll\";\n}\nfunction $747425b437e121da$export$aebd617640818cda(codePoint) {\n return $747425b437e121da$export$410364bbb673ddbc(codePoint) === \"Lu\";\n}\nfunction $747425b437e121da$export$de8b4ee23b2cf823(codePoint) {\n return $747425b437e121da$export$410364bbb673ddbc(codePoint) === \"Lt\";\n}\nfunction $747425b437e121da$export$3c52dd84024ae72c(codePoint) {\n const category = $747425b437e121da$export$410364bbb673ddbc(codePoint);\n return category === \"Zs\" || category === \"Zl\" || category === \"Zp\";\n}\nfunction $747425b437e121da$export$a11bdcffe109e74b(codePoint) {\n const category = $747425b437e121da$export$410364bbb673ddbc(codePoint);\n return category === \"Nd\" || category === \"No\" || category === \"Nl\" || category === \"Lu\" || category === \"Ll\" || category === \"Lt\" || category === \"Lm\" || category === \"Lo\" || category === \"Me\" || category === \"Mc\";\n}\nfunction $747425b437e121da$export$e33ad6871e762338(codePoint) {\n const category = $747425b437e121da$export$410364bbb673ddbc(codePoint);\n return category === \"Mn\" || category === \"Me\" || category === \"Mc\";\n}\nvar // Backwards compatibility.\n$747425b437e121da$export$2e2bcd8739ae039 = {\n getCategory: $747425b437e121da$export$410364bbb673ddbc,\n getCombiningClass: $747425b437e121da$export$c03b919c6651ed55,\n getScript: $747425b437e121da$export$941569448d136665,\n getEastAsianWidth: $747425b437e121da$export$92f6187db8ca6d26,\n getNumericValue: $747425b437e121da$export$7d1258ebb7625a0d,\n isAlphabetic: $747425b437e121da$export$52c8ea63abd07594,\n isDigit: $747425b437e121da$export$727d9dbc4fbb948f,\n isPunctuation: $747425b437e121da$export$a5b49f4dc6a07d2c,\n isLowerCase: $747425b437e121da$export$7b6804e8df61fcf5,\n isUpperCase: $747425b437e121da$export$aebd617640818cda,\n isTitleCase: $747425b437e121da$export$de8b4ee23b2cf823,\n isWhiteSpace: $747425b437e121da$export$3c52dd84024ae72c,\n isBaseForm: $747425b437e121da$export$a11bdcffe109e74b,\n isMark: $747425b437e121da$export$e33ad6871e762338\n};\n\n\nexport {$747425b437e121da$export$410364bbb673ddbc as getCategory, $747425b437e121da$export$c03b919c6651ed55 as getCombiningClass, $747425b437e121da$export$941569448d136665 as getScript, $747425b437e121da$export$92f6187db8ca6d26 as getEastAsianWidth, $747425b437e121da$export$7d1258ebb7625a0d as getNumericValue, $747425b437e121da$export$52c8ea63abd07594 as isAlphabetic, $747425b437e121da$export$727d9dbc4fbb948f as isDigit, $747425b437e121da$export$a5b49f4dc6a07d2c as isPunctuation, $747425b437e121da$export$7b6804e8df61fcf5 as isLowerCase, $747425b437e121da$export$aebd617640818cda as isUpperCase, $747425b437e121da$export$de8b4ee23b2cf823 as isTitleCase, $747425b437e121da$export$3c52dd84024ae72c as isWhiteSpace, $747425b437e121da$export$a11bdcffe109e74b as isBaseForm, $747425b437e121da$export$e33ad6871e762338 as isMark, $747425b437e121da$export$2e2bcd8739ae039 as default};\n//# sourceMappingURL=module.mjs.map\n","const inflate = require('tiny-inflate');\nconst { swap32LE } = require('./swap');\n\n// Shift size for getting the index-1 table offset.\nconst SHIFT_1 = 6 + 5;\n\n// Shift size for getting the index-2 table offset.\nconst SHIFT_2 = 5;\n\n// Difference between the two shift sizes,\n// for getting an index-1 offset from an index-2 offset. 6=11-5\nconst SHIFT_1_2 = SHIFT_1 - SHIFT_2;\n\n// Number of index-1 entries for the BMP. 32=0x20\n// This part of the index-1 table is omitted from the serialized form.\nconst OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> SHIFT_1;\n\n// Number of entries in an index-2 block. 64=0x40\nconst INDEX_2_BLOCK_LENGTH = 1 << SHIFT_1_2;\n\n// Mask for getting the lower bits for the in-index-2-block offset. */\nconst INDEX_2_MASK = INDEX_2_BLOCK_LENGTH - 1;\n\n// Shift size for shifting left the index array values.\n// Increases possible data size with 16-bit index values at the cost\n// of compactability.\n// This requires data blocks to be aligned by DATA_GRANULARITY.\nconst INDEX_SHIFT = 2;\n\n// Number of entries in a data block. 32=0x20\nconst DATA_BLOCK_LENGTH = 1 << SHIFT_2;\n\n// Mask for getting the lower bits for the in-data-block offset.\nconst DATA_MASK = DATA_BLOCK_LENGTH - 1;\n\n// The part of the index-2 table for U+D800..U+DBFF stores values for\n// lead surrogate code _units_ not code _points_.\n// Values for lead surrogate code _points_ are indexed with this portion of the table.\n// Length=32=0x20=0x400>>SHIFT_2. (There are 1024=0x400 lead surrogates.)\nconst LSCP_INDEX_2_OFFSET = 0x10000 >> SHIFT_2;\nconst LSCP_INDEX_2_LENGTH = 0x400 >> SHIFT_2;\n\n// Count the lengths of both BMP pieces. 2080=0x820\nconst INDEX_2_BMP_LENGTH = LSCP_INDEX_2_OFFSET + LSCP_INDEX_2_LENGTH;\n\n// The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n// Length 32=0x20 for lead bytes C0..DF, regardless of SHIFT_2.\nconst UTF8_2B_INDEX_2_OFFSET = INDEX_2_BMP_LENGTH;\nconst UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; // U+0800 is the first code point after 2-byte UTF-8\n\n// The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n// Variable length, for code points up to highStart, where the last single-value range starts.\n// Maximum length 512=0x200=0x100000>>SHIFT_1.\n// (For 0x100000 supplementary code points U+10000..U+10ffff.)\n//\n// The part of the index-2 table for supplementary code points starts\n// after this index-1 table.\n//\n// Both the index-1 table and the following part of the index-2 table\n// are omitted completely if there is only BMP data.\nconst INDEX_1_OFFSET = UTF8_2B_INDEX_2_OFFSET + UTF8_2B_INDEX_2_LENGTH;\n\n// The alignment size of a data block. Also the granularity for compaction.\nconst DATA_GRANULARITY = 1 << INDEX_SHIFT;\n\nclass UnicodeTrie {\n constructor(data) {\n const isBuffer = (typeof data.readUInt32BE === 'function') && (typeof data.slice === 'function');\n\n if (isBuffer || data instanceof Uint8Array) {\n // read binary format\n let uncompressedLength;\n if (isBuffer) {\n this.highStart = data.readUInt32LE(0);\n this.errorValue = data.readUInt32LE(4);\n uncompressedLength = data.readUInt32LE(8);\n data = data.slice(12);\n } else {\n const view = new DataView(data.buffer);\n this.highStart = view.getUint32(0, true);\n this.errorValue = view.getUint32(4, true);\n uncompressedLength = view.getUint32(8, true);\n data = data.subarray(12);\n }\n\n // double inflate the actual trie data\n data = inflate(data, new Uint8Array(uncompressedLength));\n data = inflate(data, new Uint8Array(uncompressedLength));\n\n // swap bytes from little-endian\n swap32LE(data);\n\n this.data = new Uint32Array(data.buffer);\n\n } else {\n // pre-parsed data\n ({ data: this.data, highStart: this.highStart, errorValue: this.errorValue } = data);\n }\n }\n\n get(codePoint) {\n let index;\n if ((codePoint < 0) || (codePoint > 0x10ffff)) {\n return this.errorValue;\n }\n\n if ((codePoint < 0xd800) || ((codePoint > 0xdbff) && (codePoint <= 0xffff))) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the index.\n // data is stored in the index array itself.\n index = (this.data[codePoint >> SHIFT_2] << INDEX_SHIFT) + (codePoint & DATA_MASK);\n return this.data[index];\n }\n\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n index = (this.data[LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> SHIFT_2)] << INDEX_SHIFT) + (codePoint & DATA_MASK);\n return this.data[index];\n }\n\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n index = this.data[(INDEX_1_OFFSET - OMITTED_BMP_INDEX_1_LENGTH) + (codePoint >> SHIFT_1)];\n index = this.data[index + ((codePoint >> SHIFT_2) & INDEX_2_MASK)];\n index = (index << INDEX_SHIFT) + (codePoint & DATA_MASK);\n return this.data[index];\n }\n\n return this.data[this.data.length - DATA_GRANULARITY];\n }\n}\n\nmodule.exports = UnicodeTrie;","const isBigEndian = (new Uint8Array(new Uint32Array([0x12345678]).buffer)[0] === 0x12);\n\nconst swap = (b, n, m) => {\n let i = b[n];\n b[n] = b[m];\n b[m] = i;\n};\n\nconst swap32 = array => {\n const len = array.length;\n for (let i = 0; i < len; i += 4) {\n swap(array, i, i + 3);\n swap(array, i + 1, i + 2);\n }\n};\n\nconst swap32LE = array => {\n if (isBigEndian) {\n swap32(array);\n }\n};\n\nmodule.exports = {\n swap32LE: swap32LE\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// runtime helper for setting properties on components\n// in a tree-shakable way\nexports.default = (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n};\n","/**\n* vue v3.5.13\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { initCustomFormatter, warn } from '@vue/runtime-dom';\nexport * from '@vue/runtime-dom';\n\nfunction initDev() {\n {\n initCustomFormatter();\n }\n}\n\nif (!!(process.env.NODE_ENV !== \"production\")) {\n initDev();\n}\nconst compile = () => {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Runtime compilation is not supported in this build of Vue.` + (` Configure your bundler to alias \"vue\" to \"vue/dist/vue.esm-bundler.js\".` )\n );\n }\n};\n\nexport { compile };\n","import Accordion from './modules/accordionModule';\r\nimport Carousel from './modules/carouselModule';\r\nimport Counter from './modules/numberCounterModule';\r\nimport Menu from './modules/menuModule';\r\nimport glyphBlock from './modules/glyphBlockModule';\r\nimport fontSpecimenBlock from './modules/fontSpecimenModule';\r\nimport fontSpecimenVariableBlock from './modules/fontSpecimenVariableModule';\r\nimport FeaturedBlock from './modules/featuredBlockModule';\r\nimport abcd8LogoModule from './modules/abcd8LogoModule';\r\nimport CaseStudiesRive from './modules/caseStudiesRiveModule';\r\nimport CTABlockAnimation from './modules/ctaBlockAnimationModule';\r\nimport DoubleMediaRive from './modules/doubleMediaRiveModule';\r\nimport HeroLoadAnimation from './modules/heroLoadAnimationModule';\r\nimport VideoPlayer from './modules/videoModule';\r\nimport FeaturedElement from './modules/featuredElementModule';\r\nimport Footer from './modules/footerModule';\r\nimport testimonialAnimation from './modules/testimonialAnimationModule';\r\nimport splitTextModule from './modules/splitTextModule';\r\nimport animatedFavicon from './modules/animatedFavicon';\r\nMenu();\r\nAccordion();\r\nCarousel();\r\nCounter();\r\nHeroLoadAnimation();\r\nVideoPlayer();\r\nglyphBlock();\r\nfontSpecimenBlock();\r\nfontSpecimenVariableBlock();\r\nabcd8LogoModule();\r\nCaseStudiesRive();\r\nCTABlockAnimation();\r\nDoubleMediaRive();\r\nFeaturedElement();\r\nFeaturedBlock();\r\nFooter();\r\ntestimonialAnimation();\r\nsplitTextModule();\r\nanimatedFavicon();\r\n","import { render } from \"./CharacterBlock.vue?vue&type=template&id=13492414\"\nimport script from \"./CharacterBlock.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./CharacterBlock.vue?vue&type=script&setup=true&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"src/js/apps/CharacterBlock.vue\"]])\n/* hot reload */\nif (module.hot) {\n __exports__.__hmrId = \"13492414\"\n const api = __VUE_HMR_RUNTIME__\n module.hot.accept()\n if (!api.createRecord('13492414', __exports__)) {\n api.reload('13492414', __exports__)\n }\n \n module.hot.accept(\"./CharacterBlock.vue?vue&type=template&id=13492414\", () => {\n api.rerender('13492414', render)\n })\n\n}\n\n\nexport default __exports__","import { render } from \"./DoubleMediaRiveElement.vue?vue&type=template&id=55f383da\"\nimport script from \"./DoubleMediaRiveElement.vue?vue&type=script&lang=js\"\nexport * from \"./DoubleMediaRiveElement.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"src/js/apps/DoubleMediaRiveElement.vue\"]])\n/* hot reload */\nif (module.hot) {\n __exports__.__hmrId = \"55f383da\"\n const api = __VUE_HMR_RUNTIME__\n module.hot.accept()\n if (!api.createRecord('55f383da', __exports__)) {\n api.reload('55f383da', __exports__)\n }\n \n module.hot.accept(\"./DoubleMediaRiveElement.vue?vue&type=template&id=55f383da\", () => {\n api.rerender('55f383da', render)\n })\n\n}\n\n\nexport default __exports__","import { render } from \"./FeaturedBlock.vue?vue&type=template&id=943fa702\"\nimport script from \"./FeaturedBlock.vue?vue&type=script&lang=js\"\nexport * from \"./FeaturedBlock.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"src/js/apps/FeaturedBlock.vue\"]])\n/* hot reload */\nif (module.hot) {\n __exports__.__hmrId = \"943fa702\"\n const api = __VUE_HMR_RUNTIME__\n module.hot.accept()\n if (!api.createRecord('943fa702', __exports__)) {\n api.reload('943fa702', __exports__)\n }\n \n module.hot.accept(\"./FeaturedBlock.vue?vue&type=template&id=943fa702\", () => {\n api.rerender('943fa702', render)\n })\n\n}\n\n\nexport default __exports__","import { render } from \"./FeaturedElement.vue?vue&type=template&id=1e2dae24\"\nimport script from \"./FeaturedElement.vue?vue&type=script&lang=js\"\nexport * from \"./FeaturedElement.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"src/js/apps/FeaturedElement.vue\"]])\n/* hot reload */\nif (module.hot) {\n __exports__.__hmrId = \"1e2dae24\"\n const api = __VUE_HMR_RUNTIME__\n module.hot.accept()\n if (!api.createRecord('1e2dae24', __exports__)) {\n api.reload('1e2dae24', __exports__)\n }\n \n module.hot.accept(\"./FeaturedElement.vue?vue&type=template&id=1e2dae24\", () => {\n api.rerender('1e2dae24', render)\n })\n\n}\n\n\nexport default __exports__","import { render } from \"./FeaturedRive.vue?vue&type=template&id=6d1073a4\"\nimport script from \"./FeaturedRive.vue?vue&type=script&lang=js\"\nexport * from \"./FeaturedRive.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"src/js/apps/FeaturedRive.vue\"]])\n/* hot reload */\nif (module.hot) {\n __exports__.__hmrId = \"6d1073a4\"\n const api = __VUE_HMR_RUNTIME__\n module.hot.accept()\n if (!api.createRecord('6d1073a4', __exports__)) {\n api.reload('6d1073a4', __exports__)\n }\n \n module.hot.accept(\"./FeaturedRive.vue?vue&type=template&id=6d1073a4\", () => {\n api.rerender('6d1073a4', render)\n })\n\n}\n\n\nexport default __exports__","import { render } from \"./FontSpecimenBlock.vue?vue&type=template&id=402c2a56\"\nimport script from \"./FontSpecimenBlock.vue?vue&type=script&lang=js\"\nexport * from \"./FontSpecimenBlock.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"src/js/apps/FontSpecimenBlock.vue\"]])\n/* hot reload */\nif (module.hot) {\n __exports__.__hmrId = \"402c2a56\"\n const api = __VUE_HMR_RUNTIME__\n module.hot.accept()\n if (!api.createRecord('402c2a56', __exports__)) {\n api.reload('402c2a56', __exports__)\n }\n \n module.hot.accept(\"./FontSpecimenBlock.vue?vue&type=template&id=402c2a56\", () => {\n api.rerender('402c2a56', render)\n })\n\n}\n\n\nexport default __exports__","import { render } from \"./FontSpecimenVariableBlock.vue?vue&type=template&id=b00f7b8c\"\nimport script from \"./FontSpecimenVariableBlock.vue?vue&type=script&lang=js\"\nexport * from \"./FontSpecimenVariableBlock.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"src/js/apps/FontSpecimenVariableBlock.vue\"]])\n/* hot reload */\nif (module.hot) {\n __exports__.__hmrId = \"b00f7b8c\"\n const api = __VUE_HMR_RUNTIME__\n module.hot.accept()\n if (!api.createRecord('b00f7b8c', __exports__)) {\n api.reload('b00f7b8c', __exports__)\n }\n \n module.hot.accept(\"./FontSpecimenVariableBlock.vue?vue&type=template&id=b00f7b8c\", () => {\n api.rerender('b00f7b8c', render)\n })\n\n}\n\n\nexport default __exports__","import { render } from \"./GlyphBlock.vue?vue&type=template&id=cf5cc51e\"\nimport script from \"./GlyphBlock.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./GlyphBlock.vue?vue&type=script&setup=true&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"src/js/apps/GlyphBlock.vue\"]])\n/* hot reload */\nif (module.hot) {\n __exports__.__hmrId = \"cf5cc51e\"\n const api = __VUE_HMR_RUNTIME__\n module.hot.accept()\n if (!api.createRecord('cf5cc51e', __exports__)) {\n api.reload('cf5cc51e', __exports__)\n }\n \n module.hot.accept(\"./GlyphBlock.vue?vue&type=template&id=cf5cc51e\", () => {\n api.rerender('cf5cc51e', render)\n })\n\n}\n\n\nexport default __exports__","import { render } from \"./FontSpecimenElement.vue?vue&type=template&id=38716046\"\nimport script from \"./FontSpecimenElement.vue?vue&type=script&lang=js\"\nexport * from \"./FontSpecimenElement.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"src/js/apps/elements/FontSpecimenElement.vue\"]])\n/* hot reload */\nif (module.hot) {\n __exports__.__hmrId = \"38716046\"\n const api = __VUE_HMR_RUNTIME__\n module.hot.accept()\n if (!api.createRecord('38716046', __exports__)) {\n api.reload('38716046', __exports__)\n }\n \n module.hot.accept(\"./FontSpecimenElement.vue?vue&type=template&id=38716046\", () => {\n api.rerender('38716046', render)\n })\n\n}\n\n\nexport default __exports__","import { render } from \"./FontSpecimenVariableElement.vue?vue&type=template&id=0d48a6c1\"\nimport script from \"./FontSpecimenVariableElement.vue?vue&type=script&lang=js\"\nexport * from \"./FontSpecimenVariableElement.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"src/js/apps/elements/FontSpecimenVariableElement.vue\"]])\n/* hot reload */\nif (module.hot) {\n __exports__.__hmrId = \"0d48a6c1\"\n const api = __VUE_HMR_RUNTIME__\n module.hot.accept()\n if (!api.createRecord('0d48a6c1', __exports__)) {\n api.reload('0d48a6c1', __exports__)\n }\n \n module.hot.accept(\"./FontSpecimenVariableElement.vue?vue&type=template&id=0d48a6c1\", () => {\n api.rerender('0d48a6c1', render)\n })\n\n}\n\n\nexport default __exports__","// export default (): void => {\r\n// \tconst logoCanvas = document.querySelector(\"#canvas\");\r\n// \tif (logoCanvas == null) return;\r\n// \timport(/* webpackChunkName: \"abcd8 logo\" */ \"../classes/abcd8LogoClass\")\r\n// \t\t.then(({ default: abcd8Logo }) => {\r\n// \t\t\tnew abcd8Logo(logoCanvas as HTMLCanvasElement);\r\n// \t\t})\r\n// \t\t.catch(() => \"An error with abcd8Logo occurred\");\r\n// };\r\nexport default () => {\r\n const navCanvases = [\r\n ...document.querySelectorAll(\".canvas-nav\")\r\n ];\r\n if (navCanvases.length === 0)\r\n return;\r\n import(/* webpackChunkName: \"abcd8 logo\" */ \"../classes/abcd8LogoClass\")\r\n .then(({ default: Abcd8Logo }) => {\r\n navCanvases.forEach(canvas => new Abcd8Logo(canvas));\r\n })\r\n .catch(() => console.error(\"An error with abcd8Logo occurred\"));\r\n};\r\n","export default () => {\r\n const accordionContainers = document.querySelectorAll('*[accordion-component]');\r\n if (accordionContainers.length === 0)\r\n return;\r\n import(/* webpackChunkName: \"accordion\" */ \"./../classes/accordionClass\")\r\n .then(({ default: Accordion }) => {\r\n accordionContainers.forEach(accordionContainer => {\r\n new Accordion(accordionContainer);\r\n });\r\n })\r\n .catch(() => \"An error with Accordion component occurred\");\r\n};\r\n","function animateFavicon(faviconImages, interval = 700) {\r\n let imageCounter = 0;\r\n setInterval(() => {\r\n // Remove current\r\n document.querySelectorAll(\"link[rel='icon'], link[rel='shortcut icon']\").forEach(el => el.remove());\r\n // Add new\r\n const faviconHtml = ``;\r\n document.querySelector('head')?.insertAdjacentHTML('beforeend', faviconHtml);\r\n // Cycle to next\r\n imageCounter = (imageCounter + 1) % faviconImages.length;\r\n }, interval);\r\n}\r\nexport default () => {\r\n const faviconImages = [\r\n '/assets/dist/img/Favicon/svg/favicon-a-01.svg',\r\n '/assets/dist/img/Favicon/svg/favicon-b-02.svg',\r\n '/assets/dist/img/Favicon/svg/favicon-c-07.svg',\r\n '/assets/dist/img/Favicon/svg/favicon-a-05.svg',\r\n '/assets/dist/img/Favicon/svg/favicon-b-04.svg',\r\n '/assets/dist/img/Favicon/svg/favicon-c-02.svg',\r\n '/assets/dist/img/Favicon/svg/favicon-a-02.svg',\r\n '/assets/dist/img/Favicon/svg/favicon-b-07.svg',\r\n '/assets/dist/img/Favicon/svg/favicon-c-04.svg',\r\n '/assets/dist/img/Favicon/svg/favicon-a-03.svg',\r\n '/assets/dist/img/Favicon/svg/favicon-b-06.svg',\r\n '/assets/dist/img/Favicon/svg/favicon-c-01.svg',\r\n '/assets/dist/img/Favicon/svg/favicon-a-04.svg',\r\n '/assets/dist/img/Favicon/svg/favicon-b-05.svg',\r\n '/assets/dist/img/Favicon/svg/favicon-c-03.svg',\r\n '/assets/dist/img/Favicon/svg/favicon-a-06.svg',\r\n '/assets/dist/img/Favicon/svg/favicon-b-03.svg',\r\n '/assets/dist/img/Favicon/svg/favicon-c-05.svg',\r\n '/assets/dist/img/Favicon/svg/favicon-a-07.svg',\r\n '/assets/dist/img/Favicon/svg/favicon-b-01.svg',\r\n '/assets/dist/img/Favicon/svg/favicon-c-06.svg',\r\n ];\r\n animateFavicon(faviconImages);\r\n};\r\n","export default () => {\r\n const carouselContainers = document.querySelectorAll('*[carousel-component]');\r\n if (carouselContainers.length === 0)\r\n return;\r\n import(/* webpackChunkName: \"carousel\" */ \"../classes/carouselClass\")\r\n .then(({ default: Carousel }) => {\r\n carouselContainers.forEach(carouselContainer => {\r\n new Carousel(carouselContainer);\r\n });\r\n })\r\n .catch(() => \"An error with carousel component occurred\");\r\n};\r\n","export default () => {\r\n const caseStudiesListingComponent = document.querySelectorAll('.case-studies-listing');\r\n if (caseStudiesListingComponent.length === 0)\r\n return;\r\n import(/* webpackChunkName: \"case studies listing\" */ \"./../classes/caseStudiesRive\")\r\n .then(({ default: CaseStudiesRive }) => {\r\n new CaseStudiesRive();\r\n })\r\n .catch(() => \"An error with case studies rive component occurred\");\r\n};\r\n","export default () => {\r\n const ctaBlock = document.querySelector('.call-to-action-block-right');\r\n if (!ctaBlock)\r\n return;\r\n import(/* webpackChunkName: \"CTABlock\" */ \"./../classes/ctaBlockAnimationClass\")\r\n .then(({ default: CtaBlock }) => {\r\n new CtaBlock(ctaBlock);\r\n })\r\n .catch(() => \"An error with CTA Block Module occurred\");\r\n};\r\n","import { createApp } from \"vue\";\r\nimport FeaturedElement from \"../apps/DoubleMediaRiveElement.vue\"\r\n\r\nexport default () => {\r\n\tconst app = createApp({});\r\n\r\n\tArray.prototype.unique = function () {\r\n\t\treturn this.filter((value, index, self) => self.indexOf(value) === index);\r\n\t};\r\n\r\n\t// Add last method to Array prototype if it doesn't exist\r\n\tif (!Array.prototype.last) {\r\n\t\tArray.prototype.last = function () {\r\n\t\t\treturn this[this.length - 1];\r\n\t\t};\r\n\t}\r\n\r\n\t// Select all elements with the id \"font-specimen-block\"\r\n\tconst newAppElements = document.querySelectorAll(\".rive-element-canvas\")\r\n\r\n\tnewAppElements.forEach((element) => {\r\n\t\tconst mediaId = element.getAttribute(\"data-media\");\r\n\t\tcreateApp(FeaturedElement, { id: mediaId }).mount(element);\r\n\t});\r\n};\r\n","import { createApp } from \"vue\";\r\nimport FeaturedBlock from \"../apps/FeaturedBlock.vue\";\r\n\r\n\r\nexport default () => {\r\nconst app = createApp({});\r\n\r\nArray.prototype.unique = function () {\r\n return this.filter((value, index, self) => self.indexOf(value) === index);\r\n };\r\n\r\n // Add last method to Array prototype if it doesn't exist\r\n if (!Array.prototype.last) {\r\n Array.prototype.last = function () {\r\n return this[this.length - 1];\r\n };\r\n }\r\n\r\n// Select all elements with the id \"font-specimen-block\"\r\nconst newAppElements = document.querySelectorAll(\"*[featured-block]\")\r\nnewAppElements.forEach((element) => {\r\n createApp(FeaturedBlock).mount(element);\r\n});\r\n}\r\n","import { createApp } from \"vue\";\r\nimport FeaturedElement from \"../apps/FeaturedElement.vue\";\r\n\r\nexport default () => {\r\n\tconst app = createApp({});\r\n\r\n\tArray.prototype.unique = function () {\r\n\t\treturn this.filter((value, index, self) => self.indexOf(value) === index);\r\n\t};\r\n\r\n\t// Add last method to Array prototype if it doesn't exist\r\n\tif (!Array.prototype.last) {\r\n\t\tArray.prototype.last = function () {\r\n\t\t\treturn this[this.length - 1];\r\n\t\t};\r\n\t}\r\n\r\n\t// Select all elements with the id \"font-specimen-block\"\r\n\tconst newAppElements = document.querySelectorAll(\"#featured-element-canvas\");\r\n\r\n\tnewAppElements.forEach((element) => {\r\n\t\tconst mediaId = element.getAttribute(\"data-media\");\r\n\t\tcreateApp(FeaturedElement, { id: mediaId }).mount(element);\r\n\t});\r\n};\r\n","import { createApp } from \"vue\";\r\nimport FontSpecimenBlock from \"../apps/FontSpecimenBlock.vue\";\r\n\r\n\r\nexport default () => {\r\nconst app = createApp({});\r\n\r\nArray.prototype.unique = function () {\r\n return this.filter((value, index, self) => self.indexOf(value) === index);\r\n };\r\n\r\n // Add last method to Array prototype if it doesn't exist\r\n if (!Array.prototype.last) {\r\n Array.prototype.last = function () {\r\n return this[this.length - 1];\r\n };\r\n }\r\n\r\n// Select all elements with the id \"font-specimen-block\"\r\nconst newAppElements = document.querySelectorAll(\"#font-specimen-block\");\r\n\r\nnewAppElements.forEach((element) => {\r\n createApp(FontSpecimenBlock).mount(element);\r\n});\r\n}\r\n","import { h } from \"vue\";\r\nimport FontSpecimenVariableBlock from \"../apps/FontSpecimenVariableBlock.vue\";\r\n\r\nexport default () => {\r\n Array.prototype.unique = function () {\r\n return this.filter(function (value, index, self) {\r\n return self.indexOf(value) === index;\r\n })\r\n };\r\n\r\n\r\n if (!Array.prototype.last) {\r\n Array.prototype.last = function () {\r\n return this[this.length - 1];\r\n }\r\n };\r\n\r\n\tlet newApp = document.querySelectorAll(\"#font-specimen-variable-block\");\r\n\r\n\tfor (let i = 0; i < newApp.length; i++) {\r\n\t\tnew Vue ({\r\n\t\t\tel: newApp[i],\r\n\t\t\trender: (h) => h(FontSpecimenVariableBlock)\r\n\t\t});\r\n\t};\r\n}\r\n","export default () => {\r\n const footer = document.getElementById(\"footer\");\r\n import(/* webpackChunkName: \"footer\" */ \"./../classes/footerClass\")\r\n .then(({ default: Footer }) => {\r\n new Footer(footer);\r\n })\r\n .catch(() => \"An error with footer occurred\");\r\n};\r\n","import { createApp } from \"vue\";\r\nimport GlyphBlock from \"../apps/GlyphBlock.vue\";\r\n\r\nexport default () => {\r\n // Add unique method to Array prototype\r\n Array.prototype.unique = function () {\r\n return this.filter((value, index, self) => self.indexOf(value) === index);\r\n };\r\n\r\n // Add last method to Array prototype if it doesn't exist\r\n if (!Array.prototype.last) {\r\n Array.prototype.last = function () {\r\n return this[this.length - 1];\r\n };\r\n }\r\n\r\n let newApp = document.querySelectorAll(\"#glyph-block\");\r\n\r\n newApp.forEach((element) => {\r\n const fontChoice = element.getAttribute(\"data-font\");\r\n createApp(GlyphBlock, { fonts: fontChoice }).mount(element);\r\n });\r\n};","export default () => {\r\n const heroLoadAnimationComponent = document.getElementById('hero-load-animation');\r\n if (heroLoadAnimationComponent == null)\r\n return;\r\n // console.log('id', heroLoadAnimationComponent)\r\n import(/* webpackChunkName: \"hero load animation\" */ \"./../classes/heroLoadAnimationClass\")\r\n .then(({ default: HeroLoadAnimationClass }) => {\r\n new HeroLoadAnimationClass();\r\n })\r\n .catch(() => \"An error with case studies rive component occurred\");\r\n};\r\n","export default () => {\r\n const menuItems = document.getElementById('navigation');\r\n // console.log(menuItems)\r\n if (!menuItems)\r\n return;\r\n import(/* webpackChunkName: \"menu\" */ \"./../classes/menuClass\")\r\n .then(({ default: Menu }) => {\r\n new Menu();\r\n })\r\n .catch(() => \"An error occurred\");\r\n};\r\n","export default () => {\r\n const numberCounterContainers = document.querySelectorAll('*[number-counter]');\r\n if (numberCounterContainers.length === 0)\r\n return;\r\n import(/* webpackChunkName: \"numberCounter\" */ \"../classes/numberCounterClass\")\r\n .then(({ default: NumberCounter }) => {\r\n numberCounterContainers.forEach(numberCounterContainers => {\r\n new NumberCounter(numberCounterContainers);\r\n });\r\n })\r\n .catch(() => \"An error with Number Counter class occurred\");\r\n};\r\n","export default () => {\r\n const split = document.querySelectorAll('.split');\r\n if (!split.length)\r\n return;\r\n import(/* webpackChunkName: \"splitText\" */ \"../classes/splitTextClass\")\r\n .then(({ default: SpliTextClass }) => {\r\n split.forEach((node) => new SpliTextClass(node));\r\n })\r\n .catch((err) => console.error('Error loading SplitText class:', err));\r\n};\r\n","export default () => {\r\n const testimonial = document.querySelector('*[testimonial-animation]');\r\n if (!testimonial)\r\n return;\r\n import(/* webpackChunkName: \"Testimonial Animation\" */ \"../classes/testimonialAnimation\")\r\n .then(({ default: TestimonialAnimation }) => {\r\n new TestimonialAnimation(testimonial);\r\n })\r\n .catch(() => \"An error with testimonial animation occurred\");\r\n};\r\n","export default () => {\r\n const videoContainers = document.querySelectorAll('*[video-player]');\r\n if (videoContainers.length === 0)\r\n return;\r\n import(/* webpackChunkName: \"videoPlayer\" */ \"./../classes/VideoClass\")\r\n .then(({ default: VideoPlayer }) => {\r\n videoContainers.forEach(videoContainer => {\r\n new VideoPlayer(videoContainer);\r\n });\r\n })\r\n .catch(() => \"An error with Accordion component occurred\");\r\n};\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\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// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".js\";\n};","// This function allow to reference all chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"main\": 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkwweebpack\"] = self[\"webpackChunkwweebpack\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","require('svg4everybody')({});\n"],"names":["inProgress","dataWebpackPrefix","factory","__webpack_modules__","__unused_webpack___webpack_module__","r","d","_scriptDir","Rive","document","currentScript","src","undefined","moduleArg","aa","ba","m","fa","a","g","n","c","b","Map","forEach","p","l","console","error","this","ob","e","Tb","f","requestAnimationFrame","bind","set","cancelAnimationFrame","delete","size","Rb","body","remove","createElement","style","backgroundColor","position","right","top","color","padding","innerHTML","toFixed","appendChild","performance","now","Ob","ha","push","has","clearTimeout","get","setTimeout","length","Math","max","keys","assert","ready","Promise","ia","onRuntimeInitialized","decodeAudio","decodeFont","FileAssetLoader","ptrToAsset","ptrToFileAsset","isImage","ptrToImageAsset","isFont","ptrToFontAsset","isAudio","ptrToAudioAsset","CustomFileAssetLoader","extend","__construct","loadContents","__parent","call","Gb","CDNFileAssetLoader","cdnUuid","cdnBaseUrl","XMLHttpRequest","responseType","onreadystatechange","readyState","status","decode","Uint8Array","response","open","send","FallbackFileAssetLoader","kb","addLoader","computeAlignment","ja","split","ka","k","t","alpha","depth","stencil","antialias","premultipliedAlpha","preserveDrawingBuffer","powerPreference","failIfMajorPerformanceCaveat","enableExtensionsByDefault","explicitSwapControl","renderViaOffscreenBackBuffer","test","navigator","userAgent","getContext","log","B","D","w","M","createShader","shaderSource","compileShader","getShaderInfoLog","attachShader","Proxy","isContextLost","apply","min","getParameter","MAX_RENDERBUFFER_SIZE","MAX_TEXTURE_SIZE","createProgram","VERTEX_SHADER","FRAGMENT_SHADER","bindAttribLocation","linkProgram","getProgramInfoLog","trim","getUniformLocation","useProgram","bindBuffer","ARRAY_BUFFER","createBuffer","enableVertexAttribArray","ELEMENT_ARRAY_BUFFER","uniform1i","pixelStorei","UNPACK_PREMULTIPLY_ALPHA_WEBGL","hc","Mb","deleteTexture","Lb","createTexture","bindTexture","TEXTURE_2D","texImage2D","RGBA","UNSIGNED_BYTE","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","LINEAR","TEXTURE_MIN_FILTER","LINEAR_MIPMAP_LINEAR","generateMipmap","u","v","x","Qb","canvas","T","width","height","viewport","disable","SCISSOR_TEST","clearColor","clear","COLOR_BUFFER_BIT","enable","sort","H","ca","wb","bufferData","DYNAMIC_DRAW","bufferSubData","Ta","da","Db","ra","indices","image","Ka","Ja","mc","scissor","Ya","Za","jb","Ac","uniform4f","Ba","Ca","uniform2f","ic","jc","vertexAttribPointer","FLOAT","drawElements","TRIANGLES","UNSIGNED_SHORT","la","q","srcOver","screen","overlay","darken","lighten","colorDodge","colorBurn","hardLight","softLight","difference","exclusion","multiply","hue","saturation","luminosity","drawWidth","drawHeight","reset","y","RenderPaintStyle","RenderPath","RenderPaint","Renderer","StrokeCap","StrokeJoin","BlendMode","fill","stroke","FillRule","evenOdd","RenderImage","xa","__destruct","URL","revokeObjectURL","Wa","F","Image","createObjectURL","Blob","type","onload","Fb","Path2D","rewind","addPath","G","A","I","J","K","X","Q","DOMMatrix","fillRule","Va","moveTo","lineTo","cubicTo","bezierCurveTo","close","closePath","Xa","thickness","Ib","join","miter","Ia","round","bevel","cap","butt","Ha","square","Hb","blendMode","Eb","clearGradient","linearGradient","yb","zb","bb","cb","Ra","radialGradient","ec","addStop","stop","completeGradient","draw","globalCompositeOperation","createRadialGradient","sqrt","createLinearGradient","ea","R","addColorStop","strokeStyle","lineWidth","lineCap","lineJoin","fillStyle","Set","CanvasRenderer","S","C","Ua","save","slice","restore","splice","transform","rotate","sin","cos","_drawPath","_drawRiveImage","globalAlpha","drawImage","_getMatrix","_drawImageMesh","Yb","Zb","Ga","sa","ceil","ta","DynamicRectanizer","addRect","add","$b","ac","Float32Array","Uint16Array","za","qd","resetTransform","bc","_clipPath","clip","clearRect","flush","translate","makeRenderer","indexOf","Error","decodeImage","renderFactory","makeRenderPaint","makeRenderPath","makeRenderImage","total","loaded","load","rd","RendererWrapper","prototype","align","enableFPSCounter","disableFPSCounter","resolveAnimationFrame","cleanup","ua","va","ma","Object","assign","na","oa","window","pa","importScripts","qa","self","location","href","substr","replace","lastIndexOf","onerror","ya","wa","print","printErr","thisProgram","wasmBinary","noExitRuntime","WebAssembly","Aa","z","E","Da","Ea","L","N","Fa","buffer","HEAP8","Int8Array","HEAP16","Int16Array","HEAP32","Int32Array","HEAPU8","HEAPU16","HEAPU32","Uint32Array","HEAPF32","HEAPF64","Float64Array","La","Ma","Na","Oa","preRun","shift","unshift","Pa","Qa","onAbort","RuntimeError","Sa","startsWith","locateFile","fetch","credentials","then","ok","arrayBuffer","catch","resolve","instantiate","$a","db","AudioContext","webkitAudioContext","h","capture","ga","stopped","xb","yc","Cb","pop","Sc","Bb","unlock","state","resume","ab","pb","map","removeEventListener","addEventListener","mediaDevices","getUserMedia","sampleRate","suspend","Z","createScriptProcessor","onaudioprocess","inputBuffer","getChannelData","outputBuffer","numberOfChannels","audio","video","createMediaStreamSource","connect","destination","disconnect","eb","fb","gb","charAt","filter","hb","exec","ib","crypto","getRandomValues","lb","arguments","TypeError","mb","TextDecoder","nb","subarray","String","fromCharCode","charCodeAt","qb","rb","Array","sb","tb","input","V","ub","vb","node","O","s","seekable","read","timestamp","Date","write","prompt","readline","Fc","Hc","Ec","Gc","Dc","cc","dc","j","Ub","P","U","createNode","dir","Y","Ab","stream","file","link","mode","Kc","Jc","id","Mc","Oc","uid","Lc","Bc","Nc","Ic","Jb","Cc","parent","name","hasOwnProperty","byteOffset","o","path","root","Kb","Nb","lc","Pb","includes","Vb","defineProperties","object","flags","Sb","Wb","Qc","kc","Xb","zc","logReadFiles","fc","gc","pc","message","constructor","stack","nc","oc","qc","rc","value","sc","tc","toString","create","uc","vc","W","wc","xc","count","i","Pc","FinalizationRegistry","unregister","register","Rc","fromWireType","Tc","Uc","Vc","Wc","Xc","Yc","Zc","$c","ad","bd","cd","dd","ed","fd","clone","gd","hd","toWireType","jd","kd","ld","concat","md","nd","od","pd","sd","td","ud","vd","wd","xd","yd","zd","Ad","Bd","Cd","Dd","Ed","Fd","Gd","Nd","Hd","Kd","Ld","Md","Od","USER","LOGNAME","PATH","PWD","HOME","LANG","languages","_","Pd","Qd","Rd","byteLength","BindingError","super","count_emval_handles","PureVirtualError","Td","Ud","getInheritedInstanceCount","getLiveInheritedInstances","flushPendingDeletes","setDelayFunction","InternalError","isAliasOf","getPrototypeOf","isDeleted","deleteLater","argPackAdvance","readValueFromPointer","deleteObject","pointerType","UnboundTypeError","Xd","__syscall_fcntl64","Vd","__syscall_ioctl","__syscall_openat","_embind_create_inheriting_constructor","defineProperty","implement","notifyOnDestruction","_embind_finalize_value_object","_embind_register_bigint","_embind_register_bool","_embind_register_class","$","_embind_register_class_class_function","Symbol","substring","_embind_register_class_class_property","enumerable","configurable","_embind_register_class_constructor","_embind_register_class_function","className","_embind_register_class_property","_embind_register_emval","_embind_register_enum","values","_embind_register_enum_value","_embind_register_float","_embind_register_function","_embind_register_integer","_embind_register_memory_view","_embind_register_std_string","ArrayBuffer","Uint8ClampedArray","Wd","_embind_register_std_wstring","_embind_register_value_object","_embind_register_value_object_field","_embind_register_void","_emscripten_get_now_is_monotonic","_emval_as","_emval_call_method","_emval_call_void_method","_emval_decref","_emval_get_method_caller","Jd","Id","_emval_get_module_property","_emval_get_property","_emval_incref","_emval_new_array","_emval_new_cstring","_emval_new_object","_emval_run_destructors","_emval_set_property","_emval_take_value","abort","emscripten_asm_const_int","emscripten_date_now","emscripten_get_now","emscripten_memcpy_big","copyWithin","emscripten_resize_heap","grow","environ_get","environ_sizes_get","fd_close","fd_read","fd_seek","NaN","isNaN","abs","floor","fd_write","strftime_l","getFullYear","getMonth","getDate","getDay","getTime","setDate","setMonth","setFullYear","RegExp","Sd","exports","memory","__indirect_function_table","__wasm_call_ctors","monitorRunDependencies","clearInterval","env","wasi_snapshot_preview1","instantiateWasm","instantiateStreaming","instance","free","malloc","_ma_device__on_notification_unlocked","ma_device__on_notification_unlocked","_ma_malloc_emscripten","ma_malloc_emscripten","_ma_free_emscripten","ma_free_emscripten","Yd","_ma_device_process_pcm_frames_capture__webaudio","ma_device_process_pcm_frames_capture__webaudio","_ma_device_process_pcm_frames_playback__webaudio","ma_device_process_pcm_frames_playback__webaudio","__errno_location","__getTypeName","$d","calledRun","noFSInit","stdin","stdout","stderr","postRun","setStatus","__embind_initialize_bindings","_embind_initialize_bindings","dynCall_iiji","dynCall_jiji","dynCall_iiiji","dynCall_iij","dynCall_jii","dynCall_viijii","dynCall_iiiiij","dynCall_iiiiijj","dynCall_iiiiiijj","Zd","preInit","__WEBPACK_DEFAULT_EXPORT__","module","JSON","parse","__unused_webpack_module","Animation","_Animation__WEBPACK_IMPORTED_MODULE_0__","animation","artboard","runtime","playing","loopCount","scrubTo","LinearAnimationInstance","time","loopValue","advance","mix","BLANK_URL","_sanitizeUrl__WEBPACK_IMPORTED_MODULE_1__","registerTouchInteractions","_registerTouchInteractions__WEBPACK_IMPORTED_MODULE_0__","sanitizeUrl","_a","_b","stateMachines","renderer","rive","fit","alignment","_c","isTouchScrollEnabled","_d","layoutScaleFactor","_prevEventType","_syntheticEventsActive","callback","event","MouseEvent","boundingRect","currentTarget","getBoundingClientRect","touches","preventDefault","clientX","clientY","changedTouches","getClientCoordinates","canvasX","left","canvasY","forwardMatrix","minX","minY","maxX","maxY","bounds","invertedMatrix","Mat2D","invert","canvasCoordinatesVector","Vec2D","transformedVector","mapXY","transformedX","transformedY","_i","stateMachines_1","pointerMove","stateMachines_2","stateMachines_3","pointerDown","stateMachines_4","pointerUp","passive","invalidProtocolRegex","htmlEntitiesRegex","htmlCtrlEntityRegex","ctrlCharactersRegex","urlSchemeRegex","relativeFirstCharacters","url","str","sanitizedUrl","match","dec","isRelativeUrlWithoutProtocol","urlSchemeParseResults","urlScheme","__webpack_module_cache__","moduleId","cachedModule","definition","key","obj","prop","toStringTag","Alignment","DataEnum","EventType","Fit","Layout","LoopType","RiveEventType","RiveFile","RuntimeLoader","StateMachineInput","StateMachineInputType","Testing","ViewModel","ViewModelInstance","ViewModelInstanceBoolean","ViewModelInstanceColor","ViewModelInstanceEnum","ViewModelInstanceNumber","ViewModelInstanceString","ViewModelInstanceTrigger","ViewModelInstanceValue","extendStatics","_rive_advanced_mjs__WEBPACK_IMPORTED_MODULE_0__","package_json__WEBPACK_IMPORTED_MODULE_1__","_animation__WEBPACK_IMPORTED_MODULE_2__","_utils__WEBPACK_IMPORTED_MODULE_3__","__extends","setPrototypeOf","__proto__","__","__assign","__awaiter","thisArg","_arguments","generator","reject","fulfilled","step","next","rejected","result","done","__generator","label","sent","trys","ops","Iterator","verb","iterator","op","RiveError","_super","_this","isHandledError","params","_e","_f","_g","Contain","Center","new","warn","copyWith","runtimeFit","cachedRuntimeFit","Cover","cover","contain","Fill","FitWidth","fitWidth","FitHeight","fitHeight","ScaleDown","scaleDown","layout","none","runtimeAlignment","cachedRuntimeAlignment","TopLeft","topLeft","TopCenter","topCenter","TopRight","topRight","CenterLeft","centerLeft","CenterRight","centerRight","BottomLeft","bottomLeft","BottomCenter","bottomCenter","BottomRight","bottomRight","center","loadRuntime","wasmURL","callBackQueue","errorDetails","wasmError","CompileError","originalError","debug","backupJsdelivrUrl","version","toLowerCase","setWasmUrl","errorMessage","getInstance","isLoading","awaitInstance","getWasmUrl","runtimeInput","fire","Trigger","StateMachine","stateMachine","inputs","StateMachineInstance","initInputs","names","stateChangedCount","stateChangedNameByIndex","advanceAndApply","reportedEventCount","reportedEventAt","inputCount","mapRuntimeInput","SMIInput","bool","Boolean","asBool","number","Number","asNumber","trigger","asTrigger","bindViewModelInstance","viewModelInstance","runtimeInstance","Animator","eventManager","animations","animatables","fireEvent","mapToStringArray","instancedAnimationNames","instancedMachineNames","aIndex","mIndex","anim","animationByName","newAnimation","sm","stateMachineByName","newStateMachine","Play","data","Pause","paused","initLinearAnimations","initStateMachines","instancedStateMachineNames","play","pause","scrub","forScrubbing","removedNames","animationsToRemove","machinesToRemove","Stop","reduce","acc","curr","isPlaying","atLeastOne","instancedName","animationCount","animationByIndex","stateMachineCount","stateMachineByIndex","handleLooping","Loop","PingPong","handleStateChanges","statesChanged","StateChange","handleAdvancing","Advance","SystemAudioStatus","EventManager","listeners","getListeners","listener","currentListener","removeAll","TaskQueueManager","queue","task","process","action","AudioManager","_started","_enabled","_status","UNAVAILABLE","delay","timeout","reportToListeners","AudioStatusChange","enableAudio","AVAILABLE","testAudio","_audioContext","race","_establishAudio","listenForUserAction","once","establishAudio","audioManager","FakeResizeObserver","observe","unobserve","MyResizeObserver","globalThis","ResizeObserver","observers","ObjectObservers","_elementsMap","_onObservedEntry","entry","observed","target","onResize","clientWidth","clientHeight","_resizeObserver","_onObserved","entries","element","enableRiveAssetCDN","referenceCount","destroyed","assetLoader","onLoad","on","Load","onLoadError","LoadError","initData","loader","loadRiveFile","fileLoadErrorMessage","init","missingErrorMessage","off","removeAllRiveEventListeners","_observed","readyForPlaying","eventCleanup","shouldDisableRiveListeners","automaticallyHandleEvents","_volume","_artboardWidth","_artboardHeight","_devicePixelRatioUsed","_hasZeroSize","_audioEventListener","_boundDraw","_viewModelInstance","_dataEnums","durations","frameTimes","frameCount","onCanvasResize","hasZeroSize","toggledDisplay","_layout","resizeToCanvas","resizeDrawingSurfaceToCanvas","renderSecondTimer","HTMLCanvasElement","riveFile","onPlay","onPause","onStop","onLoop","onStateChange","onAdvance","onloaderror","onplay","onpause","onstop","onloop","onstatechange","taskQueue","autoplay","autoBind","useOffscreenRenderer","onSystemAudioChanged","volume","startingAnimationNames","startingStateMachineNames","removeRiveListeners","deleteRiveRenderer","setupRiveListeners","riveListenerOptions","activeStateMachines","animator","hasListeners","touchScrollEnabledOption","initializeAudio","hasAudio","initArtboardSize","artboardName","animationNames","stateMachineNames","error_1","msg","cleanupErrorMessage","initArtboard","drawFrame","instanceNames","rootArtboard","artboardByName","defaultArtboard","systemVolume","viewModel","defaultArtboardViewModel","defaultInstance","timeline","currentTime","frameRequestId","startRendering","onSecond","before","lastRenderTime","elapsedTime","activeAnimations_1","needsScrub","first","didLoop","activeStateMachines_1","numEventsReported","event_1","OpenUrl","RiveEvent","newAnchorTag","setAttribute","click","alignRenderer","after","handleCallbacks","isPaused","isStopped","stopRendering","cleanupInstances","retrieveTextRun","textRunName","textRun","getTextRunValue","text","setTextRunValue","textRunValue","artBoardName","customDevicePixelRatio","dpr","devicePixelRatio","devicePixelRatioUsed","scaleFactor","stateMachineInputs","find","retrieveInputAtPath","inputByPath","setBooleanStateAtPath","inputName","setNumberStateAtPath","fireStateAtPath","retrieveTextAtPath","textByPath","getTextRunValueAtPath","textName","run","setTextRunValueAtPath","unsubscribe","unsubscribeAll","fpsCallback","riveContents","artboards","artboardCount","artboardByIndex","artboardContents","name_1","inputContents","resetArtboardSize","internalIncrementReferenceCount","viewModelByIndex","index","viewModelByName","enums","dataEnums","dataEnum","defaultViewModel","_viewModel","instanceCount","instanceByIndex","instanceByName","getProperties","getInstanceNames","_dataEnum","_propertiesWithCallbacks","_referenceCount","_runtimeInstance","_root","property","clearCallbacks","string","boolean","enum","replaceViewModel","addToCallbacks","removeFromCallbacks","incrementReferenceCount","decrementReferenceCount","callbacks","_viewModelInstanceValue","_rootViewModel","clearChanges","internalHandleCallback","hasChanged","val","valueIndex","rgb","rgba","argb","opacity","req","Request","bytes","_define_property","writable","args","activeEffectScope","activeSub","EffectScope","detached","_active","effects","cleanups","_isPaused","scopes","active","fn","currentEffectScope","fromParent","last","effectScope","getCurrentScope","onScopeDispose","failSilently","EffectFlags","pausedQueueEffects","WeakSet","ReactiveEffect","deps","depsTail","scheduler","notify","batch","cleanupEffect","prepareDeps","prevEffect","prevShouldTrack","shouldTrack","cleanupDeps","nextDep","removeSub","runIfDirty","isDirty","dirty","batchedSub","batchedComputed","batchDepth","sub","isComputed","startBatch","endBatch","err","prevActiveLink","dep","activeLink","head","tail","prev","prevDep","removeDep","computed","refreshComputed","_dirty","globalVersion","isSSR","prevSub","_value","soft","nextSub","subsHead","subs","effect","options","runner","trackStack","pauseTracking","enableTracking","resetTracking","onEffectCleanup","Link","Dep","track","debugInfo","addSub","onTrack","onTrigger","currentTail","targetMap","WeakMap","ITERATE_KEY","MAP_KEY_ITERATE_KEY","ARRAY_ITERATE_KEY","depsMap","newValue","oldValue","oldTarget","targetIsArray","isArray","isArrayIndex","isIntegerKey","newLength","key2","isSymbol","isMap","reactiveReadArray","array","raw","toRaw","isShallow","toReactive","shallowReadArray","arr","arrayInstrumentations","every","findIndex","findLast","findLastIndex","searchProxy","separator","noTracking","reduceRight","some","toReversed","toSorted","comparer","toSpliced","method","wrapValue","iter","_next","arrayProto","wrappedRetFn","needsWrap","methodFn","result2","wrappedFn","item","res","isProxy","isNonTrackableKeys","makeMap","builtInSymbols","getOwnPropertyNames","BaseReactiveHandler","_isReadonly","_isShallow","receiver","isReadonly2","isShallow2","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","Reflect","isRef","isObject","readonly","reactive","MutableReactiveHandler","isOldValueReadonly","isReadonly","hadKey","hasOwn","deleteProperty","ownKeys","ReadonlyReactiveHandler","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","shallowReadonlyHandlers","toShallow","getProto","createReadonlyMethod","capitalize","createInstrumentationGetter","shallow","instrumentations","rawTarget","rawKey","wrap","toReadonly","checkIdentityKeys","hadItems","targetIsMap","isPair","isKeyOnly","innerIterator","createIterableMethod","createInstrumentations","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","shallowReadonlyCollectionHandlers","toRawType","createReactiveObject","shallowReactive","shallowReadonly","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","isExtensible","rawType","targetTypeMap","proxy","isReactive","markRaw","def","ref","createRef","shallowRef","rawValue","RefImpl","_rawValue","useDirectValue","triggerRef","ref2","unref","toValue","source","isFunction","shallowUnwrapHandlers","proxyRefs","objectWithRefs","CustomRefImpl","_get","_set","newVal","customRef","toRefs","ret","propertyToRef","ObjectRefImpl","_object","_key","_defaultValue","depMap","getDepFromReactive","GetterRefImpl","_getter","toRef","defaultValue","ComputedRefImpl","setter","__v_isRef","getterOrOptions","debugOptions","getter","cRef","TrackOpTypes","TriggerOpTypes","ReactiveFlags","WatchErrorCodes","INITIAL_WATCHER_VALUE","cleanupMap","activeWatcher","getCurrentWatcher","onWatcherCleanup","cleanupFn","owner","watch","EMPTY_OBJ","immediate","deep","augmentJob","warnInvalidSource","onWarn","reactiveGetter","source2","traverse","boundCleanup","forceTrigger","isMultiSource","currentEffect","NOOP","baseGetter","Infinity","scope","watchHandle","_cb","job","immediateFirstRun","currentWatcher","cleanup2","seen","isSet","isPlainObject","getOwnPropertySymbols","propertyIsEnumerable","pushWarningContext","vnode","popWarningContext","isWarning","warn$1","component","appWarnHandler","appContext","config","warnHandler","trace","currentVNode","normalizedStack","recurseCount","parentInstance","getComponentTrace","callWithErrorHandling","stringify","formatComponentName","warnArgs","logs","postfix","isRoot","props","formatProps","formatTraceEntry","formatTrace","formatProp","isString","assertNumber","ErrorCodes","ErrorTypeStrings$1","handleError","callWithAsyncErrorHandling","isPromise","throwInDev","contextVNode","errorHandler","throwUnhandledErrorInProduction","cur","exposedInstance","errorInfo","errorCapturedHooks","info","logError","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","currentFlushPromise","RECURSION_LIMIT","nextTick","queueJob","jobId","getId","lastJob","start","end","middle","middleJob","middleJobId","findInsertionIndex","queueFlush","flushJobs","queuePostFlushCb","flushPreFlushCbs","checkRecursiveUpdates","flushPostFlushCbs","deduped","check","componentName","getComponentName","isHmrUpdating","hmrDirtyComponents","getGlobalThis","__VUE_HMR_RUNTIME__","createRecord","tryWrap","rerender","newRender","record","initialDef","render","instances","normalizeClassComponent","renderCache","update","reload","newComp","updateComponentDef","oldComp","dirtyInstances","propsCache","emitsCache","optionsCache","ceReload","styles","ce","_removeChildStyle","isClassComponent","__vccOpts","arg","devtools$1","devtoolsNotInstalled","emit$1","emit","setDevtoolsHook$1","hook","enabled","HTMLElement","__VUE_DEVTOOLS_HOOK_REPLAY__","newHook","devtoolsComponentAdded","createDevtoolsComponentHook","devtoolsComponentUpdated","_devtoolsComponentRemoved","devtoolsComponentRemoved","cleanupBuffer","app","devtoolsPerfStart","createDevtoolsPerformanceHook","devtoolsPerfEnd","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","__scopeId","pushScopeId","popScopeId","withScopeId","_id","withCtx","ctx","isNonScopedSlot","_n","renderFnWithContext","setBlockTracking","prevInstance","validateDirectiveName","isBuiltInDirective","withDirectives","directives","getComponentPublicInstance","bindings","dirs","modifiers","mounted","updated","invokeDirectiveHook","prevVNode","oldBindings","binding","el","TeleportEndKey","isTeleport","__isTeleport","isTeleportDisabled","disabled","isTeleportDeferred","defer","isTargetSVG","SVGElement","isTargetMathML","MathMLElement","resolveTarget","select","targetSelector","to","TeleportImpl","n1","n2","container","anchor","parentComponent","parentSuspense","namespace","slotScopeIds","optimized","internals","mountChildren","patchChildren","pbc","patchBlockChildren","insert","querySelector","createText","createComment","shapeFlag","children","dynamicChildren","placeholder","mainAnchor","mount","container2","anchor2","isCE","_teleportTarget","mountToTarget","targetAnchor","prepareAnchor","updateCssVars","queuePostRenderEffect","__isMounted","targetStart","wasDisabled","currentContainer","currentAnchor","traverseStaticChildren","moveTeleport","nextTarget","um","unmount","hostRemove","doRemove","shouldRemove","child","move","hydrate","nextSibling","parentNode","hydrateChildren","targetNode","_lpa","firstChild","nodeType","parentAnchor","moveType","isReorder","Teleport","isDisabled","ut","leaveCbKey","enterCbKey","useTransitionState","isMounted","isLeaving","isUnmounting","leavingVNodes","onMounted","onBeforeUnmount","TransitionHookValidator","Function","BaseTransitionPropsValidators","appear","persisted","onBeforeEnter","onEnter","onAfterEnter","onEnterCancelled","onBeforeLeave","onLeave","onAfterLeave","onLeaveCancelled","onBeforeAppear","onAppear","onAfterAppear","onAppearCancelled","recursiveGetSubtree","subTree","findNonCommentChild","hasFound","Comment","BaseTransition","setup","slots","getCurrentInstance","default","getTransitionRawChildren","rawProps","emptyPlaceholder","innerChild","getInnerChild$1","enterHooks","resolveTransitionHooks","hooks","setTransitionHooks","oldInnerChild","isSameVNodeType","leavingHooks","afterLeave","delayLeave","earlyRemove","delayedLeave","getLeavingNodesForType","leavingVNodesCache","postClone","callHook","callAsyncHook","hook2","beforeEnter","leavingVNode","enter","afterHook","cancelHook","called","cancelled","leave","vnode2","hooks2","isKeepAlive","cloneVNode","transition","ssContent","ssFallback","keepComment","parentKey","keyedFragmentCount","Fragment","patchFlag","defineComponent","extraOptions","useId","idPrefix","ids","markAsyncBoundary","knownTemplateRefs","useTemplateRef","refs","desc","getOwnPropertyDescriptor","setRef","rawRef","oldRawRef","isUnmount","isAsyncWrapper","__asyncResolved","refValue","oldRef","setupState","rawSetupState","canSetSetupRef","_isString","_isRef","doSet","existing","hasLoggedMismatchError","logMismatchError","getContainerType","namespaceURI","tagName","isSVGContainer","isMathMLContainer","isComment","createHydrationFunctions","rendererInternals","mt","mountComponent","patch","patchProp","hydrateNode","isFragmentStart","onMismatch","handleMismatch","domType","nextNode","Text","isTemplateNode","replaceNode","content","Static","needToAdoptContent","staticCount","outerHTML","hydrateFragment","hydrateElement","locateClosingAnchor","createVNode","previousSibling","lastChild","createTextVNode","forcePatch","vnodeHooks","needCallTransitionHooks","needTransition","textContent","hasWarned","isMismatchAllowed","clientText","isCustomElement","created","propHasMismatch","endsWith","isOn","isReservedProp","onVnodeBeforeMount","invokeVNodeHook","onVnodeMounted","queueEffectWithSuspense","parentVNode","normalizeVNode","isText","fragmentSlotScopeIds","isFragment","parentElement","next2","updateHOCHostEl","newNode","oldNode","parentNode2","replaceChild","hasChildNodes","_vnode","clientValue","mismatchType","mismatchKey","actual","expected","getAttribute","normalizeClass","isSetEqual","toClassSet","stringifyStyle","normalizeStyle","actualMap","toStyleMap","expectedMap","resolveCssVars","isMapEqual","isKnownSvgAttr","isBooleanAttr","isKnownHtmlAttr","hasAttribute","includeBooleanAttr","isRenderableAttrValue","format","MismatchTypeString","styleMap","getCssVars","cssVars","getEscapedCssVarName","allowMismatchAttr","allowedType","allowedAttr","list","requestIdleCallback","cancelIdleCallback","hydrateOnIdle","hydrateOnVisible","opts","IntersectionObserver","isIntersecting","Element","bottom","innerHeight","innerWidth","elementIsVisibleInViewport","hydrateOnMediaQuery","query","mql","matchMedia","matches","hydrateOnInteraction","interactions","hasHydrated","doHydrate","teardown","dispatchEvent","__asyncLoader","defineAsyncComponent","loadingComponent","errorComponent","hydrateStrategy","suspensible","onError","userOnError","resolvedComp","pendingRequest","retries","thisRequest","comp","__esModule","__asyncHydrate","forEachElement","bum","isUnmounted","currentInstance","createInnerComp","suspense","isInSSRComponentSetup","delayed","__isKeepAlive","KeepAlive","include","exclude","sharedContext","cache","current","__v_cache","_unmount","storageContainer","resetShapeFlag","pruneCache","pruneCacheEntry","cached","activate","instance2","isDeactivated","invokeArrayFns","vnodeHook","deactivate","invalidateMount","onVnodeUnmounted","pendingCacheKey","cacheSubtree","isSuspense","getInnerChild","onUpdated","rawVNode","isVNode","cachedVNode","parseInt","pattern","isRegExp","lastIndex","onActivated","registerKeepAliveHook","onDeactivated","wrappedHook","__wdc","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","onUnmounted","prepend","__weh","setCurrentInstance","toHandlerKey","createHook","lifecycle","onBeforeMount","onBeforeUpdate","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","COMPONENTS","DIRECTIVES","resolveComponent","maybeSelfReference","resolveAsset","NULL_DYNAMIC_COMPONENT","for","resolveDynamicComponent","resolveDirective","warnMissing","Component","selfName","camelize","extra","registry","renderList","renderItem","sourceIsArray","isInteger","from","createSlots","dynamicSlots","slot","renderSlot","fallback","noSlotted","openBlock","createBlock","validSlotContent","ensureValidVNode","slotKey","rendered","scopeId","vnodes","toHandlers","preserveCaseIfNecessary","getPublicInstance","isStatefulComponent","publicPropertiesMap","$el","$data","$props","$attrs","attrs","$slots","$refs","$parent","$root","$host","$emit","$options","__VUE_OPTIONS_API__","resolveMergedOptions","$forceUpdate","$nextTick","$watch","instanceWatch","isReservedPrefix","hasSetupBinding","__isScriptSetup","PublicInstanceProxyHandlers","accessCache","normalizedProps","propsOptions","shouldCacheAccess","publicGetter","cssModule","globalProperties","markAttrsAccessed","__cssModules","descriptor","RuntimeCompiledPublicInstanceProxyHandlers","unscopables","isGloballyAllowed","warnRuntimeUsage","defineProps","defineEmits","defineExpose","exposed","defineOptions","defineSlots","defineModel","withDefaults","defaults","useSlots","useAttrs","setupContext","createSetupContext","normalizePropsOrEmits","normalized","mergeDefaults","opt","skipFactory","mergeModels","createPropsRestProxy","excludedKeys","withAsyncContext","getAwaitable","awaitable","unsetCurrentInstance","createWatcher","publicThis","createPathGetter","handler","base","mixins","extends","extendsOptions","globalMixins","optionMergeStrategies","resolved","mergeOptions","strats","asMixin","strat","internalOptionMergeStrats","mergeDataFn","mergeEmitsOrPropsOptions","emits","methods","mergeObjectOptions","beforeCreate","mergeAsArray","beforeMount","beforeUpdate","beforeDestroy","beforeUnmount","unmounted","activated","deactivated","errorCaptured","serverPrefetch","components","merged","provide","inject","normalizeInject","createAppContext","isNativeTag","NO","compilerOptions","provides","uid$1","createAppAPI","rootComponent","rootProps","context","installedPlugins","pluginCleanupFns","_uid","_component","_props","_container","_context","_instance","use","plugin","install","mixin","validateComponentName","directive","rootContainer","isHydrate","__vue_app__","_ceVNode","devtoolsInitApp","onUnmount","devtoolsUnmountApp","runWithContext","lastApp","currentApp","parentProvides","treatDefaultAsFactory","hasInjectionContext","internalObjectProto","createInternalObject","isInternalObject","setFullProps","needCastKeys","rawCastValues","hasAttrsChanged","camelKey","isEmitListener","emitsOptions","rawCurrentProps","castValues","resolvePropValue","isAbsent","hasDefault","propsDefaults","_setProp","hyphenate","mixinPropsCache","normalizePropsOptions","hasExtends","extendProps","raw2","EMPTY_ARR","normalizedKey","validatePropName","propType","shouldCast","shouldCastTrue","typeName","validateProps","resolvedValues","camelizePropsKey","validateProp","required","validator","skipCheck","isValid","types","expectedTypes","valid","expectedType","assertType","receivedType","expectedValue","styleValue","receivedValue","isExplicable","elem","isBoolean","getInvalidTypeMessage","isSimpleType","ctor","isInternalKey","normalizeSlotValue","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","_ctx","normalizeVNodeSlots","assignSlots","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","$stable","supported","perf","startMeasure","isSupported","mark","endMeasure","startTag","endTag","measure","clearMarks","createRenderer","baseCreateRenderer","createHydrationRenderer","createHydrationFns","needWarn","__VUE_PROD_DEVTOOLS__","__VUE_PROD_HYDRATION_MISMATCH_DETAILS__","multi","initFeatureFlags","__VUE__","__VUE_DEVTOOLS_GLOBAL_HOOK__","hostInsert","hostPatchProp","hostCreateElement","hostCreateText","hostCreateComment","setText","hostSetText","setElementText","hostSetElementText","hostParentNode","hostNextSibling","setScopeId","hostSetScopeId","insertStaticContent","hostInsertStaticContent","getNextHostNode","processText","processCommentNode","mountStaticNode","patchStaticNode","processFragment","processElement","processComponent","removeStaticNode","mountElement","patchElement","is","resolveChildrenNamespace","filterSingleRoot","cloneIfMounted","__vnode","oldProps","newProps","toggleRecurse","onVnodeBeforeUpdate","patchProps","class","propsToUpdate","dynamicProps","onVnodeUpdated","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","updateComponent","initialVNode","createComponentInstance","__hmrId","registerHMR","setupComponent","asyncDep","registerDep","setupRenderEffect","nextVNode","prevProps","prevChildren","nextProps","nextChildren","hasPropsChanged","shouldUpdateComponent","asyncResolved","updateComponentPreRender","componentUpdateFn","bu","nonHydratedAsyncRoot","locateNonHydratedAsyncRoot","originNext","nextTree","renderComponentRoot","prevTree","bm","isAsyncWrapperVNode","hydrateSubTree","_injectChildStyle","scopedInitialVNode","rtc","rtg","rawPrevProps","isInHmrContext","kebabKey","camelizedKey","updateProps","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","unmountChildren","oldLength","commonLength","nextChild","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","len","arrI","getSequence","nextIndex","remove2","performLeave","moveStaticNode","cacheIndex","shouldInvokeDirs","shouldInvokeVnodeHook","onVnodeBeforeUnmount","unmountComponent","hasOnce","removeFragment","performRemove","unregisterHMR","pendingBranch","suspenseId","pendingId","teleportEnd","isFlushing","createApp","currentNamespace","encoding","allowed","ch1","ch2","subComponent","ssrContextKey","useSSRContext","watchEffect","doWatch","watchPostEffect","watchSyncEffect","baseWatchOptions","runsImmediately","ssrCleanup","__watcherHandles","watchStopHandle","isPre","isFirstRun","segments","useModel","camelizedName","hyphenatedName","getModelModifiers","localValue","prevEmittedValue","prevSetValue","propValue","emittedValue","i2","modelName","modelModifiers","rawArgs","isModelListener","looseToNumber","devtoolsComponentEmit","lowerCaseEvent","handlerName","onceHandler","emitted","normalizeEmitsOptions","extendEmits","normalizedFromExtend","accessedAttrs","withProxy","inheritAttrs","fallthroughAttrs","proxyToUse","thisProxy","render2","getFunctionalFallthrough","blockStack","setRoot","getChildRoot","filterModelListeners","allAttrs","eventAttrs","extraAttrs","isElementRoot","rawChildren","childRoot","dynamicIndex","updatedRoot","recurse","singleRoot","nextKeys","activeBranch","__isSuspense","Suspense","hiddenContainer","createSuspenseBoundary","triggerEvent","setActiveBranch","mountSuspense","isInFallback","newBranch","newFallback","isHydrating","patchSuspense","normalize","isSlotChildren","normalizeSuspenseSlot","eventListener","parentSuspenseId","isSuspensible","isVNodeSuspensible","toNumber","initialAnchor","sync","parentComponent2","delayEnter","hasUnresolvedAncestor","fallbackVNode","namespace2","mountFallback","optimized2","isInPendingSuspense","hydratedEl","asyncSetupResult","handleSetupResult","parentSuspense2","block","trackBlock","isBlockTreeEnabled","currentBlock","closeBlock","singleChild","branch","disableTracking","vnodeArgsTransformer","inVOnce","setupBlock","createElementBlock","createBaseVNode","__v_isVNode","transformVNodeArgs","transformer","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","__v_skip","normalizeChildren","cloned","guardReactiveProps","klass","_createVNode","extraProps","mergeRef","cloneTransition","mergedProps","mergeProps","deepCloneVNode","flag","createStaticVNode","numberOfNodes","createCommentVNode","asBlock","memo","slotFlag","toMerge","incoming","emptyAppContext","exposeProxy","sp","createDevRenderContext","internalSetCurrentInstance","setInSSRSetupState","registerGlobalSetter","setters","isBuiltInTag","compile","installWithProxy","isStateful","initProps","setupResult","isRuntimeOnly","exposePropsOnRenderContext","isAsyncSetup","resolvedResult","finishComponentSetup","setupStatefulComponent","__ssrInlineRender","ssrRender","devtoolsRawSetupState","exposeSetupStateOnRenderContext","registerRuntimeCompiler","_compile","_rc","skipOptions","template","delimiters","componentCompilerOptions","finalCompilerOptions","dataOptions","computedOptions","watchOptions","provideOptions","injectOptions","renderTracked","renderTriggered","expose","filters","checkDuplicateProperties","createDuplicateChecker","resolveInjections","methodHandler","registerLifecycleHook","_hook","applyOptions","attrsProxyHandlers","exposedType","attrsProxy","slotsProxy","freeze","getSlotsProxy","classifyRE","classify","toUpperCase","includeInferred","displayName","__name","__file","inferFromRegistry","warnRecursiveComputed","_warnRecursive","propsOrChildren","initCustomFormatter","vueStyle","numberStyle","stringStyle","keywordStyle","formatter","__vue_custom_formatter","header","__isVue","formatValue","hasBody","formatInstance","blocks","createInstanceBlock","extractKeys","asRaw","Comp","extracted","isKeyOfType","devtoolsFormatters","withMemo","isMemoSame","ErrorTypeStrings","devtools","setDevtoolsHook","ssrUtils","resolveFilter","compatUtils","DeprecationTypes","policy","tt","trustedTypes","createPolicy","createHTML","unsafeToTrustedHTML","doc","templateContainer","nodeOps","insertBefore","removeChild","tag","createElementNS","multiple","createTextNode","nodeValue","selector","cloneNode","wrapper","TRANSITION","ANIMATION","vtcKey","DOMTransitionPropsValidators","css","duration","enterFromClass","enterActiveClass","enterToClass","appearFromClass","appearActiveClass","appearToClass","leaveFromClass","leaveActiveClass","leaveToClass","TransitionPropsValidators","Transition","decorate$1","resolveTransitionProps","h2","hasExplicitCallback","baseProps","NumberOf","normalizeDuration","enterDuration","leaveDuration","finishEnter","isAppear","isCancelled","_enterCancelled","removeTransitionClass","finishLeave","_isLeaving","makeEnterHook","nextFrame","addTransitionClass","whenTransitionEnds","forceReflow","cls","classList","_vtc","endId","explicitTimeout","_endId","resolveIfNotStale","propCount","getTransitionInfo","endEvent","ended","onEnd","getComputedStyle","getStyleProperties","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","toMs","offsetHeight","vShowOriginalDisplay","vShowHidden","vShow","display","setDisplay","CSS_VAR_TEXT","useCssVars","updateTeleports","vars","querySelectorAll","setVarsOnNode","setVars","setVarsOnVNode","MutationObserver","childList","cssText","setProperty","displayRE","semicolonRE","importantRE","setStyle","prefixed","rawName","prefixCache","prefixes","autoPrefix","xlinkNS","patchAttr","isSVG","isSpecialBooleanAttr","removeAttributeNS","setAttributeNS","removeAttribute","patchDOMProp","attrName","needRemove","veiKey","optionsModifierRE","cachedNow","getNow","sanitizeEventValue","propName","isNativeOn","REMOVAL","defineCustomElement","_createApp","VueCustomElement","VueElement","initialProps","defineSSRCustomElement","createSSRApp","BaseClass","_def","_isVueCE","_app","_nonce","nonce","_connected","_resolved","_numberProps","_styleChildren","_ob","shadowRoot","attachShadow","_resolveProps","connectedCallback","isConnected","_parseSlots","host","_parent","_setParent","_update","_pendingResolve","_resolveDef","disconnectedCallback","attributes","_setAttr","mutations","attributeName","isAsync","numberProps","_applyStyles","_mount","asyncDef","configureApp","declaredPropKeys","_getProp","shouldReflect","shouldUpdate","_renderSlots","newStyles","_styles","dispatch","CustomEvent","detail","_childStyles","_slots","slotName","outlets","walker","createTreeWalker","oldStyles","useHost","caller","useShadowRoot","useCssModule","modules","positionMap","newPositionMap","moveCbKey","TransitionGroup","decorate","moveClass","hasCSSTransform","callPendingCbs","recordPosition","movedChildren","applyTranslation","webkitTransform","transitionDuration","propertyName","cssTransitionProps","oldPos","newPos","dx","dy","getModelAssigner","onCompositionStart","composing","onCompositionEnd","Event","assignKey","vModelText","lazy","castToNumber","domValue","activeElement","vModelCheckbox","modelValue","_modelValue","elementValue","getValue","checked","looseIndexOf","found","filtered","getCheckboxValue","setChecked","looseEqual","vModelRadio","vModelSelect","isSetModel","selectedVal","selected","_assigning","setSelected","_binding","isMultiple","isArrayValue","option","optionValue","optionType","selectedIndex","vModelDynamic","callModelHook","resolveDynamicModel","systemModifiers","modifierGuards","stopPropagation","prevent","ctrl","ctrlKey","shiftKey","alt","altKey","meta","metaKey","button","exact","withModifiers","_withMods","cacheKey","guard","keyNames","esc","space","up","down","withKeys","_withKeys","eventKey","rendererOptions","prevValue","nextValue","transitionClasses","patchClass","isCssString","hasControlledDisplay","prevStyle","cssVarText","patchStyle","invokers","existingInvoker","parseName","invoker","initialValue","_vts","attached","originalStop","stopImmediatePropagation","_stopped","patchStopImmediatePropagation","createInvoker","patchEvent","shouldSetAsProp","_trueValue","_falseValue","enabledHydration","ensureRenderer","ensureHydrationRenderer","injectNativeTagCheck","injectCompilerOptionsCheck","containerOrSelector","normalizeContainer","resolveRootNamespace","isHTMLTag","isSVGTag","isMathMLTag","ShadowRoot","ssrDirectiveInitialized","initDirectivesForSSR","getSSRProps","modelToUse","toTypeString","isDate","objectToString","cacheStringFunction","camelizeRE","hyphenateRE","fns","parseFloat","_globalThis","identRE","genPropsAccessExp","genCacheKey","PatchFlags","PatchFlagNames","ShapeFlags","SlotFlags","slotFlagsText","isGloballyWhitelisted","range","generateCodeFrame","lines","newlineSequences","idx","line","repeat","lineLength","newLineSeqLength","pad","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","tmp","normalizeProps","isVoidTag","specialBooleanAttrs","unsafeAttrCharRE","attrValidationCache","isSSRSafeAttrName","isUnsafe","propsToAttrMap","acceptCharset","htmlFor","httpEquiv","isKnownMathMLAttr","escapeRE","escapeHtml","escaped","html","commentStripRE","escapeHtmlComment","cssVarNameEscapeSymbolsRE","doubleEscape","aValidType","bValidType","equal","looseCompareArrays","aHasKey","bHasKey","toDisplayString","replacer","val2","stringifySymbol","description","utils","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","requestData","requestHeaders","headers","isFormData","request","auth","username","password","unescape","encodeURIComponent","Authorization","btoa","fullPath","baseURL","onloadend","responseHeaders","getAllResponseHeaders","responseText","statusText","paramsSerializer","responseURL","onabort","ontimeout","timeoutErrorMessage","transitional","clarifyTimeoutError","isStandardBrowserEnv","xsrfValue","withCredentials","xsrfCookieName","xsrfHeaderName","setRequestHeader","isUndefined","onDownloadProgress","onUploadProgress","upload","cancelToken","promise","cancel","Axios","mergeConfig","createInstance","defaultConfig","axios","instanceConfig","Cancel","CancelToken","isCancel","all","promises","spread","isAxiosError","__CANCEL__","executor","resolvePromise","token","reason","throwIfRequested","InterceptorManager","dispatchRequest","validators","interceptors","assertOptions","silentJSONParsing","forcedJSONParsing","requestInterceptorChain","synchronousRequestInterceptors","interceptor","runWhen","synchronous","responseInterceptorChain","chain","newConfig","onFulfilled","onRejected","getUri","handlers","eject","isAbsoluteURL","combineURLs","requestedURL","enhanceError","code","transformData","throwIfCancellationRequested","transformRequest","merge","common","adapter","transformResponse","toJSON","fileName","lineNumber","columnNumber","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","mergeDeepProperties","axiosKeys","otherKeys","validateStatus","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","isURLSearchParams","stringifySafely","strictJSONParsing","maxContentLength","maxBodyLength","encode","serializedParams","parts","toISOString","hashmarkIndex","relativeURL","expires","domain","secure","cookie","isNumber","toGMTString","decodeURIComponent","payload","originURL","msie","urlParsingNode","resolveURL","protocol","search","hash","hostname","port","pathname","requestURL","parsed","normalizedName","ignoreDuplicateOf","pkg","thing","deprecatedWarnings","currentVerArr","isOlderVersion","thanVersion","pkgVersionArr","destVer","isDeprecated","formatMessage","schema","allowUnknown","FormData","isView","pipe","URLSearchParams","product","assignValue","stripBOM","clickedGlyph","glyphCharacters","character","riveUrl","canvasId","mediaId","initRive","getElementById","riveElementAnimation","FeaturedRive","featuredAnimation","observer","boundingClientRect","con","featuredElements","routePath","featuredBlock","properties","items","contentType","featuredItem","initRiveAnimations","initScrollListener","riveInstance","scrollContainer","handleScroll","getSlideStyles","bgHex","backgroundColour","fontHex","fontColour","background","FontSpecimenElement","FontSpecimenVariableElement","specimenBlocks","json","specimenItems","specimens","ctaItem","cTA","spec","dropdownFonts","fontFile","font","fontName","variationType","fontTitleOverride","defaultFont","titleColour","cta","route","colour","injectFonts","getComponentType","getWeight","specimen","getFontColour","getTitleColour","getBackgroundStyle","getBackgroundColourString","getFontFamilyName","getOptions","fontFamily","getVariableProps","getDefaultSliderValue","blockIndex","specimenIndex","isFirst","isSecond","isLastBlock","isLastSpecimen","getCtaClass","cleaned","generateId","fontUrls","baseWindowWidth","__props","glyphBlockContainer","glyphBlockLeft","glyphLeftChar","glyphBlockRight","glyphBlockStats","lowerCase","upperCase","numbers","symbols","showLowercase","gridRows","baseFontSize","selectedFamily","selectedStyle","selectedFont","selectFontFamily","selectFontStyles","fontOffsetNoSupport","isIOSDevice","fontlist","fontFamilies","styleName","fontfaceName","marginOffset","marginOffsetIOS","currentFont","fonts","isIOS","maxTouchPoints","iOSMatch","isMacLikeTouchDevice","isWebKit","isChrome","isSafari","isLikelyIOS","isStandalone","standalone","iosClassEl","resizeLeftPanel","windowSize","ratio","fontSize","resizeGridRows","rows","supportsTextBoxProperties","CSS","supports","computedBlockLeft","getPropertyValue","loadFont","async","origin","buf","fontkit","family","weight","fontWeight","char","sampleText","defaultFontFamily","textElement","currentFontFamily","onChange","newWeight","sliders","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_toDisplayString","title","_hoisted_3","_Fragment","_renderList","characters","onClick","$event","$setup","handleClick","_hoisted_4","_component_FeaturedRive","_normalizeStyle","_hoisted_5","heading","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_cache","_createBlock","_resolveDynamicComponent","_mergeProps","_normalizeClass","_createCommentVNode","_component_FontSpecimenVariableElement","_createStaticVNode","onChangeFamily","fontfamily","onChangeStyle","fontstyle","onSliderChange","onCharSelected","ChangeLetter","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","Arr","_byteLength","curByte","revLookup","fromByteArray","uint8","extraBytes","maxChunkLength","len2","encodeChunk","lookup","num","output","BROTLI_READ_SIZE","kBitMask","BrotliBitReader","buf_","input_","READ_SIZE","IBUF_MASK","buf_ptr_","val_","pos_","bit_pos_","bit_end_pos_","eos_","readMoreInput","dst","bytes_read","fillBitWindow","readBits","n_bits","lookupOffsets","BrotliInput","BrotliOutput","BrotliDictionary","HuffmanCode","BrotliBuildHuffmanTable","Context","Prefix","Transform","HUFFMAN_MAX_TABLE_SIZE","kCodeLengthCodeOrder","kDistanceShortCodeIndexOffset","kDistanceShortCodeValueOffset","kMaxHuffmanTableSize","DecodeWindowBits","br","DecodeVarLenUint8","nbits","MetaBlockLength","meta_block_length","input_end","is_uncompressed","is_metadata","DecodeMetaBlockLength","size_nibbles","size_bytes","out","next_byte","next_nibble","ReadSymbol","table","bits","ReadHuffmanCode","alphabet_size","tables","table_size","simple_code_or_skip","code_lengths","max_bits_counter","max_bits","num_symbols","code_length_code_lengths","num_codes","huff","code_len_idx","symbol","prev_code_len","repeat_code_len","code_len","old_repeat","repeat_delta","extra_bits","new_len","ReadHuffmanCodeLengths","ReadBlockLength","kBlockLengthPrefixCode","offset","TranslateShortCodes","ringbuffer","MoveToFront","HuffmanTreeGroup","num_htrees","codes","htrees","DecodeContextMap","context_map_size","context_map","max_run_length_prefix","reps","v_len","mtf","InverseMoveToFrontTransform","DecodeBlockType","max_block_type","trees","tree_type","block_types","ringbuffers","indexes","block_type","type_code","CopyUncompressedBlockToOutput","pos","ringbuffer_mask","nbytes","rb_size","rb_pos","br_pos","JumpToByteBoundary","new_bit_pos","BrotliDecompressedSize","BrotliDecompress","window_bits","max_backward_distance","ringbuffer_size","ringbuffer_end","block_type_trees","block_len_trees","max_distance","dist_rb","dist_rb_idx","prev_byte1","prev_byte2","hgroup","kRingBufferWriteAheadSlack","maxDictionaryWordLength","distance_postfix_bits","num_direct_distance_codes","distance_postfix_mask","num_distance_codes","num_literal_htrees","dist_context_map","num_dist_htrees","context_mode","htree_command","meta_block_remaining_len","block_length","num_block_types","block_type_rb","block_type_rb_index","context_modes","context_map_slice","literal_htree_index","dist_context_map_slice","dist_htree_index","context_lookup_offset1","context_lookup_offset2","_out","_o1","_o2","cmd_code","range_idx","insert_code","copy_code","insert_length","copy_length","distance_code","distance","copy_dst","kInsertRangeLut","kCopyRangeLut","kInsertLengthPrefixCode","kCopyLengthPrefixCode","minDictionaryWordLength","offsetsByLength","word_id","sizeBitsByLength","transform_idx","kNumTransforms","transformDictionaryWord","_x","BrotliDecompressBuffer","output_size","output_buffer","base64","dictionary","GetNextKey","ReplicateValue","NextTableBitSize","root_bits","root_table","code_lengths_size","low","mask","table_bits","total_size","sorted","start_table","MAX_LENGTH","PrefixCodeRange","kUppercaseFirst","kUppercaseAll","prefix","suffix","kTransforms","ToUpperCase","word","uppercase","skip","start_idx","prefix_pos","suffix_pos","_instanceof","nativeMap","nativeSet","nativePromise","circular","includeNonEnumerable","allParents","allChildren","useBuffer","Buffer","_clone","proto","__isArray","__isRegExp","__getRegExpFlags","__isDate","allocUnsafe","copy","keyChild","valueChild","entryChild","allPropertyNames","__objToStr","re","global","ignoreCase","multiline","clonePrototype","dfa","stateTable","accepting","tags","startRun","lastAccepting","lastState","actions","valueOf","$parcel$export","$parcel$interopDefault","$d636bc798e7178db$exports","$d636bc798e7178db$export$bd5c5d8b8dcafd78","$d636bc798e7178db$export$36b2f24e97d43be","$d636bc798e7178db$export$185802fd694ee1f5","$d636bc798e7178db$export$42940898df819940","$d636bc798e7178db$export$5157e7780d44cc36","$d636bc798e7178db$var$formats","postscriptName","probe","getFont","lang","$e71565f2ce09cb6b$export$69a3209f1a06c04d","memoized","$26a62205ad06574e$var$SubHeader","firstCode","entryCount","idDelta","idRangeOffset","$26a62205ad06574e$var$CmapGroup","startCharCode","endCharCode","glyphID","$26a62205ad06574e$var$UnicodeValueRange","startUnicodeValue","additionalCount","$26a62205ad06574e$var$UVSMapping","unicodeValue","$26a62205ad06574e$var$DefaultUVS","$26a62205ad06574e$var$NonDefaultUVS","$26a62205ad06574e$var$VarSelectorRecord","varSelector","defaultUVS","nonDefaultUVS","$26a62205ad06574e$var$CmapSubtable","language","codeMap","subHeaderKeys","subHeaderCount","subHeaders","glyphIndexArray","segCountX2","segCount","searchRange","entrySelector","rangeShift","endCode","reservedPad","startCode","_currentOffset","glyphIndices","reserved","is32","nGroups","groups","numRecords","varSelectors","$26a62205ad06574e$var$CmapEntry","platformID","encodingID","$26a62205ad06574e$export$2e2bcd8739ae039","numSubtables","$f2612a29f92ac062$export$2e2bcd8739ae039","revision","checkSumAdjustment","magicNumber","unitsPerEm","modified","xMin","yMin","xMax","yMax","macStyle","lowestRecPPEM","fontDirectionHint","indexToLocFormat","glyphDataFormat","$2c179dd593583073$export$2e2bcd8739ae039","ascent","descent","lineGap","advanceWidthMax","minLeftSideBearing","minRightSideBearing","xMaxExtent","caretSlopeRise","caretSlopeRun","caretOffset","metricDataFormat","numberOfMetrics","$bdc9060542264b85$var$HmtxEntry","bearing","$bdc9060542264b85$export$2e2bcd8739ae039","metrics","hhea","bearings","maxp","numGlyphs","$dbf51cb3d3fe409d$export$2e2bcd8739ae039","maxPoints","maxContours","maxComponentPoints","maxComponentContours","maxZones","maxTwilightPoints","maxStorage","maxFunctionDefs","maxInstructionDefs","maxStackElements","maxSizeOfInstructions","maxComponentElements","maxComponentDepth","$e449ad78d50845fe$export$badc544e0651b6b1","languageID","$e449ad78d50845fe$export$479e671907f486d1","$e449ad78d50845fe$export$6fef87b7618bdf0b","$e449ad78d50845fe$var$SINGLE_BYTE_ENCODINGS","$e449ad78d50845fe$var$MAC_ENCODINGS","$e449ad78d50845fe$var$encodingCache","$e449ad78d50845fe$export$1dceb3c14ed68bee","mapping","decoder","$e449ad78d50845fe$export$2092376fd002e13","$2bcf221753ec8e32$var$NameRecord","nameID","relativeTo","stringOffset","allowNull","$2bcf221753ec8e32$var$LangTagRecord","$2bcf221753ec8e32$var$NameTable","records","langTagCount","langTags","$2bcf221753ec8e32$export$2e2bcd8739ae039","$2bcf221753ec8e32$var$NAMES","preEncode","en","$84b272aa31b70606$var$OS2","xAvgCharWidth","usWeightClass","usWidthClass","fsType","ySubscriptXSize","ySubscriptYSize","ySubscriptXOffset","ySubscriptYOffset","ySuperscriptXSize","ySuperscriptYSize","ySuperscriptXOffset","ySuperscriptYOffset","yStrikeoutSize","yStrikeoutPosition","sFamilyClass","panose","ulCharRange","vendorID","fsSelection","usFirstCharIndex","usLastCharIndex","typoAscender","typoDescender","typoLineGap","winAscent","winDescent","codePageRange","xHeight","capHeight","defaultChar","breakChar","maxContent","usLowerOpticalPointSize","usUpperOpticalPointSize","$84b272aa31b70606$var$versions","versions","$84b272aa31b70606$export$2e2bcd8739ae039","$32d9e2eb9565d93c$export$2e2bcd8739ae039","italicAngle","underlinePosition","underlineThickness","isFixedPitch","minMemType42","maxMemType42","minMemType1","maxMemType1","numberOfGlyphs","glyphNameIndex","offsets","$5202bd9d9ad8eaac$export$2e2bcd8739ae039","controlValues","$5c0f37ca5ffb1850$export$2e2bcd8739ae039","instructions","$2b2b260902b1c57e$var$loca","_processed","$2b2b260902b1c57e$export$2e2bcd8739ae039","$7afb878c7bea4f66$export$2e2bcd8739ae039","controlValueProgram","$6c92b6371bce8bd9$export$2e2bcd8739ae039","$43e9821ef3717eec$export$2e2bcd8739ae039","getCFFVersion","hdrSize","readUInt32BE","readUInt16BE","offsetType","offSize","readUInt8","startPos","writeUInt16BE","sizes","writeUInt8","$c2d28e92708f99da$var$FLOAT_LOOKUP","$c2d28e92708f99da$var$FLOAT_ENCODE_LOOKUP","$c2d28e92708f99da$export$2e2bcd8739ae039","readInt16BE","readInt32BE","forceLarge","writeInt32BE","writeInt16BE","$c2d28e92708f99da$var$FLOAT_EOF","$61aa549f16d58b9b$export$2e2bcd8739ae039","decodeOperands","operands","encodeOperands","_startOffset","fields","field","dict","includePointers","pointerSize","startOffset","pointers","pointerOffset","ptr","$0e34a43d05bde82c$export$2e2bcd8739ae039","$0e34a43d05bde82c$var$Ptr","$6d59db2e29cc77b3$export$2e2bcd8739ae039","numBlends","$229224aec43783c5$export$2e2bcd8739ae039","$bc0433d9b7e41f5f$export$dee0027060fa13bd","$ef658f5c9a1488b2$export$c33b50336c234f16","$7cbbe4e24ef3cb75$var$LangSysTable","reqFeatureIndex","featureCount","featureIndexes","$7cbbe4e24ef3cb75$var$LangSysRecord","langSys","$7cbbe4e24ef3cb75$var$Script","defaultLangSys","langSysRecords","$7cbbe4e24ef3cb75$var$ScriptRecord","script","$7cbbe4e24ef3cb75$export$3e15fc05ce864229","$7cbbe4e24ef3cb75$var$FeatureParams","$7cbbe4e24ef3cb75$export$6e91cf7616333d5","featureParams","lookupCount","lookupListIndexes","$7cbbe4e24ef3cb75$var$FeatureRecord","feature","$7cbbe4e24ef3cb75$export$aa18130def4b6cb4","$7cbbe4e24ef3cb75$var$LookupFlags","markAttachmentType","$7cbbe4e24ef3cb75$export$df0008c6ff2da22a","SubTable","Lookup","lookupType","subTableCount","subTables","markFilteringSet","useMarkFilteringSet","$7cbbe4e24ef3cb75$var$RangeRecord","startCoverageIndex","$7cbbe4e24ef3cb75$export$17608c3f81a6111","glyphCount","glyphs","rangeCount","rangeRecords","$7cbbe4e24ef3cb75$var$ClassRangeRecord","$7cbbe4e24ef3cb75$export$843d551fbbafef71","startGlyph","classValueArray","classRangeCount","classRangeRecord","$7cbbe4e24ef3cb75$export$8215d14a63d9fb10","deltaFormat","$7cbbe4e24ef3cb75$var$LookupRecord","sequenceIndex","lookupListIndex","$7cbbe4e24ef3cb75$var$Rule","lookupRecords","$7cbbe4e24ef3cb75$var$RuleSet","$7cbbe4e24ef3cb75$var$ClassRule","classes","$7cbbe4e24ef3cb75$var$ClassSet","$7cbbe4e24ef3cb75$export$841858b892ce1f4c","coverage","ruleSetCount","ruleSets","classDef","classSetCnt","classSet","coverages","$7cbbe4e24ef3cb75$var$ChainRule","backtrackGlyphCount","backtrack","inputGlyphCount","lookaheadGlyphCount","lookahead","$7cbbe4e24ef3cb75$var$ChainRuleSet","$7cbbe4e24ef3cb75$export$5e6d09e6861162f6","chainCount","chainRuleSets","backtrackClassDef","inputClassDef","lookaheadClassDef","chainClassSet","backtrackCoverage","inputCoverage","lookaheadCoverage","$1a47b0c45c1c22fe$var$F2DOT14","$1a47b0c45c1c22fe$var$RegionAxisCoordinates","startCoord","peakCoord","endCoord","$1a47b0c45c1c22fe$var$VariationRegionList","axisCount","regionCount","variationRegions","$1a47b0c45c1c22fe$var$DeltaSet","shortDeltas","shortDeltaCount","regionDeltas","regionIndexCount","deltas","$1a47b0c45c1c22fe$var$ItemVariationData","itemCount","regionIndexes","deltaSets","$1a47b0c45c1c22fe$export$fe1b122a2710f241","variationRegionList","variationDataCount","itemVariationData","$1a47b0c45c1c22fe$var$ConditionTable","axisIndex","filterRangeMinValue","filterRangeMaxValue","$1a47b0c45c1c22fe$var$ConditionSet","conditionCount","conditionTable","$1a47b0c45c1c22fe$var$FeatureTableSubstitutionRecord","featureIndex","alternateFeatureTable","$1a47b0c45c1c22fe$var$FeatureTableSubstitution","substitutionCount","substitutions","$1a47b0c45c1c22fe$var$FeatureVariationRecord","conditionSet","featureTableSubstitution","$1a47b0c45c1c22fe$export$441b70b7971dd419","majorVersion","minorVersion","featureVariationRecordCount","featureVariationRecords","$b84fd3dd9d8eddb2$var$PredefinedOp","predefinedOps","$b84fd3dd9d8eddb2$var$CFFEncodingVersion","$b84fd3dd9d8eddb2$var$Range1","nLeft","$b84fd3dd9d8eddb2$var$Range2","$b84fd3dd9d8eddb2$var$CFFEncoding","nCodes","nRanges","ranges","$b84fd3dd9d8eddb2$var$RangeArray","$b84fd3dd9d8eddb2$var$CFFCharset","CharStrings","$b84fd3dd9d8eddb2$var$FDRange3","$b84fd3dd9d8eddb2$var$FDRange4","$b84fd3dd9d8eddb2$var$FDSelect","fds","sentinel","$b84fd3dd9d8eddb2$var$ptr","$b84fd3dd9d8eddb2$var$CFFPrivateOp","$b84fd3dd9d8eddb2$var$FontDict","$b84fd3dd9d8eddb2$var$CFFTopDict","$b84fd3dd9d8eddb2$var$VariationStore","itemVariationStore","$b84fd3dd9d8eddb2$var$CFF2TopDict","$b84fd3dd9d8eddb2$export$2e2bcd8739ae039","nameIndex","topDictIndex","stringIndex","globalSubrIndex","topDict","$822ac0d589e4e237$var$CFFFont","isCIDFont","ROS","sid","fullName","FullName","familyName","FamilyName","getCharString","glyph","readBuffer","getGlyphName","gid","charset","fdForGlyph","FDSelect","high","mid","privateDictForGlyph","FDArray","Private","$822ac0d589e4e237$export$2e2bcd8739ae039","$2bbf2bc1ce37cd8f$var$VerticalOrigin","glyphIndex","vertOriginY","$2bbf2bc1ce37cd8f$export$2e2bcd8739ae039","defaultVertOriginY","numVertOriginYMetrics","$0941618dc22a946d$export$16b227cb15d716a0","horiBearingX","horiBearingY","horiAdvance","vertBearingX","vertBearingY","vertAdvance","$0941618dc22a946d$export$62c53e75f69bfe12","bearingX","bearingY","$0941618dc22a946d$var$EBDTComponent","xOffset","yOffset","$0941618dc22a946d$var$ByteAligned","$0941618dc22a946d$var$BitAligned","numComponents","dataLen","$9911c4c7201c13de$var$SBitLineMetrics","ascender","descender","widthMax","caretSlopeNumerator","caretSlopeDenominator","minOriginSB","minAdvanceSB","maxBeforeBL","minAfterBL","$9911c4c7201c13de$var$CodeOffsetPair","glyphCode","$9911c4c7201c13de$var$IndexSubtable","imageFormat","imageDataOffset","offsetArray","lastGlyphIndex","firstGlyphIndex","imageSize","bigMetrics","glyphArray","glyphCodeArray","$9911c4c7201c13de$var$IndexSubtableArray","subtable","$9911c4c7201c13de$var$BitmapSizeTable","indexSubTableArray","indexTablesSize","numberOfIndexSubTables","colorRef","hori","vert","startGlyphIndex","endGlyphIndex","ppemX","ppemY","bitDepth","$9911c4c7201c13de$export$2e2bcd8739ae039","numSizes","$abb847051efd51b1$var$ImageTable","ppem","resolution","imageOffsets","$abb847051efd51b1$export$2e2bcd8739ae039","numImgTables","imageTables","$eb629188f3dfefdd$var$LayerRecord","paletteIndex","$eb629188f3dfefdd$var$BaseGlyphRecord","firstLayerIndex","numLayers","$eb629188f3dfefdd$export$2e2bcd8739ae039","numBaseGlyphRecords","baseGlyphRecord","layerRecords","numLayerRecords","$08734b8e7dc64587$var$ColorRecord","blue","green","red","$08734b8e7dc64587$export$2e2bcd8739ae039","numPaletteEntries","numPalettes","numColorRecords","colorRecords","colorRecordIndices","offsetPaletteTypeArray","offsetPaletteLabelArray","offsetPaletteEntryLabelArray","$497cef411d884e34$var$BaseCoord","coordinate","referenceGlyph","baseCoordPoint","deviceTable","$497cef411d884e34$var$BaseValues","defaultIndex","baseCoordCount","baseCoords","$497cef411d884e34$var$FeatMinMaxRecord","minCoord","maxCoord","$497cef411d884e34$var$MinMax","featMinMaxCount","featMinMaxRecords","$497cef411d884e34$var$BaseLangSysRecord","minMax","$497cef411d884e34$var$BaseScript","baseValues","defaultMinMax","baseLangSysCount","baseLangSysRecords","$497cef411d884e34$var$BaseScriptRecord","$497cef411d884e34$var$BaseScriptList","$497cef411d884e34$var$BaseTagList","$497cef411d884e34$var$Axis","baseTagList","baseScriptList","$497cef411d884e34$export$2e2bcd8739ae039","horizAxis","vertAxis","$cf5f33c63ef209e6$var$AttachPoint","$cf5f33c63ef209e6$var$AttachList","attachPoints","$cf5f33c63ef209e6$var$CaretValue","caretValuePoint","$cf5f33c63ef209e6$var$LigGlyph","$cf5f33c63ef209e6$var$LigCaretList","ligGlyphCount","ligGlyphs","$cf5f33c63ef209e6$var$MarkGlyphSetsDef","markSetTableFormat","markSetCount","$cf5f33c63ef209e6$export$2e2bcd8739ae039","glyphClassDef","attachList","ligCaretList","markAttachClassDef","markGlyphSetsDef","$47e0e8ef515d9903$var$ValueFormat","$47e0e8ef515d9903$var$types","xPlacement","yPlacement","xAdvance","yAdvance","xPlaDevice","rel","yPlaDevice","xAdvDevice","yAdvDevice","$47e0e8ef515d9903$var$ValueRecord","buildStruct","struct","$47e0e8ef515d9903$var$PairValueRecord","secondGlyph","value1","value2","$47e0e8ef515d9903$var$PairSet","$47e0e8ef515d9903$var$Class2Record","$47e0e8ef515d9903$var$Anchor","xCoordinate","yCoordinate","anchorPoint","xDeviceTable","yDeviceTable","$47e0e8ef515d9903$var$EntryExitRecord","entryAnchor","exitAnchor","$47e0e8ef515d9903$var$MarkRecord","markAnchor","$47e0e8ef515d9903$var$MarkArray","$47e0e8ef515d9903$var$BaseRecord","classCount","$47e0e8ef515d9903$var$BaseArray","$47e0e8ef515d9903$var$ComponentRecord","$47e0e8ef515d9903$var$LigatureAttach","$47e0e8ef515d9903$var$LigatureArray","$47e0e8ef515d9903$export$73a8cfb19cd43a0f","valueFormat","valueCount","valueFormat1","valueFormat2","pairSetCount","pairSets","classDef1","classDef2","class1Count","class2Count","classRecords","entryExitCount","entryExitRecords","markCoverage","baseCoverage","markArray","baseArray","ligatureCoverage","ligatureArray","mark1Coverage","mark2Coverage","mark1Array","mark2Array","posFormat","extension","$47e0e8ef515d9903$export$2e2bcd8739ae039","scriptList","featureList","lookupList","featureVariations","$d3f442064af66e06$var$Sequence","$d3f442064af66e06$var$AlternateSet","$d3f442064af66e06$var$Ligature","compCount","$d3f442064af66e06$var$LigatureSet","$d3f442064af66e06$var$GSUBLookup","deltaGlyphID","substitute","substFormat","sequences","alternateSet","ligatureSets","substitutes","$d3f442064af66e06$export$2e2bcd8739ae039","$71cfb3c4767fbd0c$var$JstfGSUBModList","$71cfb3c4767fbd0c$var$JstfPriority","shrinkageEnableGSUB","shrinkageDisableGSUB","shrinkageEnableGPOS","shrinkageDisableGPOS","shrinkageJstfMax","extensionEnableGSUB","extensionDisableGSUB","extensionEnableGPOS","extensionDisableGPOS","extensionJstfMax","$71cfb3c4767fbd0c$var$JstfLangSys","$71cfb3c4767fbd0c$var$JstfLangSysRecord","jstfLangSys","$71cfb3c4767fbd0c$var$JstfScript","extenderGlyphs","langSysCount","$71cfb3c4767fbd0c$var$JstfScriptRecord","$71cfb3c4767fbd0c$export$2e2bcd8739ae039","scriptCount","$d059a6bd2d3b5b63$var$MapDataEntry","readUInt24BE","_size","entryFormat","outerIndex","innerIndex","$d059a6bd2d3b5b63$var$DeltaSetIndexMap","mapCount","mapData","$d059a6bd2d3b5b63$export$2e2bcd8739ae039","advanceWidthMapping","LSBMapping","RSBMapping","$dceeca3e1977ce30$var$Signature","$dceeca3e1977ce30$var$SignatureBlock","cbSignature","signature","$dceeca3e1977ce30$export$2e2bcd8739ae039","ulVersion","usNumSigs","usFlag","signatures","signatureBlocks","$8acd740a9435aad0$var$GaspRange","rangeMaxPPEM","rangeGaspBehavior","$8acd740a9435aad0$export$2e2bcd8739ae039","numRanges","gaspRanges","$b5f380243c34d6a0$var$DeviceRecord","pixelSize","maximumWidth","widths","$b5f380243c34d6a0$export$2e2bcd8739ae039","sizeDeviceRecord","$ca2df1256966e313$var$KernPair","$ca2df1256966e313$var$ClassTable","firstGlyph","nGlyphs","$ca2df1256966e313$var$Kern2Array","leftTable","rowWidth","$ca2df1256966e313$var$KernSubtable","nPairs","pairs","rightTable","kernValueCount","leftClassCount","rightClassCount","kernValue","leftClass","rightClass","kernIndex","$ca2df1256966e313$var$KernTable","subVersion","tupleIndex","$ca2df1256966e313$export$2e2bcd8739ae039","nTables","$7a9f92b0c46ebe33$export$2e2bcd8739ae039","yPels","$2b2ccc419d152631$export$2e2bcd8739ae039","fontNumber","pitch","typeFamily","symbolSet","typeface","characterComplement","strokeWeight","widthType","serifStyle","$ca5b40b9bcda9c9b$var$Ratio","bCharSet","xRatio","yStartRatio","yEndRatio","$ca5b40b9bcda9c9b$var$vTable","yPelHeight","$ca5b40b9bcda9c9b$var$VdmxGroup","recs","startsz","endsz","$ca5b40b9bcda9c9b$export$2e2bcd8739ae039","numRecs","numRatios","ratioRanges","$69530a3c40755af0$export$2e2bcd8739ae039","advanceHeightMax","minTopSideBearing","minBottomSideBearing","yMaxExtent","$344073dd270f0e62$var$VmtxEntry","$344073dd270f0e62$export$2e2bcd8739ae039","vhea","$3793b781918cfced$var$shortFrac","$3793b781918cfced$var$Correspondence","fromCoord","toCoord","$3793b781918cfced$var$Segment","pairCount","correspondence","$3793b781918cfced$export$2e2bcd8739ae039","segment","$6cb7dd5f47d82580$var$UnboundedArrayAccessor","getItem","_items","inspect","$6cb7dd5f47d82580$export$c5af1eebc882e39a","$6cb7dd5f47d82580$export$8351f8c2ae2f103c","ValueType","BinarySearchHeader","unitSize","nUnits","LookupSegmentSingle","lastGlyph","LookupSegmentArray","LookupSingle","binarySearchHeader","$6cb7dd5f47d82580$export$79f7d93d790934ba","entryData","newState","Entry","StateArray","nClasses","classTable","stateArray","entryTable","$6a3746e8c708f5a3$var$BslnSubtable","mappingData","standardGlyph","controlPoints","$6a3746e8c708f5a3$export$2e2bcd8739ae039","defaultBaseline","$d0c76fac617b308a$var$Setting","setting","fontFeatures","$d0c76fac617b308a$var$FeatureName","nSettings","settingTable","featureFlags","defaultSetting","$d0c76fac617b308a$export$2e2bcd8739ae039","featureNameCount","reserved1","reserved2","featureNames","$e83fd065f00fcd01$var$Axis","axisTag","minValue","maxValue","$e83fd065f00fcd01$var$Instance","coord","postscriptNameID","instanceSize","$e83fd065f00fcd01$export$2e2bcd8739ae039","offsetToData","countSizePairs","axisSize","axis","$dbe33c8d3a7f131c$var$shortFrac","$dbe33c8d3a7f131c$export$2e2bcd8739ae039","globalCoordCount","globalCoords","$05b01887df96c4ee$var$ClassTable","subFeatureFlags","ClassLookupTable","newStateOffset","$05b01887df96c4ee$var$WidthDeltaRecord","justClass","beforeGrowLimit","beforeShrinkLimit","afterGrowLimit","afterShrinkLimit","growFlags","shrinkFlags","$05b01887df96c4ee$var$WidthDeltaCluster","$05b01887df96c4ee$var$ActionData","lowerLimit","upperLimit","order","addGlyph","substThreshold","substGlyph","variationAxis","minimumLimit","noStretchValue","maximumLimit","$05b01887df96c4ee$var$Action","actionClass","actionType","actionLength","actionData","$05b01887df96c4ee$var$PostcompensationAction","$05b01887df96c4ee$var$PostCompensationTable","lookupTable","$05b01887df96c4ee$var$JustificationTable","wdcOffset","postCompensationTable","widthDeltaClusters","$05b01887df96c4ee$export$2e2bcd8739ae039","horizontal","vertical","$03ee6ebd54db1053$var$LigatureData","$03ee6ebd54db1053$var$ContextualData","markIndex","currentIndex","$03ee6ebd54db1053$var$InsertionData","currentInsertIndex","markedInsertIndex","$03ee6ebd54db1053$var$SubstitutionTable","$03ee6ebd54db1053$var$SubtableData","substitutionTable","ligatureActions","ligatureList","insertionActions","$03ee6ebd54db1053$var$Subtable","$03ee6ebd54db1053$var$FeatureEntry","featureType","featureSetting","enableFlags","disableFlags","$03ee6ebd54db1053$var$MorxChain","defaultFlags","chainLength","nFeatureEntries","nSubtables","features","subtables","$03ee6ebd54db1053$export$2e2bcd8739ae039","unused","nChains","chains","$b7492a80b0d1a056$var$OpticalBounds","$b7492a80b0d1a056$export$2e2bcd8739ae039","$c3395722bea751e2$var$tables","$c3395722bea751e2$export$2e2bcd8739ae039","cmap","hmtx","post","fpgm","loca","prep","glyf","VORG","EBLC","CBLC","sbix","COLR","CPAL","BASE","GDEF","GPOS","GSUB","JSTF","HVAR","DSIG","gasp","hdmx","kern","LTSH","PCLT","VDMX","vmtx","avar","bsln","feat","fvar","gvar","just","morx","opbd","$816c07a04b6dba87$var$TableEntry","checkSum","$816c07a04b6dba87$var$Directory","numTables","maxExponentFor2","LN2","maxPowerOf2","pow","$816c07a04b6dba87$export$2e2bcd8739ae039","$12727730ddfc8bfe$export$2e0ae67339d5f1ac","cmp","$12727730ddfc8bfe$export$d02631cccf789723","$12727730ddfc8bfe$export$3d28c1996ced1f14","$12727730ddfc8bfe$var$LOOKUP","$12727730ddfc8bfe$var$CHARS","$12727730ddfc8bfe$export$94fdf11bafc8de6b","bufferLength","encoded1","encoded2","encoded3","encoded4","$f08dd41ef10b694c$export$2e2bcd8739ae039","findSubtable","cmapTable","codepoint","variationSelector","getVariationSelector","rangeOffset","group","uvs","selectors","toArray","sel","getCharacterSet","endCodes","codePointsForGlyph","delta","$0bba3a9db57637f3$export$2e2bcd8739ae039","positions","getKerning","crossStream","variation","pairIdx","pair","leftOffset","rightOffset","override","$0a4bdfeb6dfd6f5e$export$2e2bcd8739ae039","positionGlyphs","clusterStart","clusterEnd","isMark","positionCluster","baseBox","cbox","codePoints","yGap","markBox","combiningClass","getCombiningClass","codePoint","$f34600ab9d7f70d8$export$2e2bcd8739ae039","addPoint","$130d1a642ebcd2b7$var$UNICODE_SCRIPTS","Caucasian_Albanian","Arabic","Imperial_Aramaic","Armenian","Avestan","Balinese","Bamum","Bassa_Vah","Batak","Bengali","Bopomofo","Brahmi","Braille","Buginese","Buhid","Chakma","Canadian_Aboriginal","Carian","Cham","Cherokee","Coptic","Cypriot","Cyrillic","Devanagari","Deseret","Duployan","Egyptian_Hieroglyphs","Elbasan","Ethiopic","Georgian","Glagolitic","Gothic","Grantha","Greek","Gujarati","Gurmukhi","Hangul","Han","Hanunoo","Hebrew","Hiragana","Pahawh_Hmong","Katakana_Or_Hiragana","Old_Italic","Javanese","Kayah_Li","Katakana","Kharoshthi","Khmer","Khojki","Kannada","Kaithi","Tai_Tham","Lao","Latin","Lepcha","Limbu","Linear_A","Linear_B","Lisu","Lycian","Lydian","Mahajani","Mandaic","Manichaean","Mende_Kikakui","Meroitic_Cursive","Meroitic_Hieroglyphs","Malayalam","Modi","Mongolian","Mro","Meetei_Mayek","Myanmar","Old_North_Arabian","Nabataean","Nko","Ogham","Ol_Chiki","Old_Turkic","Oriya","Osmanya","Palmyrene","Pau_Cin_Hau","Old_Permic","Phags_Pa","Inscriptional_Pahlavi","Psalter_Pahlavi","Phoenician","Miao","Inscriptional_Parthian","Rejang","Runic","Samaritan","Old_South_Arabian","Saurashtra","Shavian","Sharada","Siddham","Khudawadi","Sinhala","Sora_Sompeng","Sundanese","Syloti_Nagri","Syriac","Tagbanwa","Takri","Tai_Le","New_Tai_Lue","Tamil","Tai_Viet","Telugu","Tifinagh","Tagalog","Thaana","Thai","Tibetan","Tirhuta","Ugaritic","Vai","Warang_Citi","Old_Persian","Cuneiform","Yi","Inherited","Common","Unknown","$130d1a642ebcd2b7$var$OPENTYPE_SCRIPTS","$130d1a642ebcd2b7$var$RTL","arab","hebr","syrc","thaa","cprt","khar","phnx","lydi","avst","armi","phli","prti","sarb","orkh","samr","mand","merc","mero","mani","mend","nbat","narb","palm","phlp","$130d1a642ebcd2b7$export$9fddb9d0dd7d8a54","$be07b3e97a42687a$export$2e2bcd8739ae039","advanceWidth","advanceHeight","bbox","direction","$1ac75d9a55b67f01$export$2e2bcd8739ae039","$3b6302b64eccc32c$var$features","allTypographicFeatures","exclusive","allTypeFeatures","ligatures","requiredLigatures","commonLigatures","rareLigatures","rebusPictures","diphthongLigatures","squaredLigatures","abbrevSquaredLigatures","symbolLigatures","contextualLigatures","historicalLigatures","cursiveConnection","unconnected","partiallyConnected","cursive","letterCase","verticalSubstitution","substituteVerticalForms","linguisticRearrangement","numberSpacing","monospacedNumbers","proportionalNumbers","thirdWidthNumbers","quarterWidthNumbers","smartSwash","wordInitialSwashes","wordFinalSwashes","nonFinalSwashes","diacritics","showDiacritics","hideDiacritics","decomposeDiacritics","verticalPosition","normalPosition","superiors","inferiors","ordinals","scientificInferiors","fractions","noFractions","verticalFractions","diagonalFractions","overlappingCharacters","preventOverlap","typographicExtras","slashedZero","mathematicalExtras","mathematicalGreek","ornamentSets","noOrnaments","dingbats","piCharacters","fleurons","decorativeBorders","internationalSymbols","mathSymbols","characterAlternatives","noAlternates","designComplexity","designLevel1","designLevel2","designLevel3","designLevel4","designLevel5","styleOptions","noStyleOptions","displayText","engravedText","illuminatedCaps","titlingCaps","tallCaps","characterShape","traditionalCharacters","simplifiedCharacters","JIS1978Characters","JIS1983Characters","JIS1990Characters","traditionalAltOne","traditionalAltTwo","traditionalAltThree","traditionalAltFour","traditionalAltFive","expertCharacters","JIS2004Characters","hojoCharacters","NLCCharacters","traditionalNamesCharacters","numberCase","lowerCaseNumbers","upperCaseNumbers","textSpacing","proportionalText","monospacedText","halfWidthText","thirdWidthText","quarterWidthText","altProportionalText","altHalfWidthText","transliteration","noTransliteration","annotation","noAnnotation","boxAnnotation","roundedBoxAnnotation","circleAnnotation","invertedCircleAnnotation","parenthesisAnnotation","periodAnnotation","romanNumeralAnnotation","diamondAnnotation","invertedBoxAnnotation","invertedRoundedBoxAnnotation","kanaSpacing","fullWidthKana","proportionalKana","ideographicSpacing","fullWidthIdeographs","proportionalIdeographs","halfWidthIdeographs","unicodeDecomposition","canonicalComposition","compatibilityComposition","transcodingComposition","rubyKana","CJKSymbolAlternatives","noCJKSymbolAlternatives","CJKSymbolAltOne","CJKSymbolAltTwo","CJKSymbolAltThree","CJKSymbolAltFour","CJKSymbolAltFive","ideographicAlternatives","noIdeographicAlternatives","ideographicAltOne","ideographicAltTwo","ideographicAltThree","ideographicAltFour","ideographicAltFive","CJKVerticalRomanPlacement","CJKVerticalRomanCentered","CJKVerticalRomanHBaseline","italicCJKRoman","CJKItalicRoman","caseSensitiveLayout","caseSensitiveSpacing","alternateKana","alternateHorizKana","alternateVertKana","stylisticAlternatives","noStylisticAlternates","stylisticAltOne","stylisticAltTwo","stylisticAltThree","stylisticAltFour","stylisticAltFive","stylisticAltSix","stylisticAltSeven","stylisticAltEight","stylisticAltNine","stylisticAltTen","stylisticAltEleven","stylisticAltTwelve","stylisticAltThirteen","stylisticAltFourteen","stylisticAltFifteen","stylisticAltSixteen","stylisticAltSeventeen","stylisticAltEighteen","stylisticAltNineteen","stylisticAltTwenty","contextualAlternates","swashAlternates","contextualSwashAlternates","defaultLowerCase","lowerCaseSmallCaps","lowerCasePetiteCaps","defaultUpperCase","upperCaseSmallCaps","upperCasePetiteCaps","languageTag","CJKRomanSpacing","halfWidthCJKRoman","proportionalCJKRoman","defaultCJKRoman","fullWidthCJKRoman","$3b6302b64eccc32c$var$feature","$3b6302b64eccc32c$var$OTMapping","rlig","clig","dlig","hlig","liga","hist","smcp","pcap","frac","dnom","numr","afrc","case","ccmp","cpct","valt","swsh","cswh","curs","c2pc","c2sc","fin2","medi","med2","fin3","fina","pkna","half","halt","hkna","vkna","ital","lnum","onum","mgrk","calt","vrt2","tnum","pnum","sups","ordn","pwid","hwid","qwid","twid","fwid","palt","trad","smpl","jp78","jp83","jp90","jp04","expt","hojo","nlck","tnam","ruby","titl","zero","ss01","ss02","ss03","ss04","ss05","ss06","ss07","ss08","ss09","ss10","ss11","ss12","ss13","ss14","ss15","ss16","ss17","ss18","ss19","ss20","$3b6302b64eccc32c$var$AATMapping","ot","aat","$3b6302b64eccc32c$var$mapFeatureStrings","typeCode","settingCode","$ff5ce077dae0f144$export$2e2bcd8739ae039","seg","glyphsForValue","classValue","$50c7aac9316f2948$export$2e2bcd8739ae039","reverse","processEntry","currentState","classCode","shouldAdvance","entryIndex","visited","row","exit","$55f71433a605c87d$var$REVERSE_DIRECTION","$55f71433a605c87d$export$2e2bcd8739ae039","processSubtable","processNoncontextualSubstitutions","ligatureStack","markedGlyph","markedIndex","getStateMachine","getProcessor","processIndicRearragement","processContextualSubstitution","processLigature","processGlyphInsertion","$55f71433a605c87d$var$swap","$55f71433a605c87d$var$reorderGlyphs","subsitutions","getGlyph","actionIndex","ligatureIndex","ligatureGlyphs","componentGlyph","store","ligatureEntry","_insertGlyphs","insertionActionIndex","isBefore","insertions","getSupportedFeatures","generateInputs","inputCache","generateInputCache","generateInputsForSubtable","rangeA","rangeB","reverseA","reverseB","$ba6dd74203be8728$export$2e2bcd8739ae039","glyphRun","morxProcessor","$3b6302b64eccc32c$export$b813f7d2a1677c16","getAvailableFeatures","$3b6302b64eccc32c$export$bd6df347a4f391c4","stringsForGlyph","glyphStrings","_addStrings","strings","_cmapProcessor","fromCodePoint","fallbackPosition","$94d7a73bd2edfc9a$export$2e2bcd8739ae039","_addFeatures","stageIndex","stages","stage","allFeatures","globalFeatures","local","addStage","setFeatureOverrides","assignGlobalFeatures","processor","applyFeatures","$649970d87335b30f$var$VARIATION_FEATURES","$649970d87335b30f$var$COMMON_FEATURES","$649970d87335b30f$var$FRACTIONAL_FEATURES","$649970d87335b30f$var$HORIZONTAL_FEATURES","$649970d87335b30f$var$DIRECTIONAL_FEATURES","ltr","rtl","$649970d87335b30f$export$2e2bcd8739ae039","plan","planPreprocessing","planFeatures","planPostprocessing","assignFeatures","userFeatures","$764eb544bbe1ccf0$var$trie","$764eb544bbe1ccf0$var$FEATURES","$764eb544bbe1ccf0$var$ISOL","$764eb544bbe1ccf0$var$FINA","$764eb544bbe1ccf0$var$FIN2","$764eb544bbe1ccf0$var$MEDI","$764eb544bbe1ccf0$var$MED2","$764eb544bbe1ccf0$var$INIT","$764eb544bbe1ccf0$var$NONE","$764eb544bbe1ccf0$var$STATE_TABLE","$764eb544bbe1ccf0$export$2e2bcd8739ae039","curAction","prevAction","$764eb544bbe1ccf0$var$getShapingClass","category","$85d408632270248b$export$2e2bcd8739ae039","shouldIgnore","ignoreMarks","ignoreBaseGlyphs","isBase","ignoreLigatures","isLigature","peek","increment","peekIndex","$a83b9c36aaa94fd3$var$DEFAULT_SCRIPTS","$a83b9c36aaa94fd3$export$2e2bcd8739ae039","findScript","selectScript","changed","scriptTag","substituteFeature","substituteFeatureForVariations","lookupsForFeatures","lookups","lookupIndex","variationsIndex","substitution","findVariationsIndex","coords","variations","conditions","variationConditionsMatch","condition","advances","applyLookups","glyphIterator","currentFeature","applyLookup","applyLookupList","lookupRecord","coverageIndex","sequence","matched","sequenceMatches","sequenceMatchIndices","coverageSequenceMatches","getClassID","classSequenceMatches","classID","applyContext","rule","applyChainingContext","rules","_variationProcessor","normalizedCoords","ligatureID","$10e7b257e1a9a756$export$2e2bcd8739ae039","substituted","_font","ligatureComponent","isLigated","cursiveAttachment","markAttachment","shaperInfo","isMultiplied","$e1c6bbc8cb416f8c$export$2e2bcd8739ae039","$e1c6bbc8cb416f8c$var$getType","$e1c6bbc8cb416f8c$var$STATE_TABLE","$e1c6bbc8cb416f8c$var$DECOMPOSE","hasGlyphForCodePoint","$e1c6bbc8cb416f8c$var$decompose","$e1c6bbc8cb416f8c$var$COMPOSE","$e1c6bbc8cb416f8c$var$compose","$e1c6bbc8cb416f8c$var$TONE_MARK","$e1c6bbc8cb416f8c$var$reorderToneMark","$e1c6bbc8cb416f8c$var$INVALID","$e1c6bbc8cb416f8c$var$insertDottedCircle","$e1c6bbc8cb416f8c$var$HANGUL_BASE","$e1c6bbc8cb416f8c$var$HANGUL_COUNT","$e1c6bbc8cb416f8c$var$L_BASE","$e1c6bbc8cb416f8c$var$V_BASE","$e1c6bbc8cb416f8c$var$T_BASE","$e1c6bbc8cb416f8c$var$V_COUNT","$e1c6bbc8cb416f8c$var$T_COUNT","$e1c6bbc8cb416f8c$var$L_END","$e1c6bbc8cb416f8c$var$V_END","$e1c6bbc8cb416f8c$var$T_END","$e1c6bbc8cb416f8c$var$DOTTED_CIRCLE","$e1c6bbc8cb416f8c$var$isL","$e1c6bbc8cb416f8c$var$isV","$e1c6bbc8cb416f8c$var$isT","$e1c6bbc8cb416f8c$var$isTone","$e1c6bbc8cb416f8c$var$isLVT","$e1c6bbc8cb416f8c$var$isLV","$e1c6bbc8cb416f8c$var$isCombiningL","$e1c6bbc8cb416f8c$var$isCombiningV","$e1c6bbc8cb416f8c$var$isCombiningT","$e1c6bbc8cb416f8c$var$X","$e1c6bbc8cb416f8c$var$L","$e1c6bbc8cb416f8c$var$V","$e1c6bbc8cb416f8c$var$T","$e1c6bbc8cb416f8c$var$LV","$e1c6bbc8cb416f8c$var$LVT","$e1c6bbc8cb416f8c$var$M","$e1c6bbc8cb416f8c$var$getGlyph","glyphForCodePoint","ljmo","vjmo","tjmo","lv","prevType","del","$e1c6bbc8cb416f8c$var$getLength","dottedCircle","$4b0735ca6c692ea5$exports","$aa333a9607471296$exports","$90a9d3398ee54fe5$export$a513ea61a7bee91c","$90a9d3398ee54fe5$export$1a1f61c9c4dd9df0","Start","Ra_To_Become_Reph","Pre_M","Pre_C","Base_C","After_Main","Above_C","Before_Sub","Below_C","After_Sub","Before_Post","Post_C","After_Post","Final_C","SMVD","End","$90a9d3398ee54fe5$export$8519deaa7de2b07","$90a9d3398ee54fe5$export$bbcd928767338e0d","$90a9d3398ee54fe5$export$ca9599b2a300afc","$90a9d3398ee54fe5$export$e99d119da76a0fc5","Default","hasOldSpec","virama","basePos","rephPos","rephMode","blwfMode","$90a9d3398ee54fe5$export$f647c9cfdd77d95a","decompositions","$7826f90f6f0cecc9$var$decompositions","$7826f90f6f0cecc9$var$trie","$7826f90f6f0cecc9$var$stateMachine","$7826f90f6f0cecc9$export$2e2bcd8739ae039","$7826f90f6f0cecc9$var$setupSyllables","$7826f90f6f0cecc9$var$initialReordering","$7826f90f6f0cecc9$var$finalReordering","unicodeScript","indicConfig","isOldSpec","decomposed","$7826f90f6f0cecc9$var$indicCategory","$7826f90f6f0cecc9$var$indicPosition","$7826f90f6f0cecc9$var$IndicInfo","syllableType","syllable","$7826f90f6f0cecc9$var$isConsonant","$7826f90f6f0cecc9$var$isJoiner","$7826f90f6f0cecc9$var$isHalantOrCoeng","$7826f90f6f0cecc9$var$wouldSubstitute","_layoutEngine","engine","GSUBProcessor","$7826f90f6f0cecc9$var$consonantPosition","consonant","$7826f90f6f0cecc9$var$nextSyllable","limit","hasReph","rphf","seenBelow","disallowDoubleHalants","lastPos","blwf","abvf","pstf","prefLen","pref","cfar","nonJoiner","tryPref","BASE_C","newRephPos","reph","categories","$7ab494fe977143c6$var$categories","$7ab494fe977143c6$var$decompositions","$7ab494fe977143c6$var$trie","$7ab494fe977143c6$var$stateMachine","$7ab494fe977143c6$export$2e2bcd8739ae039","$7ab494fe977143c6$var$setupSyllables","$7ab494fe977143c6$var$clearSubstitutionFlags","$7ab494fe977143c6$var$recordRphf","$7ab494fe977143c6$var$recordPref","$7ab494fe977143c6$var$reorder","$7ab494fe977143c6$var$useCategory","$7ab494fe977143c6$var$USEInfo","$7ab494fe977143c6$var$nextSyllable","$7ab494fe977143c6$var$isBase","$7ab494fe977143c6$var$isHalant","$102b6fe50f1d50b4$var$SHAPERS","mong","phag","hang","bng2","beng","dev2","deva","gjr2","gujr","guru","gur2","knda","knd2","mlm2","mlym","ory2","orya","taml","tml2","telu","tel2","khmr","bali","batk","brah","bugi","buhd","cakm","cham","dupl","egyp","gran","hano","java","kthi","kali","khoj","sind","lepc","limb","mahj","mtei","modi","hmng","rjng","saur","shrd","sidd","sinh","sund","sylo","tglg","tagb","tale","lana","tavt","takr","tibt","tfng","tirh","latn","DFLT","$0a876c45f1f7c41c$export$2e2bcd8739ae039","curGlyph","replacement","USER_INDEX","ligature","ligatureGlyph","isMarkLigature","lastLigID","lastNumComps","curComps","matchIndex","$c96c93587d49c14d$export$2e2bcd8739ae039","applyPositionValue","variationProcessor","variationStore","getDelta","nextGlyph","class1","class2","curRecord","nextRecord","getAnchor","rightToLeft","baseGlyphIndex","baseIndex","markRecord","baseAnchor","applyAnchor","ligIndex","ligAttach","markGlyph","ligGlyph","compIndex","mark1Index","prevIndex","good","mark2Index","markCoords","markPos","fixCursiveAttachment","fixMarkAttachment","$a62492810de27e3d$export$2e2bcd8739ae039","glyphInfos","GPOSProcessor","shaper","$102b6fe50f1d50b4$export$7877a478dd30fd3d","glyphInfo","zeroMarkWidths","zeroMarkAdvances","$4c0a7fa5df7a9ab1$export$2e2bcd8739ae039","$130d1a642ebcd2b7$export$e5cb25e204fb8450","glyphsForString","$130d1a642ebcd2b7$export$16fab0757cfc223d","hideDefaultIgnorables","positioned","unicodeLayoutEngine","kernProcessor","isDefaultIgnorable","ch","plane","$f43aec954cdfdf21$var$SVG_COMMANDS","quadraticCurveTo","$f43aec954cdfdf21$export$2e2bcd8739ae039","toFunction","commands","command","toSVG","_cbox","_bbox","cx","cy","p0","p1","p2","p3","qp1x","qp1y","p3x","p3y","cp1x","cp1y","cp2x","cp2y","b2ac","t1","t2","mapPoints","m0","m1","m2","m3","m4","m5","angle","scale","scaleX","scaleY","$7713b9b7b438dff8$export$2e2bcd8739ae039","$f92906be28e61769$export$2e2bcd8739ae039","_getPath","_getCBox","_getBBox","_getTableMetrics","metric","_getMetrics","_metrics","leftBearing","topBearing","os2","getAdvanceAdjustment","getScaledPath","ligatureCaretPositions","_getName","$69aac16029968692$var$GlyfHeader","numberOfContours","$69aac16029968692$export$baf26146a414f24a","onCurve","endContour","$69aac16029968692$var$Component","scale01","scale10","$69aac16029968692$export$2e2bcd8739ae039","internal","_getTableStream","_parseGlyphCoord","short","same","_decode","glyfPos","_decodeSimple","_decodeComposite","points","endPtsOfContours","numCoords","point","px","py","_getPhantomPoints","transformPoints","phantomPoints","haveInstructions","gPos","readInt8","_getContours","contours","contour","directory","firstPt","lastPt","curvePt","pt","prevPt","midX","midY","$62cc5109c6101893$export$2e2bcd8739ae039","CFF2","bias","cff","usedGsubrs","usedSubrs","trans","nStems","_usedGsubrs","_usedSubrs","gsubrs","gsubrsBias","privateDict","subrs","Subrs","subrsBias","vstore","vsindex","checkWidth","nominalWidthX","parseStems","subr","phase","c1x","c1y","c2x","c2y","c3x","c3y","c4x","c4y","c5x","c5y","c6x","c6y","pts","blendVector","getBlendVector","numOperands","sum","v1","v2","random","startx","starty","b1","$25d8f049c222084c$var$SBIXImage","originX","originY","buflen","$25d8f049c222084c$export$2e2bcd8739ae039","getImageForSize","img","renderOutlines","$0d411f0165859681$var$COLRLayer","$0d411f0165859681$export$2e2bcd8739ae039","layers","cpal","colr","rec","baseLayer","_getBaseGlyph","fillColor","$0bb840cac04e911b$export$2e2bcd8739ae039","normalizeCoords","EPSILON","glyphPoints","tupleCount","here","sharedPoints","decodePoints","origPoints","tupleDataSize","tupleCoords","startCoords","endCoords","factor","tupleFactor","nPoints","xDeltas","decodeDeltas","yDeltas","outPoints","hasDelta","interpolateMissingDeltas","deltaX","deltaY","runCount","readUInt16","inPoints","firstPoint","endPoint","firstDelta","curDelta","deltaInterpolate","deltaShift","ref1","iterable","in1","in2","out1","out2","itemStore","varData","deltaSet","netAdjustment","master","blendVectors","scalar","regionIndex","axes","axisScalar","$5cc7476da92df375$export$2e2bcd8739ae039","includeGlyph","$807e58506be70005$var$Point","$807e58506be70005$var$Glyf","xPoints","yPoints","$807e58506be70005$export$2e2bcd8739ae039","encodeSimple","lastX","lastY","lastFlag","pointCount","_encodePoint","shortFlag","sameFlag","diff","$4abbb6a5dbdc441a$export$2e2bcd8739ae039","_addGlyph","curOffset","nextOffset","view","DataView","setUint16","glyphEncoder","toBuffer","$001d739428a71d5a$export$2e2bcd8739ae039","subsetCharstrings","charstrings","subsetSubrs","used","subsetFontdict","used_fds","used_subrs","fd_select","FontName","createCIDFontdict","addString","Encoding","CIDCount","$4c1709dee528ea76$export$2e2bcd8739ae039","setDefaultLanguage","defaultLanguage","_getTable","_tables","_decodeTable","_decodeDirectory","getName","subfamilyName","copyright","characterSet","nextState","availableFeatures","_glyphs","createSubset","variationAxes","namedVariations","settings","getVariation","_directoryPos","variationCoords","$c1726355ecc5b889$var$WOFFDirectoryEntry","compLength","origChecksum","$c1726355ecc5b889$var$WOFFDirectory","flavor","totalSfntSize","metaOffset","metaLength","metaOrigLength","privOffset","privLength","$c1726355ecc5b889$export$2e2bcd8739ae039","$8046190c9f1ad19e$export$2e2bcd8739ae039","_transformedGlyphs","$c28ec7bbb3b8de3a$var$Base128","$c28ec7bbb3b8de3a$var$knownTags","$c28ec7bbb3b8de3a$var$WOFF2DirectoryEntry","customTag","transformVersion","transformed","transformLength","$c28ec7bbb3b8de3a$var$WOFF2Directory","totalCompressedSize","$c28ec7bbb3b8de3a$export$2e2bcd8739ae039","$21ee218f84ac7f32$var$Substream","_buf","$21ee218f84ac7f32$var$GlyfTable","indexFormat","nContourStreamSize","nPointsStreamSize","flagStreamSize","glyphStreamSize","compositeStreamSize","bboxStreamSize","instructionStreamSize","nContours","composites","bboxes","$21ee218f84ac7f32$var$read255UInt16","$21ee218f84ac7f32$var$LOWEST_U_CODE","$21ee218f84ac7f32$var$withSign","baseval","$21ee218f84ac7f32$var$decodeTriplet","b0","b2","$cd5853a56c68fec7$var$TTCHeader","numFonts","dsigTag","dsigLength","dsigOffset","$05f49f930186144e$var$DFontName","$05f49f930186144e$var$Ref","nameOffset","attr","dataOffset","handle","$05f49f930186144e$var$Type","maxTypeIndex","refList","$05f49f930186144e$var$TypeList","$05f49f930186144e$var$DFontMap","typeList","nameListOffset","$05f49f930186144e$var$DFontHeader","dataLength","mapLength","outBuffer","_dataPos","_decompress","_decompressed","decompressedSize","decompressed","_transformGlyfTable","totalPoints","readString","sfnt","ArrayT","Base","lengthType","_length","fromBuffer","DecodeStream","EncodeStream","Bitfield","BooleanT","BufferT","writeBuffer","ENCODING_MAPPING","utf16le","ucs2","utf16be","readUInt24LE","readUInt16LE","readInt24BE","readInt24LE","TYPES","UInt8","UInt16","UInt24","UInt32","Int8","Int16","Int24","Int32","Float","Double","textEncoder","TextEncoder","isBigEndian","writeString","stringToUtf16","stringToAscii","writeUInt24BE","writeUInt24LE","writeInt24BE","writeInt24LE","swap","Enum","LazyArray","LazyArrayValue","NumberT","endian","uint16be","uint16","uint16le","uint24be","uint24","uint24le","uint32be","uint32","uint32le","int8","int16be","int16","int16le","int24be","int24","int24le","int32be","int32","int32le","floatbe","float","floatle","doublebe","double","doublele","Fixed","fracBits","_point","fixed16be","fixed16","fixed16le","fixed32be","fixed32","fixed32le","Optional","Pointer","nullValue","relativeToGetter","relative","decodeValue","VoidPointer","Reserved","StringT","encodingWidth","writeUInt16LE","Struct","_setup","_parseFields","VersionedStruct","versionPath","prevObj","resolveLength","PropertyDescriptor","svg4everybody","embed","svg","fragment","createDocumentFragment","viewBox","childNodes","loadreadystatechange","xhr","cachedDocument","_cachedDocument","implementation","createHTMLDocument","_cachedTarget","_embeds","getSVGAncestor","nodeName","rawopts","polyfill","inIframe","requests","uses","getElementsByTagName","numberOfSvgUseElementsToBypass","oninterval","validate","srcSplit","Tree","Data","dest","sourceIndex","bitcount","destLen","ltree","dtree","sltree","sdtree","length_bits","length_base","dist_bits","dist_base","clcidx","code_tree","lengths","tinf_build_bits_base","offs","tinf_build_tree","tinf_getbit","bit","tinf_read_bits","tinf_decode_symbol","tinf_decode_trees","lt","dt","hlit","hdist","hclen","clen","sym","tinf_inflate_block_data","dist","tinf_inflate_uncompressed_block","tinf_build_fixed_trees","bfinal","__rest","__decorate","decorators","__param","paramIndex","decorator","__esDecorate","descriptorIn","contextIn","initializers","extraInitializers","accept","kind","access","addInitializer","__runInitializers","useValue","__propKey","__setFunctionName","__metadata","metadataKey","metadataValue","metadata","__createBinding","k2","__exportStar","__values","__read","ar","__spread","__spreadArrays","il","jl","__spreadArray","pack","__await","__asyncGenerator","asyncIterator","AsyncIterator","fulfill","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","__setModuleDefault","__importStar","mod","__importDefault","__classPrivateFieldGet","__classPrivateFieldSet","__classPrivateFieldIn","__addDisposableResource","dispose","inner","asyncDispose","_SuppressedError","SuppressedError","suppressed","__disposeResources","fail","hasError","__rewriteRelativeImportExtension","preserveJsx","tsx","ext","cm","$f4087201da764553$exports","$747425b437e121da$var$trie","$747425b437e121da$var$log2","log2","$747425b437e121da$var$bits","$747425b437e121da$var$CATEGORY_BITS","$747425b437e121da$var$COMBINING_BITS","combiningClasses","$747425b437e121da$var$SCRIPT_BITS","scripts","$747425b437e121da$var$EAW_BITS","eaw","$747425b437e121da$var$CATEGORY_SHIFT","$747425b437e121da$var$COMBINING_SHIFT","$747425b437e121da$var$SCRIPT_SHIFT","$747425b437e121da$var$EAW_SHIFT","$747425b437e121da$var$CATEGORY_MASK","$747425b437e121da$var$COMBINING_MASK","$747425b437e121da$var$SCRIPT_MASK","$747425b437e121da$var$EAW_MASK","$747425b437e121da$var$NUMBER_MASK","$747425b437e121da$export$410364bbb673ddbc","$747425b437e121da$export$c03b919c6651ed55","$747425b437e121da$export$941569448d136665","$747425b437e121da$export$92f6187db8ca6d26","$747425b437e121da$export$7d1258ebb7625a0d","exp","$747425b437e121da$export$52c8ea63abd07594","$747425b437e121da$export$727d9dbc4fbb948f","$747425b437e121da$export$a5b49f4dc6a07d2c","$747425b437e121da$export$7b6804e8df61fcf5","$747425b437e121da$export$aebd617640818cda","$747425b437e121da$export$de8b4ee23b2cf823","$747425b437e121da$export$3c52dd84024ae72c","$747425b437e121da$export$a11bdcffe109e74b","$747425b437e121da$export$e33ad6871e762338","$747425b437e121da$export$2e2bcd8739ae039","getCategory","getScript","getEastAsianWidth","getNumericValue","isAlphabetic","isDigit","isPunctuation","isLowerCase","isUpperCase","isTitleCase","isWhiteSpace","isBaseForm","inflate","swap32LE","uncompressedLength","highStart","readUInt32LE","errorValue","getUint32","DATA_BLOCK_LENGTH","INDEX_2_BLOCK_LENGTH","swap32","sfc","__exports__","navCanvases","Abcd8Logo","accordionContainers","Accordion","accordionContainer","faviconImages","interval","imageCounter","setInterval","faviconHtml","insertAdjacentHTML","animateFavicon","carouselContainers","Carousel","carouselContainer","CaseStudiesRive","ctaBlock","CtaBlock","unique","FeaturedElement","FeaturedBlock","FontSpecimenBlock","newApp","Vue","FontSpecimenVariableBlock","footer","Footer","fontChoice","GlyphBlock","HeroLoadAnimationClass","Menu","numberCounterContainers","NumberCounter","SpliTextClass","testimonial","TestimonialAnimation","videoContainers","VideoPlayer","videoContainer","__webpack_require__","chunkId","miniCssF","needAttach","onScriptComplete","doneFns","scriptUrl","installedChunks","installedChunkData","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","chunkLoadingGlobal"],"sourceRoot":""}